JesseZhao1990 / blog

learing summary
MIT License
62 stars 7 forks source link

https加密图解 #154

Open JesseZhao1990 opened 6 years ago

JesseZhao1990 commented 6 years ago

image

JesseZhao1990 commented 6 years ago

再用文字表述一遍吧

  1. 客户端发送随机数和加密套件给服务端,服务端记下(将来生成主秘钥的时候使用)
  2. 服务端发送一个服务端的随机数和服务端证书(即是公钥)给客户端。客户端记下随机数和公钥(随机数将来用于生成主秘钥的时候使用,公钥用于接下来的加密预主秘钥)
  3. 客户端向CA验证证书是否有效,如果证书无效,则浏览器弹出警告,终端访问,如果证书有效,则生成一个预主秘钥。
  4. 客户端利用证书(公钥)来加密预主秘钥,传送给服务端。
  5. 服务端利用证书的私钥来解密预主秘钥,得到预主秘钥。(到这一步,中间人已经无法知道预主秘钥)
  6. 客户端和服务端各自利用客户端随机数、服务端随机数和预主秘钥生成主秘钥。此时中间人更无从知道主秘钥是什么。
  7. 接下来客户端和服务端就可以用主秘钥进行对称加密。来进行交换信息通信了