ASP.NET La connessione sottostante è stata chiusa: impossibile stabilire un rapporto di trust
-
05-07-2019 - |
Domanda
Quando tento di utilizzare HttpWebRequest per recuperare una pagina dal mio server di sviluppo, ottengo un'eccezione Web:
La connessione sottostante è stata chiusa: impossibile stabilire una relazione di trust per il canale sicuro SSL / TLS. " Il certificato remoto non è valido secondo la procedura di convalida ...
L'URL da cui sto tentando di leggere è un semplice http://myserver.com/mypage .asp - nessun SSL. Il server di produzione ha un certificato valido, quindi questo non dovrebbe essere un problema, ma il nostro server di sviluppo no.
Aiuto!
Soluzione 2
Trovato una buona risposta qui:
http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatically/
Non buono per la produzione, ma risolve il mio problema con il server di sviluppo.
Altri suggerimenti
Sfortunatamente, il link che @DavidLively ha fornito non è più disponibile. Puoi trovarlo usando l'archivio del Web: http://web.archive.org/web/20120830211353/http://blog.jameshiggs.com/2008/05/01 / c-how-to-accept-an-invalid-ssl-certificate-programmazione /
Inoltre, da quel codice ho fatto questo per consentire qualsiasi certificato, valido o no (NON usare questo nel codice di produzione!):
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AcceptAnyCertificate);
private static bool AcceptAnyCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
return true;
}
Se si riscontra questo problema anche dopo aver aggiunto il certificato alle autorità di certificazione radice attendibili del server di prova, assicurarsi che sia aggiunto a tutti gli utenti, non solo all'utente corrente.
Ulteriori informazioni: http: //brainof-dave.blogspot. com / 2008/08 / remote-certificato-is-invalid-according.html