

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á.

# Encapsulamento de chaves AES AWS CloudHSM
<a name="manage-aes-key-wrapping"></a>

Este tópico descreve as opções de empacotamento de chaves AES. AWS CloudHSM O encapsulamento de chaves AES usa uma chave AES (a chave de encapsulamento) para encapsular outra chave de qualquer tipo (a chave de destino). O encapsulamento de chaves é usado para proteger chaves armazenadas ou para transmitir chaves por redes não seguras.

**Topics**
+ [Algoritmos compatíveis](#supported-types)
+ [Usando o encapsulamento de teclas AES AWS CloudHSM](#use-aes-key-wrap)

## Algoritmos compatíveis
<a name="supported-types"></a>

AWS CloudHSM oferece três opções para empacotamento de chaves AES, cada uma com base em como a chave de destino é preenchida antes de ser embalada. O preenchimento é feito automaticamente, de acordo com o algoritmo usado, quando você chama o encapsulamento de chaves. A tabela a seguir lista os algoritmos compatíveis e os detalhes associados para ajudar você a escolher um mecanismo de encapsulamento apropriado para seu aplicativo.


| Algoritmo de encapsulamento de chave AES | Especificação | Tipos de chave de destino compatíveis | Esquema de preenchimento | AWS CloudHSM Disponibilidade do cliente  | 
| --- | --- | --- | --- | --- | 
| Encapsulamento de chaves AES com preenchimento de zeros  | [RFC 5649](https://tools.ietf.org/html/rfc5649) e [SP 800–38F](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf) | Todos | Adiciona zeros após bits de chave, se necessário, para bloquear o alinhamento | SDK 3.1 e posterior | 
| Encapsulamento de chaves AES sem preenchimento | [RFC 3394](https://tools.ietf.org/html/rfc3394) e [SP 800–38F](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf) | Chaves com alinhamento bloqueado, como AES e 3DES  | Nenhum | SDK 3.1 e posterior | 
| Encapsulamento de chaves AES com preenchimento PKCS \$15 | Nenhum | Todos |  Pelo menos 8 bytes são adicionados de acordo com o esquema de preenchimento PKCS \$15 para bloquear o alinhamento   | Todos | 

Para saber como usar os algoritmos de encapsulamento de chaves AES da tabela anterior no aplicativo, consulte [Usar o encapsulamento de chaves AES no AWS CloudHSM.](#use-aes-key-wrap)

### Noções básicas sobre vetores de inicialização no encapsulamento de chaves AES
<a name="understand-padding-iv"></a>

Antes de encapsular, o CloudHSM anexa um vetor de inicialização (IV) à chave de destino para a integridade dos dados. Cada algoritmo de encapsulamento de chaves tem restrições específicas sobre o tipo de IV permitido. Para configurar o IV AWS CloudHSM, você tem duas opções:
+ Implícito: defina o IV como NULL e o CloudHSM usará o valor padrão desse algoritmo para operações de encapsulamento e desencapsulamento (recomendado)
+ Explícito: defina o IV transmitindo o valor padrão do IV para a função de encapsulamento de chaves 

**Importante**  
É necessário entender o IV que você está usando no aplicativo. Para desencapsular a chave, é necessário fornecer o mesmo IV usado para encapsular a chave. Se você usar um IV implícito para encapsular, use um IV implícito para desencapsular. Com um IV implícito, o CloudHSM usará o valor padrão para desencapsular. 

A tabela a seguir descreve os valores permitidos para os quais IVs o algoritmo de empacotamento especifica. 


****  

| Algoritmo de encapsulamento de chave AES | IV implícito | IV explícito | 
| --- | --- | --- | 
| Encapsulamento de chaves AES com preenchimento de zeros  | Obrigatório Valor padrão: (IV calculado internamente com base na especificação) | Não permitido | 
| Encapsulamento de chaves AES sem preenchimento | Permitido (recomendado) Valor padrão: `0xA6A6A6A6A6A6A6A6` | Permitido Apenas este valor aceito: `0xA6A6A6A6A6A6A6A6` | 
| Encapsulamento de chaves AES com preenchimento PKCS \$15 | Permitido (recomendado) Valor padrão: `0xA6A6A6A6A6A6A6A6` | Permitido Apenas este valor aceito: `0xA6A6A6A6A6A6A6A6` | 

## Usando o encapsulamento de teclas AES AWS CloudHSM
<a name="use-aes-key-wrap"></a>

 Encapsule e desencapsule as chaves da seguinte maneira:
+ Na [biblioteca PCKS \$111](pkcs11-library.md), selecione o mecanismo apropriado para as funções `C_WrapKey` e `C_UnWrapKey`, conforme mostrado na tabela a seguir.
+ Na [provedor JCE](java-library.md), selecione a combinação apropriada de algoritmo, modo e preenchimento, implementando os métodos de criptografia `Cipher.WRAP_MODE` e `Cipher.UNWRAP_MODE`, conforme mostrado na tabela a seguir.
+ Na [CLI do CloudHSM](cloudhsm_cli.md), escolha o algoritmo apropriado na lista de algoritmos compatíveis em [O comando key wrap na CLI do CloudHSM](cloudhsm_cli-key-wrap.md) e [O comando key unwrap na CLI do CloudHSM](cloudhsm_cli-key-unwrap.md), conforme mostrado na tabela a seguir.
+ Em [key\$1mgmt\$1util (KMU)](key_mgmt_util.md), use os comandos [Exportar uma AWS CloudHSM chave usando o KMU](key_mgmt_util-wrapKey.md) e [Desembrulhe uma AWS CloudHSM chave usando KMU](key_mgmt_util-unwrapKey.md) com valores m apropriados, conforme mostrado na tabela a seguir. 


****  

| Algoritmo de encapsulamento de chave AES | Mecanismo PKCS \$111 | Método Java | Subcomando da CLI do CloudHSM | Argumento do Key Management Utility (KMU) | 
| --- | --- | --- | --- | --- | 
| Encapsulamento de chaves AES com preenchimento de zeros  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/manage-aes-key-wrapping.html)  | AESWrap/ECB/ZeroPadding | aes-zero-pad | m = 6 | 
| Encapsulamento de chaves AES sem preenchimento |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/manage-aes-key-wrapping.html)  | AESWrap/ECB/NoPadding | aes-no-pad | m = 5 | 
| Encapsulamento de chaves AES com preenchimento PKCS \$15  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/manage-aes-key-wrapping.html)  | AESWrap/ECB/PKCS5Padding | aes-pkcs5-pad | m = 4 | 