

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.

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

Use el **aesWrapUnwrap** comando de AWS CloudHSM key\_mgmt\_util 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 \#5. 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\_mgmt\_util, debe [iniciar key\_mgmt\_util](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)