0%

http之https握手

[TOC]

https 握手过程

假定客户端叫做爱丽丝,服务器叫做鲍勃。

  • 爱丽丝给出协议版本号、一个客户端生成的 随机数(Client random),以及客户端支持的加密方法。
  • 鲍勃确认双方使用的加密方法,并给出数字证书、以及一个 服务器生成的随机数(Server random)。
  • 爱丽丝确认数字证书有效,然后生成一个新的 随机数(Premaster secret),并使用数字证书中鲍勃的公钥,加密这个随机数,发给鲍勃。
  • 鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
  • 爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成 对话密钥(session key),用来加密接下来的整个对话过程。

三点注意

  • 生成对话密钥一共需要三个随机数。
  • 握手之后的对话使用 对话密钥(session key) 加密(对称加密),服务器的公钥和私钥只用于加密和解密 对话密钥(session key)(非对称加密),无其他作用。
  • 服务器公钥放在服务器的数字证书之中。

rhrf91.png

tsl

参考

https://segmentfault.com/a/1190000021559557?_ea=29659396