Digitales Zertifikat: Wie importiere ich eine .cer-Datei in eine .truststore-Datei mit?

89

Hat jemand festgestellt, wo er mit .truststore-Dateien umgehen muss? und wissen, wie man .cer in eine .truststore-Datei importiert?

Ich bin nicht sicher, ob ich einen Java Keytool- oder Linux-Befehl verwenden muss (z. B. den Befehl openssl).

Vielen Dank

netic
quelle

Antworten:

195
# Copy the certificate into the directory Java_home\Jre\Lib\Security
# Change your directory to Java_home\Jre\Lib\Security>
# Import the certificate to a trust store.

keytool -import -alias ca -file somecert.cer -keystore cacerts -storepass changeit [Return]

Trust this certificate: [Yes]

changeit ist das Standardkennwort für den Truststore

Strelok
quelle
Jeder weiß, wie man in openssl
Balamurugan
8
Mit diesem Befehl können Sie das Zertifikat in eine Datei namens endend certfile.txt herunterladen: openssl s_client -connect HOSTNAME: PORTNUM 2> & 1 | sed -ne '/ -BEGIN CERTIFICATE - /, / - END CERTIFICATE- / p'> certfile.txt --- Verwenden Sie dann Keytool, um es in Ihren Trust Store zu importieren
Christian Achilli
2
Sie können das Zertifikat jeder SSL-gesicherten Website in Ihrem Browser herunterladen. Doppelklicken Sie in FireFox einfach auf das Schlosssymbol im Feld URL-Adresse.
BetaRide
Wenn Sie die Datei "jssecacerts" haben, verwenden Sie stattdessen "-keystore jssecacerts". "cacerts" wird ignoriert
kommradHomer
23

Anstatt seddas Zertifikat herauszufiltern, können Sie die openssl s_clientAusgabe auch weiterleiten openssl x509 -out certfile.txt, zum Beispiel:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt
jbuhacoff
quelle
Diese Antwort war als Verbesserung von Christians Kommentar zur akzeptierten Antwort zum Herunterladen des Zertifikats gedacht. Sollte wahrscheinlich ein Kommentar gewesen sein.
jbuhacoff
8

Die Art und Weise, wie Sie eine CER-Datei in den Trust Store importieren, entspricht der Art und Weise, wie Sie eine CRT-Datei beispielsweise aus einem Export aus Firefox importieren.

Sie müssen keinen Alias ​​und das Passwort des Keystores eingeben, sondern können einfach Folgendes eingeben:

keytool -v -import -file somefile.crt  -alias somecrt -keystore my-cacerts

Verwenden Sie vorzugsweise die cacerts-Datei, die sich bereits in Ihrer Java-Installation befindet (jre \ lib \ security \ cacerts), da sie sichere "beliebte" Zertifikate enthält.

Update bezüglich der Unterschiede zwischen cer und crt (nur zur Verdeutlichung) Laut Apache mit SSL - Wie konvertiere ich CER in CRT-Zertifikate? und Benutzer @Spawnrider

CER ist ein X.509-Zertifikat in binärer Form, DER-codiert.
CRT ist ein binäres X.509-Zertifikat, das in Textcodierung (Base-64) gekapselt ist.
Es ist nicht die gleiche Kodierung.

Andreas Panagiotidis
quelle
1
Dies bedeutet lediglich, dass Sie die Datei mit einem etwas anderen Namen exportiert haben. Die Datei, die Frage oder die Antwort werden nicht geändert. Es ist ratsam, einen Alias ​​anzugeben. Andernfalls besteht die Gefahr, dass ein vorheriger Import überschrieben wird.
Marquis von Lorne
Haben .crt und .cer das Format? Spielt die Erweiterung in den Zertifikaten keine Rolle? Guter Punkt zum Alias.
Andreas Panagiotidis
1
Ich beantworte meine Frage: Ja, CRT und Cer haben das gleiche Format. Gleiche Sache. Sie können beide in Trust Store importieren.
Andreas Panagiotidis