【问题标题】:Using TLS 1.2 with ASP.NET Web API将 TLS 1.2 与 ASP.NET Web API 一起使用
【发布时间】:2018-09-05 11:27:58
【问题描述】:

我有几个使用 ASP.NET 4.5.2 编写的服务,它们从外部 Web 服务获取数据。这些服务已经完美运行了一年左右,没有出现任何错误。但是,第三方供应商最近将其 API 限制为来自使用 TLS 1.1 或更高版本的客户端的请求。

我们的服务一直失败,因为它们被外部网络服务拒绝。我已经检查了我们用来托管我们服务的服务器 - Windows Server 2012 R2 - 它配置了 TLS 1.1 和 1.2(我已经检查了注册表项)。那么我们的 .NET 服务请求肯定应该默认为其中之一吗?

我们的服务仍被拒绝的事实表明我们仍在使用 TLS 1.0 发送请求。

如何检查我们的服务是否使用 TLS 1.1 或更高版本?如何启用服务以使用 TLS 1.1 或更高版本?

【问题讨论】:

    标签: asp.net-web-api tls1.2


    【解决方案1】:

    您可以使用以下工具检查客户端主机名支持的 TLS 协议。

    https://www.ssllabs.com/ssltest/analyze.html

    1. 转到此 Qualys SSL 实验室,输入客户端主机名(例如:abdc.com)。
    2. 生成报告后,向下滚动到配置部分。

    您会发现 TLS 1.0/1.1/1.2/1.3/SSL3/SSL2 的状态

    要了解 .Net 框架和 TLS 之间的关系,请参阅以下链接。

    https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/

    【讨论】:

      【解决方案2】:

      我们的服务仍被拒绝的事实表明我们仍在使用 TLS 1.0 发送请求。

      在这种情况下,您将 TLS 用作客户端,而不是连接到远程服务的服务器。

      我有几个使用 ASP.NET 4.5.2 编写的服务

      您需要更改 .NET Framework 4.5.2 的注册表项才能使用 TLS 1.2。这在.NET TLS guide 中有记录。

      也许最简单的做法就是迁移到 .NET Framework 的最新版本。如果不行,你可以按照指南说的做

      Set the SchUseStrongCrypto and SystemDefaultTlsVersions registry keys to 1.
      

      【讨论】:

      • 我认为将项目升级到最新版本的 .NET Framework 将是最简单的解决方案 :)
      • 我建议如果你要升级框架,升级到 4.7.2。它还将处理即将推出的 TLS 1.3。
      猜你喜欢
      • 2016-10-15
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 2014-10-29
      • 2015-10-10
      • 2018-07-20
      • 1970-01-01
      • 2012-03-14
      相关资源
      最近更新 更多