Https

177 阅读1分钟

有CA颁发机构

根证书 -> 中间证书 -> 用户证书

证书主要验证双方身份合法性

tls1.3

客户端发起加密会话请求, client_random client_paras 加密套件算法 RSA ECDHE (向前安全性 每次生成临时 secret)

服务器 给客户端1个数字签名 包含 自己的公钥 以及证书 server_random + server_paras + 加密套件

客户端 用自己的CA证书链 解密这个签名 如果解密成功 说明没有中间人攻击

pre_random = server_paras + clent_paras

用服务器的 公钥 加密 secret = client_radom + server_random + pre_random

发给服务器 服务器用私钥解密得到 secret

然后发送收尾信息 双方再验证

服务器发过来的证书明文 hash T (可能会被中间人攻击) + 数字签名 S (证书明文 (服务器端) hash CA私钥加密)

客户端 用CA公钥解密 S 得到 T' 验证 T = T'

这样获取到 服务器的公钥 然后 在生成 对称秘钥 M

zhuanlan.zhihu.com/p/43789231

www.zhihu.com/question/37…

juejin.cn/post/684490…