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

Bil*_*ill 7 ssl client certificate

我正在使用IIS 7.5下的双向SSL测试与外部合作伙伴的Web服务.我需要SSL,需要客户端证书,并使用一对一映射来验证域帐户.我已经配置了所有内容,它在我们的网络上工作正常(我能够提供客户端证书,获得身份验证并从浏览器和测试工具调用服务).从我们的网络外部(大多数情况下,见下文),我收到403.7错误.我已经通过机器级证书存储区并确保证书和CA是可信的.这是奇怪的事情.我获得了一个I型证书,可以在家里进行测试(和我们的合作伙伴一样得到了403.7).所以我安装小提琴手调试SSL和发送我的证书,而这个工程因为某些原因.我设置了一个测试工具来传递完全相同的证书,并得到了403.7.我在我的浏览器(IE 9)中测试,没有获得客户端证书的提示,并获得403.7.
任何帮助赞赏.法案

Bru*_*uno 8

上次我检查时,IIS正在使用重新协商(默认情况下)获取客户端证书:第一次握手,服务器不请求客户端证书,然后是服务器请求的另一次握手(此时加密)证书(通过TLS CertificateRequest消息).这将防止您从Wireshark的看到任何东西,除非你将其配置为使用服务器的专用密钥和解密交通(注意,这仅与一些密码套件的作品).

看到客户端证书协商的方法之一是IIS配置为使用初始客户端证书协商,使用netsh的和clientcertnegotiation = TRUE(约为初始协议).在CertificateRequest握手期间,至少和证书将被清除,因此您应该可以通过Wireshark查看.如果客户端没有将证书作为响应发送到服务器CertificateRequest,您仍会看到Certificate来自客户端的空消息.

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

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

  • 服务器接受不提供证书(它实际上是可选的),
  • 呈现无效的证书使它失败,并导致该403.7状态代码(许多服务器和SSL/TLS堆栈将其实现为一个致命错误,但TLS规范不说unsupported_certificate,certificate_revoked,certificate_expired,certificate_unknown应该是致命的,所以这是在服务器的自由裁量权).

  • 好的,弄清楚我的问题.首先,我不知道为什么我没有在Wireshark中看到证书请求,因为我现在看到一个事情正在发挥作用,并且我确定之前已经发布了一个因为我确实获得了证书其他证书的证书提示.所以我认为是假阴性.我必须将服务更改为在具有证书存储和NTFS文件夹权限的帐户下运行.我的客户端证书使用中间CA,因此我需要将其添加到服务器计算机商店.最后一个问题是我的客户端证书导入的根CA,没有指明客户端身份验证使用. (2认同)