Gestion des certificats SSL non fiables en C#
La connexion à un service Web peut parfois entraîner un échec de confiance dans le canal sécurisé SSL/TLS :
<code>Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.</code>
Cela signifie généralement que le client ne reconnaît pas ou ne fait pas confiance au certificat du serveur. Dans certaines situations, vous devrez peut-être continuer malgré cette erreur.
C# vous permet de remplacer la validation du certificat en implémentant un rappel de validation personnalisé. Ce rappel reçoit des détails sur le certificat et vous permet de l'accepter ou de le rejeter. En renvoyant true
, vous contournez le contrôle de validation :
<code class="language-csharp">ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;</code>
Remarque de sécurité importante : La désactivation de la validation du certificat affaiblit considérablement la sécurité de votre application. N'utilisez cette méthode que si vous faites entièrement confiance au serveur distant et que vous avez épuisé toutes les autres options. Une utilisation inappropriée peut exposer votre application à des attaques de l'homme du milieu et à d'autres vulnérabilités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!