在我们的 Windows 2012 Server R2 上,我们需要禁用 TLS 1.0。
不过,我们正在运行 .NET 4.5 Wcf 服务。
.NET 4.5 和 .NET 4.5.1 中默认启用 TLS 1.1/1.2 吗?
答案
.NET 4.5 和 .NET 4.5.1 中是否默认启用 TLS 1.1/1.2?
否。各个框架版本启用的默认协议是:
- .NET Framework 4.5 和 4.5.1:SSLv3 和 TLSv1
- .NET Framework 4.5.2:SSLv3、TLSv1 和 TLSv1.1
- .NET Framework 4.6 及更高版本:TLSv1、TLSv1.1 和 TLS1.2
而微软建议不要明确指定协议版本支持使用操作系统的默认设置:
为了确保 .NET Framework 应用程序保持安全,TLS 版本应该not被硬编码。
…仍然可以通过使用来选择您的应用程序支持的协议ServicePointManager
类,特别是通过设置SecurityProtocol
财产给相关SecurityProtocolType
s。
在您的情况下,您需要使用以下内容:
System.Net.ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
请注意,自 2020 年起,TLSv1 和 TLSv1.1 已被有效弃用;