Maison >développement back-end >C++ >Comment gérer les certificats SSL non fiables avec HttpClient dans .NET Standard ?

Comment gérer les certificats SSL non fiables avec HttpClient dans .NET Standard ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-14 15:41:42760parcourir

How to Handle Untrusted SSL Certificates with HttpClient in .NET Standard?

Gestion des certificats SSL non fiables à l'aide de HttpClient dans .NET Standard

La transmission sécurisée des données est indissociable de la communication SSL. Cependant, la rencontre d'un certificat SSL non fiable peut empêcher la réussite de l'échange d'informations. Cet article aborde les difficultés liées à l'autorisation de certificats SSL non fiables lors de l'utilisation de HttpClient dans la bibliothèque .NET Standard.

HttpClient est un client HTTP moderne et efficace qui ne dispose pas de mécanismes intégrés pour contourner les vérifications de certificats. Cela peut être frustrant lors de la communication avec des serveurs de test ou des certificats auto-signés (qui peuvent ne pas être reconnus par le magasin de confiance du système).

Pour résoudre ce problème, vous pouvez utiliser un rappel de validation personnalisé. Ce rappel permet aux développeurs de remplacer manuellement le comportement de vérification SSL par défaut et d'accepter les certificats non fiables. Voici comment procéder :

<code class="language-csharp">// 创建自定义 HttpClientHandler
var handler = new HttpClientHandler();

// 指定手动客户端证书处理
handler.ClientCertificateOptions = ClientCertificateOption.Manual;

// 定义 ServerCertificateCustomValidationCallback
handler.ServerCertificateCustomValidationCallback = 
    (httpRequestMessage, cert, cetChain, policyErrors) =>
{
    // 无条件接受证书
    return true;
};

// 使用自定义处理程序初始化新的 HttpClient
var client = new HttpClient(handler);</code>

En ajoutant ce rappel à votre HttpClient, vous pouvez gérer les certificats non fiables sans affecter les précautions de sécurité. N'oubliez pas de peser les risques potentiels associés à l'acceptation d'un certificat non fiable avant de mettre en œuvre cette solution.

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