可以在web.config中配置客户端证书设置
我正在使用SSL应用程序,并且想要控制哪些文件夹忽略,需要或接受客户端证书。可以在web.config中配置客户端证书设置
最终目标是让webApp忽略客户端认证的子文件夹。我不想通过IIS执行此操作,因为它必须在整个Web场中进行复制。
任何想法?
您可以在web.config(或相应子目录中的web.configs)中使用access部分和locations
的组合来配置此项。
例如,需要在目录界面的SSL证书,可以在以下块添加到你的web.config的配置部分:
<location path="Interface">
<system.webServer>
<security>
<access sslFlags="Ssl,SslRequireCert" />
</security>
</system.webServer>
</location>
请注意,如果你想要求SSL,你必须添加它和适当的证书标志。
从TechNet文档标志的值是:
无。此默认设置会禁用站点或应用程序的SSL。
Ssl。该网站或应用程序需要SSL。
SslNegotiateCert。该网站或应用程序接受用于认证的客户端证书
SslRequireCert。该网站或应用程序需要客户端证书进行认证。 Ssl128。该站点或应用程序需要128位SSL证书加密。
无论其
的access
部分不能被默认覆盖。
为了支持这一点,你必须修改的applicationHost.config在C:\ WINDOWS \ SYSTEM32 \ INETSRV \ CONFIG(或相应的目录为你安装),并更改以下行:
<section name="access" overrideModeDefault="Deny" />
到:
<section name="access" overrideModeDefault="Allow" />
我还必须添加SslNegotiateCert或者出现错误,所以它最终看起来像这样:
我已经使用了您的解决方案,它对我的本地和测试环境,但在客户端服务器上,它给了500错误,你可以帮我,这可能是因为machien是Server 2012 R2的原因 – Rehan 2017-04-20 12:04:32
如果这个网站特定项目不需要IIS,然后检查了这一点WCF服务http://www.codeproject.com/KB/WCF/wcfcertificates.aspx – MethodMan 2012-01-03 22:21:35
IIS 7及以上使用web.config中存储此,所以如果你在IIS管理器中设置它们,你会看到你的app.config反映它。 – blowdart 2012-01-03 23:39:50