HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá delegát v mezipaměti, který vždy vrátí 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(); };
[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; }
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")>]
static member DangerousAcceptAnyServerCertificateValidator : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool>
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)
Hodnota vlastnosti
Delegát uložený v mezipaměti, který vždy vrací true.
- Atributy
Poznámky
Zejména v testovacích scénářích se běžný vzor používá HttpClient pro připojení k serveru pomocí certifikátu, který by neměl být ověřen, například certifikát podepsaný svým držitelem. Obvykle to HttpClientHandler uděláte tak, že vlastnost nastavíte ServerCertificateCustomValidationCallback na delegáta, který se vždy vrátí True. To znamená, že certifikát předal ověření. Nicméně, ne všechny implementace podporují toto zpětné volání a některé vyvolat PlatformNotSupportedException.
Tato DangerousAcceptAnyServerCertificateValidator vlastnost toto omezení řeší. Delegát vrácený DangerousAcceptAnyServerCertificateValidator vlastností může být přiřazen k ServerCertificateCustomValidationCallback vlastnosti, jak je znázorněno v následujícím příkladu:
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
To dává HttpClientHandler implementaci známou referenční identitu objektu, která vyjadřuje záměr vývojáře. Pokud je objekt uložený ve ServerCertificateCustomValidationCallback vlastnosti odkaz roven DangerousAcceptAnyServerCertificateValidator, modul runtime je schopen zcela zakázat ověřování na platformě, která by jinak vyvolat PlatformNotSupportedException.
Jako vedlejší výhoda můžou vývojáři tuto vlastnost použít, aby nástroje snadněji označily nebezpečí zakázání ověřování certifikátů, což vývojářům usnadňuje přesouvání nezabezpečených aplikací.