最近我们的PCI DSS扫描失败,并要求我们禁用TLS 1.0(并启用TLS 1.1或1.2).我在
Windows Server 2008 R2上找到了如何执行此操作的说明,但是我们有一个使用.NET Remoting的遗留应用程序(它是一个.NET 2.0 Windows窗体应用程序/ IIS托管的CSLA 1.5数据门户),它没有与新设置通信.
我收到以下异常:
我尝试在客户端和服务器中进行各种TLS设置组合配置都无济于事.如:
>在客户端和服务器上(在注册表中)禁用TLS 1.0并启用TLS 1.2.
>在客户端和服务器上(在注册表中)启用TLS 1.1.
我做了一些研究并发现了.NET 4.5 framework supports TLS 1.1 and 1.2,但目前还不清楚是否扩展到.NET远程处理.可以?
另外,我发现Microsoft’s recommendation is to upgrade to 4.5.2.
也就是说,这个应用程序与.NET 4.5.2有许多依赖关系和不兼容性,因此通过升级或者我是否应该疯狂地急于重写这个应用程序来了解我是否确实在朝着正确的方向发展是有帮助的(我探索过的所有选项都需要进行重大的应用程序更改.即使构建一个测试应用程序来尝试它也可能具有挑战性,因为我在大约10年内没有直接处理.NET远程处理.
所以,我的问题是 – .NET远程支持是否支持TLS 1.1或1.2?
也:
>升级到.NET framework 4.5.2是否足以实现它?
>是否需要更多配置设置才能进行通信?如果有,它们是什么?
>如果只需要升级到.NET framework 4.5.2,整个应用程序是否需要升级,只需要使用.NET远程处理的部分,只是引用使用.NET远程处理的库的客户端,或其他一些组合?
我在用:
> Windows Server 2008 R2作为服务器.
> IIS 7.5使用SSL enababled(CSLA dataportal)托管远程处理.
> Windows 7 Professional适用于客户端.
最佳答案 我在
this obscure MSDN blog post中发现了该解决方案.为了使用TLS 1.2,您必须启用组策略设置以使用FIPS投诉加密算法.
这解决了.NET远程处理,单击部署和MS Web部署的问题.不幸的是,它打破了我的ASP.NET Web应用程序,我对这个问题是still looking for a solution.