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
Mary-Kate OlsenOriginal
2025-01-21 08:42:09596Durchsuche

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>

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>

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>

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!

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