HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan delegasi yang di-cache yang selalu mengembalikan true
.
public:
static property Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ DangerousAcceptAnyServerCertificateValidator { Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ get(); };
public static Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2?,System.Security.Cryptography.X509Certificates.X509Chain?,System.Net.Security.SslPolicyErrors,bool> DangerousAcceptAnyServerCertificateValidator { get; }
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2?,System.Security.Cryptography.X509Certificates.X509Chain?,System.Net.Security.SslPolicyErrors,bool> DangerousAcceptAnyServerCertificateValidator { get; }
public static Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,bool> DangerousAcceptAnyServerCertificateValidator { get; }
static member DangerousAcceptAnyServerCertificateValidator : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool>
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member DangerousAcceptAnyServerCertificateValidator : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool>
Public Shared ReadOnly Property DangerousAcceptAnyServerCertificateValidator As Func(Of HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, Boolean)
Nilai Properti
Delegasi yang di-cache yang selalu mengembalikan true
.
- Atribut
Keterangan
Terutama dalam skenario pengujian, pola umum yang digunakan HttpClient untuk menyambungkan ke server dengan sertifikat yang tidak boleh divalidasi, seperti sertifikat yang ditandatangani sendiri. Anda biasanya melakukan ini dengan HttpClientHandler mengatur ServerCertificateCustomValidationCallback properti ke delegasi yang selalu mengembalikan True
; ini menunjukkan bahwa sertifikat telah lulus validasi. Namun, tidak semua implementasi mendukung panggilan balik ini, dan beberapa melemparkan PlatformNotSupportedException.
Properti DangerousAcceptAnyServerCertificateValidator membahas batasan ini. Delegasi yang DangerousAcceptAnyServerCertificateValidator dikembalikan oleh properti dapat ditetapkan ke ServerCertificateCustomValidationCallback properti , seperti contoh berikut:
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
Ini memberikan HttpClientHandler implementasi identitas referensi objek yang diketahui yang mengekspresikan niat pengembang. Jika objek yang disimpan dalam ServerCertificateCustomValidationCallback properti adalah referensi sama dengan DangerousAcceptAnyServerCertificateValidator, runtime dapat sepenuhnya menonaktifkan validasi pada platform yang jika tidak akan melemparkan PlatformNotSupportedException.
Sebagai manfaat sampingan, pengembang dapat menggunakan properti ini untuk mempermudah alat untuk menandai bahaya menonaktifkan validasi sertifikat, yang memudahkan pengembang untuk menghindari pengiriman aplikasi yang tidak aman.