Certyfikat cyfrowy: Jak zaimportować plik .cer do pliku .truststore za pomocą?

92

Czy ktoś natknął się, gdzie mają do czynienia z plikiem .truststore? i wiesz, jak zaimportować .cer do pliku .truststore?

Nie jestem pewien, czy muszę używać polecenia Java Keytool lub Linux (na przykład polecenie openssl).

Dzięki

netic
źródło

Odpowiedzi:

202
# 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 to domyślne hasło magazynu zaufanych certyfikatów

Strelok
źródło
każdy wie, jak to zrobić w openssl
Balamurugan
8
To polecenie umożliwia pobranie certyfikatu do pliku nazwa pliku certfile.txt: openssl s_client -connect NAZWA HOSTA: PORTNUM 2> & 1 | sed -ne '/ -BEGIN CERTIFICATE - /, / - END CERTIFICATE- / p'> certfile.txt --- Następnie użyj narzędzia keytool, aby zaimportować go do swojego magazynu zaufania
Christian Achilli
2
W przeglądarce możesz pobrać certyfikat dowolnej witryny internetowej zabezpieczonej protokołem SSL. W FireFox wystarczy dwukrotnie kliknąć symbol kłódki w polu adresu URL.
BetaRide
jeśli masz plik „jssecacerts”, użyj zamiast tego „-keystore jssecacerts”. "cacerts" jest ignorowany
kommradHomer
24

Zamiast używać seddo odfiltrowywania certyfikatu, możesz również przesłać dane openssl s_clientwyjściowe przez openssl x509 -out certfile.txt, na przykład:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt
jbuhacoff
źródło
Ta odpowiedź miała na celu ulepszenie komentarza Christiana na temat zaakceptowanej odpowiedzi dotyczącej pobrania certyfikatu. Prawdopodobnie powinien to być komentarz.
jbuhacoff
9

Sposób importowania pliku .cer do magazynu zaufania jest taki sam, jak importowanie pliku .crt z, na przykład eksportu z przeglądarki Firefox.

Nie musisz wpisywać aliasu i hasła do magazynu kluczy, wystarczy wpisać:

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

Najlepiej użyj pliku cacerts, który jest już w instalacji Java (jre \ lib \ security \ cacerts), ponieważ zawiera bezpieczne „popularne” certyfikaty.

Aktualizacja dotycząca różnic cer i crt (tylko wyjaśnienie) Według Apache z SSL - Jak przekonwertować CER na certyfikaty CRT? i użytkownik @Spawnrider

CER to certyfikat X.509 w formie binarnej, zakodowany w formacie DER.
CRT to binarny certyfikat X.509 zawarty w kodowaniu tekstowym (base-64).
To nie jest to samo kodowanie.

Andreas Panagiotidis
źródło
1
Wszystko to oznacza, że ​​wyeksportowałeś plik pod nieco inną nazwą. Nie zmienia pliku, pytania ani odpowiedzi. Dobrze jest określić alias: w przeciwnym razie ryzykujesz nadpisanie poprzedniego importu.
Markiz Lorne,
Czy .crt i .cer mają jakiś format? Czy rozszerzenie nie odgrywa żadnej roli w certyfikatach? Dobra uwaga na temat aliasu.
Andreas Panagiotidis,
1
Odpowiadam na moje pytanie: tak, crt i cer mają ten sam format. Ta sama rzecz. Możesz zaimportować oba w zaufanym magazynie.
Andreas Panagiotidis