RestSharp&TLS 1.1

Jac*_*xon 11 ssl post restsharp

使用RestSharp和TLS 1.1有任何已知问题吗?我们目前使用RestSharp将发布请求发送给供应商.此供应商不再接受TLS 1.0连接并更改为TLS 1.1.

问题是当他们从TLS 1.0切换到TLS 1.1然后我们不再使用RestSharp代码.

我在2008 R2(在启用1.1和1.2的注册表设置之后)以及Windows 8.1上测试了这个.他们切换到TLS 1.1,RestResponse是:

"基础连接已关闭:发送时发生意外错误"

切换回TLS 1.0,没问题.我已经测试过使用谷歌浏览器访问他们的网站,它确实显示了TLS 1.1,因此服务器和客户端工作站能够使用TLS 1.1.它似乎只是RestSharp的问题......

Vla*_*nko 28

我还没有找到任何方法来配置RestSharp使用不同的协议.但您可以在发出请求之前覆盖ServicePointManager中的默认协议:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题.您还可以将Windows注册表设置更改为默认使用TLS 1.1/1.2.以下是相关问题的更多信息.

  • 它可能涉及到谁:`ServicePointManager`对象来自`System.Net`命名空间,并保持类似静态的状态.因此,在执行相关操作之前,仅"使用"该命名空间并执行应答代码*一次*就可以了. (7认同)
  • 仅供参考,这需要.NET 4.5或更高版本,它不能在XP/Server 2003上运行.(不影响OP,但值得注意) (2认同)