WCF身份验证-X509证书
我想使用X509证书向我的WCF服务验证用户身份。我将我的服务设置为使用SSL并进行所有相关的WCF配置。当我尝试使用我的服务,我得到以下错误:WCF身份验证-X509证书
The remote certificate is invalid according to the validation procedure.
如果我把我的证书(自签名),并把它添加到信任的人,那么这个错误消失。我相信这意味着我需要向我的服务的所有(外部)消费者提供我的证书。有没有办法解决?
由于我们为开发目的使用自签名证书,因此我必须重写证书的验证。我的代码是:
if (validateServerCertificate)
{
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);
}
private static bool ValidateRemoteCertificate(object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors policyErrors)
{
return true;
}
所有证书都由证书颁发机构(CA)进行验证。
就你而言,我怀疑你的CA不可信。启动MMC并为本地计算机添加证书管理器。受信任根CA下的Se(不记得确切的单词)。
自签证书意味着证书的CA与证书本身相同。
还了解如何使用证书:您是使用它们来识别您的客户端,还是用于SSL加密传输级别的目的?
如果你想使用证书进行许多不同的客户,我强烈建议你看一看公共PKI服务的公司,如威瑞
证书由CA颁发(基于CSR创建,证书签名请求和签名),未经过”验证“。当然,OP使用不受信任的自签名证书。 – 2011-06-15 18:42:04
自签名证书也不能被信任(除非用户明确相信他们或一些代码这样做)。您确实需要从Thawte,GlobalSign,Comodo(InstantSSL)等已建立的CA购买证书。我们使用GlobalSign和Comodo,每个都有自己的优势。您需要的是为您的服务器的域名发布的常规“SSL证书”(因为他们称之为该名称不正确)。
我的安全配置如下: – user472292 2011-06-15 18:24:10