Partilhar via


HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Propriedade

Definição

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.

Aplica-se a