HTTPS的通信过程:
- 客户端向服务器发起一个client hello请求,请求中包括支持的TLS版本号,加密套件,和客户端产生的第一个随机数
- 服务器端接收到请求后,向客户端发送一个server hello请求,包括采用的TLS版本,加密套件,服务端产生的第二个随机数,然后再发送证书和公钥,结束后发送server hello done请求
- 客户端确认服务器证书有效后,生成一个新的随机数,并使用数字证书中的公钥,加密第三个随机数发给服务器
- 服务器使用自己的私钥,来解密客户端发送过来的随机数
- 客户端和服务器端根据约定的加密方法使用前面的三个随机数,生成对称密钥,以后的对话过程都使用这个秘钥来加密信息

