首页/网络/协议速查/TLS 1.2 完整握手流程
本包目录(405 条)
HTTP 方法与状态码91 条HTTP 头与缓存70 条DNS 与域名解析60 条TCP 与 UDP54 条
TLS 与加密50 条
IP 与 ICMP37 条邮件与文件传输43 条

TLS 1.2 完整握手流程

两次往返:客户端 Hello 提议参数,服务器 Hello 选定并送证书,之后密钥交换、切换加密、双方 Finished 校验握手完整性。

协议速查网络更新于 2026-10-12

流程骨架

流程骨架
Client -> ServerHello方向:
  ClientHello(版本/随机数/套件列表/扩展)
Server -> Client:
  ServerHello, Certificate, ServerKeyExchange*, ServerHelloDone
Client -> Server:
  ClientKeyExchange, ChangeCipherSpec, Finished
Server -> Client:
  ChangeCipherSpec, Finished        # 握手完成,开始应用数据

抓握手

抓握手
openssl s_client -connect example.com:443 -msg -tls1_2 </dev/null 2>&1 | grep -E '>>>|<<<' | head -30
ServerKeyExchange 只在 DHE/ECDHE 套件出现;选 RSA 密钥传输时没有该消息,这正是没有前向保密的原因。

易错点

  • 1.2 握手中证书与 SNI 明文可见:抓包分析 HTTPS 流量仍能看出访问的域名(ECH 尚未普及)

数据来源与参考

  • RFC 5246 §7.3(握手协议)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌