忽略SSL自签名证书错误Restful httpclient

时间:2018-02-09 01:30:28

标签: c# .net uwp windows-10-universal

我已经对此进行了大量的搜索和阅读,有很多不同的方法来实现这一目标。但是,由于很多帖子,事情发生了一些变化。最终,我使用的是UWP(10586最低目标)应用。我已将我的httpclient代码包装到我的UWP应用程序消耗的.net标准库中。但是,由于10586 SDK版本,我的.net标准库必须为1.4或更低。

我需要以RESTful方式将json发布到Web服务。 Tjis Web服务使用SSL但具有自签名证书。所以,我得到了证书错误。我只想忽略它们,这样我就可以打电话了。使用第三方Web服务测试实用程序(Postman),我已确认如果简单地忽略SSL错误,调用将起作用。

根据我的UWP和.net标准设置,我无法使用X509命名空间来忽略SSL错误。这是一种方法,但X509不可用。

所以,这看起来最有希望:https://blog.roushtech.net/2016/12/20/ignoring-ssl-certificate-errors-net-core-httpclient/

它没有编译器错误,但在运行时我得到“平台不支持”异常。

根据我的配置,有没有办法解决所有这些问题?

编辑:我正在使用的确切片段似乎是未来支持的方法,但在UWP上给出的平台错误与我上面复制的链接相同。作为参考,这就是我正在做的事情:

using (var httpClientHandler = new HttpClientHandler())
{
   httpClientHandler.ServerCertificateCustomValidationCallback = (message, 
   cert, chain, errors) => { return true; };

   using (var client = new HttpClient(httpClientHandler))
   {
       // Make request here.
   }
}

此外,是的,我的代码适用于非ssl(http)调用。它已经工作了一段时间,直到我需要访问配置为ssl的新/不同的Web服务。

感谢!!!

0 个答案:

没有答案