1、开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake)。握手阶段分成五步。

2、Client给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。

3、Server确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。

4、Client确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给Server。

5、Server使用自己的私钥,获取Client发来的随机数(即Premaster secret)。

6、Client和Server根据约定的加密方法,使用前面的三个随机数,生成”对话密钥”(session key),用来加密整个对话过程。
