【发布时间】:2011-08-29 14:29:41
【问题描述】:
我想连接受证书保护的网络服务(作为服务参考)。
为此,我正在这样做:
ServiceClient service = new ServiceClient();
service.ClientCredentials.ClientCertificate.SetCertificate (StoreLocation.CurrentUser, StoreName.Root, X509FindType.FindBySubjectName, "Subject Name");
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidationCallBack);
service.SomeMethod();
private bool ValidationCallBack(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
return true;
}
当我调用service.SomeMethod(); 方法时,它会抛出异常:
"HTTP 请求被禁止 客户端认证方案 '匿名'。”
这个错误是什么意思?以及如何避免这种调用网络服务方法?
谢谢!
【问题讨论】:
标签: c# wcf web-services certificate wcf-security