HTTPS建立链接过程
链接:https://www.cnblogs.com/xiaolincoding/p/12442435.html#4815399
首先进行 TCP 的三次握手链接过程,之后开始 SSL / TLS 协议的流程,SSL / TLS 协议的握手阶段也可分为四个阶段:
第一阶段:
客户端向服务端发送加密通信请求并携带
1. 客户端支持 SSL / TLS 版本
2. 客户端产生的随机数,用于生成最后的会话秘钥。
3. 客户端支持的密码套件
版本和密码套件由服务器进行选择
第二阶段:
服务器在收到客户端发来的请求后,选择上述版本和密码套件后,同样生成一个随机数,并携带服务器的数字证书(内含服务器的公钥)发送给客户端。
第三阶段:
客户端收到回应后会使用游览器或操作系统中的 CA 公钥对数字证书的正确性进行验证,成功后会再次生成一个随机数,并使用数字证书中的服务器公钥进行加密发送给服务器。
同时发送结束握手阶段的通知,并携带握手阶段的数据摘要供服务器验证。
第四阶段:
服务器收到回应后同样会发送结束握手通知,并携带握手阶段的数据摘要供服务器验证。
这时客户端和服务器都有三个随机数,二者都会通过这三个随机数计算出会话秘钥,之后就用这个会话秘钥进行通话。