启用证书身份验证时获取401.2

时间:2012-02-28 18:05:25

标签: iis iis-7 certificate

我正在设置服务器,以便只有映射的证书才能到达Web服务。它被设置为要求SSL /客户端证书,匿名身份验证,asp.net模拟,表单身份验证和Windows身份验证都被禁用。启用一对一客户端证书映射,并使用适当的用户映射在框上设置证书。当我尝试使用Web服务时,我得到401.2。如果我启用匿名身份验证,它可以工作,但我不希望任何旧证书能够访问该网站。

我有另一台在此配置中禁用匿名身份验证的计算机,它可以正常运行。我不确定区别是什么。

3 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,但上面的解决方案并没有解决我的问题。我在网站的子目录上配置IIS证书身份验证,而不是在网站本身。

所以,这是错误的:

Wrong usage

这是正确的:

Correct usage

一旦我将配置移动到网站的根目录,一切都运行良好。

我在http://blogs.msdn.com/b/saurabh_singh/archive/2009/06/13/avoid-this-confusion-around-client-certificate-mapping-in-iis-6-0-7-0.aspx找到了解决方案。

答案 1 :(得分:1)

您是否从客户端/服务器信任的证书服务器颁发了客户端证书?如果您查看证书上的“增强型密钥用法”属性,“客户端身份验证”是其中一个属性吗?在IIS中,是否安装了客户端证书映射角色(参见图1)?你启用了“Client Certificate Mapping”并将用户映射到证书?您需要导入所有客户端证书并将其映射到此处的用户帐户。您可以在此处配置后删除所有其他客户端身份验证方法。

enter image description here

答案 2 :(得分:1)

问题最终成为正在调用的软件,而不是配置中的软件。我正在给予natemrice赏金,因为他付出了很大的努力来回答最后的问题。

编辑:有关更多信息,它实际上最终是发送的证书(来自本地方框)与放在oneToOne映射中的证书之间不匹配。通用名称相同,但证书不同(可能是第一个已过期),因此证书未经授权。