【问题标题】:Procedure to upgrade to TLS 1.2 for .NET 4.5 and Authorize.net为 .NET 4.5 和 Authorize.net 升级到 TLS 1.2 的过程
【发布时间】:2017-10-06 10:55:26
【问题描述】:

我使用 .NET 4.5 开发了我的网站。我使用 authorize.net 进行付款。 最近我收到一封来自 Authorize.net 的邮件,他们已禁用对 TLS 1.0 和 1.1,并且需要 TLS 1.2。我不知道 TLS 以及如何升级它。 请告诉我升级到 TLS 1.2 的程序,Azure 也将支持该程序。

【问题讨论】:

  • 你的意思是 4.5.2。 .NET 4.5.2 中添加了 TLS 1.2。只需将您的目标框架版本更改为新版本,例如 4.6 或更高版本。 是否您尝试过更改目标版本?你有遇到什么问题吗?
  • 顺便说一句,最早支持的 .NET 版本是 4.5.2。

标签: .net azure authorize.net tls1.2


【解决方案1】:

我们刚刚通过 Paypal 和我们的 .Net 产品完成了这项工作。我们在 .NET 4.6 上运行,因此默认设置了 TLS 1.2。在 .NET 4.5 中,支持 TLS 1.2,但默认情况下不启用。您需要在应用程序中将SecurityProtocalType(MSDN Docs) 设置为Tls12

从 Authorize.net 的 changelog 来看,他们似乎在“沙盒”环境中禁用了 TLS 1.0 和 1.1。因此,您可以使用该沙箱来测试您的代码,以确保其正常工作。

【讨论】:

  • 您的意思可能是 4.5.2。 .NET 4.5.2 中添加了 TLS 1.2。 .NET 4.5 完全不支持
  • 此外,很多公司已经发布了关于在 2-3 年内禁用低于 TLS1.2 的任何内容。许多(非常大的)服务已经需要 TLS1.2
  • 我不确定 OP 运行的是 4.5 还是 4.5.2,但我找到的所有文档都指向 4.5 及更高版本。你有一些文件说明它只有 4.5.2 及更高版本吗?显然,另一种选择是升级到最新的框架,但这并不总是可行的,而且根据应用程序可能没有必要。
  • 再次检查文档。它是 4.5.2,最早支持的 .NET 版本。您会看到所有文档页面都提到 4.5.2 作为最早的版本。此外,没有理由使用 不支持的 .NET 版本
  • 很公平。我找不到任何明确说明它是在 4.5.2 中引入的(但话又说回来,我找不到任何说它不是的,而且在那段时间我什至不是开发人员)。感谢 cmets 和关于 4.5 支持被弃用的观点驱使 OP 升级这一点(如果他正在使用的话)。我会更新我的帖子。
【解决方案2】:

您只需使用以下代码即可解决此问题:

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

【讨论】:

  • .NET 4.5 不支持 TLS1.2。这是在 .NET 4.5.2 中添加的,最早支持的版本
猜你喜欢
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 2016-12-21
  • 2018-10-20
  • 2017-09-30
  • 1970-01-01
  • 2017-09-25
  • 2018-10-17
相关资源
最近更新 更多