Commandes Keytool

Lorsque vous utilisez les commandes keytool dans cette rubrique, assurez-vous d'utiliser les indicateurs de commande décrits dans Préalables pour Keytool et Jarsigner.

Générer une paire de clés

Utilisez l'indicateur -genkeypair pour générer 1 clé privée et 1 clé publique dans le module de sécurité matériel DKMS à l'aide de keytool avec JCE. La clé est également stockée dans le magasin de clés local par cette opération.

Pour générer une paire de clés

Important : Lorsque vous utilisez la commande keytool pour générer une paire de clés ou importer un magasin de clés existant, votre configuration de sécurité Java garantit qu'une clé publique et une clé privée sont générées dans la carte du module de sécurité matériel. Si vous utilisez le fichier java.security pour cette configuration, le fournisseur OCI Dedicated KMS doit être spécifié en tant que priorité 2 dans le fichier pour que les paires de clés soient générées dans le module de sécurité matériel.

Sinon, dans le répertoire courant, créez un fichier Java Security Override File et ajoutez le fournisseur OCI Dedicated KMS à la deuxième position sous le nom security.provider.2. Lors de l'exécution d'une commande Keytool, utilisez l'option suivante pour spécifier le fichier de remplacement de la sécurité Java :

-J-Djava.security.properties=<java_security_override_file>

Voir Ajouter le fournisseur JCE à la sécurité Java pour plus d'informations sur la configuration de la sécurité Java.

Conseil

La paire de clés générée est introuvable à l'aide d'un alias dans l'utilitaire Key Management. Facultativement, vous pouvez lister les clés avant et après la génération des clés pour identifier la nouvelle clé dans le module de sécurité matériel. Cela vous permet de supprimer facilement la clé du module de sécurité matériel si vous en avez besoin. Avant de créer une paire de clés, connectez-vous au module de sécurité matériel et créez une liste de poignées existantes. Créez ensuite une liste après avoir créé la paire de clés pour rechercher la poignée de la nouvelle paire de clés. Pour obtenir des instructions, voir Identification du descripteur d'une nouvelle paire de clés ou clé secrète dans le module de sécurité matériel.

Syntaxe de commande :

keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-genkeypair -alias <example-alias> -keyalg <algorithm> -keysize <key-size> -sigalg <signature-algorithm> \
-dname <example-distinguished-name> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password> -storetype DKKS 
-J-Djava.security.properties=<java_security_override_file>

Générer une clé secrète

Utilisez l'indicateur -genseckey dans l'utilitaire Key Management avec JCE .pour effectuer cette opération. Cette opération génère 1 clé secrète dans le module de sécurité matériel.

Pour générer une clé secrète
Important

La clé secrète est introuvable à l'aide d'un alias dans l'utilitaire Key Management. Avant de créer une clé secrète, connectez-vous au module de sécurité matériel et créez une liste des descripteurs existants. Vous pouvez utiliser cette liste après avoir créé la paire de clés pour trouver le descripteur de la nouvelle clé secrète. Pour obtenir des instructions, voir Identification du descripteur d'une nouvelle paire de clés ou clé secrète dans le module de sécurité matériel.

Syntaxe de commande :

keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-genseckey -alias <example-alias> -keyalg <algorithm> -keysize <key-size> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password> -storetype DKKS

Identifier la poignée d'une nouvelle paire de clés ou d'une nouvelle clé secrète dans le module de sécurité matériel

De nouvelles paires de clés ou clés secrètes créées dans le module de sécurité matériel sont introuvables à l'aide d'un alias dans l'utilitaire Key Management. Vous pouvez trouver le descripteur d'une nouvelle paire de clés ou d'une nouvelle clé secrète en comparant une liste de tous les descripteurs avant qu'une paire de clés ou une clé secrète ne soit générée avec une deuxième liste de tous les descripteurs créés après la génération d'une paire de clés ou d'une clé secrète. La différence entre les deux listes montre l'indicateur nouvellement créé pour la paire de clés ou la clé secrète.

Pour identifier le descripteur de la nouvelle clé
  1. Connectez-vous au module de sécurité matériel à l'aide de l'utilitaire Key Management.
  2. Exécutez la commande suivante pour rechercher et enregistrer une liste des descripteurs existants :

    findKey -c <key-type>

    Pour <key-type>, les valeurs valides sont : 2 = public 3 = privé 4 = secret. Pour plus d'informations, voir Recherche d'une clé unique.

  3. Générez une paire de clés ou une clé secrète. Pour obtenir des instructions, voir Générer une paire de clés et Générer une clé secrète.
  4. Répétez les étapes 1 et 2 et utilisez la commande findKey -c 4 pour rechercher et enregistrer une liste des poignées dans le module de sécurité matériel. La nouvelle liste comprend le descripteur de la nouvelle paire de clés ou clé secrète générée.
  5. Effectuez une opération différentielle sur les deux listes pour rechercher un nouvel indicateur.

Suppression d'une clé

Utilisez les instructions de la section développable suivante pour supprimer des clés du magasin de clés local et du module de sécurité matériel.

Pour supprimer une clé
  1. Exécutez la commande keytool suivante pour supprimer la clé dans le magasin de clés local :

    keytool \
    -J-cp -J<dedicated_kms_jce_jar_path> \
    -delete -alias <example-alias> \
    -keypass <example-password> -keystore <example-keystore-name> -storepass <example-password> -storetype DKKS 
    
  2. Pour supprimer une clé dans le module de sécurité matériel, exécutez la commande suivante dans l'utilitaire Dedicated Key Management :

    deleteKey -k <key-handle>

    Pour plus d'informations, voir Suppression d'une clé :

Génération d'une demande de signature de certificat (CSR) avec Keytool

Utilisez l'indicateur -certreq pour générer une demande de signature de certificat à l'aide d'une clé du module de sécurité matériel. La commande est exécutée à l'aide de l'utilitaire keytool avec JCE.

Pour générer un CSR

Exécutez la commande suivante pour générer une demande de signature de certificat à l'aide d'une clé dans le module de sécurité matériel :

keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-certreq \
-alias <example-alias> \
-file <csr-file> \
-keyalg -keyalg <algorithm> -keysize <key-size> -sigalg <signature-algorithm> \
-dname <example-distinguished-name> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password> -storetype DKKS

Importation d'un certificat dans un magasin de clés

Utilisez l'indicateur -importcert pour importer un certificat dans le magasin de clés local. La commande est exécutée à l'aide de l'outil keytool avec JCE.

Pour importer un certificat dans un magasin de clés

Syntaxe de commande :

keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-importcert -noprompt \
-alias <example-alias> \
-file <crt-file> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password>

Importation d'un magasin de clés Java dans le module de sécurité matériel

Utilisez l'indicateur -importkeystore pour importer toutes les clés d'un magasin de clés dans le module de sécurité matériel. La commande est exécutée à l'aide de keytool avec JCE.

Pour importer le magasin de clés dans le module de sécurité matériel

Important :

  • Lorsque vous utilisez la commande keytool pour générer une paire de clés ou importer un magasin de clés existant, votre configuration de sécurité Java garantit qu'une clé publique et une clé privée sont générées dans la carte du module de sécurité matériel. Si vous utilisez le fichier java.security pour cette configuration, le fournisseur OCI Dedicated KMS doit être spécifié en tant que priorité 2 dans le fichier pour que les paires de clés soient générées dans le module de sécurité matériel.

    Sinon, dans le répertoire courant, créez un fichier Java Security Override File et ajoutez le fournisseur OCI Dedicated KMS à la deuxième position sous le nom security.provider.2. Lors de l'exécution d'une commande Keytool, utilisez l'option suivante pour spécifier le fichier Java Security Override :

    -J-Djava.security.properties=<java_security_override_file>

    Voir Ajouter le fournisseur JCE à la sécurité Java pour plus d'informations sur la configuration de la sécurité Java.

  • Si vous importez un magasin de clés contenant 2 clés ou plus dans le module de sécurité matériel, vous ne pouvez pas identifier le descripteur des clés à l'aide de la méthode décrite sous Identification du descripteur d'une nouvelle paire de clés ou d'une clé secrète dans le module de sécurité matériel et vous ne pouvez pas référencer les clés dans l'utilitaire de gestion des clés à l'aide d'un alias.

Syntaxe de commande :

keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-J-Djava.security.properties=<java_security_override_file> \
-importkeystore \
-srckeystore <example-source-keystore> - srcstoretype <example-source-keystore-type> -srcstorepass <example-source-keystore-password> \
-destkeystore <example-destination-keystore> -deststoretype DKKS - deststorepass <example-destination-keystore-password> \

Initialisation d'un magasin de clés

Si vous n'avez pas de magasin de clés initialisé vide, vous pouvez en créer un en effectuant les opérations suivantes :

  1. Le programme keytool ne peut pas créer un magasin de clés DKKS vide, mais vous pouvez utiliser keytool pour créer un magasin de clés dans le cadre d'une opération de génération de clés. Après avoir généré une clé avec keytool, vous pouvez supprimer la clé et le magasin de clés initialisé reste à votre disposition.

    Utilisez les instructions sous Générer une paire de clés et Identification du descripteur d'une nouvelle paire de clés ou d'une clé secrète dans le module de sécurité matériel pour générer une paire de clés qui peut être identifiée par un descripteur. Lorsque vous générez cette paire de clés, l'utilitaire keytool crée un magasin de clés initialisé que vous pouvez utiliser pour les opérations futures.

  2. Supprimez la paire de clés inutile du module de sécurité matériel à l'aide des instructions sous Suppression d'une clé.