

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como usar chaves confiáveis para agrupar chaves de dados AWS CloudHSM
<a name="wrap_keys_using_trusted"></a>

Para usar uma chave confiável para agrupar uma chave de dados AWS CloudHSM, você deve concluir três etapas básicas:

1. Para a chave de dados que você planeja agrupar com uma chave confiável, defina seu atributo `CKA_WRAP_WITH_TRUSTED` como verdadeiro.

1. Para a chave confiável com a qual você planeja agrupar a chave de dados, defina seu atributo `CKA_TRUSTED` como verdadeiro.

1. Use a chave confiável para agrupar a chave de dados.

## Etapa 1: defina a chave de dados `CKA_WRAP_WITH_TRUSTED` como verdadeira
<a name="w2aac15c19c11b7"></a>

Para a chave de dados que você deseja agrupar, escolha uma das opções a seguir para definir o atributo `CKA_WRAP_WITH_TRUSTED` da chave como verdadeiro. Isso restringe a chave de dados para que os aplicativos possam usar apenas chaves confiáveis ​​para agrupá-las.

### Opção 1: se estiver gerando uma nova chave, defina `CKA_WRAP_WITH_TRUSTED` como verdadeira
<a name="w2aac15c19c11b7b5"></a>

Gere uma chave usando [PKCS \$111](pkcs11-library.md), [JCE](java-library.md) ou [CloudHSM CLI.](cloudhsm_cli.md) Consulte o código a seguir para ver um exemplo.

------
#### [ PKCS \$111 ]

Para gerar uma chave com PKCS \$111, você precisa definir o atributo `CKA_WRAP_WITH_TRUSTED` da chave como verdadeiro. Conforme mostrado no exemplo a seguir, faça isso incluindo este atributo no `CK_ATTRIBUTE template` da chave e, em seguida, definindo o atributo como verdadeiro:

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

Para obter mais informações, consulte [nossos exemplos públicos que demonstram a geração de chaves com o PKCS \$111](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/generate).

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

Para gerar uma chave com JCE, você precisa definir o atributo `WRAP_WITH_TRUSTED` da chave como verdadeiro. Conforme mostrado no exemplo a seguir, faça isso incluindo este atributo no `KeyAttributesMap` da chave e, em seguida, definindo o atributo como verdadeiro:

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

Para obter mais informações, consulte [nossos exemplos públicos que demonstram a geração de chaves com JCE](https://docs.aws.amazon.com/cloudhsm/latest/userguide/java-samples.html#java-samples-code_5).

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

Para gerar uma chave com a CLI do CloudHSM, você precisa definir o atributo `wrap-with-trusted` da chave como verdadeiro. Faça isso incluindo `wrap-with-trusted=true` no argumento apropriado para o comando de geração de chave:
+ Para chaves simétricas, adicione `wrap-with-trusted` ao argumento `attributes`.
+ Para chaves públicas, adicione `wrap-with-trusted` ao argumento `public-attributes`.
+ Para chaves privadas, adicione `wrap-with-trusted` ao argumento `private-attributes`.

Para obter mais informações sobre pares de chaves, consulte [A generate-asymmetric-pair categoria na CLI do CloudHSM](cloudhsm_cli-key-generate-asymmetric-pair.md).

Para obter mais informações sobre pares de chaves simétricas, consulte [A categoria generate-symmetric na CLI do CloudHSM](cloudhsm_cli-key-generate-symmetric.md).

------

### Opção 2: se estiver usando uma chave existente, use a CLI do CloudHSM para defini-la como verdadeira `CKA_WRAP_WITH_TRUSTED`
<a name="w2aac15c19c11b7b7"></a>

Para definir o atributo `CKA_WRAP_WITH_TRUSTED` de uma chave existente como verdadeiro, siga estas etapas:

1. Use o comando [Fazer login em um HSM usando a CLI do CloudHSM](cloudhsm_cli-login.md) para fazer login como usuário de criptografia (CU).

1. Use o comando [Definir os atributos das chaves com a CloudHSM CLI](cloudhsm_cli-key-set-attribute.md) para definir o atributo da chave `wrap-with-trusted` como verdadeiro.

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

## Etapa 2: defina as chaves confiáveis ​​`CKA_TRUSTED` como verdadeiras
<a name="w2aac15c19c11b9"></a>

Para tornar uma chave confiável, o atributo `CKA_TRUSTED` deve ser definido como verdadeiro. É possível usar a CLI do CloudHSM ou o CloudHSM Management Utility (CMU) para fazer isso.
+ Se estiver usando a CLI do CloudHSM para definir o atributo de uma chave `CKA_TRUSTED`, consulte. [Marcar uma chave como confiável usando a CLI do CloudHSM](manage-keys-cloudhsm-cli-trusted.md)
+ Se estiver usando o CMU para definir o atributo `CKA_TRUSTED` de uma chave, consulte [Como marcar uma chave como confiável com o Utilitário AWS CloudHSM de Gerenciamento](cloudhsm_using_trusted_keys_control_key_wrap.md).

## Etapa 3. Use a chave confiável para agrupar a chave de dados
<a name="w2aac15c19c11c11"></a>

Para agrupar a chave de dados mencionada na Etapa 1 com a chave confiável que você definiu na Etapa 2, consulte os links a seguir para ver exemplos de código. Cada um demonstra como agrupar as chaves.
+ [AWS CloudHSM Exemplos de PKCS \$111](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/wrapping)
+ [AWS CloudHSM Exemplos de JCE](https://github.com/aws-samples/aws-cloudhsm-jce-examples/tree/sdk5/src/main/java/com/amazonaws/cloudhsm/examples)