Commandes Keytool

En savoir plus sur les commandes KeyTool pour le fournisseur JCE pour KMS dédié.

Lors de l'utilisation des commandes keytool dans cette rubrique, assurez-vous d'utiliser les indicateurs de commande décrits dans Prérequis 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 HSM DKMS à l'aide de keytool avec JCE. La clé est également stockée dans le fichier 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 fichier de clés existant, la configuration de sécurité Java garantit qu'une clé publique et une clé privée sont générées dans la carte HSM. Si vous utilisez le fichier java.security pour cette configuration, le fournisseur de KMS dédié OCI doit être indiqué en tant que priorité 2 dans le fichier pour que les paires de clés soient générées dans le HSM.

Vous pouvez également créer un fichier de remplacement de sécurité Java dans le répertoire en cours et ajouter le fournisseur OCI Dedicated KMS à la deuxième position en tant que security.provider.2. Lors de l'exécution d'une commande Keytool, utilisez l'option suivante pour spécifier le fichier de remplacement de sécurité Java :

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

Pour plus d'informations sur la configuration de la sécurité Java, reportez-vous à Ajout du fournisseur JCE à la sécurité Java.

Conseil

La paire de clés générée est introuvable à l'aide d'un alias dans l'utilitaire de gestion des clés. Vous pouvez éventuellement répertorier les clés avant et après la génération de clés pour identifier la nouvelle clé dans le module HSM. Cela vous permet de supprimer facilement la clé dans le module HSM si vous en avez besoin. Avant de créer une paire de clés, connectez-vous au module HSM et créez une liste de descripteurs existants. Créez ensuite une liste après avoir créé la paire de clés pour trouver le descripteur de la nouvelle paire de clés. Pour obtenir des instructions, reportez-vous à la section Identifying the Handle of a New Key Pair or Secret Key in the HSM.

Syntaxe des commandes :

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

Pour effectuer cette opération, utilisez l'indicateur -genseckey dans l'utilitaire de gestion des clés avec JCE . Cette opération génère 1 clé secrète dans le HSM.

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

La clé secrète est introuvable à l'aide d'un alias dans l'utilitaire de gestion des clés. Avant de créer une clé secrète, connectez-vous au module HSM et créez une liste de 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, reportez-vous à la section Identifying the Handle of a New Key Pair or Secret Key in the HSM.

Syntaxe des commandes :

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

Identification du gestionnaire d'une nouvelle paire de clés ou clé secrète dans le module HSM

Les nouvelles paires de clés ou clés secrètes créées dans le module HSM sont introuvables à l'aide d'un alias dans l'utilitaire de gestion des clés. Vous pouvez trouver le descripteur d'une nouvelle paire de clés ou 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 indique le descripteur 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 HSM à l'aide de l'utilitaire de gestion des clés.
  2. Exécutez la commande suivante pour rechercher et enregistrer la liste des descripteurs existants :

    findKey -c <key-type>
                                

    Pour <key-type>, les valeurs autorisées sont les suivantes : 2 = public 3 = private 4 = secret. Pour plus d'informations, reportez-vous à Recherche d'une clé unique.

  3. Générez une paire de clés ou une clé secrète. Pour obtenir des instructions, reportez-vous à Génération d'une paire de clés et à Génération d'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 descripteurs dans le module HSM. La nouvelle liste inclut le descripteur de la paire de clés ou de la clé secrète nouvellement générée.
  5. Effectuez une opération diff sur les deux listes pour trouver un nouveau descripteur.

Suppression d'une clé

Utilisez les instructions de la section extensible suivante pour supprimer des clés du keystore local et du HSM.

Procédure de suppression d'une clé
  1. Exécutez la commande keytool suivante pour supprimer la clé dans le fichier 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 HSM, exécutez la commande suivante dans l'utilitaire Dedicated Key Management :

    deleteKey -k <key-handle>
                                

    Pour plus d'informations, reportez-vous à 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 (CSR) à l'aide d'une clé dans le HSM. La commande est exécutée à l'aide de l'utilitaire keytool avec JCE.

Pour générer une CSR

Exécutez la commande suivante pour générer une CSR à l'aide d'une clé dans le HSM :

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

Import d'un certificat dans un fichier de clés

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

Pour importer un certificat dans un fichier de clés

Syntaxe des commandes :

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>
                    

Import d'un fichier de clés Java dans le module HSM

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

Pour importer le fichier de clés dans le module HSM

Important :

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

    Vous pouvez également créer un fichier de remplacement de sécurité Java dans le répertoire en cours et ajouter le fournisseur OCI Dedicated KMS à la deuxième position en tant que security.provider.2. Lors de l'exécution d'une commande Keytool, utilisez l'option suivante pour indiquer le fichier de remplacement de sécurité Java :

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

    Pour plus d'informations sur la configuration de la sécurité Java, reportez-vous à Ajout du fournisseur JCE à la sécurité Java.

  • Si vous importez un fichier de clés avec 2 clés ou plus dans le HSM, vous ne pouvez pas identifier le descripteur des clés à l'aide de la méthode décrite dans la section Identifying the Handle of a New Key Pair or Secret Key in the HSM 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 des commandes :

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 fichier de clés

Si vous ne disposez pas d'un fichier 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 fichier de clés DKKS vide, mais vous pouvez utiliser keytool pour créer un fichier de clés dans le cadre d'une opération de génération de clés. Une fois que vous avez généré une clé avec keytool, vous pouvez la supprimer et le fichier de clés initialisé reste à votre disposition.

    Utilisez les instructions des sections Generate Key Pair et Identifying the Handle of a New Key Pair or Secret Key in the HSM pour générer une paire de clés pouvant être identifiée par un descripteur. Lorsque vous générez cette paire de clés, l'utilitaire keytool crée un fichier de clés initialisé que vous pouvez utiliser pour les opérations futures.

  2. Supprimez la paire de clés inutile du module HSM en suivant les instructions de la section Deleting a Key.