Behebung des Problems bei der Überprüfung des SSL-Zertifikats von HttpClient in Windows 8-Apps
In Windows 8-Apps kann es beim Umgang mit nicht vertrauenswürdigen Serverzertifikaten zu Problemen kommen, wenn HttpClient zum Herstellen einer SSL-verschlüsselten Verbindung verwendet wird. Im Gegensatz zu WebRequest fehlt HttpClient die ServerCertificateValidationCallback-Funktionalität, wodurch die Möglichkeit, die Zertifikatsvalidierung zu umgehen, eingeschränkt ist.
Herausforderungen meistern
Um dieses Problem zu lösen, kann eine Lösung mithilfe der .NET Standard-Bibliothek wie folgt implementiert werden:
<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>
Durch die Einstellung von ServerCertificateCustomValidationCallback auf die Rückgabe von „true“ wird die Validierung effektiv umgangen. Dadurch kann HttpClient allen vorgelegten Zertifikaten vertrauen, obwohl dies das inhärente Sicherheitsrisiko birgt, nicht vertrauenswürdige Zertifikate zu akzeptieren.
Das obige ist der detaillierte Inhalt vonWie kann ich die SSL-Zertifikatsvalidierung mit HttpClient in Windows 8-Apps umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!