我使用 Wireshark 捕获往返于 google.com 和我的个人网站的数据包,然后...
google.com 在 Server Hello 之后立即发送证书。但我自己的网络服务器似乎没有这样做。尽管如此,Google Chrome 还是识别了该网站的证书。
我的问题有两个方面。
- 为什么证书没有被发送?
- 浏览器如何在没有收到证书的情况下验证网站的真实性?
答案1
为什么证书没有被发送?
可能是因为没有建立新的 SSL 会话但先前的会话已恢复。
浏览器如何在没有收到证书的情况下验证网站的真实性?
证书在 SSL 会话建立时已验证。在同一会话中不会重新验证证书。SSL 会话可能跨越多个 TCP 连接。
有关 SSL 会话恢复工作原理的更多信息,您可以查看https://blog.cloudflare.com/tls-session-resumption-full-speed-and-secure/。