现在已发现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(这个问题适用于那些)
答案 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。