首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET框架3.5和TLS 1.2

.NET框架3.5和TLS 1.2
EN

Stack Overflow用户
提问于 2017-04-05 20:03:09
回答 5查看 64.7K关注 0票数 34

我目前有一个使用.NET 3.5框架的web应用程序,我想知道它是否与TLS1.2兼容。不,在我们的代码中,我们要听写TLS版本。这是一个遗留应用程序,现在还没有重新编译。我没有找到多少信息,你是否可以或不能,但我的印象是兼容性更依赖于操作系统版本。看起来最低值是2008年的R2。我们的目标是让paypal能够在7月1日进行适当的沟通。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-04-05 20:06:28

文档中可以看到,TLS1.2不在SslProtocols的枚举中,而是添加到.NET 4.5中的枚举中(谢谢@orhun)。

.NET 3.5上的TLS1.2兼容性没有解决办法。

不幸的是,为了获得TLS1.2的兼容性,您必须升级到.NET 4.5或更高版本。

编辑10/11/17

我的上述答案已不再准确。2017年5月,微软发布了一个软件包,允许.NET 3.5.1中的TLS 1.2

票数 20
EN

Stack Overflow用户

发布于 2017-07-03 20:42:08

如前所述,.net 3.5.1现在支持TLS1.2;但是您不需要@Paulina的答复中提到的注册表更改。

我在.net 3.5.30729.4926中使用VS 2008。我要做的就是:

增加进口:

代码语言:javascript
运行
复制
Imports System.Security.Authentication
Imports System.Net

将其添加到我的代码(C#)中:

代码语言:javascript
运行
复制
public const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
public const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
ServicePointManager.SecurityProtocol = Tls12

VB.net版本:

代码语言:javascript
运行
复制
Const _Tls12 As SslProtocols = DirectCast(&HC00, SslProtocols)
Const Tls12 As SecurityProtocolType = DirectCast(_Tls12, SecurityProtocolType)
ServicePointManager.SecurityProtocol = Tls12

选自:https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-.net-framework注释:通过在我的代码中定义const,我可以忽略本文中的其他所有内容,包括注册表编辑和cs文件。

票数 53
EN

Stack Overflow用户

发布于 2017-05-16 14:28:22

您可以让TLS 1.2与Framework3.5一起工作。

微软已经发布了它的更新。

按照以下步骤执行

  1. 在Framework3.5中安装TLS的支持更新如下:

https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-.net-framework-3.5.1-on-windows-7-sp1-and-server-2008-r2-sp1

  1. 转到注册表
    • 在start中键入regedit
    • 右键单击并以管理员身份运行
    • 导航到注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v2.0.50727

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v2.0.50727

  • 右键单击注册表项,然后单击导出
  • 命名该文件并使用.reg扩展名保存它(如果需要还原它们,请将它们保存为备份)
代码语言:javascript
运行
复制
1. Add entry to registry keys

  • 复制保存的文件并重命名它们
  • 使用文本编辑器打开并将以下文本添加到每个键(这是64位操作系统)并保存更改(对于32位操作系统,请参阅链接中的信息)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v2.0.50727 "SystemDefaultTlsVersions"=dword:00000001

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v2.0.50727 "SystemDefaultTlsVersions"=dword:00000001

  • 双击文件,然后在窗口上单击Yes以允许更改
代码语言:javascript
运行
复制
1. Add code to your project as specified in the link - Developer Guidance section

我应用了这个解决方案,它对我有效。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43240611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档