

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.

# Cómo utilizar claves de confianza para incluir claves de datos AWS CloudHSM
<a name="wrap_keys_using_trusted"></a>

Para usar una clave de confianza para incluir una clave de datos AWS CloudHSM, debes completar tres pasos básicos:

1. Para la clave de datos que planea encapsular con una clave de confianza, defina su atributo `CKA_WRAP_WITH_TRUSTED` como verdadero.

1. Para la clave de datos que planea encapsular con una clave de confianza, defina su atributo `CKA_TRUSTED` como true.

1. Use la clave de confianza para encapsular la clave de datos.

## Paso 1: establezca la clave de datos `CKA_WRAP_WITH_TRUSTED` como true
<a name="w2aac15c19c11b7"></a>

Para la clave de datos que desea encapsular, elija una de las siguientes opciones para establecer el atributo `CKA_WRAP_WITH_TRUSTED` de la clave como true. Esto restringe la clave de los datos para que las aplicaciones solo puedan utilizar claves de confianza para encapsularlos.

### Opción 1: si se genera una clave nueva, establezca `CKA_WRAP_WITH_TRUSTED` como true.
<a name="w2aac15c19c11b7b5"></a>

Genere una clave mediante [PKCS \#11](pkcs11-library.md), [JCE](java-library.md) o [CloudHSM CLI](cloudhsm_cli.md). Consulte los siguientes ejemplos para obtener más información.

------
#### [ PKCS \#11 ]

Para generar una clave con PKCS \#11, debe establecer el atributo `CKA_WRAP_WITH_TRUSTED` de clave como true. Como se muestra en el siguiente ejemplo, hágalo incluyendo este atributo en el `CK_ATTRIBUTE template` de la clave y, a continuación, establezca el atributo como true:

```
CK_BYTE_PTR label = "test_key";
CK_ATTRIBUTE template[] = {
        {CKA_WRAP_WITH_TRUSTED, &true_val,         sizeof(CK_BBOOL)},
        {CKA_LABEL,             label,             strlen(label)},
        ...
};
```

Para obtener más información, consulte [nuestros ejemplos públicos que muestran la generación de claves con el PKCS \#11](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/generate).

------
#### [ JCE ]

Para generar una clave con JCE, debe establecer el atributo `WRAP_WITH_TRUSTED` de la clave en true. Como se muestra en el siguiente ejemplo, hágalo incluyendo este atributo en el `KeyAttributesMap` de la clave y, a continuación, establezca el atributo como true:

```
final String label = "test_key";
final KeyAttributesMap keySpec = new KeyAttributesMap();
keySpec.put(KeyAttribute.WRAP_WITH_TRUSTED, true);
keySpec.put(KeyAttribute.LABEL, label);
...
```

Para obtener más información, consulte [nuestros ejemplos públicos que muestran la generación de claves con JCE](https://docs.aws.amazon.com/cloudhsm/latest/userguide/java-samples.html#java-samples-code_5).

------
#### [ CloudHSM CLI ]

Para generar una clave con la CLI de CloudHSM, debe establecer el atributo `wrap-with-trusted` de clave como true. Para ello, incluya `wrap-with-trusted=true` en el argumento apropiado para el comando de generación de claves:
+ En el caso de claves simétricas, añada `wrap-with-trusted` al argumento `attributes`.
+ En el caso de las claves públicas, añada `wrap-with-trusted` al argumento `public-attributes`.
+ Para claves privadas, añada `wrap-with-trusted` al argumento `private-attributes`.

Para más información sobre la generación de pares de claves, consulte [La generate-asymmetric-pair categoría en CloudHSM CLI](cloudhsm_cli-key-generate-asymmetric-pair.md).

Para obtener más información sobre la generación de claves simétricas, consulte [La categoría generate-symmetric en la CLI de CloudHSM](cloudhsm_cli-key-generate-symmetric.md).

------

### Opción 2: si utiliza una clave existente, utilice la CLI de CloudHSM para establecer su `CKA_WRAP_WITH_TRUSTED` como true.
<a name="w2aac15c19c11b7b7"></a>

Para establecer el atributo `CKA_WRAP_WITH_TRUSTED` de una clave existente como verdadero, siga estos pasos:

1. Utilice el comando [Iniciar sesión en un HSM mediante la CLI de CloudHSM](cloudhsm_cli-login.md) para iniciar sesión como usuario de criptografía (CU).

1. Utilice el comando [Establecimiento de los atributos de las claves con la CLI de CloudHSM](cloudhsm_cli-key-set-attribute.md) para establecer el atributo `wrap-with-trusted` de la clave como verdadero.

   ```
   aws-cloudhsm > key set-attribute --filter attr.label=test_key --name wrap-with-trusted --value true
   {
     "error_code": 0,
     "data": {
       "message": "Attribute set successfully"
     }
   }
   ```

## Paso 2: establecer la clave de confianza `CKA_TRUSTED` como true
<a name="w2aac15c19c11b9"></a>

Para convertir una clave en una clave de confianza, su atributo `CKA_TRUSTED` debe estar establecido como true. Para ello, puede utilizar la CLI de CloudHSM o la utilidad de administración de CloudHSM (CMU).
+ Si utiliza la CLI de CloudHSM para establecer el atributo de `CKA_TRUSTED` de una clave, consulte [Marcar una clave como confiable con la CLI de CloudHSM](manage-keys-cloudhsm-cli-trusted.md).
+ Si utiliza la CMU para establecer el atributo de una clave `CKA_TRUSTED`, consulte [Cómo marcar una clave como de confianza con la utilidad AWS CloudHSM de administración](cloudhsm_using_trusted_keys_control_key_wrap.md).

## Paso 3. Uso de la clave de confianza para encapsular la clave de datos
<a name="w2aac15c19c11c11"></a>

Para encapsular la clave de datos a la que se hace referencia en el paso 1 con la clave de confianza que configuró en el paso 2, consulte los siguientes enlaces para ver ejemplos de código. En cada uno de ellos se muestra cómo encapsular las claves.
+ [AWS CloudHSM Ejemplos de PKCS \#11](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/wrapping)
+ [AWS CloudHSM Ejemplos de JCE](https://github.com/aws-samples/aws-cloudhsm-jce-examples/tree/sdk5/src/main/java/com/amazonaws/cloudhsm/examples)