【发布时间】:2024-05-01 18:55:02
【问题描述】:
在我们开始之前,我知道正确的做法是升级操作系统。我正在尝试解决这个问题,正如您可能想象的那样,有很多死胡同。我发现了一些似乎可行的方法,但我不清楚具体原因并寻求帮助。
Windows XP 不支持 SSL/TLS 1.1/1.2
Source 1
Source 2
.Net 4.0 不支持 TLS 1.2
Source 3
.Net 4.5+ 确实支持 TLS 1.2 但无法在 XP 上安装
Source 4 Source 5
如果您使用自己的证书覆盖 ServerCertificateValidationCallback 验证它的工作原理。为什么?到底是怎么回事?它真的有效吗?它的 似乎正在通过 SSL 进行通信。网络运营让我放心 服务器上没有备用 SSL/TLS。
替代方案:获取旧 TLS 1.0 的自签名证书,无法获取此
不再来自 CA
使用其他支持 TLS 1.2 的 C++ 库或类似库
并从 .NET 调用它
更新 1: 我仍然不知道为什么 ServerCertificateValidationCallback 似乎有效。现在我想看看 XP SP3 支持什么密码套件。我正在查看数据包并使用本文作为指南。正如所指出的,即使我找到了一个替代库,如果密码套件没有被提供或接受,我仍然没有解决方案。
我确实尝试了 SecureBlackBox 并取得了一些成功(是 TLS1.2),但我无法让它从证书颁发机构授权证书。 https://www.eldos.com/sbb/
更新 2:学习很多这是如何工作的 谢谢 Ullrich 先生等。人。
更新 3:此时我正在考虑在 XP 机器上使用 Apache 代理进行 TLS1.2 SHA256 CA 验证通信(非 Windows 堆栈),并让我的 .net 4.0 通信在本地与该代理通信(在机器上),而任何离开机器的通信都得到了适当的保护。
【问题讨论】:
-
这很有帮助,谢谢。
标签: c# .net ssl https windows-xp