HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen zwischengespeicherten Delegaten ab, der immer true
zurückgibt.
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)
Eigenschaftswert
Ein zwischengespeicherter Delegat, der immer true
zurückgibt.
- Attribute
Hinweise
Insbesondere in Testszenarien wird ein gängiges Muster verwendet HttpClient , um eine Verbindung mit einem Server mit einem Zertifikat herzustellen, das nicht überprüft werden sollte, z. B. ein selbstsigniertes Zertifikat. Sie tun dies in der Regel, HttpClientHandler indem Sie die Eigenschaft auf einen Delegaten festlegen, der ServerCertificateCustomValidationCallback immer zurückgibt True
. Dies gibt an, dass das Zertifikat die Überprüfung bestanden hat. Allerdings unterstützen nicht alle Implementierungen diesen Rückruf, und einige lösen aus PlatformNotSupportedException.
Mit DangerousAcceptAnyServerCertificateValidator der -Eigenschaft wird diese Einschränkung behoben. Der von der DangerousAcceptAnyServerCertificateValidator -Eigenschaft zurückgegebene Delegat kann der ServerCertificateCustomValidationCallback Eigenschaft zugewiesen werden, wie im folgenden Beispiel:
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
Dadurch erhalten HttpClientHandler Implementierungen eine bekannte Objektverweisidentität, die die Absicht des Entwicklers zum Ausdruck bringt. Wenn das in der ServerCertificateCustomValidationCallback -Eigenschaft gespeicherte DangerousAcceptAnyServerCertificateValidatorObjekt gleich ist, kann die Laufzeit die Überprüfung auf einer Plattform vollständig deaktivieren, die andernfalls ein PlatformNotSupportedExceptionauslöst.
Als Nebenvorteil können Entwickler diese Eigenschaft verwenden, um es Tools zu erleichtern, die Gefahr der Deaktivierung der Zertifikatüberprüfung zu kennzeichnen, was es Entwicklern erleichtert, den Versand unsicherer Anwendungen zu vermeiden.