HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.