https建立连接过程
tcp三次握手之后
1. client发送 client hello给服务端 会告诉服务端支持的加密套件和支持的tls版本 生成一个随机数发送给服务端
2. service发送 service hello给客户端 告诉客户端确认支持的tls版本和选择的加密套件 生成一个随机数返回给客户端
3. service在响应返回自己的证书,客户端判断证书是否过期可信等
4. service 响应公钥给客户端 如果服务器要客户端的证书会在这里发出请求
5. service 响应server hello done
以上操作均明文发送响应
6. client生成第三个随机数预主秘钥 使用公钥加密后发送给服务端 client key exchange/change cipher spec 告诉服务端以后就用商议好的秘钥通信了/encrypted handshake message 客户端这边tls协商已经没有问题
7. 服务器发来 encrypted handshake message 代表服务器端tls协商也没有问题了
8. 客户端和服务端使用第一随机数+第二随机数+预主秘钥计算出一个会话秘钥进行对称加密通信