第一次握手:
客户端向服务端发送Client Hello报文,该报文中包含了支持的版本信息、加密组件等。加密组建包括加密算法、秘钥长度等内容。
第二次握手:
这个阶段服务器会向客户端发送三个报文。服务端收到请求后,如果支持SSL通信,会首先以Server Hello报文进行应答,报文内容主要是版本信息和加密组件等等。加密组件是从接收到的客户端加密组件中筛选出来
然后发送第Certificate报文,包含公钥证书
最后发送ServerHelloDone报文,告知客户端握手协议初始化完成
第三次握手:
客户端发送Client Key Exchange报文作为回应。报文中包含一串被称为pre-mastersercret的随机数,并且已经被公钥加密过
接着客户端会发送Change Cipher Spec报文,该报文的作用是提示服务端,接下来的通信都会采用这个随机数加密
最后会发送Finish报文,包含连接至此的整体校验值,握手协议能否成功,是以这个报文为判断标准
第四次握手:服务器同样发送Change Cipher Spec报文和Finish报文