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 中看到的内容:
提示前:
- TCP 连接已建立
- 服务器发送其证书并请求客户端证书
- 连接已关闭
这会使 IE 显示证书提示。我select证书:
- 已建立 TCP 连接
- 服务器发送其证书并请求客户端证书
- IE 开始发送内容,但在客户端证书的名称出现之前结束消息。
- 服务器发送一个 ACK 和 7 字节的东西然后 TCP 关闭。
Wireshark 分析:
- IE 的截断响应显示:证书长度:0
- 在 IE 的响应显示之后:警报、致命、错误证书
网站使用tomcat7.
如果您需要更多信息,我会尽力提供更多。
终于解决了问题。 Chrome等浏览器使用TLSv1.0通信,升级到TLSv1.2(Wireshark仅在Client Hello的第一个版本实例中显示)。 IE使用TLSv1.2发起请求,拒绝尝试降级协议版本。在我配置 tomcat 的 server.xml 也支持 TLSv1.2 后,IE 开始工作了。
我有一个 Intranet 网站,要求客户端使用客户端证书对自己进行身份验证。我为网站创建了一个自签名服务器证书,让客户信任它,并使用该证书创建了许多客户端证书。它在每个浏览器和 curl、wget 和 openssl s_client 中都运行良好,但在 IE 中不起作用(XP 中的 IE8 除外)。
IE 提示输入客户端证书,但实际上并未发送。我正在使用 Wireshark 查看 IE 发送的内容,因为它提供给我的唯一错误消息是 "This page can't be displayed".
该网站在受信任的站点中。我在 wireshark 中看到的内容:
提示前:
- TCP 连接已建立
- 服务器发送其证书并请求客户端证书
- 连接已关闭
这会使 IE 显示证书提示。我select证书:
- 已建立 TCP 连接
- 服务器发送其证书并请求客户端证书
- IE 开始发送内容,但在客户端证书的名称出现之前结束消息。
- 服务器发送一个 ACK 和 7 字节的东西然后 TCP 关闭。
Wireshark 分析:
- IE 的截断响应显示:证书长度:0
- 在 IE 的响应显示之后:警报、致命、错误证书
网站使用tomcat7.
如果您需要更多信息,我会尽力提供更多。
终于解决了问题。 Chrome等浏览器使用TLSv1.0通信,升级到TLSv1.2(Wireshark仅在Client Hello的第一个版本实例中显示)。 IE使用TLSv1.2发起请求,拒绝尝试降级协议版本。在我配置 tomcat 的 server.xml 也支持 TLSv1.2 后,IE 开始工作了。