我想知道访问某个网站时使用了哪个 SSL 证书。在我的浏览器(Chrome、FF)中,URL 旁边的图标未显示 SSL 连接。Chrome 中也显示“您与网站的连接未加密”。但是,在 Wireshark 中,我有许多在网站和我的机器之间传输的 TLSv1 数据包。有什么方法可以找出它是哪个证书吗?该网站包含一个 Flash 应用程序。这可能是 Chrome 看不到加密的原因吗?
答案1
SSL 流量可能是 Flash 应用程序发出的请求,也可能是页面上的任何子资源(例如<img src="https://...">
或 )<script src="https://...">
。您应该能够从 Wireshark 获取有关证书的信息。过滤“ssl.handshake.certificate”并查找证书消息,然后展开安全套接字层级别。我不确定您想获取什么信息,但在这里您可以看到证书链、每个证书的颁发者和公钥等。这有帮助吗?
答案2
在 Wireshark 中,在 ServerHello 消息之后,您应该会看到来自服务器的证书消息。这将包含服务器的证书链(第一个是服务器证书本身)。
话虽如此,看到证书并不一定意味着加密。除了不加密的密码套件(浏览器不太可能使用,所以你可以忽略它们)之外,最有可能的是页面上有一些混合内容。这可能来自 Flash 应用程序或其他资源。
我在网站上输入 http://,但页面从未变为 https://
如果你输入,http://
你不一定会被重定向到https://
。为什么会这样?有些网站实施自动升级到 HTTPS 以尝试实施更好的安全性,但它只是部分有用https://
如果您想使用 HTTPS,请至少尝试连接。