zoukankan      html  css  js  c++  java
  • https 认证总结

    https 握手阶段 服务器会下发一个证书链;

    客户端默认的处理是使用系统的根证书对这个证书链进行合法性认证;

    自签名证书,则需要自己完成证书链认证;

    其他附属信息认证;

    说白了就是一个数据检查的过程。

    sessionManager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]; *
    AFSSLPinningModeNone 不做SSL pinning 只信任证书颁发机构证书,自己生成证书不通过 *
    AFSSLPinningModeCertificate 客户端保存证书拷贝 第一步验证证书的域名/有效期等信息,第二步是对比服务端返回的证书跟客户端返回的是否一致。 *
    AFSSLPinningModePublicKey 客户端保存证书拷贝 只是验证时只验证证书里的公钥,不验证证书的有效期等信息
     

    1.HTTPS传输流程

     
    HTTPS传输流程.png

    由于不相信服务器生成的随机数,所以需要客户端生成pre-master-securet,然后再由服务端加密,最后得到master-securet(主密钥),建立密道通信。(减少被猜中的可能)

    2.常用加密算法

    非对称加密算法:RSA,DSA/DSS
    对称加密算法:AES,RC4,3DES
    HASH算法:MD5,SHA1,SHA256

    非对称加密算法用于握手过程中的加密生成的密码,
    对称加密算法用于对真正传输的数据进行加密,
    HASH算法用于验证数据的完整性,是否被篡改等

    非对称加密生成密码是整个加密过程的关键,非对称加密会生成公钥和私钥,
    公钥负责数据加密,(可以随意传输)
    私钥负责解密,(重中之重)



    作者:StarkShen
    链接:http://www.jianshu.com/p/309d5359d5cb
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    spring事务详解(一)初探讨
    spring事务详解(二)实例
    mysql删除重复数据只保留一条
    jdk1.8源码Synchronized及其实现原理
    jdk1.8源码Thread与Runnable区别
    动态创建类并添加属性赋值
    c# 当代热门技术
    c# 开源框架
    极限并发带来的思考(12306 抢票)
    ASP.NET Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程 (Challenge)
  • 原文地址:https://www.cnblogs.com/feng9exe/p/8067493.html
Copyright © 2011-2022 走看看