

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