Heim >Backend-Entwicklung >C++ >Wie kann ich die SSL-Zertifikatsüberprüfung in C# ignorieren?
SSL-Zertifikatsüberprüfung ignorieren
Um die SSL-Zertifikatsüberprüfung bei HTTPS-Anfragen zu umgehen, können Sie einen ServicePointManager.ServerCertificateValidationCallback
Proxy verwenden. Dieser Proxy ermöglicht eine benutzerdefinierte Zertifikatsvalidierungslogik, sodass wir Validierungsfehler ignorieren können.
Agentendetails
Der ServicePointManager.ServerCertificateValidationCallback
-Proxy wird jedes Mal aufgerufen, wenn eine HTTPS-Verbindung mit einem nicht vertrauenswürdigen oder abgelaufenen Zertifikat hergestellt wird. Es akzeptiert vier Parameter:
obj
: Eine Instanz von ServicePoint
, die versucht, das Zertifikat zu überprüfen. certificate
: X509-Zertifikat wird überprüft. chain
: Die mit dem Zertifikat verknüpfte X509-Zertifikatskette. errors
: SSL-Richtlinienfehler im Zusammenhang mit dem Überprüfungsversuch. Leistung
Um die Zertifikatsüberprüfung zu ignorieren, registrieren Sie einen Proxy, der immer true
zurückgibt, um die Annahme des Zertifikats anzuzeigen. Dies kann in der Methode GetRequest()
erfolgen, wie im folgenden Codeausschnitt gezeigt:
<code class="language-csharp">ServicePointManager.ServerCertificateValidationCallback = delegate( Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return (true); };</code>
Ausführung und Platzierung
Diese Proxy-Methode wird aufgerufen, wenn WebRequest
versucht, eine HTTPS-Verbindung herzustellen und auf einen Vertrauens- oder Ablauffehler stößt. Es sollte vor der Ausführung der Anfrage registriert werden. Im bereitgestellten Code wird es vor der Zeile Stream stream = request.GetRequestStream()
platziert.
Das obige ist der detaillierte Inhalt vonWie kann ich die SSL-Zertifikatsüberprüfung in C# ignorieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!