https流程

1、客户端发起一个https请求

     a) 客户端支持的加密方式

     b) 客户端生成的一个随机数(第一个随机数)

2、服务的收到请求后,拿到随机数,返回

     a) 证书(颁发机构(CA)、证书内容本身的数字签名(使用第三方机构的私钥加密)、证书持有者的公钥、证书签名用到的hash算法)

     b) 生成一个随机数、返回给客户端(第二个随机数)

3、客户端拿到证书以后做验证

     a) 根据颁发机构找到本地的根证书

     b) 根据CA得到根证书的公钥,通过公钥对数字签名解密,得到证书的内容摘要 A

     c) 用证书提供的算法对证书的内容进行摘要,得到摘要 B

     d) 通过A和B的对比,也就是验证数字签名

4、验证通过以后,生成一个随机数(第三个随机数),通过证书内容的公钥对这个随机数加密,发送给服务器

5、(随机数1+2+3)通过对称加密得到一个密钥(会话密钥)

6、通过会话密钥对内容进行对称加密传输

猜你喜欢

转载自blog.csdn.net/qq_26857649/article/details/81905745