Certificat numérique: Comment importer un fichier .cer dans un fichier .truststore en utilisant?

89

Quelqu'un est-il tombé sur où il doit traiter le fichier .truststore? et savoir comment importer .cer dans un fichier .truststore?

Je ne sais pas si je dois utiliser la commande Java Keytool ou Linux (comme la commande openssl).

Merci

nétique
la source

Réponses:

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 est le mot de passe par défaut du truststore

Strelok
la source
tout le monde sait comment faire dans openssl
Balamurugan
8
Cette commande vous permet de télécharger le certificat dans un fichier namend certfile.txt: openssl s_client -connect NOM D'HÔTE: PORTNUM 2> & 1 | sed -ne '/ -BEGIN CERTIFICATE - /, / - END CERTIFICATE- / p'> certfile.txt --- Puis utilisez keytool pour l'importer dans votre trust store
Christian Achilli
2
Vous pouvez télécharger le certificat de n'importe quel site Web sécurisé SSL dans votre navigateur. Dans FireFox, double-cliquez simplement sur le symbole de verrouillage dans le champ d'adresse URL.
BetaRide
si vous avez un fichier "jssecacerts", utilisez plutôt "-keystore jssecacerts". "cacerts" est ignoré
kommradHomer
23

Au lieu d'utiliser sedpour filtrer le certificat, vous pouvez également acheminer la openssl s_clientsortie openssl x509 -out certfile.txt, par exemple:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt
jbuhacoff
la source
Cette réponse était destinée à améliorer le commentaire de Christian sur la réponse acceptée concernant le téléchargement du certificat. Cela aurait probablement dû être un commentaire.
jbuhacoff
8

La façon dont vous importez un fichier .cer dans le magasin de confiance est la même que vous importeriez un fichier .crt à partir, par exemple, d'une exportation depuis Firefox.

Vous n'êtes pas obligé de mettre un alias et le mot de passe du keystore, vous pouvez simplement taper:

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

Utilisez de préférence le fichier cacerts qui se trouve déjà dans votre installation Java (jre \ lib \ security \ cacerts) car il contient des certificats "populaires" sécurisés.

Mise à jour concernant les différences de cer et crt (juste pour clarifier) Selon Apache avec SSL - Comment convertir CER en certificats CRT? et l'utilisateur @Spawnrider

CER est un certificat X.509 sous forme binaire, codé DER.
CRT est un certificat binaire X.509, encapsulé dans un encodage texte (base 64).
Ce n'est pas le même encodage.

Andreas Panagiotidis
la source
1
Tout cela signifie que vous avez exporté le fichier avec un nom légèrement différent. Cela ne change pas le fichier, la question ou la réponse. Il est judicieux de spécifier un alias: sinon vous risquez d'écraser une importation antérieure.
Marquis of Lorne le
Est-ce que .crt et .cer ont un certain format? L'extension ne joue-t-elle aucun rôle dans les certificats? Bon point sur l'alias.
Andreas Panagiotidis
1
Je réponds à ma question: oui, crt et cer ont le même format. Même chose. Vous pouvez importer les deux dans le magasin de confiance.
Andreas Panagiotidis