使用RestSharp &TLS1.1有什么已知的问题吗?我们目前使用RestSharp向供应商发送post请求。该供应商将不再接受TLS 1.0连接并更改为TLS 1.1。
问题是,当他们从TLS1.0切换到TLS1.1时,我们的RestSharp代码就不再起作用了。
我已经在2008 R2 (在启用了1.1和1.2的注册表设置之后)和Windows8.1上进行了测试。他们切换到TLS1.1,RestResponse是:
“基础连接已关闭:发送时发生意外错误”
切换回TLS 1.0,没有问题。我已经测试了使用Google Chrome访问他们的网站,它确实显示了TLS 1.1,因此服务器和客户端工作站都能够使用TLS 1.1。似乎RestSharp才是问题所在……
发布于 2015-08-24 20:56:52
我还没有找到任何方法来配置RestSharp来使用不同的协议。但您可以在发出请求之前覆盖ServicePointManager中的默认协议:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;这就解决了问题。您还可以更改Windows注册表设置,以在默认情况下使用TLS 1.1/1.2。Here is在相关问题中提供更多信息。
发布于 2020-09-01 02:53:56
RestSharp已经对此问题进行了documented:
异常是由WebRequest引发的,因此您需要告诉.NET框架接受比默认情况更多的证书类型。在应用程序中的某个地方添加下面这一行应该可以解决这个问题:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;因此,请考虑在Program.cs中添加上面的行。
发布于 2020-06-05 15:41:14
简单的解决方法是将您的项目更新到最新的.Net框架。
https://stackoverflow.com/questions/30409048
复制相似问题