gpt4 book ai didi

ssl - 403.7 IIS 7.5 SSL 客户端证书身份验证问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:24 24 4
gpt4 key购买 nike

我正在 IIS 7.5 下使用双向 SSL 与外部合作伙伴一起测试 Web 服务。我需要 SSL,需要客户端证书,并使用一对一映射对域帐户进行身份验证。我已经配置了所有内容并且它在我们的网络上运行良好(我能够提供客户端证书,获得身份验证并从浏览器和测试工具调用服务)。从我们的网络外部(在大多数情况下,见下文),我收到 403.7 错误。我已经检查了机器级证书存储并确保证书和 CA 是可信的。这是奇怪的事情。我获得了 I 类证书以在家中进行测试(并且像我们预期的合作伙伴一样获得了 403.7)。因此,我将 Fiddler 设置为调试 SSL 并发送我的证书,出于某种原因,这有效。我设置了一个测试工具来通过完全相同的证书,并获得了 403.7。我在我的浏览器 (IE 9) 中进行测试,没有收到客户端证书提示,结果是 403.7。
任何帮助表示赞赏。账单

最佳答案

我上次检查时,IIS 使用重新协商(默认情况下)来获取客户端证书:第一次握手时服务器不请求客户端证书,然后是另一次握手(这次是加密的)服务器请求证书(通过 TLS CertificateRequest 消息)。这将阻止您从 Wireshark 中看到任何内容,除非您对其进行配置 to use the server's private key and decipher the traffic (请注意,这仅适用于某些密码套件)。

查看客户端证书协商的一种方法是将 IIS 配置为使用初始客户端证书协商,使用 netsh and clientcertnegotiation=true (这是关于初始 协商)。至少 CertificateRequest 和证书将在握手期间以明文形式发送,因此您应该能够使用 Wireshark 看到这一点。如果客户端没有向服务器发送证书作为对 CertificateRequest 的响应,您仍然会看到来自客户端的空 Certificate 消息。

如果您不导出带有证书的私钥以用于 Fiddler 或任何其他客户端,则它不可能使用该证书。它可能最多尝试发送证书,但握手会失败(因为 CertificateVerify 消息需要由客户端的私钥签名)。

我猜你可能会遇到一个问题:

  • 服务器接受不提供证书(实际上是可选的),
  • 提供无效的证书会导致失败并导致此 403.7 状态代码(许多服务器和 SSL/TLS 堆栈将此作为 fatal error 执行,但 TLS specification 并未说明 unsupported_certificatecertificate_revokedcertificate_expiredcertificate_unknown 应该是致命的,所以这由服务器自行决定。

关于ssl - 403.7 IIS 7.5 SSL 客户端证书身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com