3
我有一个我要求客户端证书的网站。根据SSL客户端证书(授权)限制对Web服务的访问
我已经配置我的IIS网站与以下:
<location path="MySecureService">
<system.webServer>
<security>
<access sslFlags="SSl, SslRequireCert"/>
<authentication>
<anonymousAuthentication enabled="true"/>
<windowsAuthentication enabled="true"></windowsAuthentication>
<digestAuthentication enabled="false"/>
<basicAuthentication enabled="false"/>
<iisClientCertificateMappingAuthentication enabled="true" oneToOneCertificateMappingsEnabled="true" >
<oneToOneMappings>
<add enabled="true" userName="myUsername" password="myPassword"
certificate=[certificate-blob-here]
/>
</oneToOneMappings>
</iisClientCertificateMappingAuthentication>
</authentication>
</security>
我可以有我的服务器识别根CA“ANY”客户端证书访问此网站。我如何限制只有一些证书的访问?
这正是“iisClientCertificateMappingAuthentication”部分应该执行的操作:将证书映射到用户。 – Attilah 2011-04-08 11:56:50
但未将匿名设置为true,Web应用程序甚至无法启动,它会引发异常:此服务的安全设置需要“匿名”身份验证,但未启用托管此服务的IIS应用程序。“ – Attilah 2011-04-08 11:58:07
能够访问网站的客户端证书不是来自可信CA的列表吗?我一半怀疑您只是作为匿名用户进行身份验证。另外,当您禁用匿名身份验证标志给我时iis config和您的实际应用程序的.config文件不同步,两者都禁用匿名。最后,我没有看过您的WindowsAuthentication设置,但我几乎可以确定您只能选择一种形式身份验证(无论是Windows还是客户端证书),您都不能同时使用。 – Tung 2011-04-12 03:56:51