未能为 SSL/TLS 安全通道建立信任的解决办法

 

 

在通过HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);

 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
            req.Method = "GET";           

            HttpWebResponse sp = (HttpWebResponse)req.GetResponse();

作处理时,有些输入有些URL会在HttpWebResponse sp = (HttpWebResponse)req.GetResponse();的时候抛出一个“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”的异常。

最简单的办法是:

1,先加入命名空间:

using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;

2,再重载CheckValidationResult方法,返回true

public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
     // 总是接受  
        return true;
    }

3,然后在HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);前面加上如下一行代码:

ServicePointManager.ServerCertificatidationCallback = new System.Net.Security.RemoteCertificatidationCallback(CheckValidationResult);//验证服务器证书回调自动验证

posted @ 2010-05-25 14:51  @海滨@  阅读(913)  评论(0编辑  收藏  举报