

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