我有一个托管需要客户端证书的 SSL 网站的 W2K8 R2 SP1 服务器。我们有一个根证书(自签名),保存在本地机器受信任的 CA 存储中。在客户端,浏览器要求提供客户端证书,并且工作正常。
现在,我们有另一个根证书,它也保存在本地机器受信任的 CA 存储中。问题是浏览器不提供选择由该根 CA 颁发的客户端证书。
浏览器不提示的原因是服务器已配置(默认选项)向客户端返回受信任的根 CA 列表,以帮助它限制可供选择的客户端证书列表。如果我们将服务器配置为不提供此列表(HKLM/system/currentcontrolset/control/securityproviders/schannel/sendtrustedissuerlist=0),则浏览器没有线索并显示所有客户端证书,然后它就可以正常工作。
过去我们遇到过这样的问题,因为受信任的 CA 列表太长,因此在返回给客户端时被截断,但这里不是这种情况,只返回 8 个受信任的 CA。
此外,如果我在另一个(非常相似的)服务器上注册这个新的根 CA,它可以正常工作,返回的受信任列表包含新的 CA。
我真的不知道为什么这个特定的服务器在 SSL 协商期间拒绝在列表中返回我的根 CA,有人可以帮忙吗???