Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah ServicePointManager.ServerCertificateValidationCallback Mengendalikan Pengesahan Sijil SSL?
Mengatasi Pengesahan Sijil SSL dalam .NET
Artikel ini menerangkan ServicePointManager.ServerCertificateValidationCallback
perwakilan dan cara ia mengendalikan pengesahan sijil SSL dalam aplikasi .NET.
Peranan ServicePointManager.ServerCertificateValidationCallback
Biasanya, apabila membuat permintaan HTTPS, pelanggan mengesahkan sijil SSL pelayan. ServicePointManager.ServerCertificateValidationCallback
menyediakan cara untuk menyesuaikan pengesahan ini. Ia adalah perwakilan yang menerima empat hujah:
obj
: Objek yang memulakan permintaan.certificate
: Sijil X509 pelayan.chain
: Rantaian amanah sijil.errors
: Sebarang ralat dasar SSL dikesan.Wakilkan Masa Invokasi
Perwakilan dipanggil semasa proses pengesahan sijil SSL .NET Framework, sebelum sebarang data ditukar.
Permohonan Praktikal: Mengabaikan Pengesahan Sijil
Kegunaan biasa (walaupun berpotensi berisiko) adalah mengabaikan pengesahan sijil sepenuhnya. Ini dicapai dengan sentiasa mengembalikan true
daripada panggilan balik. Ini bermakna pelanggan menerima sebarang sijil, tanpa mengira kesahihannya.
Contoh Pelaksanaan (menggunakan Ungkapan Lambda)
Versi .NET moden (4.5 dan lebih baru) memudahkan panggilan balik menggunakan ungkapan lambda:
<code class="language-csharp">ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;</code>
Peletakan Kod
Yang penting, kod ini mesti dilaksanakan sebelum sebarang percubaan untuk mewujudkan sambungan HTTPS (cth., sebelum memanggil GetRequestStream()
).
Pertimbangan Keselamatan
Melumpuhkan pengesahan sijil SSL menjejaskan keselamatan dengan ketara. Hanya gunakan teknik ini apabila benar-benar perlu dan selepas mempertimbangkan dengan teliti implikasi keselamatan. Pendekatan ini harus dielakkan dalam persekitaran pengeluaran melainkan anda mempunyai kawalan dan pemahaman sepenuhnya tentang sijil dan amalan keselamatan pelayan.
Atas ialah kandungan terperinci Bagaimanakah ServicePointManager.ServerCertificateValidationCallback Mengendalikan Pengesahan Sijil SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!