基于SSL客户端证书(授权)限制对web服务的访问

本文关键字:web 服务 访问 客户端 SSL 证书 授权 基于 | 更新日期: 2023-09-27 17:49:31

我有一个网站,我需要客户端证书。

我已经配置了我的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>

我可以用"ANY"客户端证书访问这个网站,该证书具有我的服务器识别的根CA。如何限制对某些证书的访问?

基于SSL客户端证书(授权)限制对web服务的访问

听起来您想要的可能是映射客户端证书:

http://learn.iis.net/page.aspx/478/configuring-one-to-one-client-certificate-mappings/

另外,我注意到在您的配置中"匿名"设置为true。我从经验中知道匿名将覆盖windows身份验证,所以我想知道它是否也会覆盖客户端提供ssl证书的需要。