Openssl: Fehler „selbstsigniertes Zertifikat in Zertifikatskette“

Lesezeit: 2 Minuten

Benutzer-Avatar
Mondpilze

Als ich die openssl-APIs zum Validieren des Serverzertifikats (selbst signiert) verwendete, erhielt ich folgenden Fehler:

Fehler 19 bei 1 Tiefensuche: selbstsigniertes Zertifikat in Zertifikatskette

Laut Openssl Dokumentationdieser Fehler (19) ist

„X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: selbstsigniertes Zertifikat in Zertifikatskette – die Zertifikatskette konnte mit den nicht vertrauenswürdigen Zertifikaten aufgebaut werden, aber der Stamm konnte lokal nicht gefunden werden.“

Warum tritt dieser Fehler auf? Irgendwelche Probleme mit meinem Serverzertifikat?

Sie haben ein Zertifikat, das selbstsigniert ist, also ist es so nicht vertrauenswürdig standardmäßig beschwert sich OpenSSL deshalb. Diese Warnung ist eigentlich eine gute Sache, denn dieses Szenario könnte auch aufgrund einer aufkommen Man-in-the-Middle-Angriff.

Um dies zu lösen, müssen Sie es als vertrauenswürdigen Server installieren. Wenn es von einer nicht vertrauenswürdigen Zertifizierungsstelle signiert ist, müssen Sie auch das Zertifikat dieser Zertifizierungsstelle installieren.

Schau mal rein dieser Link über die Installation von selbstsignierten Zertifikaten.

Benutzer-Avatar
Wadzim

Hier ist ein Einzeiler zur Überprüfung des Zertifikats, das von einer bestimmten Zertifizierungsstelle signiert werden soll:

openssl verify -verbose -x509_strict -CAfile ca.pem certificate.pem

Dazu muss CA nirgendwo installiert werden.

Siehe Wie funktioniert ein SSL-Zertifikatskettenpaket? für Details und die korrekte Handhabung der Zertifikatskette.

Wenn du rennst Karl Wenn Sie versuchen, einen Docker-Container zu erstellen, erhalten Sie höchstwahrscheinlich diesen Fehler.

Stellen Sie sicher, dass Sie den Charles (macos)-Proxy unter deaktivieren proxy -> macOS proxy

Karl ist ein

HTTP-Proxy / HTTP-Monitor / Reverse-Proxy, der es einem Entwickler ermöglicht, den gesamten HTTP- und SSL-/HTTPS-Verkehr zwischen seinem Computer und dem Internet anzuzeigen.

Etwas Ähnliches kann also das gleiche Problem verursachen.

  • funktionierte für mich, obwohl ich Charles nicht geöffnet hatte, als ich auf den Fehler stieß.

    – BooRanger

    12. August 2020 um 12:21 Uhr


  • Vielen Dank. Ich verwende TLS-Verbindungen mit Postgres, Charles hat sie zum Scheitern gebracht.

    – zino

    28. November 2021 um 20:37 Uhr

Benutzer-Avatar
lalithsagar

Die Lösung für den Fehler besteht darin, diese Zeile am Anfang des Codes hinzuzufügen:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

1382960cookie-checkOpenssl: Fehler „selbstsigniertes Zertifikat in Zertifikatskette“

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy