2014-10-17 28 views
5

Teraz SSL 3 okazał się być podatny na atak POODLE:Jakiej wersji protokołu SSL/TLS używa System.Web.Services.Protocols.SoapHttpClientProtocol?

Jaka wersja SSL/TLS ma System.Web.Services.Protocols.SoapHttpClientProtocol wykorzystać przy podłączeniu do dowolnego https Uri?

Używam SoapHttpClientProtocol do łączenia się z kilkoma zewnętrznymi interfejsami API SOAP. Jedna z nich oznajmiła, że ​​zablokuje wszelkie żądania korzystające z SSL 3. Ale SoapHttpClientProtocol jest częścią rdzeniowego środowiska .Net (używając 4.5), więc nie jest jasne, z jaką wersją SSL korzysta lub jak zastąpić wersję.

Uwaga: to pytanie nie jest duplikatem Which versions of SSL/TLS does System.Net.WebRequest support?. Używam kilku API, niektóre są REST (inne pytanie jest dla nich), a niektóre są SOAP (to pytanie jest dla nich)

+1

Chociaż to pytanie nie jest duplikatem tego drugiego, ta sama odpowiedź będzie obowiązywać. –

+1

Niekoniecznie. Ta sama odpowiedź będzie miała zastosowanie, jeśli SOAP używa WebRequest pod maską. Jeśli tak nie jest, to może być łatwo inna odpowiedź. –

Odpowiedz

1

Wersja SSL powinna być sterowana przez właściwość statyczną System.Net.ServicePointManager.SecurityProtocol. W moim pudełku jest ustawione na "SSLV3 | TLS". Możesz ustawić na TLS12.

3

Dekompilacja klasy SoapHttpClientProtocol ujawnia, że ​​rzeczywiście używa System.Web.WebRequest pod maską.

Różne metody wywoływania żądań (Invoke, InvokeAsync, BeginInvoke) wszystkie kończą się wywoływaniem GetWebRequest, które wywołuje klasę podstawową WebClientProtocol.GetWebRequest, w której skonstruowano WebRequest.

Wynika z tego, że tutaj obowiązuje również odpowiedź na What version of SSL/TLS does System.Net.WebRequest use?.

Powiązane problemy