ASP.NET 2.0应用程序,TLS 1.2

问题描述:

UPS API切换到强制的TLS 1.2协议。我们有使用该API的asp.net 2.x应用程序,截至5月31日,他们将停止工作。实际上,他们警告我们,我们将开始经历中断,直到我们目前正在经历的那一天。ASP.NET 2.0应用程序,TLS 1.2

该应用程序在IIS7,Windows 2k8 R2上运行。我会将IIS切换为使用TLS 1.2,但我们有人会使用我们的旧的asp.net 2.x Web服务,如果我们切换,会导致同样的问题。

是否可以设置一个站点或池来使用TLS 1.2,但不能全局更改它?

我们最后的手段是在asp.net 4.5中编写代理应用程序。我们将从我们的2.x代码中调用该代理,然后让它调用UPS服务。我看到是否有更简单的方法避免编写此代码并找出在服务器配置中执行此操作的方法。

我能够在我的web服务上添加注册表设置来启用TLS 1.2(和1.1)。留下旧的SSL密钥使我能够支持他们,并且不会对我当前的应用程序产生负面影响。但是,它完全解决了我的问题与UPS网络服务。

我用这篇文章中的设置 Enable TLS on Windows Server and IIS

+0

与UPS服务什么问题没有解决这个?您能否确认您的客户代码是通过TLS 1.2连接到UPS的(例如使用wireshark或fiddler)?我只是有点怀疑,因为[ASP.NETv3.5中的安全协议](https://msdn.microsoft.com/en-us/library/system.security.authentication.sslprotocols%28v=vs.90 %29.aspx)不支持TLS v1.2。 – DrewDouglas

+0

拉里,如果可能的话,你能准确描述你如何在你的web服务上添加注册表设置来启用TLS 1.2吗? – cjo30080

+0

我基本上按照上面的链接中的说明。我将这两个新密钥放在TLS 1.1和TLS 1.2中。然后在每个键中添加DWORD值DisabledByDefault(设为0)和Enabled(设为1)。但是,UPS在周三发布了另一个更新,导致这种情况不再有效。我认为我们将不得不在asp.net 4.5中创建一个服务,然后在我们的2.x代码中创建一个代理类,以便我们可以从我们的遗留应用程序访问它。 –