在 Wireshark 中哪里可以找到 TLS 服务器的证书

mas*_*rry 9 https certificate ssl wireshark tls

我正在 Wireshark 中查看 TLS v1.3 标头,但不确定在哪里可以找到用于确认服务器是他们声称的服务器证书。

线鲨

客户端发送 Hello,然后服务器发送带有两个 TLS 记录层的 Hello,并发送另一个应用程序数据。

在此输入图像描述

但这些都不包含任何有关证书的内容。客户端发回更改密码规范。并且仅传输应用程序数据后,该数据现在显然已加密。

正如 Mike Pound 在这个 Computerphile 视频https://www.youtube.com/watch?v=86cQJ0MMses中所建议的,服务器的证书和数字签名在哪里。视频中建议的“Server Hello Done”位置在哪里。

编辑:

我可以在 TLS v1.2 中看到证书,但在 TLS v1.3 中看不到证书

use*_*686 9

在 TLS 1.3 中,ServerHello 之后的所有消息都经过加密\xe2\x80\x93,实际的证书消息隐藏在第 3 行的“应用程序数据”数据包中。

\n

ChangeCipherSpec 消息在 TLS 1.3 中毫无意义,只是为了安抚各种中间件(防火墙、入侵检测系统等)而发送,这些中间件对 TLS 握手的外观有一些过于严格的假设。

\n

出于同样的原因,加密的握手数据包以“type = 应用程序数据,record_version = TLS 1.2”的形式发送,即使它们既不是 TLS 1.2 也不是应用程序数据。

\n

基本握手图

\n

图片借自Cloudflare 博客

\n