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?
command-line
ssl
openssl
Xenoterracid
quelle
quelle
openssl x509
manuellen Abschnitt an.Antworten:
Angenommen, Ihre Zertifikate liegen im PEM-Format vor, können Sie Folgendes tun:
Wenn Ihr "ca-Bundle" eine Datei ist, die zusätzliche Zwischenzertifikate im PEM-Format enthält:
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.quelle
-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:
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 .
quelle
-CApath nosuchdir
zu antworten. Danke.-CAfile
selbst nur ein Zwischenzertifikat ist, wird openssl sich beschweren. Dies ist ein korrektes Verhalten, daverify
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.