gpt4 book ai didi

ssl - 在 .Net Framework 2.0 中的 Windows 可执行文件上启用 TLS 1.2

转载 作者:行者123 更新时间:2023-12-04 22:42:41 32 4
gpt4 key购买 nike

我的桌面(Windows 10 桌面)上有一个 Windows 可执行应用程序,它是在 .Net framework 2.0 (v2.0.50727) 中构建的,我需要为此启用与服务器的 TLS 1.2 通信(服务器当前仅支持 TLS 1.2 流量)和现在正在阻止应用程序:
以下是有关该应用程序的一些详细信息:

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

  • 以下是我所做的更改:
  • 我已经对可执行文件的配置文件进行了更改,以在运行时使用 .NetFramework 4.0 并默认使用操作系统上启用的 TLS。 (.Network 4.0 在我的桌面上可用)。








  • 在我的桌面注册表中进行了更改
    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 Settings\WinHttp
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
    对于 TLS 1.2,将 DWORD 值设置为 800。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
    创建了一个文件夹作为 TLS 1.2 并在其下创建了两个子项 Client 和 server 并且两者的 DisabledByDefault 为 0 和 Enabled 为 1。
    在进行所有这些更改后,我重新启动了我的机器并使用 Netmon 进行了验证,应用程序仍然将协议(protocol)发送为 TLS 1.1。有人可以帮忙吗?我已经阅读了许多问题。Net 2.0 应用程序可以启用以使用 TLS 1.2 而无需更改代码。我尝试了各种建议,但没有什么对我有太大帮助

    最佳答案

    我不知道您在哪里看到 SQL Anywhere 12 默认支持 TLS 1.2,但这是错误的。
    “SQL Anywhere Web 服务器支持使用 SSL 3.0 版和 TLS 1.0 版的 HTTPS 连接。”在 SQL Anywhere 12 documentation .
    因此,不幸的是,您的服务器必须支持 TLS 1.0 才能正常工作。

  • SQL Anywhere 12 -> TLS 1.0
  • SQL Anywhere 16 -> TLS 1.1
  • SQL Anywhere 17 -> TLS 1.2
  • 关于ssl - 在 .Net Framework 2.0 中的 Windows 可执行文件上启用 TLS 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64329187/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com