HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient un délégué mis en cache qui retourne toujours 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)
Valeur de propriété
Délégué mis en cache qui retourne toujours true
.
- Attributs
Remarques
En particulier dans les scénarios de test, un modèle courant utilise HttpClient pour se connecter à un serveur avec un certificat qui ne doit pas être validé, tel qu’un certificat auto-signé. Vous le faites généralement en HttpClientHandler définissant la ServerCertificateCustomValidationCallback propriété sur un délégué qui retourne True
toujours ; cela indique que le certificat a réussi la validation. Toutefois, toutes les implémentations ne prennent pas en charge ce rappel, et certaines lèvent PlatformNotSupportedException.
La DangerousAcceptAnyServerCertificateValidator propriété résout cette limitation. Le délégué retourné par la DangerousAcceptAnyServerCertificateValidator propriété peut être affecté à la ServerCertificateCustomValidationCallback propriété, comme le fait l’exemple suivant :
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
Cela donne aux HttpClientHandler implémentations une identité de référence d’objet connue qui exprime l’intention du développeur. Si l’objet stocké dans la ServerCertificateCustomValidationCallback propriété est référence égal à DangerousAcceptAnyServerCertificateValidator, le runtime peut désactiver entièrement la validation sur une plateforme qui, sinon, lèverait un PlatformNotSupportedException.
En guise d’avantage secondaire, les développeurs peuvent utiliser cette propriété pour permettre aux outils de signaler plus facilement le danger de désactiver la validation des certificats, ce qui permet aux développeurs d’éviter plus facilement l’expédition d’applications non sécurisées.