Maison >développement back-end >C++ >Comment puis-je accéder aux API HTTPS avec des certificats non fiables à l'aide de HttpClient ?

Comment puis-je accéder aux API HTTPS avec des certificats non fiables à l'aide de HttpClient ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-14 15:32:47376parcourir

How Can I Access HTTPS APIs with Untrusted Certificates Using HttpClient?

Travailler avec des certificats non fiables dans .NET HttpClient

L'utilisation de HttpClient et HttpClientHandler pour accéder aux API HTTPS peut présenter des défis lorsqu'il s'agit de certificats auto-signés ou non fiables. Contrairement à WebRequest, HttpClient ne prend pas directement en charge le contournement de la validation des certificats de manière simple.

Cette solution explique comment gérer les certificats non fiables dans un environnement .NET Standard :

  1. Créez un HttpClientHandler :
<code class="language-csharp">var handler = new HttpClientHandler();</code>
  1. Définir les options de certificat client :
<code class="language-csharp">handler.ClientCertificateOptions = ClientCertificateOption.Manual;</code>
  1. Mettre en œuvre la validation des certificats personnalisés :
<code class="language-csharp">handler.ServerCertificateCustomValidationCallback = 
    (httpRequestMessage, cert, certChain, policyErrors) =>
{
    return true; // Accepts all certificates - use with caution!
};</code>
  1. Créer HttpClient avec un gestionnaire personnalisé :
<code class="language-csharp">var client = new HttpClient(handler);</code>

Considérations de sécurité importantes :

Cette méthode désactive la validation du certificat. Bien qu'utile pour le développement ou les tests, ne l'utilisez jamais dans un environnement de production. Le contournement de la validation du certificat expose votre application à des risques de sécurité importants, notamment des attaques de l'homme du milieu. Donnez toujours la priorité à l'utilisation de certificats de confiance pour les applications de production afin de maintenir la sécurité et l'intégrité des données.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn