TLS 1.2的支持是否仅取决于.NET框架的版本?

3

我希望在我的WPF应用程序中全局强制使用TLS 1.2,实现方式如下:

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

从.NET 4.5开始,TLS 1.2协议被支持用于通过https进行安全通信。我的问题是,如果我将.NET 4.5与我的应用程序一起发布,这是否总是有效?它是否取决于操作系统版本?


这取决于操作系统以及应用于操作系统的策略。所以我认为可以从另一个角度来考虑:你的应用程序需要TLS1.2,因此要确保在不可用时有优雅的替代方案。但是它是否仅需要1.2版本?还是需要最新版本?目前最新版本正好是1.2。 - cjb110
1个回答

3

那么如果我像这样使用它:ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; 这应该可以在从Vista到Windows 10的系统上工作,不是吗? - Balázs Szántó
我不知道如果将它们结合会发生什么,虽然它们的二进制值表明你可以这样做。它会选择支持的最高TLS吗?理论上,它将向客户端发送受支持密码列表,客户端将选择最佳密码,但我不确定它是否一致或保证。这可能是为了支持Vista而能够做的最好的事情。你也可能会错过TLS1.1,因为我认为在支持1.1的所有平台上都支持1.2。 - Lukos
并且需要注意的是,这取决于操作系统和应用于操作系统的策略,因此在企业中旧的协议和加密算法都可以通过策略启用或禁用。 - cjb110

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接