【发布时间】:2011-03-01 10:54:02
【问题描述】:
我正在尝试配置 WCF 服务器\客户端以使用 SSL
我得到以下异常:
HTTP 请求被客户端身份验证方案禁止 '匿名'
我有一个自托管的 WCF 服务器。 我已经运行 hhtpcfg 我的客户端和服务器证书都存储在本地计算机上的个人和受信任的人下
这是服务器代码:
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
binding.Security.Mode = WebHttpSecurityMode.Transport;
_host.Credentials.ClientCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.PeerOrChainTrust;
_host.Credentials.ClientCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck;
_host.Credentials.ClientCertificate.Authentication.TrustedStoreLocation = StoreLocation.LocalMachine;
_host.Credentials.ServiceCertificate.SetCertificate("cn=ServerSide", StoreLocation.LocalMachine, StoreName.My);
客户代码:
binding.Security.Mode = WebHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
WebChannelFactory<ITestClientForServer> cf =
new WebChannelFactory<ITestClientForServer>(binding, url2Bind);
cf.Credentials.ClientCertificate.SetCertificate("cn=ClientSide", StoreLocation.LocalMachine, StoreName.My);
ServicePointManager.ServerCertificateValidationCallback
+= RemoteCertificateValidate;
查看 web_tracelog.svclog 和 trace.log 显示服务器无法验证客户端证书 我的证书未由授权 CA 签署 但这就是我将它们添加到受信任的人的原因....
我错过了什么? 我错过了什么?
【问题讨论】:
标签: wcf security https certificate