WinHttpHandler.ServerCertificateValidationCallback Properti

Definisi

Mendapatkan atau mengatur metode panggilan balik untuk memvalidasi sertifikat server. Panggilan balik ini adalah bagian dari jabat tangan SSL.

public:
 property Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ ServerCertificateValidationCallback { Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ get(); void set(Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ value); };
public Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,bool>? ServerCertificateValidationCallback { get; set; }
public Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,bool> ServerCertificateValidationCallback { get; set; }
member this.ServerCertificateValidationCallback : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool> with get, set
Public Property ServerCertificateValidationCallback As Func(Of HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, Boolean)

Nilai Properti

Panggilan balik harus kembali true jika sertifikat server dianggap valid dan permintaan harus dikirim. Jika tidak, kembalikan false.

Contoh

Contoh kode berikut mengimplementasikan panggilan balik. Jika ada kesalahan validasi, metode ini mengembalikan false cegah komunikasi dengan server yang tidak diaauthenticated. Jika tidak, ini memungkinkan validasi tambahan dan mengembalikan true jika sertifikat valid.

var handler = new WinHttpHandler();
handler.ServerCertificateValidationCallback = (httpRequestMessage, certificate, chain, sslPolicyErrors) =>
{
    if (sslPolicyErrors == SslPolicyErrors.None)
    {
        // TODO: Implement additional custom certificate validation logic here.
        return true;
    }
    // Do not allow this client to communicate with unauthenticated servers.
    return false;
};

Keterangan

Nilai defaultnya adalah null. Jika properti ini adalah null, sertifikat server divalidasi menggunakan otoritas sertifikat standar terkenal.

Argumen delegasi sslPolicyErrors berisi kesalahan sertifikat yang dikembalikan oleh SSPI saat mengautentikasi server. Nilai Boolean yang dikembalikan oleh delegasi ini menentukan apakah autentikasi diizinkan untuk berhasil.

Berlaku untuk