Https协议或TLS升级导致API接口不能访问原创
金蝶云社区-eris
eris
8人赞赏了该文章 2873次浏览 未经作者许可,禁止转载编辑于2022年01月13日 14:33:31

一、问题

  1. 由于国家数据安全要求,TLS需要升级到1.2版本

  2. 或从Http协议改成Https协议

导致访问API接口导致报下面错误

could not create SSL/TLSsecure channel


二、点Net处理方式

1. Net4.0-4.4版本在发送HTTP请求前加入下行代码

ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | 
(SecurityProtocolType)768 | (SecurityProtocolType)3072;

2. Net4.5以及以上版本在发送HTTP请求前加入下行代码,平台是4.5版本


       public enum SecurityProtocolTypeEnum
        {
            Ssl3 = 0x30,          // SSL3
            Tls = 0xc0,            // TLS 1.0
            Tls11 = 0x300,      // TLS 1.1
            Tls12 = 0xc00      // TLS 1.2
        }


ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)SecurityProtocolTypeEnum.Ssl3 | 
                                                               (System.Net.SecurityProtocolType)SecurityProtocolTypeEnum.Tls | 
                                                              (System.Net.SecurityProtocolType)SecurityProtocolTypeEnum.Tls11 | 
                                                               (System.Net.SecurityProtocolType)SecurityProtocolTypeEnum.Tls12;


三、Java处理方式

1、在发送HTTP请求前加入下行代码

java.lang.System.setProperty("https.protocols","TLS1.2");



赞 8