Impossibile connettersi a un server HTTPS utilizzando a WebRequest
causa di questo messaggio di errore:
The request was aborted: Could not create SSL/TLS secure channel.
Sappiamo che il server non ha un certificato HTTPS valido con il percorso utilizzato, ma per aggirare questo problema, utilizziamo il seguente codice che abbiamo preso da un altro post StackOverflow:
private void Somewhere() {
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}
private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
return true;
}
Il problema è che il server non convalida mai il certificato e non riesce con l'errore sopra riportato. Qualcuno ha idea di cosa dovrei fare?
Dovrei dire che un collega e io abbiamo eseguito dei test alcune settimane fa e funzionava bene con qualcosa di simile a quello che ho scritto sopra. L'unica "grande differenza" che abbiamo riscontrato è che sto usando Windows 7 e lui stava usando Windows XP. Questo cambia qualcosa?
The request was aborted: Could not create SSL/TLS secure channel
è molto generico. Sostanzialmente dice "l'inizializzazione della connessione SSL / TLS / HTTPS non è riuscita per uno dei tanti motivi possibili". Quindi, se lo ricevi regolarmente in una situazione specifica, l'opzione migliore è quella di porre una domanda specifica fornendo dettagli specifici su quella situazione. E controllando il Visualizzatore eventi per ulteriori informazioni. E / o abilitare alcuni debug sul lato client .NET per ottenere maggiori dettagli (il cert del server non è attendibile? C'è una mancata corrispondenza della cifra? Mancata corrispondenza della versione del protocollo SSL / TLS? Ecc.).