System.Web.Services.Protocols.SoapHttpClientProtocol使用什么版本的SSL / TLS?

现在已经发现SSL 3容易受到POODLE攻击:

System.Web.Services.Protocols.SoapHttpClientProtocol在连接到任何https Uri时使用的是什么版本的SSL / TLS?

我使用SoapHttpClientProtocol连接到几个第三方SOAP API。 其中一个已经表示他们将阻止任何使用SSL 3的请求。但SoapHttpClientProtocol是.Net核心框架的一部分(使用4.5),因此它使用的SSL版本或如何覆盖版本并不明显。

请注意,此问题与System.Net.WebRequest支持哪些版本的SSL / TLS不重复? 。 我使用了几个API,一些是REST(另一个问题是那些),一些是SOAP(这个问题适用于那些)

反编译SoapHttpClientProtocol类表明它确实在引擎盖下使用了System.Web.WebRequest。

调用请求的各种方法(Invoke,InvokeAsync,BeginInvoke)最终都调用GetWebRequest,它调用基类WebClientProtocol.GetWebRequest,这是构造WebRequest的地方。

接下来回答System.Net.WebRequest使用什么版本的SSL / TLS? 也适用于此。

SSL版本应由静态属性System.Net.ServicePointManager.SecurityProtocol驱动。 在我的框中,它设置为“SSLV3 | TLS”。 您可以设置为TLS12。