internet-explorer - IE不在TLS相互身份验证中发送客户端证书

标签 internet-explorer wireshark x509 tls1.2 client-certificates

我正在尝试与第三方API建立TLS相互认证。客户端证书配置良好,当我尝试通过Chrome访问端点URL时,它工作正常(Chrome要求在消息框中确认证书,当我这样做时,页面将显示其内容)。

当我尝试使用IE做同样的事情时,它无法正常工作并显示此消息

Cannot securely connect to this page

This might be because the site uses outdated or unsafe TLS security settings. If this keeps happening, try contacting the website’s owner.

Your TLS security settings aren’t set to the defaults, which could also be causing this error.

所以我将详细信息记录到Wireshark,这就是它的外观
enter image description here
当我进一步研究细节时,可以看到客户端证书从未在步骤9(TLSv1.2 379证书,客户端 key 交换,更改密码规范,加密的握手消息)上发送。

在步骤10中,这是我得到的错误

enter image description here

enter image description here

这种行为背后的原因可能是什么?

更新:当我尝试通过代码访问smae端点并检查SChannel日志时,我会看到这样的警告
The remote server has requested TLS client authentication, but no
suitable client certificate could be found. An anonymous connection
will be attempted. This TLS connection request may succeed or fail,
depending on the server's policy settings.

最佳答案

看到它是如何在chrome中工作的,而不是在IE中工作,我认为可以肯定地说这个问题是IE特定的。由于您已经添加了证书,因此听起来好像该证书已被自动选择,但未发送。您还会收到一条错误消息,指出“您的TLS安全设置未设置为默认值”。我发现一些信息可能适用于您的场景here。基本上说,如果启用SSL 2.0,则IE无法成功使用TLS 1.2。您可以检查此设置吗?

settings pic

转到互联网选项->高级。寻找“使用SSL 2.0”,因为我正在使用Windows/IE的更高版本,而SSL 2.0不是一个选项,但我可能看不到该选项,但您可能会选择它,具体取决于您使用的版本正在使用。

关于internet-explorer - IE不在TLS相互身份验证中发送客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48859942/

相关文章:

javascript - 使用 window.opener 检查父窗口在 IE 中不起作用

php - 如何获取要在 IE 上下载的 csv 文件?适用于火狐

javascript - 如何创建嵌套的 javascript 对象

c# - 如何解释 wireshark 消息并使用 C# 发送它们

wireshark - 在 Wireshark 中统计数据包

Wireshark 信标框架 : WPS Vendor Tag

windows - 如何将 OpenSSL key 文件导入 Windows 证书存储区

c - 在 Linux 上验证 X.509 证书

python - 从python中的PKCS7信封中提取userCertificate

javascript - IE 9/10/11 在某个未知阈值后不渲染图像