Résoudre le problème de vérification du certificat SSL de HttpClient dans les applications Windows 8
Dans les applications Windows 8, il peut y avoir des difficultés à gérer des certificats de serveur non fiables lors de l'utilisation de HttpClient pour établir une connexion cryptée SSL. Contrairement à WebRequest, HttpClient ne dispose pas de la fonctionnalité ServerCertificateValidationCallback, ce qui limite la possibilité de contourner la validation des certificats.
Relever les défis
Pour résoudre ce problème, une solution peut être implémentée en utilisant la bibliothèque .NET Standard comme suit :
<code class="language-csharp">// 创建自定义 HTTP 客户端处理程序 HttpClientHandler handler = new HttpClientHandler(); // 将客户端证书选项设置为手动 handler.ClientCertificateOptions = ClientCertificateOption.Manual; // 定义自定义服务器证书验证回调 handler.ServerCertificateCustomValidationCallback = (httpRequestMessage, certificate, chain, policyErrors) => true; // 使用自定义处理程序创建 HttpClient HttpClient client = new HttpClient(handler);</code>
En définissant ServerCertificateCustomValidationCallback pour qu'il renvoie true, la validation sera effectivement contournée. Cela permet à HttpClient de faire confiance à tous les certificats présentés, bien que cela présente le risque de sécurité inhérent à l'acceptation de certificats non fiables.
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!