结合使用TLS 1.2和ASP.NET Web API

时间:2018-09-05 11:27:58

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

您将找到TLS 1.0 / 1.1 / 1.2 / 1.3 / SSL3 / SSL2的状态

enter image description here

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

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

答案 1 :(得分:1)

  

我们的服务仍被拒绝的事实表明我们仍在使用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.