Heim > Backend-Entwicklung > C++ > Wie behebe ich SSL/TLS-Fehler „Konnte keine Vertrauensbeziehung herstellen'?

Wie behebe ich SSL/TLS-Fehler „Konnte keine Vertrauensbeziehung herstellen'?

Mary-Kate Olsen
Freigeben: 2025-01-21 08:42:09
Original
595 Leute haben es durchsucht

How to Troubleshoot

Behebung des Fehlers „Vertrauensbeziehung konnte nicht hergestellt werden“ für den sicheren SSL/TLS-Kanal

Es kann verwirrend sein, wenn bei einem Webdienstaufruf über eine sichere SSL-URL der Fehler „Vertrauensbeziehung für sicheren SSL/TLS-Kanal konnte nicht hergestellt werden“ auftritt. Lassen Sie uns mögliche Ursachen und Lösungen untersuchen.

Diese Fehlermeldung weist normalerweise auf ein Problem mit dem SSL-Zertifikat auf dem Server hin. Möglicherweise ist es selbstsigniert oder der Hostname stimmt nicht mit dem Server überein. Um dieses Problem zu beheben:

Wenn Sie dem Server vertrauen und sein Zertifikat nicht überprüfen möchten (nicht empfohlen):

<code>// 信任所有证书
System.Net.ServicePointManager.ServerCertificateValidationCallback =
    ((sender, certificate, chain, sslPolicyErrors) => true);</code>
Nach dem Login kopieren

Wenn Sie dem Server vertrauen, aber seinen Hostnamen überprüfen möchten:

<code>// 信任发送者
System.Net.ServicePointManager.ServerCertificateValidationCallback
                = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName"));</code>
Nach dem Login kopieren

Wenn Sie lieber eine benutzerdefinierte Rückruffunktion verwenden möchten, um das Zertifikat zu überprüfen:

<code>ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors)
{
    bool result = cert.Subject.Contains("YourServerName");
    return result;
}</code>
Nach dem Login kopieren

Diese Lösungen deaktivieren den standardmäßigen Zertifikatsüberprüfungsprozess. Wie bei externen Servern sollten Sie diese mit Vorsicht verwenden, da Sie möglicherweise eine Verbindung zu einer nicht vertrauenswürdigen Quelle herstellen. Wenn der Server jedoch intern ist und der Erhalt eines gültigen Zertifikats unpraktisch ist, können diese Problemumgehungen die Kommunikation erleichtern.

Das obige ist der detaillierte Inhalt vonWie behebe ich SSL/TLS-Fehler „Konnte keine Vertrauensbeziehung herstellen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage