您的位置:首页 > 编程语言 > C#

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

2015-12-21 00:42 711 查看
今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系"。

后来把DLL文件进行反编译,发现是在获得请求的时候出错了。

引用

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

定义一个类,来对远程X.509证书的验证,进行处理,返回为true.我们要自己定义一个类,然后在客户单调用WCF服务之前,执行一次即可。代码如下:

public static class Util

{

/// <summary>

/// Sets the cert policy.

/// </summary>

public static void SetCertificatePolicy()

{

ServicePointManager.ServerCertificateValidationCallback

+= RemoteCertificateValidate;

}

/// <summary>

/// Remotes the certificate validate.

/// </summary>

private static bool RemoteCertificateValidate(

object sender, X509Certificate cert,

X509Chain chain, SslPolicyErrors error)

{

// trust any certificate!!!

System.Console.WriteLine("Warning, trust any certificate");

return true;

}

}

你要在WebRequest.Create("https://……").GetResponse();调用操作点前先调用这个方法: Util.SetCertificatePolicy();


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: