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; }
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.
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, se hace con HttpClientHandler estableciendo la ServerCertificateCustomValidationCallback propiedad en un delegado que siempre devuelve True; esto indica que el certificado ha pasado 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 hace 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 la creación de 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.