首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在.Net中调用web服务时绕过无效的SSL证书错误

在.Net中调用web服务时绕过无效的SSL证书错误
EN

Stack Overflow用户
提问于 2008-09-20 20:07:17
回答 8查看 144K关注 0票数 89

我们正在设置一个新的SharePoint,但我们还没有有效的SSL证书。我想在它上面调用列表web服务来检索一些关于设置的元数据。但是,当我尝试这样做时,我得到了异常:

基础连接已关闭:无法为SSL/TLS安全通道建立信任关系。

嵌套的异常包含错误消息:

根据验证过程,远程证书无效。

这是正确的,因为我们使用的是临时证书。

我的问题是:如何告诉.Net web服务客户端(SoapHttpClientProtocol)忽略这些错误?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-20 20:51:42

在遇到这个问题时,我使用的方法是将临时证书的签名者添加到相关计算机上的受信任机构列表中。

我通常使用CACERT创建的证书进行测试,并将它们添加到我的受信任机构列表中。

这样做意味着您不必向应用程序中添加任何自定义代码,并且它可以正确地模拟部署应用程序时会发生的情况。因此,我认为这是以编程方式关闭检查的一个更好的解决方案。

票数 18
EN

Stack Overflow用户

发布于 2009-01-09 11:57:09

或者,您可以注册一个忽略认证错误的回调委托:

代码语言:javascript
复制
...
ServicePointManager.ServerCertificateValidationCallback = MyCertHandler;
...

static bool MyCertHandler(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors error)
{
// Ignore errors
return true;
}
票数 114
EN

Stack Overflow用户

发布于 2009-05-14 21:10:32

就像Jason S的回答:

代码语言:javascript
复制
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

我把它放到我的Main中,查看我的app.config,并在调用那一行代码之前测试是否有(ConfigurationManager.AppSettings["IgnoreSSLCertificates"] == "True")

票数 81
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/109186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档