今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系"。
后来把DLL文件进行反编译,发现是在获得请求的时候出错了。
引用
WebResponse response = WebRequest.Create("https://……").GetResponse();
于是在服务器上用浏览器打开上面的地址,发现会弹出一个确认证书的窗口,看来是证书问题。
在网上一顿搜索,发现了一个决绝办法甚是好用,而且很简单,在请求之前添加一行代码。
ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
其中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;
}
就这样了,一个委托搞定!
分享到:
相关推荐
.net中为 SSL/TLS 安全通道建立信任关系
本程序基于SSL/TLS协议的三元组认证的安全文件传输系统的设计和实现。采用java实现,java对SSL/TLS协议和加密技术封装的比较好,有兴趣可以下下来看一下
解决 SSL/TLS协议信息泄露漏洞(CVE-2016-2183) ps1 文件
Windows Server 合规漏洞修复,修复Windows Server CVE-2016-2183 SSL/TLS协议信息泄露漏洞修复脚本,基于Windows PowerShell, 兼容Windows Server 2016/2019,防止Sweet32 生日攻击
ssl协议的详细介绍,openssl的接口描述
本资源包含一个 openssl 工具安装包 Win32OpenSSL-...关于tomcat 进行配置 ssl 证书、完全 TLS v1.2、完全正向加密的具体步骤可以参考博客《为通过 ATS 检测 Tomcat 完全 TLS v1.2、完全正向加密及其结果检验》,地址:...
本源代码例子实现了Socket服务端和客户端,以及Http服务端和客户端;采用了Netty框架,实现SSL/TLS支持。
Implementing SSL / TLS Using Cryptography and PKI 1st Edition
这是一个SSL/TLS连接器,自己根据TLS协议写的。本来用于测试IMAP的,现发布出来供大家使用。 软件实现的加密算法包括:MD5、HMAC、RC4、SHA1、RSA,目前多数SSL/TLS服务器都使用这几种加密算法。还包括X509证书解析...
SSL/TLS简介PPT
XEP-0035: SSL/TLS Integration.pdf
对设计者来说,本书不但提供了已经付诸使用的技术库,还提供了使用SSL/TLS 来设计系统的有关信息。 对于使用SSL/TLS 编程的程序员来说,本书提供了有关函数库底层的工作机理,以及你所调用的函数实际完成的工作内容...
【解决漏洞-亲测好用】SSLTLS 服务器瞬时 Diffie-Hellman 公共密钥过弱
GM/T 没有单独规范 SSL协议的文件,而是在SSL 技术规范中定义了国密SSL协议。...TLS协议号为0x0301 0x0302 0x0303,分别表示TLS1.0 1.1 1.2,而国密SSL版本号为0x0101,其参考了TLS1.1 本Wireshark支持解析该报文
Android applications for SSL/TLS
基于SSL/TLS的嵌入式网络通信安全解决方案,吴昊,,随着嵌入式技术的逐渐成熟和网络通信应用需求的不断增长,嵌入式技术在网络通信领域中的应用也越来越广泛,但同时也暴露出部分嵌
(注意:是固件) ESP8266 MQTT SSL/TLS 支持连接阿里物联网套件,百度天工,Onenet等MQTT服务器,支持SSL通信
tlspretense, 测试 SSL/TLS 客户端证书验证的测试框架 TLSPretense - SSL/TLS 客户机测试框架测试 SSL/TLS 客户端证书验证的测试框架。描述注:TLSPretense仍在进行大量抛光。 它目前可用,但功能可能会改变,文档...
c++ smpt发送邮件类 ssl/tls 比较好用 转自codeproject