Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

17 exemples de commandes Keytool à connaître en tant qu'administrateur système et développeur

Keytool-Commande-Exemples
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Keytool est un utilitaire de ligne de commande qui vous permet de gérer/stocker des clés cryptographiques et des certificats.

Si Java est installé sur votre système, vous pouvez utiliser la commande keytool pour importer un certificat CA, répertorier les certificats, créer des certificats auto-signés, stocker des phrases secrètes et des clés publiques/privées, et bien d'autres choses encore. 

Confus? Ne vous inquiétez pas ; Je vais l'expliquer en termes plus simples au fur et à mesure de votre lecture.

Notez que j'utilise Linux pour tester les commandes et vous en expliquer un peu plus avec des exemples.

Vous pouvez également utiliser les commandes Keytool sous Windows et macOS.

Qu'est-ce qu'une commande Keytool ?

Il s'agit d'un utilitaire de gestion de clés et de certificats. Il vous permet de stocker des paires de clés privées/publiques, qui servent généralement à vérifier/authentifier l'accès aux services.

Compte tenu du titre de cet article, on peut supposer que la commande est principalement utilisée par les administrateurs système et les développeurs.

Pour la plupart, oui, mais un utilisateur peut faire preuve de créativité avec la commande keytool pour stocker des phrases secrètes et des clés secrètes à des fins d'authentification, de chiffrement et de déchiffrement. Donc, si vous êtes curieux, vous devriez l'essayer sur votre système.

Si vous êtes nouveau dans le concept des clés cryptographiques, vous voudrez peut-être consulter notre article sur cryptage des données avant d'essayer les commandes keytool.

De plus, vérifier le Exemples de commandes OpenSSL peut également vous donner une idée de la façon dont il est différent et de ce que vous pouvez faire avec l'un d'eux.

Create a Self-Signed Certificate

keytool -genkeypair -alias <alias> -keypass <keypass> -validity <validity> -storepass <storepass>

Contrairement à un certificat SSL que vous achetez, un certificat auto-signé n'est utilisé qu'à des fins de développement/test pour utiliser une connexion sécurisée.

Vous pouvez en générer un en utilisant la syntaxe de commande keytool mentionnée ci-dessus. Par exemple, voici à quoi cela ressemble :

keytool -genkeypair -alias geekflare -keypass passforkeystore -validity 365 -storepass passforkeystore

Vous pouvez utiliser n'importe quel nom pour l'alias ; J'utilise geekflare comme texte d'espace réservé. Vous pouvez personnaliser la validité et spécifier un mot de passe pour le Keystore en remplaçant "passforkeystore" dans la commande ci-dessus.

Notez que seulement un mot de passe est pris en charge pour les KeyStores PKCS12. Cependant, il s'agit d'un type de magasin de clés pratique qui n'est pas spécifique à Java.

Si vous avez besoin de deux mots de passe différents pour votre Keystore et le certificat, vous pouvez indiquer explicitement à la commande keytool d'utiliser une autre interface.

Vous pouvez en savoir plus à ce sujet dans son documentation officielle.

Une fois que vous avez procédé à la création, il vous demandera des détails supplémentaires pour l'authenticité. Voici à quoi cela devrait ressembler :

What is your first and last name?
  [Unknown]:  Ankush
What is the name of your organizational unit?
  [Unknown]:  Geekflare
What is the name of your organization?
  [Unknown]:  Geekflare
What is the name of your City or Locality?
  [Unknown]:  Bhubaneswar
What is the name of your State or Province?
  [Unknown]:  Odisha
What is the two-letter country code for this unit?
  [Unknown]:  91
Is CN=Ankush, OU=Geekflare, O=Geekflare, L=Bhubaneswar, ST=Odisha, C=91 correct?
  [no]:  yes

Create a Java Keystore and Key Pair

keytool -genkeypair -keyalg RSA -keysize 2048 -keystore keystore.jks -alias geekflarejava -validity 3650

Generate a Java Keystore and Import a certificate

Assurez-vous d'avoir un certificat valide ou d'en avoir généré un plus tôt ; une fois cela fait, vous pouvez l'importer et générer un Java Keystore.

keytool -importcert -file test.crt -keystore truststore.jks -alias geekflare

Generate a Key Pair to the Default Keystore With Subject

Vous pouvez rapidement générer une paire de clés (disons avec le nom "ca") en utilisant la commande suivante :

keytool -alias ca -dname CN=CA -genkeypair

Create a Chain of Signed Certificates

Supposons que vous ayez créé des paires de clés ca et ca1. Vous pouvez créer une chaîne de certificats signés où ca signera ca1 avec les commandes suivantes :

keytool -alias ca1 -certreq
keytool -alias ca -gencert -ext san=dns:ca1
keytool -alias ca1 -importcert

Vous pouvez compléter la chaîne avec deux autres paires de clés ca1 et ca2, où ca1 signera ca2.

Importing a Certificate

Si vous souhaitez importer un certificat à partir d'un fichier disponible, voici ce que vous pouvez faire :

keystool -import -alias geekflare -file geekflareserver.cer

Create a Certificate Signing Request (CSR) for the existing Keystore

Considérant que vous avez déjà créé un Keystore, vous pouvez générer un CSR.

keytool -certreq -keyalg rsa -keystore keystore.jks -alias server -file geekflare.csr

List Certificates Stored in Java Keystore

Un magasin de clés peut avoir plusieurs entrées de certificats. En supposant que nous vérifions la liste des certificats dans "keystore.jks” base de données, voici ce que nous devons saisir :

keytool -v -list -keystore keystore.jks

La sortie pour cela ressemblera à ceci :

keytool -v -list -keystore keystore.jks
Enter keystore password:  
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 2 entries

Alias name: geekflarecert
Creation date: 16-Nov-2022
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Issuer: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Serial number: a0b9a99
Valid from: Wed Nov 16 09:42:37 IST 2022 until: Sat Nov 13 09:42:37 IST 2032
Certificate fingerprints:
	 SHA1: 23:7C:65:A7:A6:84:18:F8:45:04:92:DF:D4:BB:0F:91:6D:A5:C5:BE
	 SHA256: C0:25:ED:B8:CF:1A:E6:E1:C5:75:A8:10:8F:CD:BE:42:26:96:9C:9A:FA:74:65:07:71:06:9A:2C:F5:80:FE:7F
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Check the Contents of a Single Certificate

Considérant que vous avez déjà un certificat généré, vous pouvez en savoir plus à ce sujet en utilisant ce qui suit :

keytool -v -printcert -file server.crt

View Certificates in a Java Keystore

Vous pouvez répertorier tous les certificats d'une base de données Keystore. Voici à quoi ressemble la commande :

keytool -v -list -keystore keystore.jks

View Keystore Using an Alias and Keystore

Si vous souhaitez vérifier un Keystore à l'aide de son nom d'alias que vous avez défini lors de sa création, saisissez ce qui suit :

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

List Certificates in KeyStore

Si vous souhaitez vérifier les certificats stockés dans le Keystore par défaut, utilisez la commande :

keytool -list -storepass passforkeystore

Vous devez remplacer "passforkeystore” avec le mot de passe que vous avez défini.

View Certificate Information

Si vous avez besoin de vérifier les détails d'un seul certificat, vous pouvez utiliser son alias sans spécifier la base de données Keystone.

Voici à quoi ça ressemble:

keytool -list -v -alias geekflare -storepass passforkeystore

View Certificate in PEM Format

PEM est l'un des formats les plus courants pour les certificats et les clés cryptographiques. Si vous souhaitez vérifier un certificat avec PEM, saisissez ce qui suit :

keytool -v -printcert -file geekflare.crt -rfc

Change a Java Keystore Password

Si vous avez déjà créé un mot de passe pour le Java Keystore, vous pouvez modifier le mot de passe à l'aide de la commande :

keytool -delete -alias geekflare -keystore keystore.jks

Delete a Certificate from Java Keystore

Vous pouvez spécifier le Java Keystore et son alias pour le supprimer. Par exemple:

keytool -delete -alias geekflare -keystore keystore.jks

Explore The Command and Get Help

La commande a plusieurs arguments et extensions pour faire beaucoup de choses. Selon votre cas d'utilisation, vous pouvez ou non avoir besoin de tous les utiliser.

Ainsi, si vous souhaitez approfondir les options de commande, vous pouvez toujours saisir :

keytool -help

Dans les deux cas, si vous utilisez un terminal Linux, je vous recommande de lire la page man (manuel) avec cette commande :

man keytool

Avec la commande man, vous pouvez obtenir tous les détails dont vous avez besoin sur la commande keytool.

Alors, gardez votre super pouvoir pour apprendre tout ce que vous pouvez à ce sujet !

Récapitulation

Le chemin des fichiers et d'autres options de personnalisation peut être légèrement différent de la plate-forme que vous utilisez. Vous pouvez également vous référer à la documentation d'Oracle pour les options standardisées.

Keytool est un excellent outil pour une gamme de tâches. Testez-le et voyez ce que vous pouvez en faire !

Vous pouvez également explorer certains Commandes Linux pour entretenir et faire fonctionner les systèmes de manière optimale.

Merci à nos commanditaires
Plus de bonnes lectures sur Linux
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder