解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系
2014-06-11 20:35
585 查看
今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系"。
后来把DLL文件进行反编译,发现是在获得请求的时候出错了。
引用
于是在服务器上用浏览器打开上面的地址,发现会弹出一个确认证书的窗口,看来是证书问题。
在网上一顿搜索,发现了一个决绝办法甚是好用,而且很简单,在请求之前添加一行代码。
以上方法虽然解决了遇到的问题,可是在VS中会提示ServicePointManager.CertificatePolicy已经被否决。于是按照提示使用新的方法来处理。
改造后的代码更加简洁和明了
就这样一个委托搞定!
后来把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 安全通道建立信任关系。"
- 解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系。"
- 转转:解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系。"
- "基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系"证书验证失败的解决过程(3)
- 调用Https WebService是报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”的解决过程
- 调用Https WebService发布后使用时报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”证书验证失败的解决过程(3)
- 解决12306.cn网站验证码获取提示“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系“的问题
- 用httpWebRequest调用https开头的php webservice,报“基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系”错误的解决方法
- 解决12306.cn网站验证码获取提示“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系“的问题
- C#模拟Http请求时出现 基础连接已经关闭 未能为 SSLTLS 安全通道建立信任关系
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
- 使用SVCUTIL生成客户端代理类时:元数据包含无法解析的引用:“https: 无法为 SSL/TLS 安全通道与颁发机构“localhost”建立信任关系。基础连接已经关闭: 未能为 SSL/TL
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
- Nuget--基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
- C#模拟Http请求时出现 基础连接已经关闭 未能为 SSLTLS 安全通道建立信任关系
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
- 基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系