Microsoft Azure中的Windows Server 2012 / IIS8上的客户端证书身份验证接收HTTP 403.16

时间:2014-04-17 20:44:16

标签: iis azure asp.net-web-api windows-server-2012 client-certificates

我们正在开发一个托管在IIS中的ASP.NET WebAPI,并使用带有iisClientCertificateMappingAuthentication的客户端证书进行身份验证。 在我们的本地开发环境中,我们测试了IIS 7-8和Windows 7-8 / Server 2012,所有这些都可以正常工作。

我们在Azure中设置了一个运行Windows Server 2012 R2和IIS 8的虚拟演示环境。使用此配置,我们尚未成功通过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无法实际验证受信任的根中的CA.我的一个想法是,在将请求路由到IIS之前,可能会从请求中删除证书,但同样,由于我对错误代码的理解,这似乎不太可能。

有没有人有这样的设置才能工作?

1 个答案:

答案 0 :(得分:0)

我发现了这篇知识库文章,也许它可以帮到你 http://support.microsoft.com/kb/2802568