HTTPS建立链接过程

链接:https://www.cnblogs.com/xiaolincoding/p/12442435.html#4815399

首先进行 TCP 的三次握手链接过程,之后开始 SSL / TLS 协议的流程,SSL / TLS 协议的握手阶段也可分为四个阶段:

第一阶段:

  客户端向服务端发送加密通信请求并携带

    1. 客户端支持 SSL / TLS 版本

    2. 客户端产生的随机数,用于生成最后的会话秘钥。

    3. 客户端支持的密码套件

  版本和密码套件由服务器进行选择

第二阶段:

  服务器在收到客户端发来的请求后,选择上述版本和密码套件后,同样生成一个随机数,并携带服务器的数字证书(内含服务器的公钥)发送给客户端。

第三阶段:

  客户端收到回应后会使用游览器或操作系统中的 CA 公钥对数字证书的正确性进行验证,成功后会再次生成一个随机数,并使用数字证书中的服务器公钥进行加密发送给服务器。

  同时发送结束握手阶段的通知,并携带握手阶段的数据摘要供服务器验证。

第四阶段:

  服务器收到回应后同样会发送结束握手通知,并携带握手阶段的数据摘要供服务器验证。

这时客户端和服务器都有三个随机数,二者都会通过这三个随机数计算出会话秘钥,之后就用这个会话秘钥进行通话。

原文地址:https://www.cnblogs.com/Ruby-Z/p/14476847.html