【问题标题】:Ask for client certificate IIS7.5 when accessing certain folders访问某些文件夹时要求客户端证书 IIS7.5
【发布时间】:2016-05-09 11:57:52
【问题描述】:

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

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

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

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

我已经启用了 iisClientCertificateMappingAuthentication(虽然我还没有设置映射)

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

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

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

这是我第一次使用客户端证书,所以有点混乱,也许我没有提供足够的信息。欢迎询问有关 cmets 的更多信息。

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

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

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

【问题讨论】:

    标签: ssl iis ssl-certificate iis-7.5 client-certificates


    【解决方案1】:

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

    查看这篇知识库文章: https://support.microsoft.com/en-us/kb/933430

    TL 博士;要解决此问题,只需在注册表中添加一个新条目: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

    将 SendTrustedIssuerList 命名为值为 0 的 DWORD 值。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 2014-03-11
      • 1970-01-01
      • 2015-08-09
      • 2014-07-05
      相关资源
      最近更新 更多