ASP.NET La conexión subyacente se cerró: No se pudo establecer relación de confianza
-
05-07-2019 - |
Pregunta
Al intentar usar HttpWebRequest para recuperar una página de mi servidor de desarrollo, obtengo una excepción web:
La conexión subyacente se cerró: no se pudo establecer una relación de confianza para el canal seguro SSL / TLS. " El certificado remoto no es válido según el procedimiento de validación ...
La url de la que estoy intentando leer es una http://myserver.com/mypage .asp - no SSL. El servidor de producción tiene un certificado válido, así que esto no debería ser un problema, pero nuestro servidor dev no lo tiene.
¡Ayuda!
Solución 2
Encontré una buena respuesta aquí:
http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatically/
No es bueno para la producción, pero resuelve mi problema con el servidor dev.
Otros consejos
Lamentablemente, el enlace que proporcionó @DavidLively ya no está disponible. Puede encontrarlo en el archivo web: http://web.archive.org/web/20120830211353/http://blog.jameshiggs.com/2008/05/01 / c-how-to-accept-an-invalid-ssl-certificate-programmatically /
También, a partir de ese código, hice esto para permitir cualquier certificado, válido o no (¡NO lo use en el código de producción!):
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AcceptAnyCertificate);
private static bool AcceptAnyCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
return true;
}
Si tiene este problema incluso después de agregar el certificado a las autoridades de certificación de raíz de confianza de su servidor de prueba, asegúrese de que se agregue a todos los usuarios, no solo al usuario actual.
Más información: http: //brainof-dave.blogspot. com / 2008/08 / remote-certificate-is-invalid-according.html