Problème :
La connexion d'une application Windows 8 à une API Web de test échoue en raison de certificats SSL non fiables. Le but est de trouver une solution de contournement similaire à la méthode ServerCertificateValidationCallback
utilisée avec WebRequest
.
Solution :
Voici comment contourner la validation du certificat SSL avec HttpClient
dans .NET Standard, offrant une fonctionnalité similaire à la méthode WebRequest
:
Instancier HttpClientHandler
:
<code class="language-csharp">var handler = new HttpClientHandler();</code>
Ensemble ClientCertificateOptions
:
<code class="language-csharp">handler.ClientCertificateOptions = ClientCertificateOption.Manual;</code>
Implémenter la validation de certificat personnalisée : Une expression lambda qui renvoie toujours true
désactive la validation du certificat :
<code class="language-csharp">handler.ServerCertificateCustomValidationCallback = (_, __, ___, ____) => true;</code>
Créer HttpClient
: Utilisez le gestionnaire modifié pour créer l'instance HttpClient
:
<code class="language-csharp">var client = new HttpClient(handler);</code>
Cette méthode permet la connexion à l'API de test en ignorant la validation du certificat. Cependant, il est essentiel de comprendre que cela réduit considérablement la sécurité et rend votre application vulnérable aux attaques de l'homme du milieu. Utilisez-le uniquement dans des environnements de test contrôlés et jamais en production.
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!