.NET 4.5中的默认安全协议
与支持以下内容的服务器通信的默认安全协议是什么?TLS 1.2
?将要.NET
默认情况下,选择服务器端支持的最高安全协议,或者必须显式添加以下代码:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
除了代码更改之外,还有其他方法来更改此默认设置吗?
最后,是否.NET 4.0
只能支持到TLS 1.0
?也就是说,我必须将客户项目升级到4.5以支持TLS 1.2
.
我的动机是消除对SSLv3
在客户端,即使服务器支持它(我已经有一个Powershell脚本在机器注册表中禁用它),并支持服务器支持的最高TLS协议。
最新情况:看着ServicePointManager
班.NET 4.0
我没有看到TLS 1.0
和1.1
..两种.NET 4.0/4.5
,默认为SecurityProtocolType.Tls|SecurityProtocolType.Ssl3
..希望此默认设置不会因禁用而中断SSLv3
在登记处。
然而,我已经决定我必须升级所有的应用程序.NET 4.5
并显式地添加SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
无论如何,所有应用程序的引导代码。
这将使对各种api和服务的出站请求不降级为SSLv3
并且应该选择最高级别的TLS
.
这种做法听起来合理还是过分?我有许多应用程序需要更新,而且我希望将来能对它们进行验证,因为我甚至听说了。TLS 1.0
在不久的将来可能会被一些供应商所反对。
作为向API发出出站请求的客户端,禁用注册表中的ssl 3在.NET框架中是否有影响?我看到默认情况下,TLS 1.1和1.2没有启用,我们必须通过注册表启用它吗?Rehttp://support.microsoft.com/kb/245030.
经过一番调查,我相信注册表设置不会有任何影响,因为它们适用于IIS(服务器子项)和浏览器(客户端子项)。
很抱歉,这篇文章变成了多个问题,然后是“也许”的答案。