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

时间:2014-10-17 01:45:07

标签: c# .net ssl soaphttpclientprotocol poodle-attack

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

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

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

请注意,此问题与Which versions of SSL/TLS does System.Net.WebRequest support?不重复。我使用了几个API,一些是REST(另一个问题是针对那些),有些是SOAP(这个问题适用于那些)

2 个答案:

答案 0 :(得分:3)

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

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

接下来What version of SSL/TLS does System.Net.WebRequest use?的回答也适用于此。

答案 1 :(得分:1)

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