Betulkan isu pengesahan sijil SSL HttpClient dalam apl Windows 8
Dalam apl Windows 8, mungkin terdapat cabaran apabila berurusan dengan sijil pelayan yang tidak dipercayai apabila menggunakan HttpClient untuk mewujudkan sambungan yang disulitkan SSL. Tidak seperti WebRequest, HttpClient tidak mempunyai fungsi ServerCertificateValidationCallback, mengehadkan keupayaan untuk memintas pengesahan sijil.
Memenuhi cabaran
Untuk menyelesaikan masalah ini, penyelesaian boleh dilaksanakan menggunakan perpustakaan .NET Standard seperti berikut:
<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>
Dengan menetapkan ServerCertificateCustomValidationCallback untuk mengembalikan benar, pengesahan akan dipintas dengan berkesan. Ini membolehkan HttpClient mempercayai semua sijil yang dikemukakan, walaupun ini mempunyai risiko keselamatan yang wujud untuk menerima sijil yang tidak dipercayai.
Atas ialah kandungan terperinci Bagaimanakah saya boleh memintas Pengesahan Sijil SSL dengan HttpClient dalam Apl Windows 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!