参考博客:知乎-SSL协议之数据加密过程详解
用自己的话表述了一下:
其他问题补充说明:
问题① 为什么需要一个官方的CA 进行校验?
之所以是计算hash值,就是为了避免出现数据在传输的过程中被恶意篡改。CA证书、数字签名的存在,就是保证客户端和服务端在建立连接初始,一定要通过 数字签名,对彼此的通信进行校验,确认随机数2 发送的过程,中间不会有人对数据进行篡改。保证随机数2 准确发送了,也是为后续客户端和服务端能够进行对称加密通信做了保障。
问题② 为什么客户端发送随机数3 的路不需要再进行一次CA 证书校验?
因为经过了CA 校验的 随机数2,除了真正的服务端和客户端,是没人知道的,所以客户端可以大胆用随机数2 加密,发送随机数3 给服务端,而不用担心中间有人会进行篡改。
可能会有一些出入,还请大家指正!