ASP.NET La connexion sous-jacente était fermée: impossible d'établir un rapport de confiance
-
05-07-2019 - |
Question
Lorsque j'essaie d'utiliser HttpWebRequest pour récupérer une page de mon serveur de développement, j'obtiens une exception Web:
La connexion sous-jacente a été fermée: impossible d'établir une relation de confiance pour le canal sécurisé SSL / TLS. " Le certificat distant est invalide selon la procédure de validation ...
L'URL que je tente de lire est un http://myserver.com/mypage .asp - pas de SSL. Le serveur de production a un certificat valide, donc cela ne devrait pas être un problème, contrairement à notre serveur de développement.
Aide!
La solution 2
Vous avez trouvé une bonne réponse ici:
http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatically/
N'est pas bon pour la production, mais résout mon problème de serveur de dev.
Autres conseils
Malheureusement, le lien fourni par @DavidLively n'est plus disponible. Vous pouvez le trouver en utilisant les archives du Web: http://web.archive.org/web/20120830211353/http://blog.jameshiggs.com/2008/05/01 / c-comment-accepter-un-certificat-ssl-invalide par programmation /
De plus, à partir de ce code, je l'ai fait pour autoriser tout certificat, qu'il soit valide ou non (NE l'utilisez PAS dans le code de production!):
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AcceptAnyCertificate);
private static bool AcceptAnyCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
return true;
}
Si vous rencontrez ce problème même après avoir ajouté le certificat aux autorités de certification racine de confiance de votre serveur de test, assurez-vous qu'il a été ajouté pour tous les utilisateurs, et pas seulement pour l'utilisateur actuel.
Plus d'informations: http: //brainof-dave.blogspot. com / 2008/08 / remote-certificate-is-invalid-matching.html