2012-12-18 28 views
6

Dopo aver installato il certificato in Local Computer stoccaggio di Trusted Root Certification Authorities .NET WebRequest tiri ancora:La richiesta è stata interrotta: Impossibile creare SSL/TLS canale sicuro - comportamento SecurityProtocol

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

ServicePointManager.SecurityProtocol ora contiene SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls.

Dopo aver letto la risposta di Simon Dugré https://stackoverflow.com/a/2904963/121968, ho impostato:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

Funziona bene. Dopo aver impostato indietro:

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

ancora funziona bene. Ho due domande:

  1. Perché funziona ancora? C'è una specie di memorizzazione nella cache?

  2. E il motivo per cui è stato precedentemente lavorando solo con la bandiera Ssl3 e non sia con Ssl3 e Tls?

risposta

1

C'è una ripresa sessione SSL/TLS, probabilmente è il tuo caso. Forse non hai condiviso le cipheruites TLS1. Il modo migliore per controllare è eseguire Wireshark, e vedere i pacchetti SSL per la tua connessione, sono spiegati molto bene in Wireshark.

0

La mia soluzione era quella di aggiungere le linee:

ServicePointManager.Expect100Continue = True 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls 
Problemi correlati