我希望在我的WPF应用程序中全局强制使用TLS 1.2,实现方式如下:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
从.NET 4.5开始,TLS 1.2协议被支持用于通过https进行安全通信。我的问题是,如果我将.NET 4.5与我的应用程序一起发布,这是否总是有效?它是否取决于操作系统版本?
我希望在我的WPF应用程序中全局强制使用TLS 1.2,实现方式如下:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
从.NET 4.5开始,TLS 1.2协议被支持用于通过https进行安全通信。我的问题是,如果我将.NET 4.5与我的应用程序一起发布,这是否总是有效?它是否取决于操作系统版本?
TLS在Windows中由一个名为SChannel的组件终止。支持的密码是取决于SChannel版本,这取决于操作系统,而不取决于.NET版本。例如,Windows XP仅支持TLS 1.0
这意味着如果您想支持TLS 1.2,则您的主机PC至少需要是Windows 7
详细信息可以在此处找到:http://blogs.msdn.com/b/kaushal/archive/2011/10/02/support-for-ssl-tls-protocols-on-windows.aspx
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
这应该可以在从Vista到Windows 10的系统上工作,不是吗? - Balázs Szántó