【问题标题】:.net 4.5.2 and ssl 3.0.net 4.5.2 和 ssl 3.0
【发布时间】:2025-12-10 17:45:02
【问题描述】:

我有一个使用 .net 4.5.2 编译的 Web 应用程序。 Web 应用程序从服务器端控制器访问 https 服务。如果我禁用 SSL 3.0 并出现以下错误,应用程序将停止工作:

客户端和服务器无法通信,因为它们没有共同的算法

我从 .net 4.6 了解到 SSL 3.0 依赖项已被删除。我试图在服务器中安装 .net 4.7.2。但问题仍然存在。

我是否需要针对 .net 4.7.2 重新编译应用程序?有什么方法可以强制应用使用 TLS 1.2 而不是 SSL 3.0?

【问题讨论】:

  • 在这个问题中,“客户端”和“服务器”是什么并不完全清楚。请澄清。

标签: c# .net ssl https


【解决方案1】:

我以前有时也遇到过这个问题,我们从控制器下载文件时抛出了这个错误。

对于那个错误:

客户端和服务器无法通信,因为它们没有共同的算法。

还有问题:

有没有办法强制应用使用 TLS 1.2 而不是 SSL 3.0?

您可以使用以下行强制您的应用程序使用 TLS 1.2。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

但我认为 .NET 4.6 默认使用 TLS 1.2。

有关更多详细信息,请检查您在 Wireshark 中的请求,这将提供应用程序正在使用的 TLS 的确切版本。

【讨论】: