Comandos de Keytool

Al utilizar los comandos keytool de este tema, asegúrese de utilizar los indicadores de comandos que se describen en Prerequisites for Keytool and Jarsigner.

Generar Par de Claves

Utilice el indicador -genkeypair para generar 1 clave privada y 1 clave pública en el HSM de DKMS mediante keytool con JCE. Esta operación también almacena la clave en el almacén de claves local.

Para generar un par de claves

Importante: Al utilizar el comando keytool para generar un par de claves o importar un almacén de claves existente, la configuración de seguridad de Java garantiza que se genere una clave pública y privada en la tarjeta HSM. Si utiliza el archivo java.security para esta configuración, el proveedor de KMS dedicado de OCI debe especificarse como prioridad 2 en el archivo para que se generen pares de claves en el HSM.

Como alternativa, en el directorio actual, cree un archivo de archivo de sustitución de seguridad de Java y agregue el proveedor de KMS dedicado de OCI en la segunda posición como security.provider.2. Al ejecutar un comando Keytool, utilice la siguiente opción para especificar el archivo de sustitución de seguridad de Java:

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

Consulte Adición del proveedor de JCE a la seguridad de Java para obtener más información sobre la configuración de la seguridad de Java.

Consejo

No se puede encontrar el par de claves generado mediante un alias en la utilidad de gestión de claves. De manera opcional, puede mostrar las claves antes y después de la generación de claves para identificar la nueva clave en el HSM. Esto le permite suprimir fácilmente la clave en el HSM si lo necesita. Antes de crear un par de claves, inicie sesión en el HSM y cree una lista de identificadores existentes. A continuación, cree una lista después de crear el par de claves para encontrar el identificador del nuevo par de claves. Consulte Identifying the Handle of a New Key Pair or Secret Key in the HSM para obtener instrucciones.

Sintaxis de comandos:

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>

Generar clave secreta

Utilice el indicador -genseckey en la utilidad de gestión de claves con JCE .para realizar esta operación. Esta operación genera 1 clave secreta en el HSM.

Para generar una clave secreta
Importante

La clave secreta no se puede encontrar mediante un alias en la utilidad de gestión de claves. Antes de crear una clave secreta, inicie sesión en el HSM y cree una lista de identificadores existentes. Puede utilizar esta lista después de crear el par de claves para buscar el identificador de la nueva clave secreta. Consulte Identifying the Handle of a New Key Pair or Secret Key in the HSM para obtener instrucciones.

Sintaxis de comandos:

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

Identificación del identificador de un nuevo par de claves o clave secreta en el HSM

No se pueden encontrar nuevos pares de claves o claves secretas creadas en el HSM mediante un alias en la utilidad de gestión de claves. Puede encontrar el identificador de un nuevo par de claves o clave secreta comparando una lista de todos los identificadores antes de que se genere un par de claves o una clave secreta con una segunda lista de todos los identificadores creados después de que se genere un par de claves o una clave secreta. La diferencia entre las dos listas muestra el identificador recién creado para el par de claves o la clave secreta.

Para identificar el identificador de la nueva clave
  1. Conéctese al HSM con la utilidad de gestión de claves.
  2. Ejecute el siguiente comando para buscar y guardar una lista de los identificadores existentes:

    findKey -c <key-type>

    Para <key-type>, los valores válidos son: 2 = público 3 = privado 4 = secreto. Consulte Finding a Single Key para obtener más información.

  3. Genere un par de claves o una clave secreta. Consulte Generación de par de claves y Generación de clave secreta para obtener instrucciones.
  4. Repita los pasos 1 y 2 y utilice el comando findKey -c 4 para buscar y guardar una lista de los identificadores en el HSM. La nueva lista incluye el identificador del par de claves o la clave secreta recién generados.
  5. Realice una operación diff en las dos listas para buscar un nuevo identificador.

Supresión de una clave

Utilice las instrucciones de la siguiente sección ampliable para suprimir claves del almacén de claves local y del HSM.

Para suprimir una clave
  1. Ejecute el siguiente comando keytool para suprimir la clave en el almacén de claves 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. Para suprimir una clave en el HSM, ejecute el siguiente comando en la utilidad Dedicated Key Management:

    deleteKey -k <key-handle>

    Consulte Supresión de una clave para obtener más información:

Generación de una solicitud de firma de certificado (CSR) con Keytool

Utilice el indicador -certreq para generar una solicitud de firma de certificado (CSR) mediante una clave en el HSM. El comando se ejecuta mediante la utilidad keytool con JCE.

Para generar una CSR

Ejecute el siguiente comando para generar una CSR con una clave en el 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

Importación de un certificado a un almacén de claves

Utilice el indicador -importcert para importar un certificado al almacén de claves local. El comando se ejecuta mediante la herramienta de claves con JCE.

Para importar un certificado a un almacén de claves

Sintaxis de comandos:

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>

Importación de un almacén de claves Java en el HSM

Utilice el indicador -importkeystore para importar todas las claves de un almacén de claves en el HSM. El comando se ejecuta mediante keytool con JCE.

Para importar el almacén de claves en el HSM

Importante:

  • Al utilizar el comando keytool para generar un par de claves o importar un almacén de claves existente, la configuración de seguridad de Java garantiza que se genere una clave pública y privada en la tarjeta HSM. Si utiliza el archivo java.security para esta configuración, el proveedor de KMS dedicado de OCI debe especificarse como prioridad 2 en el archivo para que se generen pares de claves en el HSM.

    Como alternativa, en el directorio actual, cree un archivo de archivo de sustitución de seguridad de Java y agregue el proveedor de KMS dedicado de OCI en la segunda posición como security.provider.2. Al ejecutar un comando Keytool, utilice la siguiente opción para especificar el archivo de sustitución de seguridad de Java:

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

    Consulte Adición del proveedor de JCE a la seguridad de Java para obtener más información sobre la configuración de la seguridad de Java.

  • Si importa un almacén de claves con 2 o más claves en el HSM, no puede identificar el identificador de las claves mediante el método descrito en Identifying the Handle of a New Key Pair or Secret Key in the HSM y no puede hacer referencia a las claves en la utilidad de gestión de claves mediante un alias.

Sintaxis de comandos:

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> \

Inicialización de un almacén de claves

Si no tiene un almacén de claves inicializado vacío, puede crear uno mediante las siguientes operaciones:

  1. El programa keytool no puede crear un almacén de claves DKKS vacío, pero puede usar keytool para crear un almacén de claves como parte de una operación de generación de claves. Después de generar una clave con keytool, puede suprimir la clave y el almacén de claves inicializado permanece disponible.

    Utilice las instrucciones de Generate Key Pair e Identifying the Handle of a New Key Pair or Secret Key in the HSM para generar un par de claves que pueda identificar un identificador. Al generar este par de claves, la utilidad keytool crea un almacén de claves inicializado que puede utilizar para operaciones futuras.

  2. Suprima el par de claves innecesario del HSM mediante las instrucciones de Deleting a Key.