HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera buforowany delegat, który zawsze zwraca true
wartość .
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)
Wartość właściwości
Buforowany delegat, który zawsze zwraca wartość true
.
- Atrybuty
Uwagi
Szczególnie w scenariuszach testowych typowy wzorzec służy HttpClient do nawiązywania połączenia z serwerem z certyfikatem, który nie powinien być weryfikowany, na przykład certyfikat z podpisem własnym. Zazwyczaj można to HttpClientHandler zrobić, ustawiając ServerCertificateCustomValidationCallback właściwość na delegata, który zawsze zwraca True
wartość ; oznacza to, że certyfikat przeszedł walidację. Jednak nie wszystkie implementacje obsługują to wywołanie zwrotne, a niektóre zgłaszają wyjątek PlatformNotSupportedException.
Właściwość DangerousAcceptAnyServerCertificateValidator odnosi się do tego ograniczenia. Delegat zwrócony przez DangerousAcceptAnyServerCertificateValidator właściwość można przypisać do ServerCertificateCustomValidationCallback właściwości, jak w poniższym przykładzie:
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
HttpClientHandler Zapewnia to implementację znanej tożsamości odwołania do obiektu, która wyraża intencję dewelopera. Jeśli obiekt przechowywany we ServerCertificateCustomValidationCallback właściwości jest odwołaniem równym DangerousAcceptAnyServerCertificateValidator, środowisko uruchomieniowe może całkowicie wyłączyć walidację na platformie, która w przeciwnym razie zgłosi błąd PlatformNotSupportedException.
Jako korzyść po stronie deweloperzy mogą używać tej właściwości, aby ułatwić narzędziom flagowanie niebezpieczeństwa wyłączenia weryfikacji certyfikatu, co ułatwia deweloperom unikanie wysyłania niezabezpieczonych aplikacji.