我为我的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/>
“正常”客户端证书验证工作正常。所以我的证书映射配置肯定有问题。我按照教程 - 我做错了什么?
答案 0 :(得分:0)
哦,小伙子,刚发现问题:改变:
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
IIS中的到Allow
'applicationHost.config!