[TOC]
https 握手过程
假定客户端叫做爱丽丝,服务器叫做鲍勃。
- 爱丽丝给出协议版本号、一个客户端生成的 随机数(Client random),以及客户端支持的加密方法。
- 鲍勃确认双方使用的加密方法,并给出数字证书、以及一个 服务器生成的随机数(Server random)。
- 爱丽丝确认数字证书有效,然后生成一个新的 随机数(Premaster secret),并使用数字证书中鲍勃的公钥,加密这个随机数,发给鲍勃。
- 鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
- 爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成 对话密钥(session key),用来加密接下来的整个对话过程。
三点注意
- 生成对话密钥一共需要三个随机数。
- 握手之后的对话使用 对话密钥(session key) 加密(对称加密),服务器的公钥和私钥只用于加密和解密 对话密钥(session key)(非对称加密),无其他作用。
- 服务器公钥放在服务器的数字证书之中。