Les commandes de keystore Java Keytool les plus courantes

Java Keytool est un utilitaire de gestion de clés et de certificats. Il permet aux utilisateurs de gérer leurs propres paires de clés publiques/privées et certificats. Il permet également aux utilisateurs de mettre en cache des certificats. Java Keytool stocke les clés et les certificats dans ce qu’on appelle un magasin de clés. Par défaut, le keystore Java est implémenté sous forme de fichier. Il protège les clés privées avec un mot de passe. Un magasin de clés Keytool contient la clé privée et tous les certificats nécessaires pour compléter une chaîne de confiance et établir la fiabilité du certificat principal.

Chaque certificat d’un keystore Java est associé à un alias unique. Lors de la création d’un keystore Java, vous allez d’abord créer le fichier .jks qui ne contiendra initialement que la clé privée. Vous allez ensuite générer un CSR et faire générer un certificat à partir de celui-ci. Ensuite, vous importerez le certificat dans le magasin de clés, y compris tous les certificats racine. Java Keytool a également plusieurs autres fonctions qui permettent de visualiser les détails d’un certificat ou de lister les certificats contenus dans un keystore ou encore d’exporter un certificat.

Remarque : Pour une gestion plus facile de vos keystores Java (à l’aide d’une interface graphique), consultez Portecle. Si vous avez besoin d’acheter un certificat, essayez de comparer SSL avec notre assistant SSL.

 

Ci-dessous, nous avons répertorié les commandes de keystore Java Keytool les plus courantes et leur utilisation :

Commandes Java Keytool pour la création et l’importation
Ces commandes vous permettent de générer un nouveau fichier de magasin de clés Java Keytool, de créer un CSR et d’importer des certificats. Tout certificat racine ou intermédiaire devra être importé avant d’importer le certificat principal de votre domaine.

Générer un keystore Java et une paire de clés

keytool -genkey -alias mondomaine -keyalg RSA -keystore keystore.jks -keysize 2048

Générer une demande de signature de certificat (CSR) pour un keystore Java existant

keytool -certreq -alias mondomaine -keystore keystore.jks -file mondomaine.csr

Importer un certificat d’autorité de certification racine ou intermédiaire dans un magasin de clés Java existant

keytool -import -trustcacerts -alias root -file Thawte.crt -keystore keystore.jks

Importer un certificat principal signé dans un keystore Java existant

keytool -import -trustcacerts -alias mondomaine -file mondomaine.crt -keystore keystore.jks

Générer un magasin de clés et un certificat auto-signé (voir Comment créer un certificat auto-signé à l’aide de Java Keytool pour plus d’informations)

keytool -genkey -keyalg RSA -alias auto-signé -keystore keystore.jks -storepass password -validity 360 -keysize 2048

Extraire le contenu d’un jks et le convertir en base64

base64 -w0 minju-keystore.jks > keystore.txt

cat myKeystore.keystore | base64

Commandes Java Keytool pour la vérification

Si vous avez besoin de vérifier les informations d’un certificat ou d’un magasin de clés Java, utilisez ces commandes.

Vérifier un certificat autonome

keytool -printcert -v -file mondomaine.crt

Vérifier quels certificats se trouvent dans un keystore Java

keytool -list -v -keystore keystore.jks

Vérifier une entrée de magasin de clés particulière à l’aide d’un alias

keytool -list -v -keystore keystore.jks -alias mondomaine

Autres commandes Java Keytool

Supprimer un certificat d’un magasin de clés Java Keytool

keytool -delete -alias mondomaine -keystore keystore.jks

Modifier un mot de passe de magasin de clés Java

keytool -storepasswd -new new_storepass -keystore keystore.jks

Exporter un certificat depuis un keystore

keytool -export -alias mondomaine -file mondomaine.crt -keystore keystore.jks

Répertorier les certificats CA de confiance

keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts

Importer une nouvelle autorité de certification dans des certificats de confiance

keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts