Heim >Backend-Entwicklung >C++ >Wie kann ich die SSL-Zertifikatsüberprüfung in C# ignorieren?

Wie kann ich die SSL-Zertifikatsüberprüfung in C# ignorieren?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-15 19:36:45355Durchsuche

How Can I Ignore SSL Certificate Verification in C#?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn