

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Referencia para los comandos de la utilidad de administración de AWS CloudHSM claves
<a name="key_mgmt_util-reference"></a>

La herramienta de línea de comandos **key\$1mgmt\$1util** le ayuda a administrar las claves de los módulos de seguridad de hardware (HSM) del AWS CloudHSM clúster, lo que incluye crear, eliminar y buscar las claves y sus atributos. Contiene varios comandos, cada uno de los cuales se describe en detalle en este tema.

Para un inicio rápido, consulte [Cómo empezar con AWS CloudHSM key\$1mgmt\$1util](key_mgmt_util-getting-started.md). Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md). Para obtener información sobre la herramienta de línea de comandos cloudhsm\$1mgmt\$1util que contiene los comandos necesarios para administrar el HSM y los usuarios del clúster, consulte [AWS CloudHSM Utilidad de administración (CMU)](cloudhsm_mgmt_util.md). 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

Para ver una lista de todos los comandos key\$1mgmt\$1util, escriba:

```
Command: help
```

Para obtener ayuda sobre un comando de key\$1mgmt\$1util específico, escriba:

```
Command: <command-name> -h
```

Para finalizar la sesión de key\$1mgmt\$1util, escriba:

```
Command: exit
```

En los temas siguientes, se describen los comandos de key\$1mgmt\$1util.

**nota**  
Algunos comandos de key\$1mgmt\$1util y cloudhsm\$1mgmt\$1util tienen el mismo nombre. Sin embargo, los comandos suelen tener una sintaxis diferente, un resultado diferente y una funcionalidad ligeramente diferente.


| Comando | Description (Descripción) | 
| --- | --- | 
|  [aesWrapUnwrap](key_mgmt_util-aesWrapUnwrap.md) | Cifra y descifra el contenido de una clave de un archivo. | 
| [deleteKey](key_mgmt_util-deleteKey.md) |  HSMsElimina una clave del. | 
| [Error2String](key_mgmt_util-Error2String.md) | Obtiene el error que corresponde al código de error hexadecimal key\$1mgmt\$1util. | 
| [exit](key_mgmt_util-exit.md) | Sale de key\$1mgmt\$1util. | 
| [exportPrivateKey](key_mgmt_util-exportPrivateKey.md) | Exporta una copia de una clave privada de un HSM a un archivo del disco. | 
| [exportPubKey](key_mgmt_util-exportPubKey.md) | Exporta una copia de una clave pública de un HSM a un archivo. | 
| [exSymKey](key_mgmt_util-exSymKey.md) | Exporta una copia en texto plano de una clave simétrica de HSMs un archivo. | 
| [extractMaskedObject](key_mgmt_util-extractMaskedObject.md) | Extrae una clave de un HSM como un archivo de objeto enmascarado. | 
| [findKey](key_mgmt_util-findKey.md) | Busca claves en función de un valor de atributo de clave. | 
| [findSingleKey](key_mgmt_util-findSingleKey.md) |  Comprueba que existe una clave en todos los componentes del clúster HSMs . | 
| [Par de genes DSAKey](key_mgmt_util-genDSAKeyPair.md) |  Genera un par de claves del [algoritmo de firma digital](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm) (DSA) en su HSMs. | 
| [Par de genes ECCKey](key_mgmt_util-genECCKeyPair.md) |  Genera un par de claves de [criptografía de curva elíptica](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography) (ECC) en su. HSMs | 
| [Par de genes RSAKey](key_mgmt_util-genRSAKeyPair.md) |  Genera un key pair asimétrico [RSA](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) en su. HSMs | 
| [genSymKey](key_mgmt_util-genSymKey.md) |  Genera una clave simétrica en su HSMs | 
| [getAttribute](key_mgmt_util-getAttribute.md) |  Obtiene los valores de los atributos de una clave de AWS CloudHSM y los escribe en un archivo. | 
| [getCaviumPrivClave](key_mgmt_util-getCaviumPrivKey.md) |  Crea una versión en formato PEM falso de una clave privada y la exporta a un archivo.  | 
| [getCert](key_mgmt_util-getCert.md) |  Recupera los certificados de las particiones de un HSM y los guarda en un archivo.  | 
| [getKeyInfo](key_mgmt_util-getKeyInfo.md) |  Obtiene el usuario HSM IDs de los usuarios que pueden usar la clave.  Si la clave se controla mediante cuórum, obtiene el número de usuarios del cuórum. | 
| [help](key_mgmt_util-help.md) |  Muestra información de ayuda para los comandos disponibles en key\$1mgmt\$1util.  | 
| [importPrivateKey](key_mgmt_util-importPrivateKey.md) | Importa una clave privada en un HSM. | 
| [importPubKey](key_mgmt_util-importPubKey.md) | Importa una clave pública en un HSM. | 
| [imSymKey](key_mgmt_util-imSymKey.md) |  Importa una copia de texto no cifrado de una clave simétrica desde un archivo a los HSM.  | 
| [insertMaskedObject](key_mgmt_util-insertMaskedObject.md) | Inserta un objeto enmascarado desde un archivo en disco a un HSM perteneciente al clúster relacionado con el clúster de origen del objeto. Un clúster relacionado es cualquier clúster [generado a partir de una copia de seguridad del clúster de origen](create-cluster-from-backup.md). | 
| [Validar el archivo clave mediante AWS CloudHSM KMU](key_mgmt_util-IsValidKeyHandlefile.md) | Determina si un archivo determinado contiene una clave privada real o una clave PEM de ejemplo. | 
| [listAttributes](key_mgmt_util-listAttributes.md) |  Muestra los atributos de una AWS CloudHSM clave y las constantes que los representan. | 
| [listUsers](key_mgmt_util-listUsers.md) |  Obtiene los usuarios de HSMs, su tipo de usuario y su identificador, así como otros atributos.  | 
| [loginHSM y logoutHSM](key_mgmt_util-loginHSM.md) |  Iniciar y cerrar sesión HSMs en un clúster.  | 
| [setAttribute](key_mgmt_util-setAttribute.md) | Convierte una clave de sesión en una clave persistente. | 
| [sign](key_mgmt_util-sign.md) | Genera una firma para un archivo utilizando la clave privada elegida. | 
| [unWrapKey](key_mgmt_util-unwrapKey.md) |  Importa una clave empaquetada (cifrada) de un archivo al HSMs. | 
| [verify](key_mgmt_util-verify.md) | Verifica si se utilizó una clave determinada para firmar un archivo concreto. | 
| [wrapKey](key_mgmt_util-wrapKey.md) |  Exporta una copia cifrada de una clave desde el HSM a un archivo.  | 

# Cifrar y descifrar un AWS CloudHSM archivo con KMU
<a name="key_mgmt_util-aesWrapUnwrap"></a>

Use el **aesWrapUnwrap** comando de AWS CloudHSM key\$1mgmt\$1util para cifrar o descifrar el contenido de un archivo del disco. Este comando está diseñado para encapsular y desencapsular claves de cifrado, pero se puede utilizar en cualquier archivo que contenga menos de 4 KB (4096 bytes) de datos.

**aesWrapUnwrap** utiliza el encapsulado de claves AES con relleno PKCS \$15. Emplea una clave AES en el HSM como clave de encapsulamiento o desencapsulamiento. A continuación escribe el resultado en otro archivo en el disco. 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="aesWrapUnwrap-syntax"></a>

```
aesWrapUnwrap -h

aesWrapUnwrap -m <wrap-unwrap mode>
              -f <file-to-wrap-unwrap> 
              -w <wrapping-key-handle>               
              [-i <wrapping-IV>] 
              [-out <output-file>]
```

## Ejemplos
<a name="aesWrapUnwrap-examples"></a>

En estos ejemplos, se muestra cómo se utiliza **aesWrapUnwrap** para cifrar y descifrar una clave de cifrado en un archivo. 

**Example : encapsulamiento de una clave de cifrado**  
Este comando utiliza **aesWrapUnwrap** para encapsular una clave simétrica triple DES que se ha [exportado desde el HSM sin cifrar](key_mgmt_util-exSymKey.md) hasta el archivo `3DES.key`. Puede utilizar un comando similar para encapsular toda clave que esté guardada en un archivo.   
El comando utiliza el parámetro `-m` con un valor de `1` para indicar el modo de encapsulamiento. Utiliza el parámetro `-w` para especificar una clave AES en el HSM (indicador de clave `6`) como clave de encapsulamiento. Escribe la clave encapsulada obtenida en el archivo `3DES.key.wrapped`.  
La salida muestra que el comando se ha ejecutado correctamente y que la operación ha utilizado el IV predeterminado, que es el preferido.  

```
 Command:  aesWrapUnwrap -f 3DES.key -w 6 -m 1 -out 3DES.key.wrapped

        Warning: IV (-i) is missing.
                 0xA6A6A6A6A6A6A6A6 is considered as default IV
result data:
49 49 E2 D0 11 C1 97 22
17 43 BD E3 4E F4 12 75
8D C1 34 CF 26 10 3A 8D
6D 0A 7B D5 D3 E8 4D C2
79 09 08 61 94 68 51 B7

result written to file 3DES.key.wrapped

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS
```

**Example : desencapsulamiento de una clave de cifrado**  
En este ejemplo, se muestra cómo se utiliza **aesWrapUnwrap** para desencapsular (descifrar) una clave encapsulada (cifrada) en un archivo. Puede que le interese realizar una operación de este tipo antes de importar una clave al HSM. Por ejemplo, si intenta utilizar el [imSymKey](key_mgmt_util-imSymKey.md)comando para importar una clave cifrada, devuelve un error porque la clave cifrada no tiene el formato necesario para una clave de texto sin formato de ese tipo.  
El comando desencapsula la clave del archivo `3DES.key.wrapped` y escribe el texto sin cifrar en el archivo `3DES.key.unwrapped`. El comando utiliza el parámetro `-m` con un valor de `0` para indicar el modo de desencapsulamiento. Utiliza el parámetro `-w` para especificar una clave AES en el HSM (indicador de clave `6`) como clave de encapsulamiento. Escribe la clave encapsulada obtenida en el archivo `3DES.key.unwrapped`.   

```
 Command:  aesWrapUnwrap -m 0 -f 3DES.key.wrapped -w 6 -out 3DES.key.unwrapped

        Warning: IV (-i) is missing.
                 0xA6A6A6A6A6A6A6A6 is considered as default IV
result data:
14 90 D7 AD D6 E4 F5 FA
A1 95 6F 24 89 79 F3 EE
37 21 E6 54 1F 3B 8D 62

result written to file 3DES.key.unwrapped

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="aesWrapUnwrap-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-m**  
Especifica el modo. Para encapsular (cifrar) el contenido del archivo, escriba `1`; para desencapsular (descifrar) el contenido del archivo, escriba `0`.  
Obligatorio: sí

**-f**  
Especifica el archivo que se va a encapsular. Especifique un archivo que contenga menos de 4 KB (4096 bytes) de datos. Esta operación está diseñada para encapsular y desencapsular claves de cifrado.  
Obligatorio: sí

**-w**  
Especifica la clave de encapsulamiento. Introduzca el identificador de clave de una clave AES en el HSM. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Para crear una clave de empaquetado, utilice [genSymKey](key_mgmt_util-genSymKey.md)para generar una clave AES (tipo 31).  
Obligatorio: sí

**-i**  
Especifica un valor inicial alternativo (IV) para el algoritmo. Utilice el valor predeterminado a menos que tenga una condición especial que requiera una alternativa.  
Predeterminado: `0xA6A6A6A6A6A6A6A6`. El valor predeterminado se define en la especificación de algoritmo de [encapsulamiento de claves AES](https://tools.ietf.org/html/rfc3394).  
Obligatorio: no

**-out**  
Especifica un nombre alternativo para el archivo de salida que contiene la clave encapsulada o desencapsulada. El valor predeterminado es `wrapped_key` (para operaciones de encapsulamiento) y `unwrapped_key` (para operaciones de desencapsulamiento) en el directorio local.  
Si el archivo existe, el comando **aesWrapUnwrap** lo sobrescribe sin ningún tipo de advertencia. Si se produce un error en el comando, **aesWrapUnwrap** crea un archivo de salida sin contenido.  
Valor predeterminado: para el encapsulamiento: `wrapped_key`. Para el desencapsulamiento: `unwrapped_key`.  
Obligatorio: no

## Temas relacionados
<a name="aesWrapUnwrap-seealso"></a>
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)
+ [wrapKey](key_mgmt_util-wrapKey.md)

# Eliminar una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-deleteKey"></a>

Use el **deleteKey** comando del AWS CloudHSM key\$1mgmt\$1util para eliminar una clave del módulo de seguridad de hardware (HSM) de un clúster. AWS CloudHSM Solo puede eliminar las claves de una en una. La eliminación de una clave de un par de claves no influye en la otra clave del par.

Solo el propietario de la clave puede eliminar una clave. Los usuarios que comparten la clave pueden utilizarla en operaciones criptográficas, pero no eliminarla. 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="deleteKey-syntax"></a>

```
deleteKey -h 

deleteKey -k
```

## Ejemplos
<a name="deleteKey-examples"></a>

Estos ejemplos muestran cómo se utilizan para eliminar claves de su. **deleteKey** HSMs

**Example : eliminación de una clave**  
Este comando elimina la clave que tiene el identificador de clave `6`. Cuando el comando se ejecuta correctamente, **deleteKey** devuelve mensajes de éxito desde cada HSM del clúster.  

```
Command: deleteKey -k 6

        Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : eliminación de una clave (error)**  
Cuando se produce un error en el comando porque ninguna clave tiene el identificador de clave especificado, **deleteKey** devuelve un mensaje de error de identificador de objeto no válido.  

```
Command: deleteKey -k 252126

        Cfm3FindKey returned: 0xa8 : HSM Error: Invalid object handle is passed to this operation

        Cluster Error Status
        Node id 1 and err state 0x000000a8 : HSM Error: Invalid object handle is passed to this operation
        Node id 2 and err state 0x000000a8 : HSM Error: Invalid object handle is passed to this operation
```
Cuando el comando genera un error porque el usuario actual no es el propietario de la clave, el comando devuelve un error de acceso denegado.  

```
Command:  deleteKey -k 262152

Cfm3DeleteKey returned: 0xc6 : HSM Error: Key Access is denied.
```

## Parameters
<a name="deleteKey-parameters"></a>

**-h**  
Muestra la ayuda de la línea de comando para el comando.   
Obligatorio: sí

**-k**  
Especifica el identificador de la clave que se va a eliminar. Para encontrar los identificadores de clave de las claves del HSM, utilice [findKey](key_mgmt_util-findKey.md).  
Obligatorio: sí

## Temas relacionados
<a name="deleteKey-seealso"></a>
+ [findKey](key_mgmt_util-findKey.md)

# Describa un AWS CloudHSM error con la KMU
<a name="key_mgmt_util-Error2String"></a>

Utilice el comando **Error2String** helper de key\$1mgmt\$1util para devolver el error que corresponde a un código de error hexadecimal de AWS CloudHSM key\$1mgmt\$1util. Puede utilizar este comando cuando esté solucionando problemas de los comandos y los scripts.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="Error2String-syntax"></a>

```
Error2String -h

Error2String -r <response-code>
```

## Ejemplos
<a name="Error2String-examples"></a>

En estos ejemplos, se muestra cómo utilizar **Error2String** para obtener la cadena de error de un código de error de key\$1mgmt\$1util. 

**Example : obtención de una descripción del error**  
Este comando obtiene la descripción del error del código de error `0xdb`. En la descripción, se explica que un intento de iniciar sesión en key\$1mgmt\$1util generó un error porque el usuario no era del tipo adecuado. Solo los usuarios de criptografía (CU) pueden iniciar sesión en key\$1mgmt\$1util.  

```
        Command:  Error2String -r 0xdb
        
        Error Code db maps to HSM Error: Invalid User Type.
```

**Example : búsqueda del código de error**  
En este ejemplo, se muestra dónde se puede encontrar el código de error de key\$1mgmt\$1util. El código de error, `0xc6`, se muestra después de la cadena: `Cfm3<command-name> returned: `.  
En este ejemplo, [getKeyInfo](key_mgmt_util-getKeyInfo.md)indica que el usuario actual (usuario 4) puede utilizar la clave en operaciones criptográficas. Sin embargo, cuando el usuario intenta utilizar [deleteKey](key_mgmt_util-deleteKey.md) para eliminar la clave, el comando devuelve el código de error `0xc6`.   

```
        Command:  deleteKey -k 262162

        Cfm3DeleteKey returned: <0xc6> : HSM Error: Key Access is denied

        Cluster Error Status

        Command:  getKeyInfo -k 262162
        
        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 1 user(s):

                4
```
Si se le notifica el error `0xc6`, puede utilizar un comando **Error2String** como este para buscar el error. En este caso el comando `deleteKey` ha generado un error de acceso denegado porque la clave se comparte con el usuario actual, pero es propiedad de otro usuario. Solo los propietarios de la clave tienen permiso para eliminarla.  

```
        Command:  Error2String -r 0xa8
        
        Error Code c6 maps to HSM Error: Key Access is denied
```

## Parameters
<a name="Error2String-parameters"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-r**  
Especifica un código de error hexadecimal. El indicador `0x` hexadecimal es obligatorio.  
Obligatorio: sí

# Salga de la AWS CloudHSM KMU
<a name="key_mgmt_util-exit"></a>

Utilice el **exit** comando de la AWS CloudHSM key\$1mgmt\$1util para salir de la key\$1mgmt\$1util. Después de salir correctamente, volverá a la línea de comandos estándar.

Para poder ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start).

## Sintaxis
<a name="exit-syntax"></a>

```
exit
```

## Parameters
<a name="exit-parameters"></a>

Este comando no tiene parámetros.

## Temas relacionados
<a name="exit-seealso"></a>
+ [Iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start)

# Exportación de una AWS CloudHSM clave privada mediante KMU
<a name="key_mgmt_util-exportPrivateKey"></a>

Utilice el **exportPrivateKey** comando del AWS CloudHSM key\$1mgmt\$1util para exportar una clave privada asimétrica de un módulo de seguridad de hardware (HSM) a un archivo. El HSM no permite la exportación directa de claves en texto sin cifrar. El comando encapsula la clave privada con una clave de encapsulamiento AES que usted especifique, descifra los bytes encapsulados y copia la clave privada de texto sin cifrar en un archivo.

El comando **exportPrivateKey** no elimina la clave del HSM, no cambia sus [atributos de clave](key-attribute-table.md) ni le impide a usted utilizar la clave en operaciones criptográficas posteriores. Puede exportar la misma clave varias veces.

Solo puede exportar claves privadas que tengan un atributo `OBJ_ATTR_EXTRACTABLE` con valor `1`. Debe especificar una clave de encapsulamiento AES que tenga los atributos `OBJ_ATTR_WRAP` y `OBJ_ATTR_DECRYPT` con valor `1`. Para buscar los atributos de una clave, utilice el comando [**getAttribute**](key_mgmt_util-getAttribute.md).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="exportPrivateKey-syntax"></a>

```
exportPrivateKey -h

exportPrivateKey -k <private-key-handle>
                 -w <wrapping-key-handle>
                 -out <key-file>
                 [-m <wrapping-mechanism>]
                 [-wk <wrapping-key-file>]
```

## Ejemplos
<a name="exportPrivateKey-examples"></a>

Este ejemplo muestra cómo utilizar **exportPrivateKey** para exportar una clave privada de un HSM.

**Example : exportación de una clave privada**  
Este comando exporta la clave privada con el identificador `15` utilizando una clave de encapsulación con el identificador `16` a un archivo PEM denominado `exportKey.pem`. Cuando el comando se ejecuta correctamente, **exportPrivateKey** devuelve un mensaje de confirmación.  

```
Command: exportPrivateKey -k 15 -w 16 -out exportKey.pem

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

PEM formatted private key is written to exportKey.pem
```

## Parameters
<a name="exportPrivateKey-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-k`**  
Especifica el identificador de clave de la clave privada que se va a exportar.  
Obligatorio: sí

**`-w`**  
Especifica el identificador de la clave de encapsulamiento. Este parámetro es obligatorio. Para buscar identificadores de clave, utilice el comando [**findKey**](key_mgmt_util-findKey.md).  
Para determinar si una clave se puede utilizar como clave de encapsulación, utilice [**getAttribute**](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_WRAP` (262). Para crear una clave de encapsulación, utilice [**genSymKey**](key_mgmt_util-genSymKey.md) para crear una clave AES (de tipo 31).  
Si utiliza el parámetro `-wk` para especificar una clave de desencapsulación externa, la clave de encapsulación `-w` se utiliza para encapsular, pero no para desencapsular, la clave durante la exportación.  
Obligatorio: sí

**`-out`**  
Especifica el nombre del archivo en el que se escribirá la clave privada exportada.  
Obligatorio: sí

**`-m`**  
Especifica el mecanismo de encapsulación que se aplicará a la clave privada que se va a exportar. El único valor válido es `4`, que representa el mecanismo `NIST_AES_WRAP mechanism.`  
Valor predeterminado: 4 (`NIST_AES_WRAP`)  
Obligatorio: no

**`-wk`**  
Especifica la clave que se utilizará para desencapsular la clave que se está exportando. Escriba la ruta y el nombre de un archivo que contenga una clave AES sin cifrar.  
Si se incluye este parámetro, **exportPrivateKey** utiliza la clave del archivo especificado en el parámetro `-w` para encapsular la clave que se va a exportar y utiliza la clave especificada con el parámetro `-wk` para desencapsularla.  
Valor predeterminado: utilizar la clave de encapsulación especificada en el parámetro `-w` para encapsular y desencapsular.  
Obligatorio: no

## Temas relacionados
<a name="exportPrivateKey-seealso"></a>
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)

# Exportación de una AWS CloudHSM clave pública mediante KMU
<a name="key_mgmt_util-exportPubKey"></a>

Utilice el **exportPubKey** comando del AWS CloudHSM key\$1mgmt\$1util para exportar una clave pública de un HSM a un archivo. Puede utilizarlo para exportar las claves públicas que genere en un HSM. También puede utilizar este comando para exportar las claves públicas que se importaron en un HSM, como las que se importaron con el comando **[**importPubKey**](key_mgmt_util-importPubKey.md)**.

El comando **exportPubKey** copia el material de claves en el archivo que se especifique. Sin embargo, no elimina la clave del HSM, no cambia sus [atributos de clave](key-attribute-table.md) ni le impide a usted utilizar la clave en operaciones criptográficas posteriores. Puede exportar la misma clave varias veces.

Solo puede exportar las claves públicas cuyo valor de `OBJ_ATTR_EXTRACTABLE` es `1`. Para buscar los atributos de una clave, utilice el comando **[getAttribute](key_mgmt_util-getAttribute.md)**.

Antes de ejecutar cualquier comando de `key_mgmt_util`, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [iniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="exportPubKey-syntax"></a>

```
exportPubKey -h

exportPubKey -k <public-key-handle>
             -out <key-file>
```

## Ejemplos
<a name="exportPubKey-examples"></a>

Este ejemplo muestra cómo utilizar **exportPubKey** para exportar una clave pública de un HSM.

**Example : exportar una clave pública.**  
Este comando exporta una clave pública con el identificador `10` a un archivo denominado `public.pem`. Cuando el comando se ejecuta correctamente, **exportPubKey** devuelve un mensaje de confirmación.  

```
Command: exportPubKey -k 10 -out public.pem

PEM formatted public key is written to public.pem

Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="exportPubKey-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-k`**  
Especifica el identificador de clave de la clave pública que se va a exportar.  
Obligatorio: sí

**`-out`**  
Especifica el nombre del archivo en el que se escribirá la clave pública exportada.  
Obligatorio: sí

## Temas relacionados
<a name="exportPubKey-seealso"></a>
+ [importPubKey](key_mgmt_util-importPubKey.md)
+ [Generar claves](generate-keys.md)

# Exportación de una copia en texto plano de una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-exSymKey"></a>

Utilice el **exSymKey** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para exportar una copia en texto plano de una clave simétrica del módulo de seguridad de hardware (HSM) y guardarla en un archivo en el disco. Para exportar una copia cifrada (encapsulada) de una clave, utilice [wrapKey](key_mgmt_util-wrapKey.md). Para importar una clave de texto sin formato, como las que se exportan, utilice. `exSymKey` [imSymKey](key_mgmt_util-imSymKey.md)

Durante el proceso de exportación, **exSymKey** utiliza una clave AES que se especifica (la *clave de encapsulado*) para *encapsular* (cifrar) y luego *desencapsular* (descifrar) la clave que se va a exportar. Sin embargo, el resultado de la operación de exportación es una clave sin cifrar (*desencapsulada*) en el disco.

Solo el propietario de una clave, es decir, el usuario CU que creó la clave, puede exportarla. Los usuarios que comparten la clave pueden utilizarla en operaciones criptográficas, pero no pueden exportarla.

La operación **exSymKey** copia el material de la clave en el archivo especificado, pero no elimina la clave del HSM, ni cambia sus [atributos de clave](key-attribute-table.md), ni le impide utilizar la clave en operaciones criptográficas. Puede exportar la misma clave varias veces.

**exSymKey** exporta únicamente claves simétricas. Para exportar claves públicas, utilice [exportPubKey](key_mgmt_util-exportPubKey.md). Para exportar claves privadas, utilice [exportPrivateKey](key_mgmt_util-exportPrivateKey.md).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="exSymKey-syntax"></a>

```
exSymKey -h

exSymKey -k <key-to-export>
         -w <wrapping-key>
         -out <key-file>
         [-m 4] 
         [-wk <unwrapping-key-file> ]
```

## Ejemplos
<a name="exSymKey-examples"></a>

Estos ejemplos muestran cómo se utilizan **exSymKey** para exportar claves simétricas que son de su propiedad. HSMs

**Example : exportación de una clave simétrica 3DES**  
Este comando exporta una clave simétrica Triple DES (3DES) (identificador de clave `7`). Utiliza una clave AES ya existente (identificador de clave `6`) del HSM como clave de encapsulación. A continuación, escribe el texto no cifrado de la clave 3DES en el archivo `3DES.key`.  
La salida muestra que la clave `7` (la clave 3DES) se ha encapsulado y desencapsulado correctamente y que, a continuación, se ha escrito en el archivo `3DES.key`.  
Aunque la salida indica que se ha escrito una "Wrapped Symmetric Key" (clave simétrica encapsulada) en el archivo de salida, este contiene una clave no cifrada (desencapsulada).

```
        Command: exSymKey -k 7 -w 6 -out 3DES.key

       Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS


Wrapped Symmetric Key written to file "3DES.key"
```

**Example : cómo exportar con una clave de encapsulación solo para la sesión**  
En este ejemplo se muestra cómo utilizar una clave que solo existe en la sesión como clave de encapsulación. Dado que la clave para la exportación se encapsula, se desencapsula inmediatamente y se entrega sin cifrar, no es necesario conservar la clave de encapsulación.  
Esta serie de comandos exporta una clave AES con el identificador de clave `8` del HSM. Utiliza una clave de sesión AES creada especialmente para este fin.  
El primer comando se utiliza [genSymKey](key_mgmt_util-genSymKey.md)para crear una clave AES de 256 bits. Utiliza el parámetro `-sess` para crear una clave que solo existe en la sesión actual.  
La salida muestra que el HSM crea la clave `262168`.  

```
        Command:  genSymKey -t 31 -s 32 -l AES-wrapping-key -sess

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 262168

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```
A continuación, el ejemplo comprueba que la clave `8`, es decir, la clave que se va a exportar, sea una clave simétrica que se puede extraer. También comprueba que la clave de encapsulación, clave `262168`, sea una clave AES que solo exista en la sesión. Puede ejecutar el comando [findKey](key_mgmt_util-findKey.md), pero este ejemplo exporta los atributos de ambas claves a archivos y, a continuación, utiliza `grep` para encontrar los valores de atributos pertinentes en el archivo.  
Estos comandos utilizan `getAttribute` con un valor `-a` de `512` (todos) para obtener todos los atributos de las claves `8` y `262168`. Para obtener información sobre los atributos de las claves, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  

```
getAttribute -o 8 -a 512 -out attributes/attr_8
getAttribute -o 262168 -a 512 -out attributes/attr_262168
```
Estos comandos ejecutan `grep` para verificar los atributos de la clave que se va a exportar (clave `8`) y la clave de encapsulación solo para la sesión (clave `262168`).  

```
    // Verify that the key to be exported is a symmetric key.
    $  grep -A 1 "OBJ_ATTR_CLASS" attributes/attr_8    
    OBJ_ATTR_CLASS
    0x04
   
    // Verify that the key to be exported is extractable.
    $  grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_8
    OBJ_ATTR_EXTRACTABLE
    0x00000001

    // Verify that the wrapping key is an AES key
    $  grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_262168
    OBJ_ATTR_KEY_TYPE
    0x1f

    // Verify that the wrapping key is a session key
    $  grep -A 1 "OBJ_ATTR_TOKEN" attributes/attr_262168
    OBJ_ATTR_TOKEN
    0x00    
    
    // Verify that the wrapping key can be used for wrapping
     $  grep -A 1 "OBJ_ATTR_WRAP" attributes/attr_262168
    OBJ_ATTR_WRAP
    0x00000001
```
Por último, utilizamos un comando **exSymKey** para exportar una clave `8` utilizando la clave de sesión (clave `262168`) como clave de encapsulado.  
Cuando finaliza la sesión, la clave `262168` ya no existe.  

```
        Command:  exSymKey -k 8 -w 262168 -out aes256_H8.key

        Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS


Wrapped Symmetric Key written to file "aes256_H8.key"
```

**Example : utilización de una clave de desencapsulación externa**  
En este ejemplo se muestra cómo utilizar una clave de desencapsulación externa para exportar una clave desde el HSM.  
Cuando exporta una clave desde el HSM, usted especifica una clave AES en el HSM para que sea la clave de encapsulación. De forma predeterminada, esa clave de encapsulación se usa para encapsular y desencapsular la clave que se va a exportar. Sin embargo, puede utilizar el parámetro `-wk` para indicar a **exSymKey** que utilice una clave externa de un archivo del disco para desencapsularla. Si lo hace, la clave especificada por el parámetro `-w` encapsula la clave de destino y la clave del archivo especificado por el parámetro `-wk` desencapsula la clave.   
Dado que la clave de encapsulación tiene que ser una clave AES, que es simétrica, la clave de encapsulación del HSM y la clave de desencapsulación del disco han de tener el mismo material de clave. Para ello, debe importar la clave de encapsulación al HSM o exportarla desde el HSM antes de la operación de exportación.   
En este ejemplo se crea una clave fuera del HSM y se importa al HSM. Se utiliza la copia interna de la clave para encapsular una clave simétrica que se exporta y la copia de clave del archivo para desencapsularla.  
El primer comando utiliza OpenSSL para generar una clave AES de 256 bits. Guarda la clave en el archivo `aes256-forImport.key`. El comando OpenSSL no devuelve una salida, pero puede utilizar varios comandos para confirmar que todo se ha realizado correctamente. En este ejemplo, se utiliza la herramienta **wc** (recuento de palabras), que confirma que el archivo contiene 32 bytes de datos.  

```
$  openssl rand -out keys/aes256-forImport.key 32

$ wc keys/aes256-forImport.key
 0  2 32 keys/aes256-forImport.key
```
Este comando utiliza el comando [imSymKey](key_mgmt_util-imSymKey.md) para importar la clave AES desde el archivo `aes256-forImport.key` al HSM. Cuando se completa el comando, la clave existe en el HSM con el identificador de clave `262167` y en el archivo `aes256-forImport.key`.  

```
Command:  imSymKey -f keys/aes256-forImport.key -t 31 -l aes256-imported -w 6

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 262167

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Este comando utiliza la clave en una operación de exportación. El comando utiliza **exSymKey** para exportar la clave `21`, una clave AES de 192 bits. Para encapsular la clave utiliza la clave `262167`, que es la copia que se importó en el HSM. Para desencapsular la clave, utiliza el mismo material de clave en el archivo `aes256-forImport.key`. Cuando se completa el comando, la clave `21` se exporta al archivo `aes192_h21.key`.  

```
        Command:  exSymKey -k 21 -w 262167 -out aes192_H21.key -wk aes256-forImport.key

        Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "aes192_H21.key"
```

## Parameters
<a name="exSymKey-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-k**  
Especifica el identificador de la clave que se va a exportar. Este parámetro es obligatorio. Escriba el identificador de una clave simétrica de su propiedad. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Para verificar que se puede exportar una clave, ejecute el comando [getAttribute](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_EXTRACTABLE`, que se representa con la constante `354`. Además, puede exportar únicamente claves de su propiedad. Para encontrar el propietario de una clave, usa el [getKeyInfo](key_mgmt_util-getKeyInfo.md)comando.  
Obligatorio: sí

**-w**  
Especifica el identificador de la clave de encapsulamiento. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Una *clave de encapsulación* es una clave del HSM que se utiliza para cifrar (encapsular) y después descifrar (desencapsular) la clave que se va a exportar. Solo las claves AES se pueden utilizar como claves de encapsulación.  
Puede utilizar cualquier clave AES (de cualquier tamaño) como clave de encapsulación. Dado que la clave de encapsulación encapsula y, a continuación, desencapsula inmediatamente la clave de destino, puede utilizar una clave AES solo de una sesión como clave de encapsulación. Para determinar si una clave se puede utilizar como clave de encapsulación, utilice [getAttribute](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_WRAP`, que se representa con la constante `262`. Para crear una clave de encapsulación, utilice [genSymKey](key_mgmt_util-genSymKey.md) para crear una clave AES (de tipo 31).  
Si utiliza el parámetro `-wk` para especificar una clave de desencapsulación externa, la clave de encapsulación `-w` se utiliza para encapsular, pero no desencapsular, la clave durante la exportación.  
La clave 4 representa una clave interna incompatible. Le recomendamos que use una clave AES que cree y administre como clave de encapsulamiento.
Obligatorio: sí

**-out**  
Especifica la ruta y el nombre del archivo de salida. Cuando el comando se ejecuta correctamente, este archivo contiene la clave exportada sin cifrar. Si el archivo ya existe, el comando lo sobrescribe sin ningún tipo de advertencia.  
Obligatorio: sí

**-m**  
Especifica el mecanismo de encapsulación. El único valor válido es `4`, que representa el mecanismo `NIST_AES_WRAP`.  
Obligatorio: no  
Predeterminado: 4

**-wk**  
Utilice la clave AES del archivo especificado para desencapsular la clave que se exporta. Escriba la ruta y el nombre de un archivo que contenga una clave AES sin cifrar.   
Si se incluye este parámetro, `exSymKey` utiliza la clave del HSM que se especificó en el parámetro `-w` para encapsular la clave que se va a exportar y utiliza la clave del archivo `-wk` para desencapsularla. Los valores de parámetro `-w` y `-wk` deben resolverse en la misma clave sin cifrar.  
Obligatorio: no  
Valor predeterminado: utilice la clave de encapsulación del HSM para realizar la desencapsulación.

## Temas relacionados
<a name="exSymKey-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)
+ [wrapKey](key_mgmt_util-wrapKey.md)

# Extraer una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-extractMaskedObject"></a>

Utilice el **extractMaskedObject** comando del AWS CloudHSM key\$1mgmt\$1util para extraer una clave de un módulo de seguridad de hardware (HSM) y guardarla en un archivo como un objeto enmascarado. Los objetos enmascarados son objetos *clonados* que solo se pueden utilizar después volver a insertarlos en el clúster original mediante el comando **[insertMaskedObject](key_mgmt_util-insertMaskedObject.md)**. Solo puede insertar un objeto enmascarado en el mismo clúster desde el que se generó, o en un clon de ese clúster. Esto incluye cualquier versión clonada del clúster generada al [copiar una copia de seguridad entre regiones](copy-backup-to-region.md) y al [utilizar la copia de seguridad para crear un clúster nuevo](create-cluster-from-backup.md).

Los objetos enmascarados son una forma eficaz de descargar y sincronizar claves, incluidas las claves no extraíbles (es decir, las claves que tienen un valor de [`OBJ_ATTR_EXTRACTABLE`](key-attribute-table.md) igual a `0`). [De esta forma, las claves se pueden sincronizar de forma segura en los clústeres relacionados de distintas regiones sin necesidad de actualizar el archivo de configuración. AWS CloudHSM](configure-tool.md)

**importante**  
Tras su inserción, los objetos enmascarados se descifran y se les asigna un identificador de clave que es distinto del identificador de clave de la clave original. Un objeto enmascarado incluye todos los metadatos asociados a la clave original, incluidos los atributos, la información de propiedad y uso compartido y la configuración de cuórum. Si necesita sincronizar claves entre los clústeres de una aplicación, utilice [syncKey](cloudhsm_mgmt_util-syncKey.md) en cloudhsm\$1mgmt\$1util en su lugar.

Para poder ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [iniciar sesión](key_mgmt_util-log-in.md) en el HSM. El comando **extractMaskedObject** lo puede utilizar el CU que es el propietario de la clave o cualquier CO.

## Sintaxis
<a name="extractMaskedObject-syntax"></a>

```
extractMaskedObject -h

extractMaskedObject -o <object-handle>
                    -out <object-file>
```

## Ejemplos
<a name="extractMaskedObject-examples"></a>

Este ejemplo muestra cómo utilizar **extractMaskedObject** para extraer una clave de un HSM como un objeto enmascarado.

**Example : extraer un objeto enmascarado.**  
Este comando extrae un objeto enmascarado de un HSM a partir de la clave con el identificador `524295` y lo guarda como un archivo denominado `maskedObj`. Cuando el comando se ejecuta correctamente, **extractMaskedObject** devuelve un mensaje de confirmación.  

```
Command: extractMaskedObject -o 524295 -out maskedObj

Object was masked and written to file "maskedObj"

        Cfm3ExtractMaskedObject returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="extractMaskedObject-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-o`**  
Especifica el identificador de la clave que se va a extraer como objeto enmascarado.  
Obligatorio: sí

**`-out`**  
Especifica el nombre del archivo en el que se guardará el objeto enmascarado.  
Obligatorio: sí

## Temas relacionados
<a name="extractMaskedObject-seealso"></a>
+ [insertMaskedObject](key_mgmt_util-insertMaskedObject.md)
+ [syncKey](cloudhsm_mgmt_util-syncKey.md)
+ [Copia de una copia de seguridad entre regiones](copy-backup-to-region.md)
+ [Creación de un AWS CloudHSM clúster a partir de un Backup anterior](create-cluster-from-backup.md)

# Búsqueda de AWS CloudHSM claves por atributos mediante KMU
<a name="key_mgmt_util-findKey"></a>

Utilice el **findKey** comando de AWS CloudHSM key\$1mgmt\$1util para buscar claves por los valores de los atributos clave. Cuando una clave coincide con todos los criterios que ha establecido, **findKey** devuelve el identificador de clave. Si no se especifica ningún parámetro, **findKey** devuelve los identificadores de todas las claves que se pueden utilizar en el HSM. Para encontrar los valores de atributo de una clave en particular, utilice [getAttribute](key_mgmt_util-getAttribute.md).

Al igual que todos los comandos de key\$1mgmt\$1util, **findKey** es específico del usuario. Devuelve solo las claves que el usuario actual puede utilizar en las operaciones criptográficas. Esto incluye las claves que el usuario actual posee y claves que se han compartido con el usuario actual. 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="findKey-syntax"></a>

```
findKey -h 

findKey [-c <key class>] 
        [-t <key type>]
        [-l <key label>] 
        [-id <key ID>]
        [-sess (0 | 1)] 
        [-u <user-ids>]
        [-m <modulus>]
        [-kcv <key_check_value>]
```

## Ejemplos
<a name="findKey-examples"></a>

Estos ejemplos muestran cómo se utilizan para buscar e identificar las claves **findKey** en su. HSMs

**Example : búsqueda de todas las claves**  
Este comando encuentra todas las claves para el usuario actual en el HSM. El resultado incluye las claves que el usuario posee y comparte, y todas las claves públicas del HSMs.  
Para obtener los atributos de una clave con un identificador de clave particular, utilice [getAttribute](key_mgmt_util-getAttribute.md). Para determinar si el usuario actual posee o comparte una clave en particular, utilice [getKeyInfo](key_mgmt_util-getKeyInfo.md)o [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)en cloudhsm\$1mgmt\$1util.  

```
Command: findKey

Total number of keys present 13

 number of keys matched from start index 0::12
6, 7, 524296, 9, 262154, 262155, 262156, 262157, 262158, 262159, 262160, 262161, 262162

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

**Example : búsqueda de claves por tipo, usuario y sesión**  
Este comando encuentra claves de AES persistentes que el usuario actual y el usuario 3 pueden utilizar. (Es posible que el usuario 3 pueda utilizar otras claves que el usuario actual no puede ver.)  

```
Command: findKey -t 31 -sess 0 -u 3
```

**Example : búsqueda de claves por clase y etiqueta**  
Este comando encuentra todas las claves públicas para el usuario actual con la etiqueta `2018-sept`.  

```
Command: findKey -c 2 -l 2018-sept
```

**Example : búsqueda de claves RSA por módulo**  
Este comando encuentra claves RSA (tipo 0) para el usuario actual que se crearon utilizando el módulo en el archivo `m4.txt`.  

```
Command: findKey -t 0 -m m4.txt
```

## Parameters
<a name="findKey-parameters"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-t**  
Encuentra claves del tipo especificado. Escriba la constante que representa la clase de clave. Por ejemplo, para encontrar las claves 3DES, escriba `-t 21`.  
Valores válidos:   
+ 0: [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem))
+ 1: [DSA](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)
+ 3: [EC](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)
+ 16: [GENERIC\$1SECRET](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226962)
+ 18: [RC4](https://en.wikipedia.org/wiki/RC4)
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES)
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Obligatorio: no

**-c**  
Encuentra claves en la clase especificada. Escriba la constante que representa la clase de clave. Por ejemplo, para encontrar claves públicas, escriba `-c 2`.  
Valores válidos para cada tipo de clave:  
+ 2: pública. Esta clase contiene las claves públicas de los pares de claves públicas-privadas.
+ 3: privada. Esta clase contiene las claves privadas de los pares de claves públicas-privadas.
+ 4: secreta. Esta clase contiene todas las claves simétricas.
Obligatorio: no

**-l**  
Encuentra claves con la etiqueta especificada. Escriba la etiqueta exacta. No puede utilizar caracteres comodín ni expresiones regulares en el valor `--l`.  
Obligatorio: no

**-id**  
Encuentra la clave con el ID especificado. Escriba la cadena exacta del ID. No puede utilizar caracteres comodín ni expresiones regulares en el valor `-id`.  
Obligatorio: no

**-sess**  
Encuentra claves por estado de la sesión. Para encontrar claves que solo sean válidas en la sesión actual, escriba `1`. Para encontrar claves persistentes, escriba `0`.  
Obligatorio: no

**-u**  
Encuentra claves que los usuarios especificados y el actual usuario comparten. Escriba una lista separada por comas de los usuarios de HSM IDs, como o. `-u 3` `-u 4,7` Para encontrar el número IDs de usuarios en un HSM, usa [ListUsers](key_mgmt_util-listUsers.md).  
Si se especifica un ID de usuario, **findKey** devuelve las claves de ese usuario. Al especificar varios usuarios IDs, **findKey** devuelve las claves que pueden usar todos los usuarios especificados.  
Como **findKey** solo devuelve las claves que el usuario actual puede utilizar, los resultados de `-u` son siempre idénticos a las claves del usuario actual, o a un subconjunto de ellas. Para obtener todas las claves que son propiedad de cualquier usuario o que comparten con él, crypto officers (COs) pueden usar [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)cloudhsm\$1mgmt\$1util.  
Obligatorio: no

**-m**  
Encuentra claves que se crearon utilizando el módulo RSA en el archivo especificado. Escriba la ruta al archivo que almacena el módulo.  
-m especifica el archivo binario que contiene el módulo RSA con el que debe coincidir (opcional).  
Obligatorio: no

**-kcv**  
Encuentra claves con el valor de comprobación de clave que se ha especificado.  
El *valor de comprobación de claves* (KCV) es un hash o suma de comprobación de 3 bytes de una clave que se genera cuando el HSM importa o genera una clave. También puede calcular un KCV fuera del HSM, por ejemplo, después de exportar una clave. A continuación, puede comparar los valores del KCV para confirmar la identidad e integridad de la clave. Para obtener el KCV (valor de control de la clave), utilice [getAttribute](key_mgmt_util-getAttribute.md).  
AWS CloudHSM utiliza el siguiente método estándar para generar un valor de comprobación de claves:  
+ **Claves simétricas**: los primeros 3 bytes del resultado obtenido al cifrar un bloque cero con la clave.
+ **Pares de claves asimétricas**: los primeros 3 bytes del hash SHA-1 de la clave pública.
+ **Claves HMAC**: por el momento, no se admite el uso del KCV con claves HMAC.
Obligatorio: no

## Output
<a name="findKey-output"></a>

El resultado de **findKey** muestra el número total de claves coincidentes y sus identificadores de clave

```
        Command:  findKey
Total number of keys present 10

 number of keys matched from start index 0::9
6, 7, 8, 9, 10, 11, 262156, 262157, 262158, 262159

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

## Temas relacionados
<a name="findKey-seealso"></a>
+ [findSingleKey](key_mgmt_util-findSingleKey.md)
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)en cloudhsm\$1mgmt\$1util
+ [Referencia de los atributos de claves](key-attribute-table.md)

# Verificar una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-findSingleKey"></a>

Utilice el **findSingleKey** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para comprobar que existe una clave en todos los módulos de seguridad de hardware (HSM) del clúster. AWS CloudHSM 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="findSingleKey-syntax"></a>

```
findSingleKey -h

findSingleKey -k <key-handle>
```

## Ejemplo
<a name="findSingleKey-examples"></a>

**Example**  
Este comando comprueba que la clave `252136` existe en los tres elementos del clúster. HSMs   

```
Command: findSingleKey -k 252136
Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="findSingleKey-parameters"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-k**  
Especifica el identificador de una clave en el HSM. Este parámetro es obligatorio.   
Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-listUsers.md).  
Obligatorio: sí

## Temas relacionados
<a name="findSingleKey-seealso"></a>
+ [findKey](key_mgmt_util-listUsers.md)
+ [getKeyInfo](key_mgmt_util-listUsers.md)
+ [getAttribute](key_mgmt_util-findKey.md)

# Genere un key pair de AWS CloudHSM DSA mediante KMU
<a name="key_mgmt_util-genDSAKeyPair"></a>

Utilice el **genDSAKeyPair** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para generar un par de claves del algoritmo de [firma digital (DSA](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)) en los módulos de seguridad de hardware (HSM). Debe especificar la longitud del módulo; el comando genera el valor del módulo. También puede asignar un ID, compartir la clave con otros usuarios del HSM, crear claves no extraíbles y claves que caduquen cuando la sesión finaliza. Cuando el comando se ejecuta correctamente, devuelve *identificadores de clave* que el HSM asigna a las claves públicas y privadas. Puede utilizar estos identificadores de clave para identificar las claves ante otros comandos.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

**sugerencia**  
Para buscar los atributos de una clave que haya creado, como tipo, longitud, etiqueta e ID, use [getAttribute](key_mgmt_util-getAttribute.md). Para buscar las claves de un usuario concreto, utilice. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Para buscar claves en función de sus valores de atributo, use [findKey](key_mgmt_util-findKey.md). 

## Sintaxis
<a name="genDSAKeyPair-syntax"></a>

```
genDSAKeyPair -h

genDSAKeyPair -m <modulus length> 
              -l <label> 
              [-id <key ID>] 
              [-min_srv <minimum number of servers>] 
              [-m_value <0..8>]
              [-nex] 
              [-sess] 
              [-timeout <number of seconds> ]
              [-u <user-ids>] 
              [-attest]
```

## Ejemplos
<a name="genDSAKeyPair-examples"></a>

En estos ejemplos, se muestra cómo se utiliza **genDSAKeyPair** para crear un par de claves de DSA.

**Example : creación de un par de claves de DSA**  
Este comando crea un par de claves de DSA con una etiqueta `DSA`. La salida muestra que el identificador de clave de la clave pública es `19`, mientras que el identificador de la clave privada es `21`.  

```
Command: genDSAKeyPair -m 2048 -l DSA

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 19    private key handle: 21

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : creación de un par de claves de DSA solo para la sesión**  
Este comando crea un par de claves de DSA que es válido únicamente en la sesión actual. El comando asigna el ID exclusivo `DSA_temp_pair` además de la etiqueta obligatoria (que no es exclusiva). Es posible que le interese crear un par de claves de este tipo para firmar y verificar un token de una sola sesión. La salida muestra que el identificador de clave de la clave pública es `12`, mientras que el identificador de la clave privada es `14`.  

```
Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 14

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Para confirmar que el par de claves exista únicamente en la sesión, utilice el parámetro `-sess` de [findKey](key_mgmt_util-findKey.md) con el valor `1` (true).  

```
  Command: findKey -sess 1

  Total number of keys present 2

 number of keys matched from start index 0::1
12, 14

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

**Example : creación de un par de claves de DSA no extraíbles y compartidas**  
Este comando crea un par de claves de DSA. La clave privada se comparte con otros tres usuarios y no se puede exportar desde el HSM. Cualquier usuario puede utilizar las claves públicas y estas siempre se pueden extraer.   

```
        Command:  genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 11    private key handle: 19

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : creación de un par de claves controladas mediante cuórum**  
Este comando crea un par de claves de DSA con la etiqueta `DSA-mV2`. El comando utiliza el parámetro `-u` para compartir la clave privada con los usuarios 4 y 6. Utiliza el parámetro `-m_value` para solicitar un cuórum de al menos dos aprobaciones para cualquier operación criptográfica que utilice la clave privada. El comando también utiliza el parámetro `-attest` para verificar la integridad del firmware en el que se genera el par de claves.  
La salida muestra que el comando genera una clave pública con el identificador de clave `12` y una clave privada con el identificador de clave `17` y que la comprobación de declaración del firmware del clúster ha pasado.  

```
        Command:  genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 17

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Este comando utiliza [getKeyInfo](key_mgmt_util-getKeyInfo.md)la clave privada (identificador de clave`17`). La salida confirma que la clave es propiedad del usuario actual (usuario 3) y que se comparte con los usuarios 4 y 6 (y nadie más). La salida también muestra que la autenticación de cuórum está habilitada y que el cuórum es de dos.  

```
        Command:  getKeyInfo -k 17

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 2 user(s):

                 4
                 6
         2 Users need to approve to use/manage this key
```

## Parameters
<a name="genDSAKeyPair-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-m**  
Especifica la longitud del módulo en bits. El único valor válido es `2048`.  
Obligatorio: sí

**-l**  
Especifica una etiqueta definida por el usuario para el par de claves. Tipo de cadena. Se aplica la misma etiqueta a las dos claves del par. El tamaño máximo permitido para `label` es de 127 caracteres.  
Puede utilizar cualquier frase que le ayude a identificar la clave. La etiqueta no tiene por qué ser única, por lo que puede usarla para agrupar y clasificar las claves.   
Obligatorio: sí

**-id**  
Especifica un identificador definido por el usuario para el par de claves. Escriba una cadena que sea única en el clúster. El valor predeterminado es una cadena vacía. La ID que especifique se aplicará a las dos claves del par.  
Predeterminado: sin valor de ID.  
Obligatorio: no

**-min\$1srv**  
Especifica el número mínimo de HSMs veces que se sincroniza la clave antes de que caduque el valor del `-timeout` parámetro. Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**-m\$1value**  
Especifica el número de usuarios que deben aprobar cualquier operación criptográfica que utilice la clave importada en el par. Escriba un valor de `0` a `8`.  
Este parámetro establece un requisito de autenticación de cuórum para la clave privada. El valor predeterminado, `0`, deshabilita la característica de autenticación de cuórum para la clave. Cuando la autenticación de cuórum esté habilitada, el número especificado de usuarios deberá firmar un token para aprobar las operaciones criptográficas que empleen clave privada y las operaciones de compartir o dejar de compartir la clave privada.  
Para encontrar el `m_value` de una clave, usa [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Este parámetro solo es válido cuando el parámetro `-u` del comando comparte la clave con suficientes usuarios para satisfacer el requisito `m_value`.  
Predeterminado: 0  
Obligatorio: no

**-nex**  
Hace que la clave privada no se pueda extraer. La clave privada que se genera no se podrá [exportar desde el HSM](export-keys.md). Las claves públicas siempre se pueden extraer.  
Predeterminado: tanto las claves públicas como las privadas del par de claves se pueden extraer.  
Obligatorio: no

**-sess**  
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.  
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.  
Para cambiar una clave de sesión por una clave persistente (token), use [setAttribute](key_mgmt_util-setAttribute.md).  
Predeterminado: la clave es persistente.   
Obligatorio: no

**-timeout**  
Especifica cuánto tiempo (en segundos) espera el comando a que se sincronice una tecla con el número HSMs especificado por el `min_srv` parámetro.   
Este parámetro solo es válido cuando también se usa el parámetro `min_srv` en el comando.  
Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.  
Obligatorio: no

**-u**  
Comparte la clave privada del par con los usuarios especificados. Este parámetro da permiso a otros usuarios criptográficos de HSM (CUs) para usar la clave privada en operaciones criptográficas. Cualquier usuario puede utilizar las claves públicas sin necesidad de compartirlas.  
Escriba una lista separada por comas de los usuarios IDs de HSM, como -. `u 5,6` No incluya el ID de usuario de HSM del usuario actual. [Para encontrar el usuario IDs de HSM CUs en el HSM, usa ListUsers.](key_mgmt_util-listUsers.md) Para compartir o dejar de compartir una clave existente, utilice [shareKey](cloudhsm_mgmt_util-shareKey.md) en cloudhsm\$1mgmt\$1util.   
Valor predeterminado: solo el usuario actual puede utilizar la clave privada.   
Obligatorio: no

**-attest**  
Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.  
Predeterminado: sin comprobación de certificación.  
Obligatorio: no

## Temas relacionados
<a name="genDSAKeyPair-seealso"></a>
+ [Gen Pair RSAKey](key_mgmt_util-genRSAKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [ECCKeyPar de genes](key_mgmt_util-genECCKeyPair.md)

# Genere un key pair AWS CloudHSM ECC mediante KMU
<a name="key_mgmt_util-genECCKeyPair"></a>

Utilice el `genECCKeyPair` comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para generar un par de claves de [criptografía de curva elíptica (](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)ECC) en los módulos de seguridad de hardware (HSM). Cuando ejecute el comando `genECCKeyPair`, debe especificar el identificador de curva elíptica y una etiqueta para el par de claves. También puede compartir la clave privada con otros usuarios de CU, crear claves no extraíbles, claves controladas mediante cuórum y claves que caduquen cuando finalice la sesión. Cuando el comando se ejecuta correctamente, devuelve identificadores de clave que el HSM asigna a las claves ECC públicas y privadas. Puede utilizar estos identificadores de clave para identificar las claves ante otros comandos.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

**sugerencia**  
Para buscar los atributos de una clave que haya creado, como tipo, longitud, etiqueta e ID, use [getAttribute](key_mgmt_util-getAttribute.md). Para buscar las claves de un usuario concreto, utilice. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Para buscar claves en función de sus valores de atributo, use [findKey](key_mgmt_util-findKey.md). 

## Sintaxis
<a name="genECCKeyPair-syntax"></a>

```
genECCKeyPair -h

genECCKeyPair -i <EC curve id> 
              -l <label> 
              [-id <key ID>]
              [-min_srv <minimum number of servers>]
              [-m_value <0..8>]
              [-nex]
              [-sess]
              [-timeout <number of seconds> ]
              [-u <user-ids>]
              [-attest]
```

## Ejemplos
<a name="genECCKeyPair-examples"></a>

Los siguientes ejemplos muestran cómo **genECCKeyPair** crear pares de claves ECC en su HSMs.

**Example : crear y examinar un par de claves ECC**  
Este comando utiliza una curva elíptica NID\$1secp384r1 y una etiqueta `ecc14` para crear un par de claves ECC. El resultado muestra que el identificador de clave de la clave privada es `262177`, mientras que el identificador de clave de la clave pública es `262179`. La etiqueta se aplica a las clave privada y pública.  

```
Command: genECCKeyPair -i 14 -l ecc14

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 262179    private key handle: 262177

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Después de generar la clave, puede examinar sus atributos. Utilice [getAttribute](key_mgmt_util-getAttribute.md) para escribir todos los atributos (representados por la constante `512`) de la nueva clave privada de ECC en el archivo `attr_262177`.  

```
Command: getAttribute -o 262177 -a 512 -out attr_262177
got all attributes of size 529 attr cnt 19
Attributes dumped into attr_262177

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
```
A continuación, utilice el comando `cat` para ver el contenido del archivo de atributos `attr_262177`. El resultado muestra que la clave es una clave privada de curva elíptica que puede usarse para firmar, pero no para cifrar, descifrar, encapsular, desencapsular o verificar. La clave es persistente y exportable.  

```
$  cat attr_262177

OBJ_ATTR_CLASS
0x03
OBJ_ATTR_KEY_TYPE
0x03
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x00
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x00
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x01
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
ecc2
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x0000008a
OBJ_ATTR_KCV
0xbbb32a
OBJ_ATTR_MODULUS
044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5
OBJ_ATTR_MODULUS_BITS
0x0000019f
```

**Example Uso de una curva de EEC no válida**  
Este comando intenta crear un par de claves ECC utilizando una curva NID\$1X9\$162\$1prime192v1. Como esta curva elíptica no es válida para el modo FIPS HSMs, se produce un error en el comando. El mensaje indica que un servidor del clúster no está disponible, pero esto no suele indicar un problema con el servidor del HSMs clúster.  

```
Command:  genECCKeyPair -i 1 -l ecc1

        Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies

        Cluster Error Status
        Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable
```

## Parameters
<a name="genECCKeyPair-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-i **  
Especifica el identificador de la curva elíptica. Escriba un identificador.   
Valores válidos:   
+ **2**: NID\$1X9\$162\$1prime256v1
+ **14**: NID\$1secp384r1
+ **16**: NID\$1secp256k1
Obligatorio: sí

**-l**  
Especifica una etiqueta definida por el usuario para el par de claves. Tipo de cadena. Se aplica la misma etiqueta a las dos claves del par. El tamaño máximo permitido para `label` es de 127 caracteres.  
Puede utilizar cualquier frase que le ayude a identificar la clave. La etiqueta no tiene por qué ser única, por lo que puede usarla para agrupar y clasificar las claves.   
Obligatorio: sí

**-id**  
Especifica un identificador definido por el usuario para el par de claves. Escriba una cadena que sea única en el clúster. El valor predeterminado es una cadena vacía. La ID que especifique se aplicará a las dos claves del par.  
Predeterminado: sin valor de ID.  
Obligatorio: no

**-min\$1srv**  
Especifica el número mínimo HSMs en el que se sincroniza la clave antes de que caduque el valor del `-timeout` parámetro. Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**-m\$1value**  
Especifica el número de usuarios que deben aprobar cualquier operación criptográfica que utilice la clave importada en el par. Escriba un valor de `0` a `8`.  
Este parámetro establece un requisito de autenticación de cuórum para la clave privada. El valor predeterminado, `0`, deshabilita la característica de autenticación de cuórum para la clave. Cuando la autenticación de cuórum esté habilitada, el número especificado de usuarios deberá firmar un token para aprobar las operaciones criptográficas que empleen clave privada y las operaciones de compartir o dejar de compartir la clave privada.  
Para encontrar el `m_value` de una clave, usa [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Este parámetro solo es válido cuando el parámetro `-u` del comando comparte la clave con suficientes usuarios para satisfacer el requisito `m_value`.  
Predeterminado: 0  
Obligatorio: no

**-nex**  
Hace que la clave privada no se pueda extraer. La clave privada que se genera no se podrá [exportar desde el HSM](export-keys.md). Las claves públicas siempre se pueden extraer.  
Predeterminado: tanto las claves públicas como las privadas del par de claves se pueden extraer.  
Obligatorio: no

**-sess**  
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.  
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.  
Para cambiar una clave de sesión por una clave persistente (token), use [setAttribute](key_mgmt_util-setAttribute.md).  
Predeterminado: la clave es persistente.   
Obligatorio: no

**-timeout**  
Especifica cuánto tiempo (en segundos) espera el comando a que una tecla se sincronice con el número HSMs especificado por el `min_srv` parámetro.   
Este parámetro solo es válido cuando también se usa el parámetro `min_srv` en el comando.  
Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.  
Obligatorio: no

**-u**  
Comparte la clave privada del par con los usuarios especificados. Este parámetro da permiso a otros usuarios criptográficos de HSM (CUs) para usar la clave privada en operaciones criptográficas. Cualquier usuario puede utilizar las claves públicas sin necesidad de compartirlas.  
Escriba una lista separada por comas de los usuarios IDs de HSM, como -. `u 5,6` No incluya el ID de usuario de HSM del usuario actual. [Para encontrar el usuario IDs de HSM CUs en el HSM, usa ListUsers.](key_mgmt_util-listUsers.md) Para compartir o dejar de compartir una clave existente, utilice [shareKey](cloudhsm_mgmt_util-shareKey.md) en cloudhsm\$1mgmt\$1util.   
Valor predeterminado: solo el usuario actual puede utilizar la clave privada.   
Obligatorio: no

**-attest**  
Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.  
Predeterminado: sin comprobación de certificación.  
Obligatorio: no

## Temas relacionados
<a name="genECCKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [Gen Pair RSAKey](key_mgmt_util-genRSAKeyPair.md)
+ [DSAKeyPar de genes](key_mgmt_util-genDSAKeyPair.md)

# Genere un key pair AWS CloudHSM RSA mediante KMU
<a name="key_mgmt_util-genRSAKeyPair"></a>

[Use el **genRSAKeyPair** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para generar un key pair asimétrico RSA.](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) Deberá especificar el tipo de clave, la longitud del módulo y un exponente público. El comando genera un módulo de la longitud especificada y crea el par de claves. Puede asignar un ID, compartir la clave con otros usuarios del HSM, crear claves no extraíbles y claves que caduquen cuando la sesión finaliza. Cuando el comando se ejecuta correctamente, devuelve un identificador de clave que el HSM asigna a la clave. Puede utilizar el identificador de clave para identificar la clave ante otros comandos.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

**sugerencia**  
Para buscar los atributos de una clave que haya creado, como tipo, longitud, etiqueta e ID, use [getAttribute](key_mgmt_util-getAttribute.md). Para buscar las claves de un usuario concreto, utilice. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Para buscar claves en función de sus valores de atributo, use [findKey](key_mgmt_util-findKey.md). 

## Sintaxis
<a name="genRSAKeyPair-syntax"></a>

```
genRSAKeyPair -h

genRSAKeyPair -m <modulus length>
              -e <public exponent> 
              -l <label> 
              [-id <key ID>] 
              [-min_srv <minimum number of servers>] 
              [-m_value <0..8>]
              [-nex] 
              [-sess] 
              [-timeout <number of seconds> ]
              [-u <user-ids>] 
              [-attest]
```

## Ejemplos
<a name="genRSAKeyPair-examples"></a>

Estos ejemplos muestran cómo **genRSAKeyPair** crear pares de claves asimétricas en su HSMs.

**Example : creación y examen de un par de claves RSA**  
Este comando crea un par de claves RSA con un módulo de 2048 bits y un exponente de 65537. La salida muestra que el identificador de clave pública es `2100177`, mientras que el identificador de la clave privada es `2100426`.  

```
Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test 

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 2100177    private key handle: 2100426

        Cluster Status:
        Node id 0 status: 0x00000000 : HSM Return: SUCCESS
        Node id 1 status: 0x00000000 : HSM Return: SUCCESS
```
El siguiente comando utiliza [getAttribute](key_mgmt_util-getAttribute.md) para obtener los atributos de la clave pública que acabamos de crear. Escribe la salida en el archivo `attr_2100177`. Va seguido de un comando **cat** que obtiene el contenido del archivo de atributos. Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  
Los valores hexadecimales resultantes confirman que se trata de una clave pública (`OBJ_ATTR_CLASS 0x02`) con un tipo de RSA (`OBJ_ATTR_KEY_TYPE 0x00`). Puede utilizar esta clave pública para cifrar (`OBJ_ATTR_ENCRYPT 0x01`), pero no para descifrar (`OBJ_ATTR_DECRYPT 0x00`). Los resultados también incluyen la longitud de la clave (512, `0x200`), el módulo, la longitud del módulo (2048, `0x800`) y el exponente público (65537, `0x10001`).  

```
Command:  getAttribute -o 2100177 -a 512 -out attr_2100177

Attribute size: 801, count: 26
Written to: attr_2100177 file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

$  cat attr_2100177
OBJ_ATTR_CLASS
0x02
OBJ_ATTR_KEY_TYPE
0x00
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x01
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x01
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x00
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
rsa_test
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x00000200
OBJ_ATTR_KCV
0xc51c18
OBJ_ATTR_MODULUS
0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c
1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d
6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0
97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857
d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873
970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec
b3e4203294a96fae06f8f0db7982cb5d7f
OBJ_ATTR_MODULUS_BITS
0x00000800
OBJ_ATTR_PUBLIC_EXPONENT
0x010001
OBJ_ATTR_TRUSTED
0x00
OBJ_ATTR_WRAP_WITH_TRUSTED
0x00
OBJ_ATTR_DESTROYABLE
0x01
OBJ_ATTR_DERIVE
0x00
OBJ_ATTR_ALWAYS_SENSITIVE
0x00
OBJ_ATTR_NEVER_EXTRACTABLE
0x00
```

**Example : generación de un par de claves RSA compartidas**  
Este comando genera un par de claves RSA y comparte la clave privada con el usuario 4, otro CU en el HSM. El comando utiliza el parámetro `m_value` para solicitar al menos dos aprobaciones para poder usar la clave privada en el par en una operación criptográfica. Al utilizar el parámetro `m_value`, también tiene que utilizar `-u` en el comando y el `m_value` no puede superar el número total de usuarios (número de valores en `-u` \$1 propietario).  

```
 Command:  genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 27    private key handle: 28

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="genRSAKeyPair-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-m**  
Especifica la longitud del módulo en bits. El valor mínimo es 2048.   
Obligatorio: sí

**-e**  
Especifica el exponente público. El valor debe ser un número impar superior o igual a 65537.  
Obligatorio: sí

**-l**  
Especifica una etiqueta definida por el usuario para el par de claves. Tipo de cadena. Se aplica la misma etiqueta a las dos claves del par. El tamaño máximo permitido para `label` es de 127 caracteres.  
Puede utilizar cualquier frase que le ayude a identificar la clave. La etiqueta no tiene por qué ser única, por lo que puede usarla para agrupar y clasificar las claves.   
Obligatorio: sí

**-id**  
Especifica un identificador definido por el usuario para el par de claves. Escriba una cadena que sea única en el clúster. El valor predeterminado es una cadena vacía. La ID que especifique se aplicará a las dos claves del par.  
Predeterminado: sin valor de ID.  
Obligatorio: no

**-min\$1srv**  
Especifica el número mínimo HSMs en el que se sincroniza la clave antes de que caduque el valor del `-timeout` parámetro. Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**-m\$1value**  
Especifica el número de usuarios que deben aprobar cualquier operación criptográfica que utilice la clave importada en el par. Escriba un valor de `0` a `8`.  
Este parámetro establece un requisito de autenticación de cuórum para la clave privada. El valor predeterminado, `0`, deshabilita la característica de autenticación de cuórum para la clave. Cuando la autenticación de cuórum esté habilitada, el número especificado de usuarios deberá firmar un token para aprobar las operaciones criptográficas que empleen clave privada y las operaciones de compartir o dejar de compartir la clave privada.  
Para encontrar el `m_value` de una clave, usa [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Este parámetro solo es válido cuando el parámetro `-u` del comando comparte la clave con suficientes usuarios para satisfacer el requisito `m_value`.  
Predeterminado: 0  
Obligatorio: no

**-nex**  
Hace que la clave privada no se pueda extraer. La clave privada que se genera no se podrá [exportar desde el HSM](export-keys.md). Las claves públicas siempre se pueden extraer.  
Predeterminado: tanto las claves públicas como las privadas del par de claves se pueden extraer.  
Obligatorio: no

**-sess**  
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.  
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.  
Para cambiar una clave de sesión por una clave persistente (token), use [setAttribute](key_mgmt_util-setAttribute.md).  
Predeterminado: la clave es persistente.   
Obligatorio: no

**-timeout**  
Especifica cuánto tiempo (en segundos) espera el comando a que una tecla se sincronice con el número HSMs especificado por el `min_srv` parámetro.   
Este parámetro solo es válido cuando también se usa el parámetro `min_srv` en el comando.  
Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.  
Obligatorio: no

**-u**  
Comparte la clave privada del par con los usuarios especificados. Este parámetro da permiso a otros usuarios criptográficos de HSM (CUs) para usar la clave privada en operaciones criptográficas. Cualquier usuario puede utilizar las claves públicas sin necesidad de compartirlas.  
Escriba una lista separada por comas de los usuarios IDs de HSM, como -. `u 5,6` No incluya el ID de usuario de HSM del usuario actual. [Para encontrar el usuario IDs de HSM CUs en el HSM, usa ListUsers.](key_mgmt_util-listUsers.md) Para compartir o dejar de compartir una clave existente, utilice [shareKey](cloudhsm_mgmt_util-shareKey.md) en cloudhsm\$1mgmt\$1util.   
Valor predeterminado: solo el usuario actual puede utilizar la clave privada.   
Obligatorio: no

**-attest**  
Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.  
Predeterminado: sin comprobación de certificación.  
Obligatorio: no

## Temas relacionados
<a name="genRSAKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [Gen Pair DSAKey](key_mgmt_util-genDSAKeyPair.md)
+ [ECCKeyPar de genes](key_mgmt_util-genECCKeyPair.md)

# Generar una clave AWS CloudHSM simétrica mediante KMU
<a name="key_mgmt_util-genSymKey"></a>

Utilice el **genSymKey** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para generar una clave simétrica en los módulos de seguridad de hardware (HSM). Puede especificar el tipo y el tamaño de la clave, asignar un ID y una etiqueta, y compartir la clave con otros usuarios de HSM. También puede crear claves que no se pueden extraer y claves que caducan al finalizar la sesión. Cuando el comando se ejecuta correctamente, devuelve un identificador de clave que el HSM asigna a la clave. Puede utilizar el identificador de clave para identificar la clave ante otros comandos.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="genSymKey-syntax"></a>

```
genSymKey -h

genSymKey -t <key-type>
          -s <key-size> 
          -l <label> 
          [-id <key-ID>] 
          [-min_srv <minimum-number-of-servers>] 
          [-m_value <0..8>]
          [-nex] 
          [-sess] 
          [-timeout <number-of-seconds> ]
          [-u <user-ids>] 
          [-attest]
```

## Ejemplos
<a name="genSymKey-examples"></a>

Estos ejemplos muestran cómo crear claves simétricas en su. **genSymKey** HSMs

**sugerencia**  
Para usar las claves que crea con estos ejemplos para las operaciones de HMAC, debe establecer `OBJ_ATTR_SIGN` y `OBJ_ATTR_VERIFY` como `TRUE` después de generar la clave. Para establecer estos valores, utilice **setAttribute** en la Utilidad de administración de CloudHSM (CMU). Para obtener más información, consulte[setAttribute](cloudhsm_mgmt_util-setAttribute.md).

**Example Generación de una clave AES**  
Este comando crea una clave AES de 256 bits con una etiqueta `aes256`. El resultado muestra que el identificador de clave de la clave nueva es `6`.  

```
Command: genSymKey -t 31 -s 32 -l aes256

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 6

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : creación de una clave de sesión**  
Este comando crea una clave AES de 192 bits no extraíble que es válida únicamente en la sesión actual. Puede que desee crear una clave como esta para encapsular (y, a continuación, desencapsular inmediatamente) una clave que se está exportando.   

```
Command: genSymKey -t 31 -s 24 -l tmpAES -id wrap01 -nex -sess 
```

**Example : regreso rápido**  
Este comando crea una clave de 512 bytes genéricos con una etiqueta `IT_test_key`. El comando no espera a que la clave se sincronice con todos los elementos del HSMs clúster. En su lugar, regresa tan pronto como se crea la clave en cualquier HSM (`-min_srv 1`) o en 1 segundo (`-timeout 1`), el periodo que sea más corto. Si la clave no se sincroniza con el número mínimo especificado HSMs antes de que caduque el tiempo de espera, no se genera. Es posible que desee utilizar un comando como este en un script que crea numerosas claves, como el bucle `for` del siguiente ejemplo.   

```
Command: genSymKey -t 16 -s 512 -l IT_test_key -min_srv 1 -timeout 1

$  for i in {1..30}; 
     do /opt/cloudhsm/bin/key_mgmt_util singlecmd loginHSM -u CU -s example_user -p example_pwd genSymKey -l aes -t 31 -s 32 -min_srv 1 -timeout 1; 
 done;
```

**Example : creación de una clave genérica autorizada mediante cuórum**  
Este comando crea una clave secreta genérica de 2048 bits con la etiqueta `generic-mV2`. El comando utiliza el parámetro `-u` para compartir la clave con otro CU, el usuario 6. Utiliza el parámetro `-m_value` para solicitar un cuórum de al menos dos aprobaciones para cualquier operación criptográfica que utilice la clave. El comando también utiliza el parámetro `-attest` para verificar la integridad del firmware en el que se genera la clave.  
El resultado muestra que el comando generó una clave con identificador de clave `9` y que se ha superado la comprobación de declaración del firmware del clúster.  

```
                Command:  genSymKey -t 16 -s 2048 -l generic-mV2 -m_value 2 -u 6 -attest

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 9

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example :creación y examen de una clave**  
Este comando crea una clave Triple DES con una etiqueta `3DES_shared` y un ID de `IT-02`. La clave la pueden utilizar el usuario actual y los usuarios 4 y 5. Se produce un error en el comando si el ID no es único en el clúster o si el usuario actual es el usuario 4 o el usuario 5.   
El resultado muestra que la clave nueva tiene el identificador de clave `7`.  

```
Command: genSymKey -t 21 -s 24 -l 3DES_shared -id IT-02 -u 4,5

       Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 7

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Para verificar que la clave 3DES nueva es propiedad del usuario actual y se comparte con los usuarios 4 y 5, utilice **[getKeyInfo](key_mgmt_util-getKeyInfo.md)**. El comando utiliza el identificador que se asignó a la clave nueva (`Key Handle: 7`).  
El resultado confirma que la clave es propiedad del usuario 3 y se comparte con los usuarios 4 y 5.  

```
Command:  getKeyInfo -k 7

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 2 user(s):

                 4, 5
```
Para confirmar el resto de las propiedades de la clave, utilice [getAttribute](key_mgmt_util-getAttribute.md). El primer comando utiliza `getAttribute` para obtener todos los atributos (`-a 512`) del identificador de clave 7 (`-o 7`). Los escribe en el archivo `attr_7`. El segundo comando utiliza `cat` para obtener el contenido del archivo `attr_7`.   
Este comando confirma que la clave 7 es una clave simétrica de 192 bits (`OBJ_ATTR_VALUE_LEN 0x00000018` o 24 bytes) 3DES (`OBJ_ATTR_KEY_TYPE 0x15`) (`OBJ_ATTR_CLASS 0x04`) con una etiqueta `3DES_shared` (`OBJ_ATTR_LABEL 3DES_shared`) y un ID `IT_02` (`OBJ_ATTR_ID IT-02`). La clave es persistente (`OBJ_ATTR_TOKEN 0x01`) y extraíble (`OBJ_ATTR_EXTRACTABLE 0x01`) y se puede utilizar para el cifrado, el descifrado y el encapsulado.   
Para buscar los atributos de una clave que haya creado, como tipo, longitud, etiqueta e ID, use [getAttribute](key_mgmt_util-getAttribute.md). Para buscar las claves de un usuario concreto, utilice. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Para buscar claves en función de sus valores de atributo, use [findKey](key_mgmt_util-findKey.md). 
Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  

```
Command:  getAttribute -o 7 -a 512 -out attr_7

got all attributes of size 444 attr cnt 17
Attributes dumped into attr_7 file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS


$  cat attr_7

OBJ_ATTR_CLASS
0x04
OBJ_ATTR_KEY_TYPE
0x15
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x01
OBJ_ATTR_WRAP
0x00
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
3DES_shared
OBJ_ATTR_ID
IT-02
OBJ_ATTR_VALUE_LEN
0x00000018
OBJ_ATTR_KCV
0x59a46e
```
Para usar las claves que crea con estos ejemplos para las operaciones de HMAC, debe establecer `OBJ_ATTR_SIGN` y `OBJ_ATTR_VERIFY` como `TRUE` después de generar la clave. Para establecer estos valores, utilice **setAttribute** en CMU. Para obtener más información, consulte[setAttribute](cloudhsm_mgmt_util-setAttribute.md).

## Parameters
<a name="genSymKey-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-t**  
Especifica el tipo de clave simétrica. Escriba la constante que representa el tipo de clave. Por ejemplo, para crear una clave AES, escriba `-t 31`.  
Valores válidos:   
+ 16: [GENERIC\$1SECRET](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226962). Una *clave secreta genérica* es una matriz de bytes que no se ajusta a ningún estándar en particular, como, por ejemplo, los requisitos de una clave AES. 
+ 18: [RC4](https://en.wikipedia.org/wiki/RC4). RC4 las claves no son válidas en el modo FIPS HSMs
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES). De acuerdo con las directrices del NIST, esto no se permite en los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, seguirá siendo posible después de 2023. Para obtener más información, consulte [Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024](compliance-dep-notif.md#compliance-dep-notif-1).
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Obligatorio: sí

**-s**  
Especifica el tamaño de la clave en bytes. Por ejemplo, para crear una clave de 192 bits, escriba `24`.   
Valores válidos para cada tipo de clave:  
+ AES: 16 (128 bits), 24 (192 bits), 32 (256 bits)
+ 3DES: 24 (192 bits)
+ Secreta genérica: <3584 (28672 bits)
Obligatorio: sí

**-l**  
Especifica una etiqueta definida por el usuario para la clave. Tipo de cadena.  
Puede utilizar cualquier frase que le ayude a identificar la clave. La etiqueta no tiene por qué ser única, por lo que puede usarla para agrupar y clasificar las claves.   
Obligatorio: sí

**-attest**  
Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.  
Predeterminado: sin comprobación de certificación.  
Obligatorio: no

**-id**  
Especifica un identificador definido por el usuario para la clave. Escriba una cadena que sea única en el clúster. El valor predeterminado es una cadena vacía.   
Predeterminado: sin valor de ID.  
Obligatorio: no

**-min\$1srv**  
Especifica el número mínimo HSMs en el que se sincroniza la clave antes de que caduque el valor del parámetro. `-timeout` Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**-m\$1value**  
Especifica el número de usuarios que deben aprobar cualquier operación criptográfica que utilice la clave. Escriba un valor de `0` a `8`.  
Este parámetro establece un requisito de autenticación de quórum para la clave. El valor predeterminado, `0`, deshabilita la característica de autenticación de cuórum para la clave. Cuando la autenticación de quórum está activada, el número especificado de usuarios debe firmar un token para aprobar las operaciones criptográficas que utilizan la clave, y las operaciones que comparten o dejan de compartir la clave.  
Para encontrar el `m_value` de una clave, usa [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Este parámetro solo es válido cuando el parámetro `-u` del comando comparte la clave con suficientes usuarios para satisfacer el requisito `m_value`.  
Predeterminado: 0  
Obligatorio: no

**-nex**  
Hace que la clave no se pueda extraer. La clave que se genera no se puede [exportar desde el HSM](export-keys.md).  
Predeterminado: la clave se puede extraer.  
Obligatorio: no

**-sess**  
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.  
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.  
Para cambiar una clave de sesión por una clave persistente (token), use [setAttribute](key_mgmt_util-setAttribute.md).  
Predeterminado: la clave es persistente.   
Obligatorio: no

**-timeout**  
Especifica cuánto tiempo (en segundos) espera el comando a que una tecla se sincronice con el número HSMs especificado por el `min_srv` parámetro.   
Este parámetro solo es válido cuando también se usa el parámetro `min_srv` en el comando.  
Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.  
Obligatorio: no

**-u**  
Comparte la clave con los usuarios especificados. Este parámetro permite a otros usuarios de criptomonedas de HSM (CUs) utilizar esta clave en operaciones criptográficas.  
Escriba una lista separada por comas de los usuarios IDs de HSM, como -. `u 5,6` No incluya el ID de usuario de HSM del usuario actual. [Para encontrar el usuario IDs de HSM CUs en el HSM, usa ListUsers.](key_mgmt_util-listUsers.md) Para compartir o dejar de compartir una clave existente, utilice [shareKey](cloudhsm_mgmt_util-shareKey.md) en cloudhsm\$1mgmt\$1util.   
Predeterminado: solo el usuario actual puede utilizar la clave.   
Obligatorio: no

## Temas relacionados
<a name="genSymKey-seealso"></a>
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [Gen Pair RSAKey](key_mgmt_util-genRSAKeyPair.md)
+ [DSAKeyPar de genes](key_mgmt_util-genDSAKeyPair.md)
+ [ECCKeyPar de genes](key_mgmt_util-genECCKeyPair.md)
+ [setAttribute](cloudhsm_mgmt_util-setAttribute.md)

# Obtenga un atributo AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-getAttribute"></a>

Utilice el **getAttribute** comando de AWS CloudHSM key\$1mgmt\$1util para escribir uno o todos los valores de atributo de una clave en un archivo. AWS CloudHSM Si el atributo que especifica no existe para el tipo de clave, como el módulo de una clave AES, **getAttribute** devuelve un error. 

Los *atributos de la clave* son las propiedades de una clave. Contienen características, como el tipo de clave, clase, etiqueta e ID y los valores que representan las acciones que puede desempeñar con la clave, como cifrar, descifrar, encapsular, firmar y verificar. 

Solamente puede utilizar **getAttribute** en claves que sean de su propiedad y que hayan compartido con usted. Puede ejecutar este comando o el comando [GetAttribute](cloudhsm_mgmt_util-getAttribute.md) en cloudhsm\$1mgmt\$1util, que obtiene un valor de atributo de una clave de todas las claves de un clúster y lo escribe en stdout o HSMs en un archivo. 

Para obtener una lista de los atributos y las constantes que los representan, ejecute el comando [listAttributes](key_mgmt_util-listAttributes.md). Para cambiar los valores de los atributos de las claves existentes, utilice [setAttribute](key_mgmt_util-setAttribute.md) en key\$1mgmt\$1util y [setAttribute](cloudhsm_mgmt_util-setAttribute.md) en cloudhsm\$1mgmt\$1util. Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="getAttribute-syntax"></a>

```
getAttribute -h 

getAttribute -o <key handle> 
             -a <attribute constant> 
             -out <file>
```

## Ejemplos
<a name="getAttribute-examples"></a>

Estos ejemplos muestran cómo se utilizan para obtener los atributos de las claves de su. **getAttribute** HSMs

**Example : obtención del tipo de clave**  
En este ejemplo se obtiene el tipo de la clave, por ejemplo una AES, 3DES o una clave genérica, o una clave RSA o par de claves de curva elíptica.  
El primer comando ejecuta [listAttributes](key_mgmt_util-listAttributes.md), que obtiene los atributos de una clave y las constantes que los representan. La salida muestra que la constante del tipo de clave es `256`. Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  

```
Command: listAttributes

Description
===========
The following are all of the possible attribute values for getAttributes.

      OBJ_ATTR_CLASS                  = 0
      OBJ_ATTR_TOKEN                  = 1
      OBJ_ATTR_PRIVATE                = 2
      OBJ_ATTR_LABEL                  = 3
      OBJ_ATTR_KEY_TYPE               = 256
      OBJ_ATTR_ID                     = 258
      OBJ_ATTR_SENSITIVE              = 259
      OBJ_ATTR_ENCRYPT                = 260
      OBJ_ATTR_DECRYPT                = 261
      OBJ_ATTR_WRAP                   = 262
      OBJ_ATTR_UNWRAP                 = 263
      OBJ_ATTR_SIGN                   = 264
      OBJ_ATTR_VERIFY                 = 266
      OBJ_ATTR_LOCAL                  = 355
      OBJ_ATTR_MODULUS                = 288
      OBJ_ATTR_MODULUS_BITS           = 289
      OBJ_ATTR_PUBLIC_EXPONENT        = 290
      OBJ_ATTR_VALUE_LEN              = 353
      OBJ_ATTR_EXTRACTABLE            = 354
      OBJ_ATTR_KCV                    = 371
```
El segundo comando ejecuta **getAttribute**. Solicita el tipo de clave (atributo `256`) del indicador de clave `524296` y lo escribe en el archivo `attribute.txt`.   

```
Command: getAttribute -o 524296 -a 256 -out attribute.txt
Attributes dumped into attribute.txt file
```
El último comando obtiene el contenido del archivo de clave. La salida revela que el tipo de clave es `0x15` o `21`, lo que es una clave triple DES (3DES). Para informarse de las definiciones de los valores de clase y tipo, consulte la sección de [referencia de los atributos de clave](key-attribute-table.md).  

```
$  cat attribute.txt
OBJ_ATTR_KEY_TYPE
0x00000015
```

**Example : obtención de todos los atributos de una clave**  
Este comando obtiene todos los atributos de la clave que tiene el indicador `6` y los escribe en el archivo `attr_6`. Utiliza un valor de atributo de `512`, que representa todos los atributos.   

```
Command: getAttribute -o 6 -a 512 -out attr_6
        
got all attributes of size 444 attr cnt 17
Attributes dumped into attribute.txt file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS>
```
Este comando muestra el contenido de un archivo de atributo de muestra con todos los valores de atributo. En los valores indica que la clave es una clave AES de 256 bits con un ID de `test_01` y una etiqueta de `aes256`. La clave es extraíble y persistente, es decir, no es una clave de una única sesión. Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  

```
$  cat attribute.txt

OBJ_ATTR_CLASS
0x04
OBJ_ATTR_KEY_TYPE
0x15
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x01
OBJ_ATTR_WRAP
0x01
OBJ_ATTR_UNWRAP
0x01
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
aes256
OBJ_ATTR_ID
test_01
OBJ_ATTR_VALUE_LEN
0x00000020
OBJ_ATTR_KCV
0x1a4b31
```

## Parameters
<a name="getAttribute-parameters"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-o**  
Especifica el identificador de la clave de destino. Puede especificar una única clave en cada comando. Para obtener el identificador de una clave, use [findKey](key_mgmt_util-findKey.md).  
Además, debe ser propietario de la clave especificada o esta debe compartirse con usted. Para encontrar los usuarios de una clave, utilice [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Obligatorio: sí

**-a**  
Identifica el atributo. Escriba una constante que represente un atributo o `512`, que representa todos los atributos. Por ejemplo, para obtener el tipo de clave, escriba `256`, que es la constante del atributo `OBJ_ATTR_KEY_TYPE`.  
Para generar una lista de los atributos y sus constantes, utilice [listAttributes](key_mgmt_util-listAttributes.md). Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  
Obligatorio: sí

**-out**  
Escribe la salida en el archivo especificado. Escriba una ruta de archivo. No puede escribir la salida en `stdout`.   
Si el archivo especificado existe, **getAttribute** sobrescribe el archivo sin ningún tipo de advertencia.  
Obligatorio: sí

## Temas relacionados
<a name="getAttribute-seealso"></a>
+ [getAttribute](cloudhsm_mgmt_util-getAttribute.md) en cloudhsm\$1mgmt\$1util
+ [listAttributes](key_mgmt_util-listAttributes.md)
+ [setAttribute](key_mgmt_util-setAttribute.md)
+ [findKey](key_mgmt_util-findKey.md)
+ [Referencia de los atributos de claves](key-attribute-table.md)

# Exporte una AWS CloudHSM clave a un formato PEM falso con KMU
<a name="key_mgmt_util-getCaviumPrivKey"></a>

Utilice el comando **getCaviumPrivKey** del AWS CloudHSM key\$1mgmt\$1util para exportar una clave privada de un módulo de seguridad de hardware (HSM) en un formato PEM falso. El archivo PEM falso, que no contiene el material de la clave privada propiamente dicha, sino que hace referencia a la clave privada del HSM, se puede utilizar entonces para establecer la descarga desde el servidor web hacia. SSL/TLS AWS CloudHSM Para obtener más información, consulte [Descarga SSL/TLS en Linux con Tomcat](third-offload-linux-jsse.md) o [Descarga SSL/TLS en Linux con NGINX o Apache](third-offload-linux-openssl.md).

Antes de ejecutar cualquier comando key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [iniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="getCaviumPrivKey-syntax"></a>

```
getCaviumPrivKey -h

getCaviumPrivKey -k <private-key-handle>
                 -out <fake-PEM-file>
```

## Ejemplos
<a name="getCaviumPrivKey-examples"></a>

Este ejemplo muestra cómo utilizar **getCaviumPrivKey** para exportar una clave privada en formato PEM falso.

**Example Exportar un archivo en formato PEM falso**  
Este comando crea y exporta una versión PEM falsa de una clave privada con el identificador `15` y la guarda en un archivo denominado `cavKey.pem`. Cuando el comando se ejecuta correctamente, **exportPrivateKey** devuelve un mensaje de confirmación.  

```
Command: getCaviumPrivKey -k 15 -out cavKey.pem

Private Key Handle is written to cavKey.pem in fake PEM format

        getCaviumPrivKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="getCaviumPrivKey-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-k`**  
Especifica el identificador de clave de la clave privada que se va a exportar en formato PEM falso.  
Obligatorio: sí

**`-out`**  
Especifica el nombre del archivo en el que se escribirá la clave PEM falsa.  
Obligatorio: sí

## Temas relacionados
<a name="getCaviumPrivKey-seealso"></a>
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [Descarga de SSL/TLS en Linux con Tomcat](third-offload-linux-jsse.md)
+ [Descarga de SSL/TLS en Linux con NGINX o Apache](third-offload-linux-openssl.md)

# Obtenga certificados de partición HSM mediante KMU AWS CloudHSM
<a name="key_mgmt_util-getCert"></a>

Utilice el **getCert** comando del AWS CloudHSM key\$1mgmt\$1util para recuperar los certificados de partición de un módulo de seguridad de hardware (HSM) y guardarlos en un archivo. Al ejecutar el comando, debe designar el tipo de certificado que desea recuperar. Para ello, utilice uno de los números enteros que se describen a continuación en la sección [Parámetros](#kmu-getCert-parameters). Para obtener más información sobre la función de cada uno de estos certificados, consulte [Verificar la identidad del HSM](verify-hsm-identity.md).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="kmu-getCert-syntax"></a>

```
getCert -h 

getCert -f <file-name> 
        -t <certificate-type>
```

## Ejemplo
<a name="kmu-getCert-examples"></a>

En este ejemplo, se muestra cómo utilizar **getCert** para recuperar el certificado raíz del cliente de un clúster y guardarlo en un archivo.

**Example : recuperación de un certificado raíz del cliente**  
Este comando exporta un certificado raíz del cliente (representado por el númeroentero `4`) y lo guarda en un archivo denominado `userRoot.crt`. Cuando el comando se ejecuta correctamente, **getCert** devuelve un mensaje de confirmación.  

```
Command: getCert -f userRoot.crt -s 4

Cfm3GetCert() returned 0 :HSM Return: SUCCESS
```

## Parameters
<a name="kmu-getCert-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-f`**  
Especifica el nombre del archivo en el que se guardará el certificado recuperado.  
Obligatorio: sí

**-s**  
Un número entero que especifica el tipo de certificado de partición que se desea recuperar. Los números enteros y sus correspondientes tipos de certificados son los siguientes:  
+ **1**: certificado raíz del fabricante
+ **2**: certificado de hardware del fabricante
+ **4**: certificado raíz del cliente
+ **8**: certificado del clúster (firmado por el certificado raíz del cliente)
+ **16**: certificado del clúster (enlazado al certificado raíz del fabricante)
Obligatorio: sí

## Temas relacionados
<a name="kmu-getCert-seealso"></a>
+ [Verificar la identidad del HSM](verify-hsm-identity.md)

# Obtenga los usuarios de una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-getKeyInfo"></a>

Utilice el **getKeyInfo** comando de AWS CloudHSM key\$1mgmt\$1util para devolver el usuario del módulo de seguridad de hardware (HSM) de los usuarios que pueden usar la clave, incluidos el propietario y IDs los usuarios criptográficos (CU) con los que se comparte la clave. Cuando la autenticación de cuórum está habilitada en una clave, **getKeyInfo** también devuelve el número de usuarios que deben aprobar las operaciones criptográficas que utilizan la clave. Solamente puede ejecutar **getKeyInfo** en las claves que son de su propiedad y han compartido con usted.

Cuando ejecuta **getKeyInfo** en claves públicas, **getKeyInfo** solamente devuelve el propietario de la clave, aunque todos los usuarios del HSM puedan utilizar la clave pública. Para encontrar el usuario HSM IDs de los usuarios en tu cuenta HSMs, usa [ListUsers](key_mgmt_util-listUsers.md). Para encontrar las claves de un usuario concreto, use [findKey](key_mgmt_util-findKey.md) `-u`.

Es propietario de las claves que crea. Puede compartir una clave con otros usuarios cuando la crea. A continuación, para compartir o dejar de compartir una clave existente, utilice [shareKey](cloudhsm_mgmt_util-shareKey.md) en cloudhsm\$1mgmt\$1util.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="getKeyInfo-syntax"></a>

```
getKeyInfo -h

getKeyInfo -k <key-handle>
```

## Ejemplos
<a name="getKeyInfo-examples"></a>

En estos ejemplos, se muestra cómo se utiliza **getKeyInfo** para obtener información sobre los usuarios de una clave.

**Example : obtención de los usuarios para una clave simétrica**  
Este comando obtiene los usuarios que pueden utilizar la clave AES (simétrica) con identificador de clave `9`. El resultado muestra que el usuario 3 es propietario de la clave y la comparte con el usuario 4.  

```
Command:  getKeyInfo -k 9

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 1 user(s):

                4
```

**Example : obtención de los usuarios para un par de claves asimétricas**  
Estos comandos utilizan **getKeyInfo** para obtener los usuarios que pueden utilizar las claves de un par de claves RSA (simétricas). La clave pública tiene el identificador de clave `21`. La clave privada tiene el identificador de clave `20`.   
Cuando utilizas **getKeyInfo** la clave privada (`20`), devuelve al propietario de la clave (3) y a los usuarios criptográficos (CUs) 4 y 5, con los que se comparte la clave.   

```
Command:  getKeyInfo -k 20

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 2 user(s):

                4
                5
```
Cuando ejecuta **getKeyInfo** en la clave pública (`21`), solamente devuelve el propietario de la clave (3).   

```
Command:  getKeyInfo -k 21

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3
```
Para confirmar que el usuario 4 puede utilizar la clave pública (y todas las claves públicas en el HSM), utilice el parámetro `-u` de [findKey](key_mgmt_util-findKey.md).   
El resultado muestra que el usuario 4 puede utilizar la clave pública (`21`) y la clave privada (`20`) en el par de claves. El usuario 4 también puede utilizar todas las demás claves públicas y cualquier clave privada creadas o que se hayan compartido con ellos.   

```
Command:  findKey -u 4
Total number of keys present 8

 number of keys matched from start index 0::7
11, 12, 262159, 262161, 262162, 19, 20, 21

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

**Example : obtención del valor de autenticación de cuórum (m\$1value) para una clave**  
Este ejemplo muestra cómo obtener el `m_value` para una clave, esto es, el número de usuarios en el cuórum que debe aprobar las operaciones criptográficas que utilizan la clave.  
Cuando la autenticación de cuórum está habilitada en una clave, un cuórum de usuarios debe aprobar cualquier operación criptográfica que utilice la clave. Para habilitar la autenticación de cuórum y establecer el tamaño de cuórum, utilice el parámetro `-m_value` al crear la clave.  
Este comando usa [gen RSAKey Pair](key_mgmt_util-genRSAKeyPair.md) para crear un key pair de RSA que se comparte con el usuario 4. Utiliza el parámetro `m_value` para habilitar la autenticación de cuórum en la clave privada en el par y establecer el tamaño de cuórum en dos usuarios. El número de usuarios debe ser lo suficientemente grande como para proporcionar las aprobaciones necesarias.  
El resultado muestra que el comando creó la clave pública `27` y la clave privada `28`.  

```
 Command:  genRSAKeyPair -m 2048 -e 195193 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 27    private key handle: 28

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```
Este comando utiliza **getKeyInfo** para obtener información sobre los usuarios de la clave privada. El resultado muestra que la clave es propiedad del usuario 3 y se comparte con el usuario 4. También muestra que un cuórum de dos usuarios debe aprobar todas las operaciones criptográficas que utilizan la clave.  

```
Command:  getKeyInfo -k 28

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 1 user(s):

                 4
         2 Users need to approve to use/manage this key
```

## Parameters
<a name="getKeyInfo-parameters"></a>

**-h**  
Muestra la ayuda de la línea de comando para el comando.   
Obligatorio: sí

**-k**  
Especifica el identificador de una clave en el HSM. Escriba el identificador de una clave de su propiedad o que comparte. Este parámetro es obligatorio.   
Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-listUsers.md).  
Obligatorio: sí

## Temas relacionados
<a name="getKeyInfo-seealso"></a>
+ [getKeyInfo](cloudhsm_mgmt_util-getKeyInfo.md)en cloudhsm\$1mgmt\$1util
+ [listUsers](key_mgmt_util-listUsers.md)
+ [findKey](key_mgmt_util-findKey.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)en cloudhsm\$1mgmt\$1util

# Mostrar información de ayuda para AWS CloudHSM KMU
<a name="key_mgmt_util-help"></a>

Use el comando de key\$1mgmt\$1util para mostrar información sobre todos los **help** comandos key\$1mgmt\$1util disponibles. AWS CloudHSM 

Antes de ejecutar el comando **help**, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start).

## Sintaxis
<a name="help-syntax"></a>

```
help
```

## Ejemplo
<a name="help-examples"></a>

Este ejemplo muestra la salida del comando `help`.

**Example**  

```
Command:  help

Help Commands Available:

Syntax: <command> -h


   Command               Description
   =======               ===========

   exit                   Exits this application
   help                   Displays this information

        Configuration and Admin Commands
   getHSMInfo             Gets the HSM Information
   getPartitionInfo       Gets the Partition Information
   listUsers              Lists all users of a partition
   loginStatus            Gets the Login Information
   loginHSM               Login to the HSM
   logoutHSM              Logout from the HSM

        M of N commands
   getToken               Initiate an MxN service and get Token
   delToken               delete Token(s)
   approveToken           Approves an MxN service
   listTokens             List all Tokens in the current partition

        Key Generation Commands

        Asymmetric Keys:
   genRSAKeyPair          Generates an RSA Key Pair
   genDSAKeyPair          Generates a DSA Key Pair
   genECCKeyPair          Generates an ECC Key Pair

        Symmetric Keys:
   genPBEKey              Generates a PBE DES3 key
   genSymKey              Generates a Symmetric keys

        Key Import/Export Commands
   createPublicKey        Creates an RSA public key
   importPubKey           Imports RSA/DSA/EC Public key
   exportPubKey           Exports RSA/DSA/EC Public key
   importPrivateKey       Imports RSA/DSA/EC private key
   exportPrivateKey       Exports RSA/DSA/EC private key
   imSymKey               Imports a Symmetric key
   exSymKey               Exports a Symmetric key
   wrapKey                Wraps a key from from HSM using the specified handle
   unWrapKey              UnWraps a key into HSM using the specified handle

        Key Management Commands
   deleteKey              Delete Key
   setAttribute           Sets an attribute of an object
   getKeyInfo             Get Key Info about shared users/sessions
   findKey                Find Key
   findSingleKey          Find single Key
   getAttribute           Reads an attribute from an object

        Certificate Setup Commands
   getCert                Gets Partition Certificates stored on HSM

        Key Transfer Commands
   insertMaskedObject     Inserts a masked object
   extractMaskedObject    Extracts a masked object

        Management Crypto Commands
   sign                   Generates a signature
   verify                 Verifies a signature
   aesWrapUnwrap          Does NIST AES Wrap/Unwrap

        Helper Commands
   Error2String           Converts Error codes to Strings
                          save key handle in fake PEM format
   getCaviumPrivKey       Saves an RSA private key handle
                          in fake PEM format
   IsValidKeyHandlefile   Checks if private key file has
                          an HSM key handle or a real key
   listAttributes         List all attributes for getAttributes
   listECCCurveIds        List HSM supported ECC CurveIds
```

## Parameters
<a name="loginHSM-parameters"></a>

Este comando no tiene parámetros.

## Temas relacionados
<a name="loginHSM-seealso"></a>
+ [loginHSM y logoutHSM](key_mgmt_util-loginHSM.md)

# Importación de una clave privada mediante AWS CloudHSM KMU
<a name="key_mgmt_util-importPrivateKey"></a>

Utilice el **importPrivateKey** comando del AWS CloudHSM key\$1mgmt\$1util para importar una clave privada asimétrica de un archivo a un módulo de seguridad de hardware (HSM). El HSM no permite la importación directa de claves en texto no cifrado. El comando cifra la clave privada mediante una clave de encapsulamiento AES que usted especifique y desencapsula la clave dentro del HSM. [Si intenta asociar una AWS CloudHSM clave a un certificado, consulte este tema.](ksp-library-associate-key-certificate.md)

**nota**  
No puede importar una clave PEM protegida con contraseña mediante una clave simétrica o privada.

Debe especificar una clave de encapsulamiento AES que tenga un valor de atributo `OBJ_ATTR_UNWRAP` y `OBJ_ATTR_ENCRYPT` `1`. Para buscar los atributos de una clave, utilice el comando [**getAttribute**](key_mgmt_util-getAttribute.md).

**nota**  
 Este comando no ofrece la opción de marcar la clave importada como no exportable. 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="importPrivateKey-syntax"></a>

```
importPrivateKey -h

importPrivateKey -l <label>
                 -f <key-file>
                 -w <wrapping-key-handle>
                 [-sess]
                 [-id <key-id>]
                 [-m_value <0...8>]
                 [min_srv <minimum-number-of-servers>]
                 [-timeout <number-of-seconds>]
                 [-u <user-ids>]
                 [-wk <wrapping-key-file>]
                 [-attest]
```

## Ejemplos
<a name="importPrivateKey-examples"></a>

Este ejemplo muestra cómo utilizar **importPrivateKey** para importar una clave privada en un HSM.

**Example : importar una clave privada**  
Este comando importa la clave privada de un archivo denominado `rsa2048.key` con la etiqueta `rsa2048-imported` y una clave de encapsulación con el identificador `524299`. Cuando el comando se ejecuta correctamente, **importPrivateKey** devuelve un identificador de clave para la clave importada y un mensaje de confirmación.  

```
Command: importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299

BER encoded key length is 1216

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Private Key Unwrapped.  Key Handle: 524301

Cluster Error Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="importPrivateKey-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-l`**  
Especifica la etiqueta de clave privada definida por el usuario.  
Obligatorio: sí

**`-f`**  
Especifica el nombre de archivo de la clave que se va a importar.  
Obligatorio: sí

**`-w`**  
Especifica el identificador de la clave de encapsulamiento. Este parámetro es obligatorio. Para buscar identificadores de clave, utilice el comando [**findKey**](key_mgmt_util-findKey.md).  
Para determinar si una clave se puede utilizar como clave de encapsulación, utilice [**getAttribute**](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_WRAP` (262). Para crear una clave de encapsulación, utilice [**genSymKey**](key_mgmt_util-genSymKey.md) para crear una clave AES (de tipo 31).  
Si utiliza el parámetro `-wk` para especificar una clave de desencapsulación externa, la clave de encapsulación `-w` se utiliza para encapsular, pero no desencapsular, la clave durante la importación.  
Obligatorio: sí

**`-sess`**  
Especifica la clave importada como una clave de sesión.  
Valor predeterminado: la clave importada se mantiene como clave persistente (token) en el clúster.  
Obligatorio: no

**`-id`**  
Especifica el ID de la clave que se va a importar.  
Predeterminado: sin valor de ID.  
Obligatorio: no

**`-m_value`**  
Especifica el número de usuarios que deben aprobar cualquier operación criptográfica que utilice la clave importada. Especifique un valor entre **0** y **8**.  
Este parámetro solo es válido cuando el parámetro `-u` del comando comparte la clave con suficientes usuarios para satisfacer el requisito `m_value`.  
Predeterminado: 0  
Obligatorio: no

**`-min_srv`**  
Especifica el número mínimo HSMs en el que se sincroniza la clave importada antes de que caduque el valor del `-timeout` parámetro. Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**`-timeout`**  
Especifica el número de segundos que se debe esperar a que la clave se sincronice HSMs cuando se incluye el `min-serv` parámetro. Si no se ningún número, el sondeo continúa indefinidamente.  
Valor predeterminado: sin límite  
Obligatorio: no

**`-u`**  
Especifica la lista de usuarios con los que se va a compartir la clave privada importada. Este parámetro otorga permiso a otros usuarios de cifrado de HSM (CUs) para usar la clave importada en operaciones criptográficas.  
Introduzca una lista separada por comas de los usuarios de HSM, como. IDs `-u 5,6` No incluya el ID de usuario de HSM del usuario actual. [Para encontrar el usuario IDs de HSM CUs en el HSM, usa ListUsers.](key_mgmt_util-listUsers.md)  
Valor predeterminado: solo el usuario actual puede utilizar la clave importada.  
Obligatorio: no

**`-wk`**  
Especifica la clave que se utilizará para encapsular la clave que se está importando. Escriba la ruta y el nombre de un archivo que contenga una clave AES sin cifrar.  
Si se incluye este parámetro, **importPrivateKey** utiliza la clave del archivo `-wk` para encapsular la clave que se va a importar. También utiliza la clave especificada por el parámetro `-w` para desencapsularla.  
Valor predeterminado: utilizar la clave de encapsulación especificada en el parámetro `-w` para encapsular y desencapsular.  
Obligatorio: no

**`-attest`**  
Realiza una comprobación de conformidad de la respuesta del firmware para asegurarse de que el firmware en el que se ejecuta el clúster no ha sido manipulado.  
Obligatorio: no

## Temas relacionados
<a name="importPrivateKey-seealso"></a>
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [exportPrivateKey](key_mgmt_util-exportPrivateKey.md)

# Importación de una clave pública mediante AWS CloudHSM KMU
<a name="key_mgmt_util-importPubKey"></a>

Utilice el **importPubKey** comando del AWS CloudHSM key\$1mgmt\$1util para importar una clave pública en formato PEM a un módulo de seguridad de hardware (HSM). Puede utilizarlo para importar claves públicas que se han generado fuera del HSM. También puede utilizarlo para importar claves que se han exportado desde un HSM, como las que exporta el comando [exportPubKey](key_mgmt_util-exportPubKey.md).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="importPubKey-syntax"></a>

```
importPubKey -h

importPubKey -l <label>
             -f <key-file>
             [-sess]
             [-id <key-id>]
             [min_srv <minimum-number-of-servers>]
             [-timeout <number-of-seconds>]
```

## Ejemplos
<a name="importPubKey-examples"></a>

Este ejemplo muestra cómo utilizar **importPubKey** para importar una clave pública en un HSM.

**Example : importar una clave pública**  
Este comando importa una clave pública desde un archivo denominado `public.pem` con la etiqueta `importedPublicKey`. Cuando el comando se ejecuta correctamente, **importPubKey** devuelve un identificador de clave para la clave importada y un mensaje de confirmación.  

```
Command: importPubKey -l importedPublicKey -f public.pem

Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS

Public Key Handle: 262230

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="importPubKey-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-l`**  
Especifica la etiqueta de clave pública definida por el usuario.  
Obligatorio: sí

**`-f`**  
Especifica el nombre de archivo de la clave que se va a importar.  
Obligatorio: sí

**`-sess`**  
Designa la clave importada como clave de sesión.  
Valor predeterminado: la clave importada se mantiene como clave persistente (token) en el clúster.  
Obligatorio: no

**`-id`**  
Especifica el ID de la clave que se va a importar.  
Predeterminado: sin valor de ID.  
Obligatorio: no

**`-min_srv`**  
Especifica el número mínimo con el que se sincroniza la HSMs clave importada antes de que caduque el valor del parámetro. `-timeout` Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**`-timeout`**  
Especifica el número de segundos que se debe esperar a que la clave se sincronice HSMs cuando se incluye el `min-serv` parámetro. Si no se ningún número, el sondeo continúa indefinidamente.  
Valor predeterminado: sin límite  
Obligatorio: no

## Temas relacionados
<a name="importPubKey-seealso"></a>
+ [exportPubKey](key_mgmt_util-exportPubKey.md)
+ [Generar claves](generate-keys.md)

# Importe una clave simétrica de texto plano mediante KMU AWS CloudHSM
<a name="key_mgmt_util-imSymKey"></a>

Utilice el **imSymKey** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para importar una copia en texto plano de una clave simétrica de un archivo al módulo de seguridad de hardware (HSM). Puede usarlo para importar las claves generadas mediante cualquier método ajeno al HSM y las claves que se exportaron desde un HSM, como las claves que el comando escribe en un archivo. [exSymKey](key_mgmt_util-exSymKey.md) 

Durante el proceso de importación, **imSymKey** utiliza una clave AES que se selecciona (la *clave de encapsulado*) para *encapsular* (cifrar) y luego *desencapsular* (descifrar) la clave que se va a importar. Sin embargo, **imSymKey** funciona solo en archivos que contienen claves no cifradas. Para exportar e importar claves cifradas, utilice [WrapKey](key_mgmt_util-wrapKey.md) y [unWrapKey](key_mgmt_util-unwrapKey.md)los comandos. 

Además, el comando **imSymKey** importa únicamente claves simétricas. Para importar claves públicas, utilice [importPubKey](key_mgmt_util-importPubKey.md). Para importar claves privadas, utilice [importPrivateKey](key_mgmt_util-importPrivateKey.md)o [WrapKey](key_mgmt_util-wrapKey.md). 

**nota**  
No puede importar una clave PEM protegida con contraseña mediante una clave simétrica o privada.

Las claves importadas funcionan de forma muy parecida a las claves que se generan en el HSM. Sin embargo, el valor del [atributo OBJ\$1ATTR\$1LOCAL](key-attribute-table.md) es cero, lo que indica que no se generó localmente. Puede utilizar el siguiente comando para compartir una clave simétrica al importarla. Puede utilizar el comando `shareKey` de [cloudhsm\$1mgmt\$1util](cloudhsm_mgmt_util.md) para compartir la clave después de importarla. 

```
imSymKey -l aesShared -t 31 -f kms.key -w 3296 -u 5
```

Después de importar una clave, asegúrese de marcar o eliminar el archivo de clave. Este comando no le impide importar el mismo material de claves varias veces. El resultado, es decir, varias claves con diferentes identificadores de clave y el mismo material de claves, dificulta el seguimiento del uso del material relacionado con las claves e impide que supere sus límites criptográficos. 

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="imSymKey-syntax"></a>

```
imSymKey -h

imSymKey -f <key-file>
         -w <wrapping-key-handle>  
         -t <key-type>
         -l <label>
         [-id <key-ID>]
         [-sess]
         [-wk <wrapping-key-file> ]
         [-attest]
         [-min_srv <minimum-number-of-servers>]
         [-timeout <number-of-seconds> ]
         [-u <user-ids>]
```

## Ejemplos
<a name="imSymKey-examples"></a>

Estos ejemplos muestran cómo se utilizan **imSymKey** para importar claves simétricas a su. HSMs

**Example : importar una clave simétrica AES**  
En este ejemplo, **imSymKey** se utiliza para importar una clave simétrica AES al. HSMs   
El primer comando utiliza OpenSSL para generar una clave simétrica AES de 256 bits aleatoria. Guarda la clave en el archivo `aes256.key`.  

```
$  openssl rand -out aes256.key 32
```
El segundo comando se utiliza **imSymKey** para importar la clave AES del `aes256.key` archivo al HSMs. Utiliza la clave 20, una clave AES del HSM, como clave de encapsulación y especifica una etiqueta de tipo `imported`. A diferencia del ID, no es necesario que la etiqueta sea única en el clúster. El valor del parámetro `-t` (tipo) es `31`, que representa AES.   
La salida muestra que la clave del archivo se encapsuló y se desencapsuló y después se importó al HSM, donde se asignó al identificador de clave 262180.  

```
Command:  imSymKey -f aes256.key -w 20 -t 31 -l imported

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 262180

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```
El siguiente comando utiliza [getAttribute](key_mgmt_util-getAttribute.md) para obtener el atributo OBJ\$1ATTR\$1LOCAL ([atributo 355](key-attribute-table.md)) de la clave que acaba de importar y lo escribe en el archivo `attr_262180`.  

```
Command:  getAttribute -o 262180 -a 355 -out attributes/attr_262180
Attributes dumped into attributes/attr_262180_imported file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
```
Cuando examine el archivo de atributos, verá que el valor del atributo `OBJ_ATTR_LOCAL` es cero, lo que indica que el material de clave no se ha generado en el HSM.   

```
$  cat attributes/attr_262180_local
OBJ_ATTR_LOCAL
0x00000000
```

**Example : desplazamiento de una clave simétrica entre clústeres**  
En este ejemplo se muestra cómo utilizar [exSymKey](key_mgmt_util-exSymKey.md) e **imSymKey** para mover una clave AES sin cifrar entre clústeres. Puede utilizar un proceso como este para crear un empaquetado AES que exista en HSMs ambos clústeres. Una vez que la clave de empaquetado compartida esté en su lugar, puede usar [WrapKey](key_mgmt_util-wrapKey.md) y [unWrapKey](key_mgmt_util-unwrapKey.md)mover las claves cifradas entre los clústeres.  
El usuario de CU que realice esta operación debe tener permiso para iniciar sesión HSMs en ambos clústeres.  
El primer comando utiliza [exSymKey](key_mgmt_util-exSymKey.md) para exportar la clave 14, una clave AES de 32 bits desde el clúster 1 hasta el archivo `aes.key`. Utiliza la clave 6, una clave AES del HSMs clúster 1, como clave de empaquetado.   

```
Command: exSymKey -k 14 -w 6 -out aes.key

        Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS


Wrapped Symmetric Key written to file "aes.key"
```
A continuación, el usuario inicia sesión en key\$1mgmt\$1util del clúster 2 y ejecuta un **imSymKey** comando para importar la clave del `aes.key` archivo al clúster 2. HSMs Este comando usa la clave 252152, una clave AES del clúster 2, como clave de HSMs empaquetado.   
Como las claves de encapsulación que tanto [exSymKey](key_mgmt_util-exSymKey.md) como **imSymKey** utilizan encapsulan y desencapsulan inmediatamente las claves de destino, no es necesario que las claves de encapsulación de los diversos clústeres sean iguales.   
La salida muestra que la clave se ha importado correctamente al clúster 2 y que se le ha asignado el identificador de clave 21.   

```
Command:  imSymKey -f aes.key -w 262152 -t 31 -l xcluster

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 21

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```
Para demostrar que la clave 14 del clúster 1 y la clave 21 del clúster 2 tienen el mismo material de clave, obtenga el valor de comprobación clave (KCV) de cada clave. Si los valores de KCV son los mismos, el material de clave es el mismo.  
El siguiente comando utiliza [getAttribute](key_mgmt_util-getAttribute.md) en el clúster 1 para escribir el valor del atributo KCV (atributo 371) de la clave 14 en el archivo `attr_14_kcv`. A continuación, utiliza un comando **cat** para obtener el contenido del archivo `attr_14_kcv`.  

```
Command:  getAttribute -o 14 -a 371 -out attr_14_kcv
Attributes dumped into attr_14_kcv file

$  cat attr_14_kcv
OBJ_ATTR_KCV
0xc33cbd
```
Este comando similar utiliza [getAttribute](key_mgmt_util-getAttribute.md) en el clúster 2 para escribir el valor del atributo KCV (atributo 371) de la clave 21 en el archivo `attr_21_kcv`. A continuación, utiliza un comando **cat** para obtener el contenido del archivo `attr_21_kcv`.  

```
Command:  getAttribute -o 21 -a 371 -out attr_21_kcv
Attributes dumped into attr_21_kcv file

$  cat attr_21_kcv
OBJ_ATTR_KCV
0xc33cbd
```
La salida muestra que los valores de KCV de las dos claves son los mismos, lo que demuestra que el material de clave es el mismo.  
Como ambos clústeres contienen el mismo material HSMs de claves, ahora puede compartir las claves cifradas entre los clústeres sin exponer nunca la clave de texto simple. Por ejemplo, puede utilizar el comando `wrapKey` con la clave de encapsulación 14 para exportar una clave cifrada desde el clúster 1 y, a continuación, utilizar `unWrapKey` con la clave de encapsulación 21 para importar la clave cifrada al clúster 2.

**Example : importación de una clave de sesión**  
Este comando utiliza los parámetros `-sess` de **imSymKey** para importar una clave triple DES de 192 bits que es válida únicamente en la sesión actual.   
El comando utiliza el parámetro `-f` para especificar el archivo que contiene la clave para importar, el parámetro `-t` para especificar el tipo de clave y el parámetro `-w` para especificar la clave de encapsulación. También utiliza el parámetro `-l` para especificar una etiqueta que establece la categoría de la clave, el parámetro `-id` para crear un identificador descriptivo y único para la clave y el parámetro `-attest` para verificar el firmware que importa la clave.   
La salida muestra que la clave se encapsuló y se desencapsuló correctamente, se importó al HSM y se le asignó el identificador de clave 37. Además, muestra que se pasó la comprobación de atestación, que indica que el firmware no ha sufrido ninguna manipulación.  

```
Command:  imSymKey -f 3des192.key -w 6 -t 21 -l temp -id test01 -sess -attest

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 37

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
A continuación, puede ejecutar los comandos [getAttribute](key_mgmt_util-getAttribute.md) o [findKey](key_mgmt_util-findKey.md) para verificar los atributos de la clave recién importada. El siguiente comando utiliza **findKey** para verificar que la clave 37 tenga el tipo, la etiqueta y el ID especificados por el comando y que sea una clave de sesión. Tal y como se muestra en la línea 5 de la salida, **findKey** informa que la única clave que coincide con todos los atributos es la clave 37.   

```
Command:  findKey -t 21 -l temp -id test01 -sess 1
Total number of keys present 1

 number of keys matched from start index 0::0
37

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="imSymKey-params"></a>

**-attest**  
Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.  
Predeterminado: sin comprobación de certificación.  
Obligatorio: no

**-f**  
Especifica el archivo que contiene la clave que se va a importar.  
El archivo debe contener una copia en texto plano de una clave AES o Triple DES de la longitud especificada. RC4 y las claves DES no son válidas en el modo HSMs FIPS.  
+ **AES**: 16, 24 o 32 bytes
+ **Triple DES (3DES)**: 24 bytes
Obligatorio: sí

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-id**  
Especifica un identificador definido por el usuario para la clave. Escriba una cadena que sea única en el clúster. El valor predeterminado es una cadena vacía.   
Predeterminado: sin valor de ID.  
Obligatorio: no

**-l**  
Especifica una etiqueta definida por el usuario para la clave. Tipo de cadena.  
Puede utilizar cualquier frase que le ayude a identificar la clave. La etiqueta no tiene por qué ser única, por lo que puede usarla para agrupar y clasificar las claves.   
Obligatorio: sí

**-min\$1srv**  
Especifica el número mínimo HSMs en el que se sincroniza la clave antes de que caduque el valor del parámetro. `-timeout` Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**-sess**  
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.  
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.  
Para cambiar una clave de sesión por una clave persistente (token), use [setAttribute](key_mgmt_util-setAttribute.md).  
Predeterminado: la clave es persistente.   
Obligatorio: no

**-timeout**  
Especifica cuánto tiempo (en segundos) espera el comando a que se sincronice una clave con el número HSMs especificado por el parámetro. `min_srv`   
Este parámetro solo es válido cuando también se usa el parámetro `min_srv` en el comando.  
Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.  
Obligatorio: no

**-t**  
Especifica el tipo de clave simétrica. Escriba la constante que representa el tipo de clave. Por ejemplo, para crear una clave AES, escriba `-t 31`.  
Valores válidos:   
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES).
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Obligatorio: sí

**-u**  
Comparte la clave que va a importar con los usuarios especificados. Este parámetro permite a otros usuarios de criptomonedas de HSM (CUs) utilizar esta clave en operaciones criptográficas.   
Escriba un ID o una lista de usuarios IDs de HSM separados por comas, como -u. `5,6` No incluya el ID de usuario de HSM del usuario actual. Para encontrar el ID, puede utilizar el comando [listUsers](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_mgmt_util-listUsers.html) en la herramienta de la línea de comandos cloudhsm\$1mgmt\$1util o el comando [listUsers](https://docs.aws.amazon.com/cloudhsm/latest/userguide/key_mgmt_util-listUsers.html) de la herramienta de la línea de comandos key\$1mgmt\$1util.   
Obligatorio: no

**-w**  
Especifica el identificador de la clave de encapsulamiento. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Una *clave de encapsulación* es una clave del HSM que se utiliza para cifrar ("encapsular") y después descifrar ("desencapsular") la clave durante el proceso de importación. Solo las claves AES se pueden utilizar como claves de encapsulación.  
Puede utilizar cualquier clave AES (de cualquier tamaño) como clave de encapsulación. Dado que la clave de encapsulación encapsula y, a continuación, desencapsula inmediatamente la clave de destino, puede utilizar una clave AES solo de una sesión como clave de encapsulación. Para determinar si una clave se puede utilizar como clave de encapsulación, utilice [getAttribute](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_WRAP` (262). Para crear una clave de encapsulación, utilice [genSymKey](key_mgmt_util-genSymKey.md) para crear una clave AES (de tipo 31).  
Si utiliza el parámetro `-wk` para especificar una clave de encapsulación externa, la clave de encapsulación `-w` se utilizará para desencapsular, pero no encapsular, la clave que se va a importar.  
La clave 4 es una clave interna incompatible. Le recomendamos que use una clave AES que cree y administre como clave de encapsulamiento.
Obligatorio: sí

**-wk**  
Utilice la clave AES del archivo especificado para encapsular la clave que se importa. Escriba la ruta y el nombre de un archivo que contenga una clave AES sin cifrar.   
Si se incluye este parámetro, **imSymKey** utiliza la clave del archivo `-wk` para encapsular la clave que se va a importar y utiliza la clave del HSM especificado en el parámetro `-w` para desencapsularla. Los valores de parámetro `-w` y `-wk` deben resolverse en la misma clave sin cifrar.  
Valor predeterminado: utilice la clave de encapsulación del HSM para realizar la desencapsulación.  
Obligatorio: no

## Temas relacionados
<a name="imSymKey-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)
+ [exportPrivateKey](key_mgmt_util-exportPrivateKey.md)
+ [exportPubKey](key_mgmt_util-exportPubKey.md)

# Inserte un objeto enmascarado mediante AWS CloudHSM KMU
<a name="key_mgmt_util-insertMaskedObject"></a>

Utilice el **insertMaskedObject** comando del AWS CloudHSM key\$1mgmt\$1util para insertar un objeto enmascarado de un archivo en un módulo de seguridad de hardware (HSM) designado. Los objetos enmascarados son objetos *clonados* que se extraen de un HSM usando el comando [**extractMaskedObject**](key_mgmt_util-extractMaskedObject.md). Solo se pueden utilizar después de insertarlos de nuevo en el clúster original. Solo puede insertar un objeto enmascarado en el mismo clúster desde el que se generó, o en un clon de ese clúster. Esto incluye cualquier versión clonada del clúster original generada al [copiar una copia de seguridad entre regiones](copy-backup-to-region.md) y [utilizar la copia de seguridad para crear un clúster nuevo](create-cluster-from-backup.md).

Los objetos enmascarados son una forma eficaz de descargar y sincronizar claves, incluidas las claves no extraíbles (es decir, las claves que tienen un valor de [`OBJ_ATTR_EXTRACTABLE`](key-attribute-table.md) igual a `0`). [De este modo, las claves se pueden sincronizar de forma segura en clústeres relacionados de distintas regiones sin necesidad de actualizar el archivo de configuración. AWS CloudHSM](configure-tool.md)

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="insertMaskedObject-syntax"></a>

```
insertMaskedObject -h

insertMaskedObject -f <filename>
                   [-min_srv <minimum-number-of-servers>]
                   [-timeout <number-of-seconds>]
```

## Ejemplos
<a name="insertMaskedObject-examples"></a>

Este ejemplo muestra cómo utilizar **insertMaskedObject** para insertar un archivo de objeto enmascarado en un HSM.

**Example : insertar un objeto enmascarado**  
Este comando inserta un objeto enmascarado en un HSM desde un archivo denominado `maskedObj`. Cuando el comando se ejecuta correctamente, **insertMaskedObject** devuelve un identificador de clave para la clave descifrada del objeto enmascarado y un mensaje de confirmación.  

```
Command: insertMaskedObject -f maskedObj

Cfm3InsertMaskedObject returned: 0x00 : HSM Return: SUCCESS
        New Key Handle: 262433

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="insertMaskedObject-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-f`**  
Especifica el nombre de archivo del objeto enmascarado que se va a insertar.  
Obligatorio: sí

**`-min_srv`**  
Especifica el número mínimo de servidores en los que se sincroniza el objeto enmascarado insertado antes de que caduque el valor del parámetro `-timeout`. Si el objeto no se sincroniza con el número de servidores especificado en el tiempo asignado, no se insertará.  
Predeterminado: 1  
Obligatorio: no

**`-timeout`**  
Especifica el número de segundos que se debe esperar para que la clave se sincronice entre los servidores cuando se incluye el parámetro `min-serv`. Si no se ningún número, el sondeo continúa indefinidamente.  
Valor predeterminado: sin límite  
Obligatorio: no

## Temas relacionados
<a name="insertMaskedObject-seealso"></a>
+ [extractMaskedObject](key_mgmt_util-extractMaskedObject.md)
+ [syncKey](cloudhsm_mgmt_util-syncKey.md)
+ [Copia de una copia de seguridad entre regiones](copy-backup-to-region.md)
+ [Creación de un AWS CloudHSM clúster a partir de un Backup anterior](create-cluster-from-backup.md)

# Validar el archivo clave mediante AWS CloudHSM KMU
<a name="key_mgmt_util-IsValidKeyHandlefile"></a>

Utilice el **IsValidKeyHandlefile** comando del AWS CloudHSM key\$1mgmt\$1util para averiguar si un archivo de claves contiene una clave privada real o una clave PEM RSA falsa. Un archivo de clave PEM falso no contiene material de una clave privada real sino que hace referencia a la clave privada del HSM. Este archivo se puede utilizar para establecer la descarga desde su servidor web a. SSL/TLS AWS CloudHSM Para obtener más información, consulte [Descarga de SSL/TLS en Linux usando Tomcat](third-offload-linux-jsse.md) o [Descarga de SSL/TLS en Linux usando NGINX o Apache](third-offload-linux-openssl.md).

**nota**  
**IsValidKeyHandlefile** solo funciona para claves RSA.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="IsValidKeyHandlefile-syntax"></a>

```
IsValidKeyHandlefile -h

IsValidKeyHandlefile -f <rsa-private-key-file>
```

## Ejemplos
<a name="IsValidKeyHandlefile-examples"></a>

Estos ejemplos muestran cómo utilizar **IsValidKeyHandlefile** para determinar si un archivo de clave determinado contiene material de clave verdadero o material de clave PEM falso.

**Example : validar una clave privada verdadera**  
Este comando confirma que el archivo `privateKey.pem` contiene material de clave verdadero.  

```
Command: IsValidKeyHandlefile -f privateKey.pem

Input key file has real private key
```

**Example : invalidar una clave PEM falsa**  
Este comando confirma que el archivo `caviumKey.pem` contiene material de clave PEM falso creado con el identificador de clave `15`.  

```
Command: IsValidKeyHandlefile -f caviumKey.pem
            
Input file has invalid key handle: 15
```

## Parameters
<a name="IsValidKeyHandlefile-parameters"></a>

Este comando admite los siguientes parámetros.

**`-h`**  
Muestra la ayuda de la línea de comando para el comando.  
Obligatorio: sí

**`-f`**  
Especifica el archivo de clave privada RSA que se comprobará para determinar si contiene material de clave válido.  
Obligatorio: sí

## Temas relacionados
<a name="IsValidKeyHandlefile-seealso"></a>
+ [getCaviumPrivClave](key_mgmt_util-getCaviumPrivKey.md)
+ [Descarga de SSL/TLS en Linux con Tomcat](third-offload-linux-jsse.md) 
+ [Descarga de SSL/TLS en Linux con NGINX o Apache](third-offload-linux-openssl.md)

# Enumere los atributos de una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-listAttributes"></a>

Use el **listAttributes** comando de AWS CloudHSM key\$1mgmt\$1util para enumerar los atributos de una clave y las constantes que los representan. AWS CloudHSM Usted utiliza estas constantes para identificar los atributos en los comandos [getAttribute](key_mgmt_util-getAttribute.md) y [setAttribute](key_mgmt_util-setAttribute.md). Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="listAttributes-syntax"></a>

Este comando no tiene parámetros.

```
listAttributes
```

## Ejemplo
<a name="listAttributes-examples"></a>

Este comando enumera los atributos de clave que se pueden obtener y cambiar en key\$1mgmt\$1util, así como las constantes que los representan. Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md). 

Para representar a todos los atributos del comando [getAttribute](key_mgmt_util-getAttribute.md) de key\$1mgmt\$1util, utilice `512`.

```
Command: listAttributes

Following are the possible attribute values for getAttributes:

      OBJ_ATTR_CLASS                  = 0
      OBJ_ATTR_TOKEN                  = 1
      OBJ_ATTR_PRIVATE                = 2
      OBJ_ATTR_LABEL                  = 3
      OBJ_ATTR_KEY_TYPE               = 256
      OBJ_ATTR_ENCRYPT                = 260
      OBJ_ATTR_DECRYPT                = 261
      OBJ_ATTR_WRAP                   = 262
      OBJ_ATTR_UNWRAP                 = 263
      OBJ_ATTR_SIGN                   = 264
      OBJ_ATTR_VERIFY                 = 266
      OBJ_ATTR_LOCAL                  = 355
      OBJ_ATTR_MODULUS                = 288
      OBJ_ATTR_MODULUS_BITS           = 289
      OBJ_ATTR_PUBLIC_EXPONENT        = 290
      OBJ_ATTR_VALUE_LEN              = 353
      OBJ_ATTR_EXTRACTABLE            = 354
      OBJ_ATTR_KCV                    = 371
```

## Temas relacionados
<a name="listAttributes-seealso"></a>
+ [listAttributes](cloudhsm_mgmt_util-listAttributes.md) en cloudhsm\$1mgmt\$1util
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [setAttribute](key_mgmt_util-setAttribute.md)
+ [Referencia de los atributos de claves](key-attribute-table.md)

# Listar todos los AWS CloudHSM usuarios que utilizan KMU
<a name="key_mgmt_util-listUsers"></a>

Utilice el **listUsers** comando del AWS CloudHSM key\$1mgmt\$1util para obtener los usuarios de los módulos de seguridad de hardware (HSM), junto con su tipo de usuario y otros atributos.

En key\$1mgmt\$1util, ListUsers devuelve una salida que representa HSMs todo el clúster, incluso si no es coherente. Para obtener información acerca de los usuarios de cada HSM, utilice el comando [listUsers](#key_mgmt_util-listUsers) en cloudhsm\$1mgmt\$1util.

Los comandos de usuario de key\$1mgmt\$1util **listUsers** y [getKeyInfo](key_mgmt_util-getKeyInfo.md)son comandos de solo lectura que los usuarios criptográficos () tienen permiso para ejecutar. CUs Los demás comandos de administración de usuarios forman parte de cloudhsm\$1mgmt\$1util. Son ejecutados por responsables de criptografía (CO) que tienen permisos de administración de usuarios.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="listUsers-syntax"></a>

```
listUsers 

listUsers -h
```

## Ejemplo
<a name="listUsers-examples"></a>

Este comando muestra los usuarios del clúster y sus atributos. HSMs Puede usar el `User ID` atributo para identificar a los usuarios en otros comandos, como [FindKey](key_mgmt_util-findKey.md), [GetAttribute](key_mgmt_util-getAttribute.md) y. [getKeyInfo](key_mgmt_util-getKeyInfo.md)

```
Command:  listUsers

        Number Of Users found 4

        Index       User ID     User Type       User Name           MofnPubKey    LoginFailureCnt         2FA
        1                1      PCO             admin                     NO               0               NO
        2                2      AU              app_user                  NO               0               NO
        3                3      CU              alice                     YES              0               NO
        4                4      CU              bob                       NO               0               NO
        5                5      CU              trent                     YES              0               NO

        Cfm3ListUsers returned: 0x00 : HSM Return: SUCCESS
```

La salida contiene los siguientes atributos de usuario:
+ **ID de usuario**: identifica al usuario de los comandos key\$1mgmt\$1util y [cloudhsm\$1mgmt\$1util](cloudhsm_mgmt_util.md).
+ [User type](understanding-users-cmu.md) (Tipo de usuario): determina las operaciones que el usuario puede realizar en el HSM.
+ **User Name** (Nombre de usuario): muestra el nombre fácil de recordar definido por el usuario para el usuario.
+ **MofnPubKey**: Indica si el usuario ha registrado un key pair para firmar los [tokens de autenticación de quórum](quorum-authentication.md).
+ **LoginFailureCnt**: Indica el número de veces que el usuario ha iniciado sesión sin éxito. 
+ **2FA**: indica que el usuario ha activado la autenticación multifactor. 

## Parameters
<a name="listUsers-parameters"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

## Temas relacionados
<a name="listUsers-seealso"></a>
+ [listUsers](#key_mgmt_util-listUsers) en cloudhsm\$1mgmt\$1util
+ [findKey](key_mgmt_util-findKey.md)
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)

# Iniciar y cerrar sesión en un HSM mediante KMU AWS CloudHSM
<a name="key_mgmt_util-loginHSM"></a>

Use los comandos **loginHSM** y **logoutHSM** de la key\$1mgmt\$1util del AWS CloudHSM para iniciar y cerrar sesión en los módulos de seguridad de hardware (HSM) de un clúster. Una vez que haya iniciado sesión en HSMs, puede usar key\$1mgmt\$1util para realizar diversas operaciones de administración de claves, como la generación, sincronización y empaquetado de claves públicas y privadas.

Para poder ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start). [Para gestionar las claves con key\$1mgmt\$1util, debe iniciar sesión en el como usuario criptográfico (CU). HSMs ](understanding-users-cmu.md#crypto-user-cmu)

**nota**  
Si se superan cinco intentos de inicio de sesión incorrectos, se bloquea la cuenta. Si creó el clúster antes de febrero de 2018, la cuenta se bloquea después de 20 intentos de inicio de sesión incorrectos. Para desbloquear la cuenta, un responsable de criptografía (CO) debe restablecer la contraseña mediante el comando [changePswd](cloudhsm_mgmt_util-changePswd.md) en cloudhsm\$1mgmt\$1util.  
Si tiene más de un HSM en el clúster, es posible que puedan realizarse intentos adicionales de inicio de sesión incorrectos antes de que se bloquee la cuenta. Esto se debe a que el cliente CloudHSM equilibra la carga entre varios. HSMs Por lo tanto, el intento de inicio de sesión no puede comenzar en el mismo HSM cada vez. Si va a probar esta funcionalidad, recomendamos que lo haga en un clúster con un solo HSM activo. 

## Sintaxis
<a name="loginHSM-syntax"></a>

```
loginHSM -h

loginHSM -u <user type>
         { -p | -hpswd } <password>
         -s <username>
```

## Ejemplo
<a name="loginHSM-examples"></a>

En este ejemplo, se muestra cómo iniciar y cerrar sesión HSMs en un clúster con los comandos `loginHSM` and`logoutHSM`.

**Example : inicie sesión en el HSMs**  
Este comando inicia sesión HSMs como usuario criptográfico (`CU`) con el nombre de usuario `example_user` y la contraseña`aws`. El resultado muestra que ha iniciado sesión HSMs en todos los componentes del clúster.  

```
Command:  loginHSM -u CU -s example_user -p aws

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
    
Cluster Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : inicio de sesión con una contraseña oculta**  
Este comando es el mismo que en el ejemplo anterior, salvo que esta vez se especifica que el sistema debe ocultar la contraseña.  

```
Command:  loginHSM -u CU -s example_user -hpswd
```
El sistema le solicitará su contraseña. Introduce la contraseña, el sistema la oculta y el resultado muestra que el comando se ha realizado correctamente y que se ha conectado al HSMs.  

```
Enter password: 

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
    
Cluster Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Command:
```

**Example : Cierre sesión en HSMs**  
Este comando cierra la sesión de HSMs. El resultado muestra que ha cerrado sesión HSMs en todos los componentes del clúster.  

```
Command: logoutHSM

Cfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS
    
Cluster Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="loginHSM-parameters"></a>

**-h**  
Muestra ayuda para este comando.

**-u**  
Especifica el tipo de usuario que inicia la sesión. Para poder utilizar key\$1mgmt\$1util, debe iniciar sesión como CU.  
Obligatorio: sí

**-s**  
Especifica el nombre del usuario que inicia la sesión.  
Obligatorio: sí

**\$1 -p \$1 -hpswd \$1**  
Especifique la contraseña de inicio de sesión con `-p`. La contraseña aparece en texto no cifrado cuando se escribe. Para ocultar la contraseña, use el parámetro opcional `-hpswd` en lugar de `-p` y siga las instrucciones.  
Obligatorio: sí

## Temas relacionados
<a name="loginHSM-seealso"></a>
+ [exit](key_mgmt_util-exit.md)

# Establezca los atributos de AWS CloudHSM las claves mediante KMU
<a name="key_mgmt_util-setAttribute"></a>

Use el **setAttribute** comando de AWS CloudHSM key\$1mgmt\$1util para convertir una clave que solo es válida en la sesión actual en una clave persistente que existirá hasta que la elimine. El comando realiza esta operación cambiando el valor de atributo de token de la clave (`OBJ_ATTR_TOKEN`) de falso (`0`) a verdadero (`1`). Solo puede cambiar los atributos de claves de su propiedad.

También puede utilizar el comando **setAttribute** de cloudhsm\$1mgmt\$1util para cambiar la etiqueta, encapsular, desencapsular, cifrar y descifrar atributos.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="setAttribute-syntax"></a>

```
setAttribute -h 

setAttribute -o <object handle> 
             -a 1
```

## Ejemplo
<a name="setAttribute-examples"></a>

En este ejemplo se muestra cómo convertir una clave de sesión en una clave persistente. 

El primer comando usa el `-sess` parámetro de [genSymKey](key_mgmt_util-genSymKey.md)para crear una clave AES de 192 bits que solo es válida en la sesión actual. La salida muestra que el indicador de la clave de la nueva sesión es `262154`.

```
Command: genSymKey -t 31 -s 24 -l tmpAES -sess
      
        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 262154

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```

Este comando utiliza [findKey](key_mgmt_util-findKey.md) para encontrar las claves de sesión de la sesión actual. La salida verifica que la clave `262154` es una clave de sesión.

```
Command:  findKey -sess 1

Total number of keys present 1

 number of keys matched from start index 0::0
262154

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

Este comando utiliza **setAttribute** para convertir la clave de sesión `262154` en una clave persistente. Para ello, cambia el valor del atributo de token (`OBJ_ATTR_TOKEN`) de la clave, de `0` (falso) a `1` (verdadero). Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).

El comando utiliza el parámetro `-o` para especificar el indicador de clave (`262154`) y el parámetro `-a` para especificar la constante que representa el atributo de token (`1`). Cuando ejecuta el comando, este le solicita un valor para el atributo de token. El único valor válido es `1` (verdadero), el valor de una clave persistente.

```
Command: setAttribute -o 262154 -a 1
         This attribute is defined as a boolean value.
          Enter the boolean attribute value (0 or 1):1

        Cfm3SetAttribute returned: 0x00 : HSM Return: SUCCESS

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

Para confirmar que la clave `262154` es ahora persistente, este comando busca claves de sesión (`-sess 1`) y claves persistentes (`-sess 0`) utilizando **findKey**. Esta vez el comando no encuentra claves de sesión, pero devuelve `262154` en la lista de claves persistentes.

```
Command: findKey -sess 1

Total number of keys present 0

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS



Command: findKey -sess 0

Total number of keys present 5

 number of keys matched from start index 0::4
6, 7, 524296, 9, 262154

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="setAttribute-parameters"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-o**  
Especifica el identificador de la clave de destino. Puede especificar una única clave en cada comando. Para obtener el identificador de una clave, use [findKey](key_mgmt_util-findKey.md).  
Obligatorio: sí

**-a**  
Especifica la constante que representa el atributo que desea cambiar. El único valor válido es `1`, que representa el atributo de token `OBJ_ATTR_TOKEN`.  
Para obtener los atributos y sus valores enteros, utilice [listAttributes](key_mgmt_util-listAttributes.md).  
Obligatorio: sí

## Temas relacionados
<a name="setAttribute-seealso"></a>
+ [setAttribute](cloudhsm_mgmt_util-setAttribute.md) en cloudhsm\$1mgmt\$1util
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [listAttributes](key_mgmt_util-listAttributes.md)
+ [Referencia de los atributos de claves](key-attribute-table.md)

# Generar una firma mediante AWS CloudHSM KMU
<a name="key_mgmt_util-sign"></a>

Usa el **sign** comando de AWS CloudHSM key\$1mgmt\$1util para usar una clave privada elegida a fin de generar una firma para un archivo.

Para poder utilizar **sign**, primero debe tener una clave privada en el HSM. Puede generar una clave privada con los comandos **[genSymKey](key_mgmt_util-genSymKey.md)**, **[genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)** o **[genECCKeyPair](key_mgmt_util-genECCKeyPair.md)**. También puede importarla con el comando **[importPrivateKey](key_mgmt_util-importPrivateKey.md)**. Para obtener más información, consulte [Generar claves](generate-keys.md).

El comando **sign** utiliza un mecanismo de firma designado por el usuario, representado por un número entero, para firmar un archivo de mensaje. Para obtener una lista de posibles mecanismos de firma, consulte [Parámetros](#sign-parameters).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="sign-syntax"></a>

```
sign -h

sign -f <file name>
     -k <private key handle>
     -m <signature mechanism>
     -out <signed file name>
```

## Ejemplo
<a name="sign-examples"></a>

Este ejemplo muestra cómo utilizar **sign** para firmar un archivo.

**Example Firmar un archivo**  
Este comando firma un archivo denominado `messageFile` con una clave privada con el identificador `266309`. Utiliza el mecanismo de firma `SHA256_RSA_PKCS` (`1`) y guarda el archivo firmado resultante como `signedFile`.  

```
Command: sign -f messageFile -k 266309 -m 1 -out signedFile

Cfm3Sign returned: 0x00 : HSM Return: SUCCESS

signature is written to file signedFile

Cluster Error Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="sign-parameters"></a>

Este comando admite los siguientes parámetros.

**`-f`**  
El nombre del archivo que se va a firmar.  
Obligatorio: sí

**`-k`**  
El identificador de la clave privada que se va a utilizar para la firma.  
Obligatorio: sí

**`-m`**  
Un número entero que representa el mecanismo de firma que se va a utilizar para la firma. Los mecanismos posibles se corresponden con los siguientes valores enteros:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/key_mgmt_util-sign.html)
Obligatorio: sí

**`-out`**  
El nombre del archivo en el que se va a guardar el archivo firmado.  
Obligatorio: sí

## Temas relacionados
<a name="sign-seealso"></a>
+ [verify](key_mgmt_util-verify.md)
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [Gen Pair RSAKey](key_mgmt_util-genRSAKeyPair.md)
+ [ECCKeyPar de genes](key_mgmt_util-genECCKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [Generar claves](generate-keys.md)

# Desenvuelva una AWS CloudHSM clave con KMU
<a name="key_mgmt_util-unwrapKey"></a>

Utilice el **unWrapKey** comando de la herramienta AWS CloudHSM key\$1mgmt\$1util para importar una clave simétrica o privada empaquetada (cifrada) de un archivo al HSM. Está diseñado para importar claves de cifrado encapsuladas con el comando [wrapKey](key_mgmt_util-wrapKey.md) de key\$1mgmt\$1util, pero también se puede utilizar para desencapsular claves encapsuladas con otras herramientas. Sin embargo, en esas situaciones, le recomendamos que utilice las bibliotecas de software de [PKCS \$111](pkcs11-library.md) o [JCE](java-library.md) para desencapsular la clave.

Las claves importadas funcionan igual que las generadas por. AWS CloudHSM Sin embargo, el valor del atributo [OBJ\$1ATTR\$1LOCAL](key-attribute-table.md) es cero, lo que indica que no se han generado localmente.

Después de importar una clave, asegúrese de marcar o eliminar el archivo de claves. Este comando no le impide importar el mismo material de claves varias veces. Los resultados, es decir, varias claves con diferentes identificadores de clave y el mismo material de claves, dificulta el seguimiento del uso del material relacionado con las claves e impide que supere sus límites criptográficos.

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="unwrapKey-syntax"></a>

```
unWrapKey -h

unWrapKey -f <key-file-name> 
          -w <wrapping-key-handle> 
          [-sess]
          [-min_srv <minimum-number-of-HSMs>]          
          [-timeout <number-of-seconds>]
          [-aad <additional authenticated data filename>]
          [-tag_size <tag size>]
          [-iv_file <IV file>]
          [-attest]
          [-m <wrapping-mechanism>]
          [-t <hash-type>]
          [-nex]
          [-u <user id list>]
          [-m_value <number of users needed for approval>]
          [-noheader]
          [-l <key-label>]
          [-id <key-id>]
          [-kt <key-type>]
          [-kc <key-class>]
          [-i <unwrapping-IV>]
```

## Ejemplo
<a name="unwrapKey-examples"></a>

Estos ejemplos muestran **unWrapKey** cómo importar una clave empaquetada de un archivo al HSMs. En el primer ejemplo, desencapsulamos una clave que se ha encapsulado con el comando key\$1mgmt\$1util de **[wrapKey](key_mgmt_util-wrapKey.md)** y que, por lo tanto, tiene un encabezado. En el segundo ejemplo, desencapsulamos una clave que se ha encapsulado fuera de key\$1mgmt\$1util y que, por lo tanto, no tiene encabezado.

**Example : desencapsulamiento de una clave (con encabezado)**  
Este comando importa una copia de una clave simétrica 3DES en un HSM. La clave se desencapsula con una clave AES con la etiqueta `6`, que es criptográficamente idéntica a la que se utilizó para encapsular la clave 3DES. El resultado muestra que la clave del archivo se ha desencapsulado e importado y que el identificador de la clave importada es `29`.  

```
        Command:  unWrapKey -f 3DES.key -w 6 -m 4

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Key Unwrapped.  Key Handle: 29

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : desencapsulamiento de una clave (sin encabezado)**  
Este comando importa una copia de una clave simétrica 3DES en un HSM. La clave se desencapsula con una clave AES con la etiqueta `6`, que es criptográficamente idéntica a la que se utilizó para encapsular la clave 3DES. Dado que esta clave 3DES no se encapsuló con key\$1mgmt\$1util, se especifica el parámetro `noheader`, junto con sus parámetros de acompañamiento necesarios: una etiqueta de clave (`unwrapped3DES`), una clase de clave (`4`) y un tipo de clave (`21`). El resultado muestra que la clave del archivo se ha desencapsulado e importado y que el identificador de la clave importada es `8`.  

```
Command: unWrapKey -f 3DES.key -w 6 -noheader -l unwrapped3DES -kc 4 -kt 21 -m 4
      
      Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS
       Cfm2UnWrapWithTemplate3 returned: 0x00 : HSM Return: SUCCESS

       Key Unwrapped. Key Handle: 8

       Cluster Error Status
       Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
       Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="unwrapKey-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-f**  
Especifica la ruta y el nombre del archivo que contiene la clave encapsulada.  
Obligatorio: sí

**-w**  
Especifica la clave de encapsulamiento. Introduzca el identificador de clave de una clave AES o RSA en el HSM. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Para crear una clave de empaquetado, [genSymKey](key_mgmt_util-genSymKey.md)utilícela para generar una clave AES (tipo 31) o [gen RSAKey Pair](key_mgmt_util-genRSAKeyPair.md) para generar un par de claves RSA (tipo 0). Si utiliza un par de claves RSA, asegúrese de encapsular la clave con una de las claves y desencapsularla con la otra. Para verificar si una clave se puede utilizar como clave de encapsulamiento, utilice [getAttribute](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_WRAP`, que se representa con la constante `262`.  
Obligatorio: sí

**-sess**  
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.  
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.  
Para cambiar una clave de sesión por una clave persistente (token), use [setAttribute](key_mgmt_util-setAttribute.md).  
Predeterminado: la clave es persistente.   
Obligatorio: no

**-min\$1srv**  
Especifica el número mínimo HSMs en el que se sincroniza la clave antes de que caduque el valor del `-timeout` parámetro. Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.  
AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, defina el valor de en un valor inferior `min_srv` al número de HSMs en el clúster y establezca un valor de tiempo de espera bajo. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.  
Predeterminado: 1  
Obligatorio: no

**-timeout**  
Especifica cuánto tiempo (en segundos) espera el comando a que se sincronice una clave con el número HSMs especificado por el parámetro. `min_srv`   
Este parámetro solo es válido cuando también se usa el parámetro `min_srv` en el comando.  
Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.  
Obligatorio: no

**-attest**  
Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.  
Predeterminado: sin comprobación de certificación.  
Obligatorio: no

**-nex**  
Hace que la clave no se pueda extraer. La clave que se genera no se puede [exportar desde el HSM](export-keys.md).  
Predeterminado: la clave se puede extraer.  
Obligatorio: no

**-m**  
Valor que representa el mecanismo de encapsulamiento. CloudHSM admite los siguientes mecanismos:       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/key_mgmt_util-unwrapKey.html)
Obligatorio: sí  
Cuando se utiliza el mecanismo de `RSA_OAEP` empaquetado, el tamaño máximo de clave que se puede empaquetar viene determinado por el módulo de la clave RSA y la longitud del hash especificado de la siguiente manera: Tamaño máximo de clave = modulusLengthIn bytes- (hashLengthIn2\$1 bytes) -2.  
Cuando se utiliza el mecanismo de empaquetado RSA\$1PKCS, el tamaño máximo de clave que se puede empaquetar viene determinado por el módulo de la clave RSA de la siguiente manera: Tamaño máximo de clave = (bytes -11). modulusLengthIn

**-t**      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/key_mgmt_util-unwrapKey.html)
Obligatorio: no

**-noheader**  
Si va a desencapsular una clave que se ha encapsulado fuera de key\$1mgmt\$1util, debe especificar este parámetro y todos los demás parámetros asociados.  
Obligatorio: no  
Si especifica este parámetro, también **debe** especificar los siguientes parámetros `-noheader`:
+ **-l**

  Especifica la etiqueta que se van a añadir a la clave desencapsulada.

  Obligatorio: sí
+ **-kc**

  Especifica la clase de la clave que se va a desencapsular. A continuación, se muestran los valores aceptables:

  3 = clave privada de un par de claves pública y privada

  4 = clave secreta (simétrica).

  Obligatorio: sí
+ **-kt**

  Especifica el tipo de clave que se va a desencapsular. A continuación, se muestran los valores aceptables:

  0 = `RSA`

  1 = `DSA`

  3 = `ECC`

  16 = `GENERIC_SECRET`

  21 = `DES3`

  31 = `AES`

  Obligatorio: sí
**Si lo desea**, también puede especificar los siguientes parámetros `-noheader`:  
+ **-id**

  El ID que se van a añadir a la clave desencapsulada.

  Obligatorio: no
+ **-i**

  El vector de inicialización (IV) de desencapsulación que se va a utilizar.

  Obligatorio: no

[1] De acuerdo con las directrices del NIST, esto no se permite en los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, seguirá siendo posible después de 2023. Para obtener más información, consulte [Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024](compliance-dep-notif.md#compliance-dep-notif-1).

## Temas relacionados
<a name="unwrapKey-seealso"></a>
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)

# Verificar la firma de un archivo mediante AWS CloudHSM KMU
<a name="key_mgmt_util-verify"></a>

Use el **verify** comando de AWS CloudHSM key\$1mgmt\$1util para confirmar si un archivo ha sido firmado o no con una clave determinada. Para ello, el comando **verify** compara un archivo firmado con un archivo de origen y analiza si están relacionados criptográficamente en función de una clave pública y un mecanismo de firma determinados. Se puede iniciar sesión en los archivos con la operación. AWS CloudHSM **[sign](key_mgmt_util-sign.md)**

Los mecanismos de firma están representados por los números enteros indicados en la sección de [parámetros](#verify-parameters).

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU).

## Sintaxis
<a name="verify-syntax"></a>

```
verify -h

verify -f <message-file>
       -s <signature-file>
       -k <public-key-handle>
       -m <signature-mechanism>
```

## Ejemplo
<a name="verify-examples"></a>

Estos ejemplos muestran cómo utilizar **verify** para comprobar si se ha utilizado una clave pública determinada para firmar un archivo concreto.

**Example : verificación de la firma de un archivo**  
Este comando intenta verificar si un archivo denominado `hardwarCert.crt` se firmó con la clave pública `262276` mediante el mecanismo de firma `SHA256_RSA_PKCS` para producir el archivo firmado `hardwareCertSigned`. Dado que los parámetros especificados representan una relación de firma verdadera, el comando devuelve un mensaje de confirmación.  

```
Command: verify -f hardwareCert.crt -s hardwareCertSigned -k 262276 -m 1

Signature verification successful

Cfm3Verify returned: 0x00 : HSM Return: SUCCESS
```

**Example : demostración de una relación de firma falsa**  
Este comando verifica si un archivo denominado `hardwareCert.crt` se firmó con la clave pública `262276` mediante el mecanismo de firma `SHA256_RSA_PKCS` para producir el archivo firmado `userCertSigned`. Dado que los parámetros especificados no constituyen una relación de firma verdadera, el comando devuelve un mensaje de error.  

```
Command: verify -f hardwarecert.crt -s usercertsigned -k 262276 -m 1
Cfm3Verify returned: 0x1b

CSP Error: ERR_BAD_PKCS_DATA
```

## Parameters
<a name="verify-parameters"></a>

Este comando admite los siguientes parámetros.

**`-f`**  
El nombre del archivo de mensaje de origen.  
Obligatorio: sí

**`-s`**  
El nombre del archivo firmado.  
Obligatorio: sí

**`-k`**  
El identificador de la clave pública que se cree que se utilizó para firmar el archivo.  
Obligatorio: sí

**`-m`**  
Un número entero que representa el mecanismo de firma que se supone que se utilizó para firmar el archivo. Los mecanismos posibles se corresponden con los siguientes valores enteros:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/key_mgmt_util-verify.html)
Obligatorio: sí

## Temas relacionados
<a name="verify-seealso"></a>
+ [sign](key_mgmt_util-sign.md)
+ [getCert](key_mgmt_util-genECCKeyPair.md)
+ [Generar claves](generate-keys.md)

# Exportación de una AWS CloudHSM clave mediante KMU
<a name="key_mgmt_util-wrapKey"></a>

Utilice el **wrapKey** comando del AWS CloudHSM key\$1mgmt\$1util para exportar una copia cifrada de una clave simétrica o privada del módulo de seguridad de hardware (HSM) a un archivo. Cuando ejecute **wrapKey**, debe especificar la clave que va a exportar, una clave del HSM para cifrar (encapsular) la clave que se va a exportar y el archivo de salida.

El comando `wrapKey` escribe la clave cifrada en el archivo especificado, pero no la elimina del HSM ni le impide utilizarla en operaciones criptográficas. Puede exportar la misma clave varias veces. 

Solo el propietario de una clave, es decir, el usuario de criptografía (CU) que creó la clave, puede exportarla. Los usuarios que comparten la clave pueden utilizarla en operaciones criptográficas, pero no pueden exportarla.

Para volver a importar la clave cifrada al HSM, use [unWrapKey](key_mgmt_util-unwrapKey.md). Para exportar una clave de texto sin formato desde un HSM, utilice o según proceda. [exSymKey[exportPrivateKey](key_mgmt_util-exportPrivateKey.md)](key_mgmt_util-exSymKey.md) El [aesWrapUnwrap](key_mgmt_util-aesWrapUnwrap.md)comando no puede descifrar (desempaquetar) las claves que cifran. **wrapKey**

Antes de ejecutar cualquier comando de key\$1mgmt\$1util, debe [iniciar key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) e [lniciar sesión](key_mgmt_util-log-in.md) en el HSM como usuario de criptografía (CU). 

## Sintaxis
<a name="wrapKey-syntax"></a>

```
wrapKey -h

wrapKey -k <exported-key-handle>
        -w <wrapping-key-handle>
        -out <output-file>
        [-m <wrapping-mechanism>]
        [-aad <additional authenticated data filename>]
        [-t <hash-type>]
        [-noheader]
        [-i <wrapping IV>]  
        [-iv_file <IV file>]
        [-tag_size <num_tag_bytes>>]
```

## Ejemplo
<a name="wrapKey-examples"></a>

**Example**  
Este comando exporta una clave simétrica Triple DES (3DES) de 192 bits (identificador de clave `7`). Utiliza una clave AES de 256 bits en el HSM (identificador de clave `14`) para encapsular la clave `7`. A continuación, escribe la clave 3DES cifrada en el archivo `3DES-encrypted.key`.  
La salida muestra que la clave `7` (la clave 3DES) se ha encapsulado correctamente y que se ha escrito en el archivo especificado. La clave cifrada tiene 307 bytes de largo.  

```
        Command:  wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4

        Key Wrapped.

        Wrapped Key written to file "3DES-encrypted.key length 307

        Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="wrapKey-params"></a>

**-h**  
Muestra ayuda para el comando.   
Obligatorio: sí

**-k**  
Identificador de la clave que desea exportar. Escriba el identificador de una clave simétrica o privada de su propiedad. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Para verificar que se puede exportar una clave, ejecute el comando [getAttribute](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_EXTRACTABLE`, que se representa con la constante `354`. Para obtener ayuda para interpretar los atributos de clave, consulte la [AWS CloudHSM referencia de atributo clave para KMU](key-attribute-table.md).  
Además, únicamente puede exportar las claves que son de su propiedad. Para encontrar el propietario de una clave, utilice el comando. [getKeyInfo](key_mgmt_util-getKeyInfo.md)  
Obligatorio: sí

**-w**  
Especifica la clave de encapsulamiento. Introduzca el identificador de clave de una clave AES o RSA en el HSM. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando [findKey](key_mgmt_util-findKey.md).  
Para crear una clave de empaquetado, [genSymKey](key_mgmt_util-genSymKey.md)utilícela para generar una clave AES (tipo 31) o [gen RSAKey Pair](key_mgmt_util-genRSAKeyPair.md) para generar un par de claves RSA (tipo 0). Si utiliza un par de claves RSA, asegúrese de encapsular la clave con una de las claves y desencapsularla con la otra. Para verificar si una clave se puede utilizar como clave de encapsulamiento, utilice [getAttribute](key_mgmt_util-getAttribute.md) para obtener el valor del atributo `OBJ_ATTR_WRAP`, que se representa con la constante `262`.  
Obligatorio: sí

**-out**  
Ruta y nombre del archivo de salida. Cuando el comando se ejecuta correctamente, este archivo contiene una copia cifrada de la clave exportada. Si el archivo ya existe, el comando lo sobrescribe sin ningún tipo de advertencia.  
Obligatorio: sí

**-m**  
Valor que representa el mecanismo de encapsulamiento. CloudHSM admite los siguientes mecanismos:       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/key_mgmt_util-wrapKey.html)
Obligatorio: sí  
Cuando se utiliza el mecanismo de `RSA_OAEP` empaquetado, el tamaño máximo de clave que se puede empaquetar viene determinado por el módulo de la clave RSA y la longitud del hash especificado de la siguiente manera: Tamaño máximo de clave = (modulusLengthInbytes-2\$1 hashLengthIn bytes-2).  
Cuando se utiliza el mecanismo de empaquetado RSA\$1PKCS, el tamaño máximo de clave que se puede empaquetar viene determinado por el módulo de la clave RSA de la siguiente manera: Tamaño máximo de clave = (bytes -11). modulusLengthIn

**-t**  
Valor que representa el algoritmo hash. CloudHSM admite los siguientes algoritmos:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/key_mgmt_util-wrapKey.html)
Obligatorio: no

**-aad**  
Nombre del archivo que contiene `AAD`.  
Válido solo para los mecanismos `AES_GCM` y `CLOUDHSM_AES_GCM`.
Obligatorio: no

**-noheader**  
Omite el encabezado que especifica los [atributos de clave](key_mgmt_util-reference.md) específicos de CloudHSM. Utilice este parámetro *solo* si tiene previsto desencapsular la clave con herramientas distintas de key\$1mgmt\$1util.  
Obligatorio: no

**-i**  
Vector de inicialización (IV) (valor hexadecimal).  
Solo es válido cuando se pasa con el parámetro `-noheader` de los mecanismos `CLOUDHSM_AES_KEY_WRAP` y `NIST_AES_WRAP`.
Obligatorio: no

**-iv\$1file**  
Archivo en el que va a escribir el valor del IV obtenido como respuesta.  
Solo es válido cuando se pasa con el parámetro `-noheader` del mecanismo `AES_GCM`.
Obligatorio: no

**-tag\$1size**  
Tamaño de la etiqueta que se va a guardar junto con el blob encapsulado.  
Solo es válido cuando se pasa con el parámetro `-noheader` de los mecanismos `AES_GCM` y `CLOUDHSM_AES_GCM`. El tamaño mínimo de la etiqueta es ocho.
Obligatorio: no

[1] De acuerdo con las directrices del NIST, esto no se permite en los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, seguirá siendo posible después de 2023. Para obtener más información, consulte [Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024](compliance-dep-notif.md#compliance-dep-notif-1).

## Temas relacionados
<a name="wrapKey-seealso"></a>
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)

# AWS CloudHSM referencia de atributo clave para KMU
<a name="key-attribute-table"></a>

Los comandos AWS CloudHSM key\$1mgmt\$1util utilizan constantes para representar los atributos de las claves de un módulo de seguridad de hardware (HSM). Este tema puede ayudarle a identificar los atributos, encontrar las constantes que los representan en comandos y comprender sus valores. 

Usted configura los atributos de una clave cuando la crea. Para cambiar el atributo del token, que indica si una clave es persistente o solo existe en la sesión, utilice el comando [setAttribute](key_mgmt_util-setAttribute.md) de key\$1mgmt\$1util. Para cambiar los atributos de etiquetado, encapsulado, desencapsulamiento, cifrado y descifrado, utilice el comando`setAttribute` de cloudhsm\$1mgmt\$1util.

Para obtener una lista de los atributos y sus constantes, utilice [listAttributes](key_mgmt_util-listAttributes.md). Para obtener los valores de atributo de una clave, utilice [getAttribute](key_mgmt_util-getAttribute.md).

En la siguiente tabla se enumeran los atributos clave, sus constantes y sus valores válidos.


| Atributo | Constant | Valores | 
| --- | --- | --- | 
|  OBJ\$1ATTR\$1ALL  |  512  |  Representa todos los atributos.  | 
|  OBJ\$1ATTR\$1ALWAYS\$1SENSITIVE  |  357  |  **0**: falso.  **1**: verdadero.   | 
|  OBJ\$1ATTR\$1CLASS  |  0  | **2**: clave pública de un par de claves público-privada.3: clave privada de un par de claves público-privada.**4**: clave secreta (simétrica). | 
|  OBJ\$1ATTR\$1DECRYPT  |  261  |  **0**: falso.  **1**: verdadero. La clave se puede utilizar para descifrar datos.  | 
|  OBJ\$1ATTR\$1DERIVE  |  268  |  **0**: falso. **1**: verdadero. La función deriva la clave.   | 
|  OBJ\$1ATTR\$1DESTROYABLE  |  370  |  **0**: falso.  **1**: verdadero.   | 
|  OBJ\$1ATTR\$1ENCRYPT  |  260  |  **0**: falso.  **1**: verdadero. La clave se puede utilizar para cifrar datos.   | 
|  OBJ\$1ATTR\$1EXTRACTABLE  |  354  |  **0**: falso.  **1**: verdadero. La clave se puede exportar desde. HSMs  | 
|  OBJ\$1ATTR\$1ID  | 258 |  Cadena definida por el usuario. Debe ser única en el clúster. El valor predeterminado es una cadena vacía. | 
|  OBJ\$1ATTR\$1KCV  |  371  |  Valor de comprobación de clave de la clave. Para obtener más información, consulte [Detalles adicionales](#key-attribute-table-details).  | 
|  OBJ\$1ATTR\$1KEY\$1TYPE  | 256 |  **0**: RSA.**1**: DSA.**3**: EC. **16**: secreto genérico. **18**: RC4. **21**: Triple DES (3DES). **31**: AES. | 
|  OBJ\$1ATTR\$1LABEL  |  3  | Cadena definida por el usuario. No tiene que ser única en el clúster. | 
|  OBJ\$1ATTR\$1LOCAL  |  355  |  **0**. False. La clave se importó al HSMs. **1**: verdadero.   | 
|  OBJ\$1ATTR\$1MODULUS  |  288  |  El módulo que se utilizó para generar un par de claves RSA. En el caso de las claves EC, este valor representa la codificación DER del ECPoint valor «Q» del ANSI X9.62 en formato hexadecimal. Para otros tipos de clave, este atributo no existe.  | 
|  OBJ\$1ATTR\$1MODULUS\$1BITS  |  289  |  La longitud del módulo que se utilizó para generar un par de claves RSA. En el caso de las claves EC, representa el ID de la curva elíptica utilizada para generar la clave. Para otros tipos de clave, este atributo no existe.  | 
|  OBJ\$1ATTR\$1NEVER\$1EXTRACTABLE  |  356  |  **0**: falso.  **1**: verdadero. La clave no se puede exportar desde. HSMs   | 
|  OBJ\$1ATTR\$1PUBLIC\$1EXPONENT  |  290  |  El exponente público que se utilizó para generar un par de claves RSA. Para otros tipos de clave, este atributo no existe.  | 
|  OBJ\$1ATTR\$1PRIVATE  |  2  |  **0**: falso.  **1**: verdadero. Este atributo indica si los usuarios sin autenticar pueden enumerar los atributos de la clave. Dado que el proveedor PKCS\$111 de CloudHSM no admite actualmente las sesiones públicas, todas las claves (incluidas las claves públicas de un par de clave pública-privada) tienen este atributo establecido en 1.  | 
|  OBJ\$1ATTR\$1SENSITIVE  |  259  |  **0**: falso. Clave pública de un par de claves público-privadas. **1**: verdadero.   | 
|  OBJ\$1ATTR\$1SIGN  |  264  |  **0**: falso.  **1**: verdadero. La clave se puede utilizar para firmar (claves privadas).  | 
|  OBJ\$1ATTR\$1TOKEN  |  1  |  **0**: falso. Clave de sesión. **1**: verdadero. Clave persistente.  | 
|  OBJ\$1ATTR\$1TRUSTED  |  134  |  **0**: falso. **1**: verdadero.  | 
|  OBJ\$1ATTR\$1UNWRAP  |  263  |  **0**: falso.  **1**: verdadero. La clave se puede utilizar para descifrar claves.  | 
|  OBJ\$1ATTR\$1UNWRAP\$1TEMPLATE  |  1073742354  |  Los valores deben usar la plantilla de atributo aplicada a cualquier clave desencapsulada mediante esta clave de encapsulamiento.   | 
|  OBJ\$1ATTR\$1VALUE\$1LEN  |  353  |  Longitud de la clave en bytes.  | 
|  OBJ\$1ATTR\$1VERIFY  |  266  |  **0**: falso.  **1**: verdadero. La clave se puede utilizar para verificación (claves públicas).  | 
|  OBJ\$1ATTR\$1WRAP  |  262  |  **0**: falso.  **1**: verdadero. La clave se puede utilizar para cifrar claves.  | 
|  OBJ\$1ATTR\$1WRAP\$1TEMPLATE  |  1073742353  |  Los valores deben usar la plantilla de atributo para coincidir con la clave encapsulada usando esta clave de encapsulamiento.   | 
|  OBJ\$1ATTR\$1WRAP\$1WITH\$1TRUSTED  |  528  |  **0**: falso.  **1**: verdadero.   | 

## Detalles adicionales
<a name="key-attribute-table-details"></a>

**Valor de comprobación de claves (KCV)**  
El *valor de comprobación de claves* (KCV) es un hash o suma de comprobación de 3 bytes de una clave que se genera cuando el HSM importa o genera una clave. También puede calcular un KCV fuera del HSM, por ejemplo, después de exportar una clave. A continuación, puede comparar los valores del KCV para confirmar la identidad e integridad de la clave. Para obtener el KCV (valor de control de la clave), utilice [getAttribute](key_mgmt_util-getAttribute.md).  
AWS CloudHSM utiliza el siguiente método estándar para generar un valor de comprobación clave:  
+ **Claves simétricas**: los primeros 3 bytes del resultado obtenido al cifrar un bloque cero con la clave.
+ **Pares de claves asimétricas**: los primeros 3 bytes del hash SHA-1 de la clave pública.
+ **Claves HMAC**: por el momento, no se admite el uso del KCV con claves HMAC.