asp.net - 由于 POODLE 漏洞,我使用的 API 服务正在禁用 SSL 3.0。如果我使用 HttpClient 和 HttpRequestMessage 是否需要更改代码?

标签 asp.net ssl asp.net-web-api dotnet-httpclient poodle-attack

假设我做了这样的典型事情:

HttpRequestMessage requestMessage = new HttpRequestMessage();
requestMessage.RequestUri = new Uri("https://api.site.com/");
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Task<HttpResponseMessage> responseMessage = httpClient.SendAsync(requestMessage);

API 服务告诉我,由于 POODLE 漏洞,他们正在关闭 SSL 3.0,我是否需要对我的代码执行任何操作以确保它将使用 TLS?发出请求的机器需要发生什么事情吗?

我知道这个问题中存在很大的无知,但我认为很多开发人员只是希望这个问题得到解答。

最佳答案

昨天我在 Facebook 和 Twitter 上遇到了同样的问题,从今天开始在 Linkedin 上也遇到了同样的问题。在每个网络请求对我起作用之前添加了以下代码。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

这很令人困惑,因为重新启动应用程序时,它在第一个错误之前工作了 10-15 分钟。以下是记录的错误。

System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel. 

我尝试使用 powershell 脚本在服务器中禁用 ssl 并启用 tls http://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

它不起作用,最后不得不更改代码才能使其起作用。

关于asp.net - 由于 POODLE 漏洞,我使用的 API 服务正在禁用 SSL 3.0。如果我使用 HttpClient 和 HttpRequestMessage 是否需要更改代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26405396/

相关文章:

ruby-on-rails - Unicorn 可以直接处理 HTTPS 请求吗(请求不经过 Apache/Nginx)?

Firebase TLS 限制

asp.net - 获取组件向导的最后一步

c# - 在 Azure 上部署使用 ACS 的 MVC 应用程序

ios - 如何获取用于 SSL 固定的公钥哈希?

c# - jQuery 与 WebApi 一起使用 - 甚至不调用 Controller 方法

c# - 在n层c#层中设置连接

unit-testing - 在 ASP.NET WebApi 中测试路由配置

c# - 如何针对手机(尤其是 iPhone)优化我的网页?

c# - 循环逗号分隔的字符串,分成多个数组?