2012-12-18 73 views
6

Po zainstalowaniu certyfikatu w Local Computer przechowywania Trusted Root Certification Authorities .NET WebRequest nadal rzuca:Żądanie zostało przerwane: nie można utworzyć SSL/TLS bezpiecznego kanału - zachowanie SecurityProtocol

The request was aborted: Could not create SSL/TLS secure channel 

ServicePointManager.SecurityProtocol zawiera teraz SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls.

Po przeczytaniu Simon Dugré za odpowiedź https://stackoverflow.com/a/2904963/121968, mam ustawione:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

To działa OK. Po ustawieniu powrotem:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; 

nadal działa OK. Mam dwa pytania:

  1. Dlaczego to nadal działa? Czy jest coś w rodzaju buforowania?

  2. A dlaczego wcześniej pracujący tylko z flagą Ssl3 i nie zarówno Ssl3 i Tls?

Odpowiedz

1

Istnieje wznowienie sesji SSL/TLS, prawdopodobnie tak jest w twoim przypadku. Może nie masz udostępnionych szyfrów TLS1. Najlepszym sposobem sprawdzenia jest uruchomienie Wiresharka i zobaczenie pakietów SSL dla twojego połączenia, są one bardzo dobrze wyjaśnione w Wireshark.

0

Moje rozwiązanie było dodać linie:

ServicePointManager.Expect100Continue = True 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls 
Powiązane problemy