Rest Sharp:请求被中止:无法创建 SSL/TLS 安全通道

问题描述

我正在使用 Rest Sharp DLL 来调用 rest 服务。我正在使用的服务适用于 HTTPS(但没有安装/在代码中使用证书)。但是 API 服务器确实安装了证书

它一直工作正常,直到最近 API 服务器由于过期更新了它的证书。

现在出现异常:请求被中止:无法创建 SSL/TLS 安全通道。

我检查了响应的属性 IsSuccessful =false,ResponseStatus =Error,StatusCode= 0.

下面是我的代码

var client = new RestClient(_action);
        client.RemoteCertificateValidationCallback = setCallBack;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;


                client.Timeout = 90000;
                client.ReadWriteTimeout = 90000;
                var request = new RestRequest(Method.GET);
                request.Timeout = SafeConvert.ToInt32(p_timedout);
                request.ReadWriteTimeout = SafeConvert.ToInt32(p_timedout);
         
                foreach (var item in pHeaders)
                {
                    request.AddHeader(item.Key,item.Value);
                }

                request.AddHeader("Content-Type","application/json");

                RestSharp.IRestResponse response = client.Execute(request);

 
public static bool setCallBack(object r_Sender,X509Certificate r_Certificate,X509Chain r_Chain,SslPolicyErrors r_SslPolicyErrors)
        {
            return true;
    }

我已经尝试添加

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
       | SecurityProtocolType.Tls11
       | SecurityProtocolType.Tls12
       | SecurityProtocolType.Ssl3;

在 .Excute 之前和以下,但仍然是同样的问题。

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

PS:这是在生产环境中发生的

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)