CA的可信列表中的证书未由服务器返回给客户端

时间:2012-10-25 20:55:08

标签: ssl certificate ssl-certificate

我有一台W2K8 R2 SP1服务器托管一个需要客户端证书的SSL网站。我们有一个根证书(自签名),保存在本地计算机可信CA存储中。在客户端,浏览器要求客户端证书,它工作正常。

现在,我们还有另一个根证书,该证书也保存在本地计算机可信CA存储中。问题是浏览器不提供选择此根CA颁发的客户端证书。

浏览器未提示的原因是配置了服务器(默认选项)以将受信任的根CA列表返回给客户端,以帮助它限制可供选择的客户端证书列表。如果我们配置服务器以便它不提供此列表(HKLM / system / currentcontrolset / control / securityproviders / schannel / sendtrustedissuerlist = 0),浏览器就没有线索并显示所有客户端证书,然后它工作正常。

我们过去遇到过这样的问题,因为可信CA的列表太长,因此在返回客户端时被截断,但在此情况并非如此,只返回了8个可信CA.

另外,如果我在另一台(非常相似的)服务器上注册这个新的根CA,那么它工作正常,返回的可信列表包含新的CA.

我真的不明白为什么这个特定的服务器在SSL协商期间拒绝在列表中返回我的根CA,有人可以帮忙吗???

1 个答案:

答案 0 :(得分:3)

不确定这是否对您或其他人有所帮助,但根据Microsoft及其Windows Server 2012文档,您的问题似乎与此相关:

“如果使用的受信任的根证书颁发机构存储包含Root(自签名)和证书颁发机构(CA)颁发者证书的混合,则只会将CA Issuer证书发送给服务器默认为“。

请记住,您可以使用不同的商店作为“证书信任列表”(CTL)。首先检查/使用“客户端身份验证颁发者”存储(默认情况下在Windows Server 2012上),然后如果为空“受信任的根证书颁发机构”存储。

如果你在2012年,你可以手动配置CTL商店,但我不认为2008 R2上有这个选项(虽然我可能会弄错)。