c# - 如何规避 C# 客户端代码中的 SSL/TLS 信任验证失败?

标签 c# http post

我编写了一个 C# 客户端来将多部分形式的数据发布到 Internet 上的服务器。在测试我的代码时,我开始收到如下异常:

{System.Net.WebException:底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。 ---> System.Security.Authentication.AuthenticationException: 根据验证程序,远程证书无效。

我尝试使用浏览器访问网络资源,发现网站的 SSL 证书存在问题。该网站归第三方所有,我不知道他们什么时候能解决这个问题。

有什么方法可以忽略此安全异常并在我的代码中进行一些更改以使其继续工作?

我正在使用 HttpWebRequest 类来执行 http 发布。

最佳答案

在最粗略的层面上:

ServicePointManager.ServerCertificateValidationCallback = delegate
     { return true; }; // WARNING: accepts all SSL certificates

虽然您可能应该更细化,看看certificate/chain有一点。

关于c# - 如何规避 C# 客户端代码中的 SSL/TLS 信任验证失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028853/

相关文章:

c++ - 从浏览器套接字接收函数,但不在缓冲区中存储任何内容

java - Java 中的 HTTP POST 请求 .setRequestMethod() 不执行任何操作

javascript - 为什么当我在 AJAX 中使用 POST 将数据发送到 PHP 时,它说变量为空?

c# - 正则表达式与阿拉伯语匹配

c# - ResourceManager.GetString() 方法从不同的程序集返回错误的字符串

http - 为什么 Maven 禁用 HTTP 请求的缓存?

jquery ajax 调用 Controller 正在发布空字符串

c# - Powershell Cmdlet 缺少程序集 Google Api

c# - 将 TimeSpan 解析或转换为字符串

java - 如何为 feign bean 字段设置 JsonProperty 名称