Compartir vía


HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Propiedad

Definición

Obtiene un delegado almacenado en caché que siempre devuelve 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 de propiedad

Delegado almacenado en caché que siempre devuelve true.

Atributos

Comentarios

Especialmente en escenarios de prueba, un patrón común se usa HttpClient para conectarse a un servidor con un certificado que no se debe validar, como un certificado autofirmado. Normalmente lo hace con HttpClientHandler estableciendo la ServerCertificateCustomValidationCallback propiedad en un delegado que siempre devuelve True; esto indica que el certificado ha superado la validación. Sin embargo, no todas las implementaciones admiten esta devolución de llamada y algunas inician PlatformNotSupportedException.

La DangerousAcceptAnyServerCertificateValidator propiedad aborda esta limitación. El delegado devuelto por la DangerousAcceptAnyServerCertificateValidator propiedad se puede asignar a la ServerCertificateCustomValidationCallback propiedad , como en el ejemplo siguiente:

handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

Esto proporciona HttpClientHandler a las implementaciones una identidad de referencia de objeto conocida que expresa la intención del desarrollador. Si el objeto almacenado en la ServerCertificateCustomValidationCallback propiedad es igual a DangerousAcceptAnyServerCertificateValidator, el tiempo de ejecución puede deshabilitar completamente la validación en una plataforma que, de lo contrario, produciría una PlatformNotSupportedExceptionexcepción .

Como ventaja lateral, los desarrolladores pueden usar esta propiedad para facilitar las herramientas para marcar el peligro de deshabilitar la validación de certificados, lo que facilita a los desarrolladores evitar el envío de aplicaciones no seguras.

Se aplica a