Certificato digitale: come importare il file .cer in un file .truststore utilizzando?


89

Qualcuno si è imbattuto in dove deve occuparsi del file .truststore? e sapere come importare .cer nel file .truststore?

Non sono sicuro se devo usare Java Keytool o il comando Linux (come il comando openssl).

Grazie

Risposte:


196
# 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 è la password predefinita del truststore


qualcuno sa come fare in openssl
Balamurugan

8
Questo comando ti permette di scaricare il certificato in un file con nome certfile.txt: openssl s_client -connect HOSTNAME: PORTNUM 2> & 1 | sed -ne '/ -BEGIN CERTIFICATE - /, / - END CERTIFICATE- / p'> certfile.txt --- Quindi usa keytool per importarlo nel tuo trust store
Christian Achilli

2
Puoi scaricare il certificato di qualsiasi sito Web protetto da SSL nel tuo browser. In FireFox è sufficiente fare doppio clic sul simbolo del lucchetto nel campo dell'indirizzo URL.
BetaRide

se hai un file "jssecacerts", usa invece "-keystore jssecacerts". "cacerts" viene ignorato
kommradHomer

23

Invece di utilizzare sedper filtrare il certificato, puoi anche reindirizzare l' openssl s_clientoutput openssl x509 -out certfile.txt, ad esempio:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt

Questa risposta era intesa come un miglioramento del commento di Christian sulla risposta accettata riguardo al download del certificato. Probabilmente avrebbe dovuto essere un commento.
jbuhacoff

8

Il modo in cui importi un file .cer nel truststore è lo stesso modo in cui importeresti un file .crt, ad esempio un'esportazione da Firefox.

Non devi inserire un alias e la password del keystore, puoi semplicemente digitare:

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

Utilizzare preferibilmente il file cacerts che è già nell'installazione di Java (jre \ lib \ security \ cacerts) poiché contiene certificati "popolari" sicuri.

Aggiornamento sulle differenze tra cer e crt (solo per chiarire) Secondo Apache con SSL - Come convertire CER in certificati CRT? e l'utente @Spawnrider

CER è un certificato X.509 in formato binario, codificato DER.
CRT è un certificato X.509 binario, incapsulato nella codifica di testo (base 64).
Non è la stessa codifica.


1
Tutto ciò significa che hai esportato il file con un nome leggermente diverso. Non cambia il file, la domanda o la risposta. È consigliabile specificare un alias: altrimenti rischi di sovrascrivere un'importazione precedente.
Marchese di Lorne

.Crt e .cer hanno il formato some? L'estensione non ha alcun ruolo nei certificati? Buon punto sull'alias.
Andreas Panagiotidis

1
Rispondo alla mia domanda: Sì, crt e cer hanno lo stesso formato. Stessa cosa. Puoi importarli entrambi nel truststore.
Andreas Panagiotidis
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.