解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系

今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭:
未能为SSL/TLS
安全通道建立信任关系"。 
后来把DLL文件进行反编译,发现是在获得请求的时候出错了。

引用


WebResponse response = WebRequest.Create("https://……").GetResponse(); 

于是在服务器上用浏览器打开上面的地址,发现会弹出一个确认证书的窗口,看来是证书问题。 
在网上一顿搜索,发现了一个决绝办法甚是好用,而且很简单,在请求之前添加一行代码。


ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();  


internal class AcceptAllCertificatePolicy : ICertificatePolicy
{
public AcceptAllCertificatePolicy()
{
}

public bool CheckValidationResult(ServicePoint sPoint,
X509Certificate cert, WebRequest wRequest, int certProb)
{
// Always accept
return true;
}
}

以上方法虽然解决了遇到的问题,可是在VS中会提示ServicePointManager.CertificatePolicy已经被否决。于是按照提示使用新的方法来处理。 
改造后的代码更加简洁和明了


ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;

private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}

就这样一个委托搞定!

解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系,布布扣,bubuko.com

时间: 2024-12-22 11:09:00

解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系的相关文章

基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系

#region private static bool ValidateServerCertificate 解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系." /// <summary> /// 解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系." /// </summary> /// <param name="sender"></param&

System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。 ---&gt; System.Security.Authentication.AuthenticationException: 根据验证过程,远程证书无效。

今天写程序的时候调用到一个第三方提供的https地址,访问此地址去获取加密的json格式数据,出现BUG c#报错 :  System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系. ---> System.Security.Authentication.AuthenticationException: 根据验证过程,远程证书无效. 引用: private string callbackRefund(string url, string d

https调用出现【基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系】错误

今天不知道为什么网站访问就出现问题了,惊得我一头汗,别是我昨天打了log4,就影响今天的内容了,后来发现,确实不是,是写入流失败了,报[基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系]错误,后来让总线查,他们说是自己的接口链接证书失效了,正在补救. 病急乱投医中网上查到解决方法:重写通信通道连接验证回调 直接上代码: 1 先加入命名空间: 2 3 using System.Net.Security; 4 using System.Security.Authentication;

C# 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系". 后来把DLL文件进行反编译,发现是在获得请求的时候出错了. 引用 WebResponse response = WebRequest.Create("https://……").GetResponse(); 定义一个类,来对远程X.509证书的验证,进行处理,返回为true.我们要自己定义一

C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

在远程调用WebService时出现下面的情况: 这种情况一般是由于证书有问题时出现,如果在浏览器中打开是这种情况: 解决方法新建一个类,代码如下: 1 public static class CertificateTrust 2 { 3 4 public static void SetCertificatePolicy() 5 { 6 ServicePointManager.ServerCertificateValidationCallback 7 += RemoteCertificateVa

[转][C#]基础连接已经关闭 未能为 SSL/TLS 安全通道建立信任关系

来自:https://www.cnblogs.com/waw/p/8286608.html 代码部分: static TestApplication(){ ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate; } private static bool RemoteCertificateValidate(object sender, X509Certificate cert, X

基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系

//1. ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; //2. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback ( delegate { return true; } )

解决“未能创建 SSL/TLS 安全通道”异常

引用: https://www.cnblogs.com/ahdung/p/10489229.html 之前写了一个桌面程序,程序会间歇性访问某个https接口,一直用的好好的,今天突然报错了,异常就发生在访问接口的地方,曰“请求被中止,未能创建 SSL/TLS 安全通道.”,另外有台电脑也有跑该程序,也是同样的报错,看来是接口方改动过什么了. 搜索一番,原因应该是,接口方变更了安全协议,而客户端并未启用该协议.解决办法自然就是:让客户端启用该协议.具体就是在发起网络请求之前确保ServicePo

【SSL】WebClient 请求 https 页面出错:未能创建 SSL/TLS 安全通道

#问题: 当向一个https的url上发送请求,报错:未能创建 SSL/TLS 安全通道: using (WebClient client = new WebClient()) { string address="https://xxx.com"; client.Headers.Add(HttpRequestHeader.ContentType, "text/xml"); System.Text.ASCIIEncoding encoding=new System.T