完整的流程:

wireshark倒入证书 wireshark 证书_ssl

TLS/SSL双向认证握手过程分析

(1)client_hello

支持的协议版本,比如TLS 1.0;

支持的加密算法(Cipher Specs);

客户端生成的随机数1(Challenge),稍后用于生成"对话密钥"。

wireshark倒入证书 wireshark 证书_https_02


(2)server_hello

确认使用的协议版本;

服务器生成的随机数2,稍后用于生成"对话密钥";

确认使用的加密算法; 算法解释: HTTPS背后的加密算法

向客户端提供自己的证书;

请求客服端的证书。

wireshark倒入证书 wireshark 证书_java_03


(3)客户端发生给服务端

客户端证书发送给服务端;

client_key_exchange。

wireshark倒入证书 wireshark 证书_java_04

(4)客户端发生给服务端
客户端证书校验;
change_cipher_spec:客户端通知服务器后续的通信都采用协商的通信密钥和加密算法进行加密通信。

wireshark倒入证书 wireshark 证书_ssl_05


(5)服务端向客户端

change_cipher_spec: 验证通过之后,服务器同样发送 change_cipher_spec 以告知客户端后续的通信都采用协商的密钥与算法进行加密通信;

encrypted_handshake_message:服务器也结合所有当前的通信参数信息生成一段数据并采用协商密钥 session secret 与算法加密并发送到客户端;

wireshark倒入证书 wireshark 证书_ssl_06


(6)加密通信

开始使用协商密钥与算法进行加密通信。

wireshark倒入证书 wireshark 证书_java_07