将 SOAP/REST 客户端从 TLS 1.0 迁移到 TLS 1.2

Migrate SOAP/REST client from TLS 1.0 to TLS 1.2

面临下一个问题:

我在 .NET Framework 4.5.2 下有 .net Web 应用程序 运行。应用与 SalesForce 通信使用:

SalesForce 于 2017 年 3 月 4 日宣布禁用 TLS 1.0 加密协议。我是否需要做一些调整才能迁移到 TLS 1.2?

.NET 4.5 中的默认 System.Net.ServicePointManager.SecurityProtocolSecurityProtocolType.Tls|SecurityProtocolType.Ssl3,.NET 4.5 最高支持 TLS 1.2

我需要更新 System.Net.ServicePointManager.SecurityProtocol 吗?如果是这样,它会影响与其他 api 的交流吗?

如有任何帮助,我将不胜感激。

我们在日志中遇到了一些问题,提醒我们不久前我们正在使用旧协议登录 salesforce api,经过一番搜索后,我使用

初始化了安全协议
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

这将强制所有连接在您的程序中使用 tls 1.2。 有时似乎有些电话试图在默认配置下使用 tls1.0...但是要确保您不需要更改,只需下载 API 日志历史记录并检查您是否有任何低于 tls1 的连接尝试.2 如果是这种情况,则强制升级到 tls1.2

您还可以添加以下注册表项以在 .NET 4.5+ 中强制使用 TLS 1.2。只有在应用程序中专门定义了 System.Net.ServicePointManager.SecurityProtocol 时,它们才会被覆盖。

Set/create 将以下两个注册表项中的 "SchUseStrongCrypto" DWORD 值设为 1:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319 和 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319