两个网站的客户端证书认证

时间:2018-09-25 17:03:44

标签: authentication ssl https x509certificate x509

我在IIS中部署了两个网站,这两个网站都包含客户端系统将要使用的某些服务。 我在这两种方法中都实现了客户端证书身份验证,并配置了oneToOneCertificateMapping。 我创建了两个单独的客户端证书,并为每个网站配置了一个。 现在我面临的问题是,即使我为每个网站都只添加了一个,这两个证书对于这两个网站都都有效。

注意:在配置编辑器中,我已经在单个网站的web.config文件下而不是在ApplicationHost.Config中进行了此配置

这是两个网站的配置文件的外观:

    <system.webServer>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
        <security>
            <authentication>
                <windowsAuthentication enabled="false" />
                <anonymousAuthentication enabled="true" />
                <iisClientCertificateMappingAuthentication enabled="true" manyToOneCertificateMappingsEnabled="false">
                    <oneToOneMappings>
                        <add userName="XXXXXX" password="[enc:AesProvider:XXXXXXXX:enc]" certificate="XXXX" />
                    </oneToOneMappings>
                </iisClientCertificateMappingAuthentication>
            </authentication>
        </security>
  </system.webServer>
 <location path="web.config">
  <system.webServer>
        <security>
            <authentication>
                <iisClientCertificateMappingAuthentication enabled="true" oneToOneCertificateMappingsEnabled="true" defaultLogonDomain="XXXX">
                    <oneToOneMappings>
                        <add userName="XXX" password="[enc:AesProvider:XXXXX:enc]" certificate="XXXX" />
                    </oneToOneMappings>
                </iisClientCertificateMappingAuthentication>
                <anonymousAuthentication enabled="true" />
            </authentication>
        </security>
  </system.webServer>

请帮助。我的要求是,只有指定的证书才能通过身份验证,而另一证书则不能。

0 个答案:

没有答案