是否可以在web.config中配置客户端证书设置
我正在使用SSL应用程序,并希望控制哪些文件夹忽略,要求或接受客户端认证。
最终目标是让webApp的子文件夹忽略客户端认证。 我不想通过IIS执行此操作,因为它必须在整个Web场中进行复制。
有任何想法吗?
您可以使用web.config中的访问部分和locations
(或相应子目录中的web.configs)的组合来配置它。
例如,要在目录Interface中要求SSL证书,可以将以下块添加到web.config的配置部分:
注意:正如@Jonathan DeMarks在评论中所述,我还需要包含SslNegotiateCert
以使其工作(使用IIS 8.5和Chrome)。 所以我的工作配置是: sslFlags="Ssl,SslRequireCert,SslNegotiateCert"
实际上我得到一个错误,说明我正在指定SslRequireCert
但我可以使用SslNegotiateCert
。
请注意,如果您想要Ssl,则必须添加它和相应的证书标志。
technet文档中的标志值为:
没有。 此默认设置禁用站点或应用程序的SSL。
SSL。 该站点或应用程序需要SSL。
SslNegotiateCert。 站点或应用程序接受客户端证书进行身份validation
SslRequireCert。 站点或应用程序需要客户端证书进行身份validation SSL128。 站点或应用程序需要128位SSL证书加密。
然而
默认情况下,无法覆盖access
部分。
为了支持这一点,您必须在C:\ Windows \ System32 \ inetsrv \ config(或安装的相应目录)中修改applicationHost.config并更改以下行:
至: