是否可以使用 .NET Remoting + TLS 1.2(或 1.1)?

Nig*_*888 5 .net asp.net csla iis-7.5 .net-remoting

最近我们的 PCI DSS 扫描失败,并要求我们禁用 TLS 1.0(并启用 TLS 1.1 或 1.2)。我在 Windows Server 2008 R2 盒子上找到了如何执行此操作的说明,但我们有一个使用 .NET 远程处理的旧应用程序(它是一个 .NET 2.0 windows 窗体应用程序/IIS 托管的 CSLA 1.5 数据门户),它没有t 与新设置进行通信。

我收到以下异常:

在此输入图像描述

我尝试了客户端和服务器中 TLS 设置组合的各种配置,但均无济于事。例如:

  1. 在客户端和服务器上禁用 TLS 1.0(在注册表中)并启用 TLS 1.2。
  2. 在客户端和服务器上启用 TLS 1.1(在注册表中)。

我做了一些研究,发现.NET 4.5 框架支持 TLS 1.1 和 1.2,但尚不清楚这是否扩展到 .NET 远程处理。可以?

另外,我发现微软的建议是升级到 4.5.2

也就是说,这个应用程序与 .NET 4.5.2 有很多依赖性和不兼容性,因此了解我是否确实通过升级朝着正确的方向前进,或者我是否应该疯狂地完全重写这个应用程序会很有帮助(我探索过的所有选项都需要对应用程序进行重大更改)。即使构建一个测试应用程序来尝试它也可能具有挑战性,因为我已经大约 10 年没有直接处理过 .NET 远程处理了。

所以,我的问题又是 - .NET 远程处理支持 TLS 1.1 还是 1.2?

还:

  1. 升级到 .NET Framework 4.5.2 足以实现这一目标吗?
  2. 是否需要进行更多配置设置才能进行通信?如果需要,它们是什么?
  3. 如果只需要升级到 .NET Framework 4.5.2,是否需要升级整个应用程序,仅升级使用 .NET 远程处理的部分,仅升级引用使用 .NET 远程处理的库的客户端,或其他一些组合?

我在用:

  1. Windows Server 2008 R2 作为服务器。
  2. IIS 7.5 用于托管启用 SSL 的远程处理(CSLA 数据门户)。
  3. 客户端使用 Windows 7 Professional。

Nig*_*888 2

我在这篇不起眼的 MSDN 博客文章中发现了解决方案。为了使用 TLS 1.2,您必须启用组策略设置以使用 FIPS 兼容加密算法。

这解决了 .NET 远程处理、单击一次部署和 MS Web 部署的问题。不幸的是,它破坏了我的 ASP.NET Web 应用程序,我仍在寻找该问题的解决方案。