IIS / WCF客户端证书与用户一对一的映射&内部服务器错误

时间:2014-01-27 09:54:52

标签: c# wcf iis ssl

我为我的WCF服务启用了客户端证书身份验证,包括map-client-certificate-to-windows-account:

<serviceCredentials>
  <clientCertificate>
    <authentication mapClientCertificateToWindowsAccount="True"/>

在system.webServer配置中,我配置了以下映射:

<authentication>
  <iisClientCertificateMappingAuthentication enabled="true" oneToOneCertificateMappingsEnabled="true">
    <oneToOneMappings>
      <add enabled="true"
           userName="TestUser"
           password="CLEARTEXT_PASSWORD_FOR_DEVELOPER_TESTING"
           certificate="BASE64_ENCODED_CERTIFICATE"/>

但是,在调用服务时,我得到的只是Unhandled Exception: System.ServiceModel.ProtocolException,因为服务器正在回答500.19内部服务器错误 - 暗示我的配置无效。

如果我删除映射并将客户端证书验证减少到:

<serviceCredentials>
  <clientCertificate/>

“正常”客户端证书验证工作正常。所以我的证书映射配置肯定有问题。我按照教程 - 我做错了什么?

1 个答案:

答案 0 :(得分:0)

哦,小伙子,刚发现问题:改变:

<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
IIS中的

Allow'applicationHost.config!