完全相同
SSL error RemoteCertificateNameMismatch
SSL error RemoteCertificateNameMismatch
我正在使用 WCF 让客户端访问服务。我正在尝试使用 TLS (https) 访问端点。我有带有私钥和公钥的证书。
如果我的服务端点的主机名与证书名称(“颁发给”)相同,那么我就可以从客户端访问该服务。
如果“颁发给”的名称和端点域名不同,我会收到错误“无法与权威机构建立 SSL/TLS 安全通道的信任关系”。我已将证书添加到“Trusted Root”、“Personal”和“trusted People”。在我的服务中,我使用了“PeerOrChainTrust”。
如果有人对此有任何想法,请告诉我
最佳答案
在这种情况下,您需要在客户端为服务器定义信任策略,
在调用服务之前调用一次 SetCertPolicy。
using System.Net;
using System.Security.Cryptography.X509Certificates;
public static void SetCertPolicy()
{
ServicePointManager.ServerCertificateValidationCallback += RemoteCertValidate;
}
private static bool RemoteCertValidate( object sender, X509Certificate cert, X509Chain chain,
SslPolicyErrors error )
{
// trust any cert!!!
return true;
}
关于wcf - SSL 错误 + WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569413/