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

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


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

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.