首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.Netframework 2.0中的windows可执行文件上启用TLS1.2

在.Netframework 2.0中的windows可执行文件上启用TLS1.2
EN

Stack Overflow用户
提问于 2020-10-13 05:40:37
回答 1查看 478关注 0票数 1

我的桌面上有一个windows可执行应用程序(Windows 10桌面),它是在.Net Framework2.0 (v2.0.50727)中构建的,为此我需要启用TLS1.2与服务器的通信(服务器目前只支持TLS 1.2流量),并且现在正在阻塞应用程序:

以下是有关申请的几个细节:

  1. exe文件在SAP 12上调用dbmlsync.exe,它安装在我的桌面上(我在internet 12中阅读过,默认情况下支持TLS1.2),所以不应该是一个问题。
  2. 我可能无法更改可执行文件的代码(因为这是一段非常旧的代码),并且我正在检查强制应用程序使用在操作系统上启用的TLS的方法。

以下是我所作的改变:

  1. 我对可执行文件的配置文件进行了更改,使其在运行时使用.NetFramework 4.0,并默认使用在操作系统上启用的TLS。(.Netframework 4.0可在我的桌面上使用)。
  2. 在我的桌面HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v2.0.50727 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v2.0.50727的注册表中进行更改,创建一个新条目SystemDefaultTlsVersions,将DWORD值设置为1。

在以下位置创建注册表项DefaultSecureProtocols:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet设置\WinHttp HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet设置\WinHttp将TLS 1.2的DWORD值设置为800。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols创建了一个名为TLS1.2的文件夹,并在它的客户端和服务器下创建了两个子项,它们的DisabledByDefault值都为0,启用后为1。

在进行了所有这些更改之后,我重新启动了我的机器,并使用Netmon进行了验证,该应用程序正在将协议发送为TLS 1.1。有人能帮忙吗?我在许多问题中看到过.Net 2.0应用程序可以在不更改代码的情况下使用TLS1.2。我尝试了各种建议,但没有什么对我有帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-08-12 18:55:34

我不知道您在哪里看到12默认支持TLS1.2,但这是错误的。

“SQL服务器使用SSL版本3.0和TLS版本1.0支持HTTPS连接。”在SQL 12文档上。

因此,要工作,您的服务器必须支持TLS 1.0不幸。

  1. SQL Anywhere 12 -> TLS 1.0
  2. SQL Anywhere 16 -> TLS 1.1
  3. SQL Anywhere 17 -> TLS 1.2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64329187

复制
相关文章

相似问题

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