2014-10-17 98 views
5

现在,SSL 3已经被认为是容易受到攻击POODLESystem.Web.Services.Protocols.SoapHttpClientProtocol使用什么版本的SSL/TLS?

不System.Web.Services.Protocols.SoapHttpClientProtocol连接到任何HTTPS乌里时使用何种版本的SSL/TLS的?

我使用SoapHttpClientProtocol连接到多个第三方SOAP API。其中之一已经表示,他们将阻止任何使用SSL 3的请求。但SoapHttpClientProtocol是.Net核心框架(使用4.5)的一部分,所以它不知道它使用的是什么版本的SSL,或者如何覆盖版本。

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

+1

虽然这个问题不是提到的另一个问题的重复,但同样的答案也适用。 – 2014-10-17 19:48:56

+1

不一定。如果SOAP在底层使用WebRequest,则同样的答案将适用。如果没有,那么可能会有不同的答案。 – 2014-10-18 00:17:50

回答

1

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

3

反编译SoapHttpClientProtocol类表明它确实使用了System.Web.WebRequest。

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

因此,那么对What version of SSL/TLS does System.Net.WebRequest use?的回答也适用于此处。