我有一个内联网网站,它要求客户端使用客户端证书进行身份验证。我为该网站创建了一个自签名服务器证书,并将其信任于客户端,并使用该证书创建了许多客户端证书。它在每个浏览器、curl、wget和openssl s_client中都工作得很好,但在IE中不起作用(XP中的IE8除外)。
IE提示输入客户端证书,但实际上并不发送。我使用Wireshark查看IE发送的内容,因为它提供给我的唯一错误消息是“此页面无法显示”。
该网站位于受信任的站点中。我在wireshark上看到的是:
在提示之前:
这使得IE显示证书提示符。我选择证书:
Wireshark分析:
该网站使用tomcat 7。
如果你需要更多的信息,我会尽我所能提供更多。
发布于 2015-03-12 14:16:32
最后我解决了这个问题。Chrome和其他浏览器使用TLSv1.0进行通信,并将通信升级到TLSv1.2 (Wireshark仅在客户端Hello的第一个版本实例中显示了这一点)。IE使用TLSv1.2启动请求,并拒绝尝试降低协议版本。在配置tomcat的server.xml以支持TLSv1.2之后,IE开始工作。
https://stackoverflow.com/questions/29008243
复制相似问题