HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um delegado em cache que sempre retorna 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)
Valor da propriedade
Um delegado em cache que sempre retorna true
.
- Atributos
Comentários
Especialmente em cenários de teste, um padrão comum usa HttpClient para se conectar a um servidor com um certificado que não deve ser validado, como um certificado autoassinado. Normalmente, você faz isso com HttpClientHandler definindo a ServerCertificateCustomValidationCallback propriedade como um delegado que sempre retorna True
; isso indica que o certificado passou pela validação. No entanto, nem todas as implementações dão suporte a esse retorno de chamada e algumas lançam PlatformNotSupportedException.
A DangerousAcceptAnyServerCertificateValidator propriedade aborda essa limitação. O delegado retornado pela DangerousAcceptAnyServerCertificateValidator propriedade pode ser atribuído à ServerCertificateCustomValidationCallback propriedade , como faz o seguinte exemplo:
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
Isso fornece às HttpClientHandler implementações uma identidade de referência de objeto conhecida que expressa a intenção do desenvolvedor. Se o objeto armazenado na ServerCertificateCustomValidationCallback propriedade for referência igual a DangerousAcceptAnyServerCertificateValidator, o runtime poderá desabilitar totalmente a validação em uma plataforma que, de outra forma, lançaria um PlatformNotSupportedException.
Como benefício colateral, os desenvolvedores podem usar essa propriedade para facilitar o envio de aplicativos inseguros pelas ferramentas para sinalizar o perigo de desabilitar a validação de certificados, o que facilita o envio de aplicativos inseguros pelos desenvolvedores.