System.Web.Services.Protocols.SoapHttpClientProtocol 使用哪个版本的SSL/TLS?

5

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

当连接到任何https Uri时,System.Web.Services.Protocols.SoapHttpClientProtocol使用哪个版本的SSL/TLS?

我使用SoapHttpClientProtocol连接到多个第三方SOAP API。其中一个API现在表示将阻止使用SSL 3的任何请求。但是,SoapHttpClientProtocol是.NET核心框架(使用4.5)的一部分,因此不清楚它使用的SSL版本或如何覆盖该版本。

请注意,此问题与System.Net.WebRequest支持哪些SSL/TLS版本?不重复。我使用多个API,其中一些是REST(另一个问题针对这些API),而另一些是SOAP(本问题针对这些API)。


1
尽管这个问题与提到的另一个问题不是重复的,但相同的答案仍然适用。 - Gareth Williams
1
不一定。如果SOAP在底层使用了WebRequest,那么答案是相同的。如果没有使用,则可能会有不同的答案。 - JK.
2个回答

3
解编SoapHttpClientProtocol类后发现它确实在幕后使用System.Web.WebRequest。调用请求的各种方法(Invoke、InvokeAsync、BeginInvoke)最终都会调用GetWebRequest,该方法调用基类WebClientProtocol.GetWebRequest,这是构造WebRequest的地方。
因此,System.Net.WebRequest使用哪个版本的SSL/TLS协议?的答案也适用于此处。

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接