在微软Azure中,使用Windows Server 2012/IIS8进行客户端证书认证时出现HTTP 403.16错误。

4
我们正在开发一个托管在IIS中并使用iisClientCertificateMappingAuthentication进行客户端证书身份验证的ASP.NET WebAPI。在我们的本地开发环境中,我们已经测试了IIS 7-8和Windows 7-8 / Server 2012,所有这些都工作正常。
我们在Azure中设置了一个演示环境,其中有一个运行Windows Server 2012 R2和IIS 8的VM。使用此配置,我们尚未成功通过IIS客户端证书验证,我们始终收到HTTP 403.16错误。
该服务由我们验证发送客户端证书的自定义iOS应用程序消耗,这是预期的,因为我对错误的理解意味着IIS无法验证收到的证书。
客户端证书颁发机构已安装在受信任的根证书颁发机构和本地计算机的客户端身份验证颁发者存储中。
几乎我们找到的所有关于此问题的资源都提出了这里的解决方案:http://social.technet.microsoft.com/Forums/en-US/fae724e8-628e-45a5-bf39-6e812d8a1a70/40316-problem-in-iss8-on-mp-in-dmz?forum=configmanagerdeployment,其中建议我们添加一个ClientAuthTrustMode的注册表设置。这对我们没有解决问题;我们在任何本地测试中都不需要进行此操作,这些测试涉及完全相同的操作系统和IIS版本。
我们已经花了几天时间处理这个问题,但没有取得任何进展,希望有人能对此问题有所了解。是否有任何默认配置可以使Azure VM启用此身份验证形式?似乎Azure VM上的IIS无法实际针对受信任的根证书颁发机构进行验证。我想到的一个想法是,在路由到IIS之前,可能会从请求中剥离证书,但是,考虑到我的错误代码理解,这似乎不太可能。
有人成功搭建过类似这样的环境吗?

在上述提到的文章中,如果对您无效,请添加SendTrustedIssuerList = 0,以及ClientAuthTrustMode = 2。 - Rahul
http://configmgrblog.com/2014/02/23/configmgr-2012-r2-internet-facing-mp-windows-server-2012-r2-note/ - Rahul
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接