当前位置:  开发笔记 > 编程语言 > 正文

如何在ASP.NET 2.0应用程序中为API调用启用TLS 1.2?

如何解决《如何在ASP.NET2.0应用程序中为API调用启用TLS1.2?》经验,为你挑选了2个好方法。

我们的ASP.NET 2.0网站通过调用Authorize.Net的API来处理信用卡交易.授权已通知我们,在确定的日期,我们的客户必须使用TLS 1.2协议进行API调用.

Microsoft似乎表明这个10-22-16 KB文章中提供了一个解决方案:https://support.microsoft.com/en-us/help/3154517/support-for-tls-system-default-versions-included -in最.NET框架-2.0-SP2-ON-Windows的Vista的SP2和服务器-2008-SP2

...我们添加了SslProtocolsExtensions枚举,您可以将其用作设置TLS v1.2,TLS v1.1的选项,以及针对.NET Framework 2.0 SP2时ServicePointManager.SecurityProtocol属性的操作系统默认值.

请注意,尽管有本文的标题,但上述引用并未涉及Windows Vista SP2或Windows 2008 SP2操作系统,因为这些操作系统不支持TLS v1.1和1.2.

我已经通过以下步骤实现并测试了我对KB文章中指出的解决方案的理解:

    在我们的Windows Server 2008 R2 Web服务器上启用了TLS 1.2(并通过ssllabs.com确认).

    确认SP2实际上是为.NET framework 2.0版安装的.

    将引用的KB文章中显示的两个源文件添加到我们的项目中(即SecurityProtocolTypeExtensions.cs和SslProtocolsExtensions.cs)

    输入以下代码行(从KB文章)到API调用上方的项目:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

不幸的是,在运行应用程序时,我在上面第3项中显示的代码行上遇到以下错误:

System.NotSupportedException:不支持请求的安全协议.

在这一点上,我很难过.我特别感谢有关如何推进此解决方案的任何见解,但我有兴趣了解您所知道的任何其他方法,以允许来自ASP.NET 2.0应用程序的API调用来使用TLS 1.2.(升级到更新版本的.NET框架是最后的选择.)

在此先感谢您的帮助!



1> JoeBoxer..:

我们不得不使用我们的.NET 2.0应用程序迁移到TLS 1.2,我们不想将代码移植到.NET 4.5/4.6.经过几天的研究和发现这篇文章后,我们找到了解决方案.这篇文章引用了错误的HOTFIX.要在Server 2008 R2上使用TLS 1.2 for .NET 2.0,您需要这个HOTFIX:https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-在最.NET框架

它引用了3.5.1框架,但ALSO适用于2.0框架.安装此修补程序后,您可以按指示在服务器上进行注册表更改,或者在应用程序中更改代码以直接引用TLS 1.2.

C#ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

VB ServicePointManager.SecurityProtocol = DirectCast(3072,System.Net.SecurityProtocolType)

对于其他操作系统,请查看Troy Starr的帖子:https: //community.qualys.com/thread/16917-net-framework

希望这可以帮助



2> 小智..:

对于找到这个帖子的其他人,我能够使用上面原始问题中详述的相同步骤(#1-#4)来使用TLS 1.2来处理.Net 3.5.一旦我将补丁应用到Win 2012服务器(我的共享托管公司很适合应用),然后添加了代码行以在我的API调用之前启用TLS 1.2,它立即起作用:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有