.Net 与TLS版本的兼容性

.NET
在支持 TLS 1.1 或 TLS 1.2 操作系统中运行时,兼容最新版本

.NET 4.6 和更高版本
兼容 TLS 1.1 或更高版本(默认设置)。

.NET 4.5 至 4.5.2
默认情况下,.NET 4.5、4.5.1 和 4.5.2 场合, TLS 1.1 和 TLS1.2有效,共有两个选项以进行启用,如下所述。

选项 1:
通过设置 System.Net.ServicePointManager.SecurityProtocol 启用 SecurityProtocolType.Tls12 和 SecurityProtocolType.Tls11,.NET 应用程序可在软件代码中直接启用 TLS 1.1 和 TLS 1.2。以下 C# 代码是示例:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

选项 2:
通过将以下两个注册表项中的 SchUseStrongCrypto DWORD 值设置为 1(如果不存在请创建),可在默认情况下启用 TLS 1.2,而无需修改源代码。“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319”和“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319”。虽然这些注册表项中的版本号是 4.0.30319,则 .NET 4.5、4.5.1 和 4.5.2 框架也会使用这些值。但默认情况下,这些注册表项将在系统上所有安装 .NET 4.0、4.5、4.5.1 和 4.5.2 应用程序中启用 TLS 1.2。因此在将其部署到生产服务器前,测试此更改是合理措施。这也可用作注册表导入文件。但这些注册表值将不会影响设置 System.Net.ServicePointManager.SecurityProtocol 值的 .NET 应用程序。

.NET 4.0
默认情况下,.NET 4.0 不会启用 TLS 1.2。要默认启用 TLS 1.2,将以下两个注册表项中的 SchUseStrongCrypto DWORD 值设置为 1(如果不存在请创建):“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319”和“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319”。但默认情况下,这些注册表项将在系统上所有安装 .NET 4.0、4.5、4.5.1 和 4.5.2 应用程序中启用 TLS 1.2。我们建议在将其部署到生产服务器前,测试此更改。这也可用作注册表导入文件。但这些注册表值将不会影响设置 System.Net.ServicePointManager.SecurityProtocol 值的 .NET 应用程序。

.NET 3.5 和更低版本
并不兼容 TLS 1.1 或更高版本的加密

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值