RestSharp& TLS 1.1

时间:2015-05-23 05:00:48

标签: post ssl 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的问题......

2 个答案:

答案 0 :(得分:0)

简单的解决方法是将您的项目更新到最新的.Net Framework。

答案 1 :(得分:0)

RestSharp已经documented这个问题:

WebRequest引发异常,因此您需要告诉.NET Framework接受比默认情况更多的证书类型。 将此行添加到您的应用程序中某个位置的位置(一次调用一次)应该可以解决此问题:

public JsonResult Incluir(ClienteModel model)
        {
           // This is where the method Search occurs.
            BoClient bo = new BoClient();
  
            if (!this.ModelState.IsValid)
            {
                List<string> erros = (from item in ModelState.Values
                                      from error in item.Errors
                                      select error.ErrorMessage).ToList();

                Response.StatusCode = 400;
                return Json(string.Join(Environment.NewLine, erros));
            }
            else
            {
                
                model.Id = bo.Incluir(new Client()
                {                    
                    CEP = model.CEP,
                    CPF = model.CPF, // Field is Unique
                });

           
                return Json("Sucess");
            }
        }
    ```

因此,请考虑在 Program.cs 上添加以上行。