IE 提示输入客户端证书但不发送

IE prompts for client certificate but doesn't send it

我有一个 Intranet 网站,要求客户端使用客户端证书对自己进行身份验证。我为网站创建了一个自签名服务器证书,让客户信任它,并使用该证书创建了许多客户端证书。它在每个浏览器和 curl、wget 和 openssl s_client 中都运行良好,但在 IE 中不起作用(XP 中的 IE8 除外)。

IE 提示输入客户端证书,但实际上并未发送。我正在使用 Wireshark 查看 IE 发送的内容,因为它提供给我的唯一错误消息是 "This page can't be displayed".

该网站在受信任的站点中。我在 wireshark 中看到的内容:

提示前:

这会使 IE 显示证书提示。我select证书:

Wireshark 分析:

网站使用tomcat7.

如果您需要更多信息,我会尽力提供更多。

终于解决了问题。 Chrome等浏览器使用TLSv1.0通信,升级到TLSv1.2(Wireshark仅在Client Hello的第一个版本实例中显示)。 IE使用TLSv1.2发起请求,拒绝尝试降级协议版本。在我配置 tomcat 的 server.xml 也支持 TLSv1.2 后,IE 开始工作了。