【问题标题】:.NET 4.5 Client fails to connect to Web API Service with SSL 3.0 and RC4 disabled.NET 4.5 客户端无法连接到禁用 SSL 3.0 和 RC4 的 Web API 服务
【发布时间】:2014-12-22 14:06:39
【问题描述】:

最佳实践现在建议禁用 SSL V3.0。它还建议禁用 RC4 和除 GRC 密码之外的所有密码,因为它们都容易受到攻击。

但是,如果您将 Windows Server(和 IIS)设置为禁用 SSL V3.0 和除 GRC 密码之外的所有密码,所有使用 HttpClient 连接的 .net 客户端都会失败,说不支持兼容的协议。

我已将其设置为使用 TLS,但仍然不行,我不知道如何告诉它使用 GRC 密码。

任何人都可以解决如何在 .NET 4.5 客户端中打开 TLS 1.2 和 GRC,以便连接到配置为最佳实践的服务器(并被 PCI 大力推动?)

(还有微软,你需要为 .NET 发布一个补丁,以便这是默认行为!)

【问题讨论】:

  • 顶,有人有什么建议吗??

标签: .net ssl asp.net-web-api


【解决方案1】:

您是否尝试添加安全协议

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

例如:

  using (var client = new HttpClient())
  {
      ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
      client.BaseAddress = new Uri("https://www.myurl.com");
      var response = client.PostAsync("api/Values", model, new JsonMediaTypeFormatter()).Result;         
  }

【讨论】:

  • 是的,不幸的是,只有在启用 RC4 密码时才有效。如果禁用 RC4,则它在 Windows 2008 和 Windows 2008 R2 上会失败。 (它在 Windows 2012 R2 上工作,在 Windows 2012 上以一种或另一种方式未经证实)这可能是 Windows 2008 R2 的一个限制,但如果是这样的话,它是一个相当大的限制......
猜你喜欢
  • 1970-01-01
  • 2020-01-27
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多