iis - Microsoft Azure 中的 Windows Server 2012/IIS8 上的客户端证书身份验证收到 HTTP 403.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 的 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 中的虚拟机启用这种形式的身份验证? Azure 中 VM 上的 IIS 似乎无法实际根据受信任根中的 CA 进行验证。我的一个想法是,在将请求路由到 IIS 之前,证书可能会被从请求中删除,但同样,鉴于我对错误代码的理解,这似乎不太可能。

有人有这样的设置吗?

最佳答案

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

关于iis - Microsoft Azure 中的 Windows Server 2012/IIS8 上的客户端证书身份验证收到 HTTP 403.16,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23143096/

相关文章:

Azure函数计时器触发器在部署时不触发

azure - 即使使用 hive.merge,Tez : one file per insert, 上的 Hive 0.14 也是如此。 active

http - 通过 HTTP API 生成随机值的空 HTTP POST 请求或 GET 请求

dependency-injection - Autofac 未解决模型绑定(bind)器依赖项

mysql - 如何使用 HTTP POST 为 SQL 数据库设置正确的主键?

asp.net - 如何在不更改代码的情况下根据IP地址拒绝和允许访问某些路径/目录/文件?

silverlight - 引发异常的 WCF RIA 服务查询存在缓存问题

Azure 数据工厂 V2 : Copy OR Stored Procedure activity for SQL merge

java - 通过 HttpClient 进行 SPNEGO 身份验证

iis - 是否应该使用 DFS 来同步 wwwroot?