如果更改为 TLS 版本,如何确定是否需要升级点网框架?

How do I determine whether I need to upgrade the dot net framework given change to TLS version?

MYOB has advised that 自 2018 年 9 月 30 日起,MYOB API 将不再接受使用 TLS1.0

的连接

我有一个 Winforms 应用程序,它使用 SDK

通过 API 连接到 MYOB Accountright

我想知道我是否需要对 2 年前发布的应用程序进行任何特定更改。

我询问了 on the developer forum,并被告知如果我的代码使用 TLS1.0,我需要更改它。

来自 this question about determining the dot net framework 我认为我需要检查 MYOB.AccountRight.SDK.dll 使用的框架。 查看我的项目,我发现它是 v4.0.30319

我在记事本中打开MYOB.AccountRight.SDK.dll,看到NETFramework,版本=v4.5

来自Stan Tarnovskly's blog 我看到了

.NET 4.5. TLS 1.2 is supported, but it’s not a default protocol. You need to opt-in to use it. The following code will make TLS 1.2 default, make sure to execute it before making a connection to secured resource: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

最近您不希望使用 TLS 1.0 或 1.1。

此文档提供了一些最佳实践以及一些您应该查看的升级路径参考:https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls

We recommend that you:

  • Target .NET Framework 4.7 or later versions on your apps.
  • Target .NET Framework 4.7.1 or later versions on your WCF apps.
  • Do not specify the TLS version. Configure your code to let the OS decide on the TLS version.
  • Perform a thorough code audit to verify you're not specifying a TLS or SSL version.