Ich versuche zu überprüfen, ob der hier gespeicherte RSA-Schlüssel, das CA-Bundle und das Zertifikat in Ordnung sind. Sie werden nicht von einem Webserver bedient. Wie kann ich sie überprüfen?
Ich versuche zu überprüfen, ob der hier gespeicherte RSA-Schlüssel, das CA-Bundle und das Zertifikat in Ordnung sind. Sie werden nicht von einem Webserver bedient. Wie kann ich sie überprüfen?
Antworten:
Angenommen, Ihre Zertifikate liegen im PEM-Format vor, können Sie Folgendes tun:
openssl verify cert.pem
Wenn Ihr "ca-Bundle" eine Datei ist, die zusätzliche Zwischenzertifikate im PEM-Format enthält:
openssl verify -untrusted ca-bundle cert.pem
Wenn Ihr openssl nicht so eingerichtet ist, dass automatisch ein Satz installierter Stammzertifikate verwendet wird (z. B. in /etc/ssl/certs
), können Sie die Zertifizierungsstelle mit -CApath
oder -CAfile
angeben.
-CApath nosuchdir
Option verwenden, muss die Kombination aus server.crt und cacert.pem die Stammzertifizierungsstelle enthalten. Wenn openssl mit diesen Dateien nur bis zu einer Zwischenzertifizierungsstelle arbeiten kann, wird es sich beschweren.
/certs/
. Wird dies ein Problem verursachen? Weil ich in einer Situation gestapelt bin, in der mein Server funktioniert, funktioniert http curl, aber https .. curl wird fehlerhaft. wo die Website nicht mehr funktioniert.
Hier ist ein Einzeiler, um eine Zertifikatskette zu überprüfen:
openssl verify -verbose -x509_strict -CAfile ca.pem -CApath nosuchdir cert_chain.pem
Hierfür muss keine CA installiert werden.
Weitere Informationen finden Sie unter https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-work .
-CApath nosuchdir
zu antworten. Danke.
-CAfile
selbst nur ein Zwischenzertifikat ist, wird openssl sich beschweren. Dies ist ein korrektes Verhalten, da verify
es eine vollständige Kette bis zu einer Stammzertifizierungsstelle erfordert, jedoch irreführend sein kann.
OpenSSL 1.1.1 11 Sep 2018
) muss das Argument -CApath
ein vorhandenes Verzeichnis sein.
openssl x509
manuellen Abschnitt an.