[软技能] 第1390天 请说说HTTPS的握手过程

138 阅读1分钟

HTTPS的握手过程主要包括以下步骤:

  1. 客户端向服务端发送一个加密过的客户端随机数和客户端支持的加密算法列表,同时请求建立SSL/TLS连接。
  2. 服务端在接收到请求后,向客户端发送一个包含服务端随机数、服务器支持的加密算法列表以及服务器的数字证书的报文。
  3. 客户端在接收到服务器的响应后,会对证书进行校验。如果证书被认为是合法的,那么客户端将使用证书中包含的公钥对一个随机数进行加密,并将加密后的随机数发送给服务端。
  4. 服务端在接收到客户端的响应后,使用私钥对加密的随机数进行解密,得到客户端生成的随机数。同时,服务端也会生成一个加密的会话密钥,并使用客户端和服务端的随机数以及协商出的加密算法对该密钥进行加密,最后将加密后的密钥发送给客户端。
  5. 客户端接收到服务端发送的加密的会话密钥后,使用服务端公布的公钥进行解密,得到原始的会话密钥。
  6. 客户端和服务端都会使用会话密钥进行加密和解密,从而实现安全的通信。

这个过程中,客户端和服务端会进行多次来回的通信,以建立安全的SSL/TLS连接。其中数字证书的校验和会话密钥的生成都是关键步骤,它们保证了通信的安全性。

拓展阅读

www.yuque.com/shixin-5pls…

更多题目

github.com/haizlin/fe-…