这可能是一个愚蠢的问题,但我就是找不到答案。
我想做的事:
我有一个由 IIS 托管的 WCF 服务。它工作完美,我可以访问 wsdl,我有服务器的自签名证书等。我想从 WPF 客户端调用此服务。
问题是,由于我有自签名证书,因此在调用服务时出现以下异常:无法与权限“localhost”建立 SSL/TLS 安全通道的信任关系。
如果我从浏览器访问该站点(或服务),则没有问题,因为浏览器会警告我有关证书的信息,并让我选择查看该页面。但 WPF 客户端只是抛出异常。
我不想完全关闭身份验证过程,我只是想为用户提供忽略此警告的选项(就像浏览器一样)。
任何人都可以为此提供一些代码吗?如果您遇到有关此问题的详细教程,那就太棒了。 (看,我发现的教程的问题是缺乏细节)
以下是使 WCF 客户端接受任意证书所需的最少代码量。这是不安全。仅用于测试。如果这段代码变得狂暴并吃掉了你的小猫,请不要怪我。
ServicePointManager.ServerCertificateValidationCallback +=
new System.Net.Security.RemoteCertificateValidationCallback(EasyCertCheck);
回电:
bool EasyCertCheck(object sender, X509Certificate cert,
X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
return true;
}
代码无耻地从最无帮助的答案中提取出来是否可以强制 WCF 测试客户端接受自签名证书?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)