有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