在访问某些文件夹时询问客户端证书IIS7.5

诗人

我们有一个ASP.NET MVC4应用程序,其中的一部分应通过客户端证书进行保护。

当任何人想要连接到应用程序的此部分时,浏览器应要求他们提供客户端证书,一旦选择该证书,我们的服务器就会获取它,检查其有效性并显示内容。

好的,我在选择证书部分上遇到了麻烦。在将其仅设置为视图内容上的一个文件夹之前,我正在尝试在全局应用程序上对其进行配置。

我已将SSL设置为必填,并且还在IIS上的应用程序配置上的SSL Configuration上设置了require客户端证书。

我启用了iisClientCertificateMappingAuthentication(尽管我尚未设置任何映射)

当我尝试同时访问Firefox和Chrome浏览器应用程序时,返回403禁止错误,表明我无法使用提供的凭据访问该应用程序。

我在本地计算机上安装了客户端证书,并且在服务器本地计算机上创建了该证书作为受信任的根证书的CA。

没有提示我输入证书。如果取消选中SSL设置上的客户端证书中的“要求”,则可以通过https访问该应用。

这是我第一次使用客户端证书,因此有点令人困惑,也许我没有提供足够的信息。随时询问有关评论的更多信息。

编辑:我已经导出了客户端证书,将其复制到服务器并在那里进行了检查。证书显示为有效,并且证书链中的每个元素似乎都已在服务器中识别。

我也检查了IIS日志,得到的错误是403.7,因此证书没有颁发给服务器或它无效。

现在...我已经检查了证书在服务器上是否有效,已在客户端上正确安装,但未到达服务器或未经过良性验证...我在这里缺少什么?

诗人

好的,最后我找到了问题,这与为受信任的证书颁发机构列表保留的缓冲区大小有关。

检查此kb文章:https : //support.microsoft.com/en-us/kb/933430

TL DR;要解决该问题,只需在注册表中的以下位置添加一个新条目:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL

名为SendTrustedIssuerList的DWORD值为0。

这样,服务器将不会发送受信任的证书颁发机构列表,因此浏览器将向用户显示证书的完整列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章