服务器在 Server Hello 后未发送证书

neu*_*ert 1 apache-http-server ssl openssl tls

我使用 Wireshark 捕获发送到 google.com 和我的个人网站的数据包,...

google.com 在服务器问候后立即发送证书。然而,我自己的网络服务器似乎并没有这样做。尽管如此,谷歌浏览器还是承认网站证书。

我的问题有两个方面。

  1. 为什么证书没有发送?
  2. 浏览器如何在没有收到证书的情况下验证网站的真实性?

Ste*_*ich 5

为什么证书没有发送?

可能是因为没有建立新的 SSL 会话,但之前的会话已恢复。

浏览器如何在没有收到证书的情况下验证网站的真实性?

建立 SSL 会话时会验证证书。它不会在同一会话中重新验证。SSL 会话可能跨越多个 TCP 连接。

有关 SSL 会话恢复如何工作的更多信息,您可以查看https://blog.cloudflare.com/tls-session-reduction-full-speed-and-secure/