

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.

# 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)