

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

# Personalizado IVs com comprimento não compatível para embalagem de chave AES AWS CloudHSM
<a name="troubleshooting-aes-keys"></a>

Este tópico de solução de problemas ajuda a determinar se seu aplicativo gera chaves agrupadas irrecuperáveis. Se você for afetado por esse problema, use este tópico para resolvê-lo.

**Topics**
+ [Determine se seu código gera chaves agrupadas irrecuperáveis](#troubleshooting-problem1)
+ [Ações que você deve realizar se seu código gerar chaves agrupadas irrecuperáveis](#troubleshooting-problem2)

## Determine se seu código gera chaves agrupadas irrecuperáveis
<a name="troubleshooting-problem1"></a>

Você será afetado somente se atender a *todas* as condições abaixo:


****  

| Condição | Como posso saber? | 
| --- | --- | 
|  Seu aplicativo usa a biblioteca PKCS \$111   |  A biblioteca PKCS \$111 está instalada como o arquivo `libpkcs11.so` na sua pasta `/opt/cloudhsm/lib`. Aplicativos escritos na linguagem C geralmente usam a biblioteca PKCS \$111 diretamente, enquanto aplicativos escritos em Java podem estar usando a biblioteca indiretamente por meio de uma camada de abstração Java. Se você estiver usando o Windows, NÃO será afetado, pois a biblioteca PKCS \$111 não está disponível atualmente para Windows.  | 
|  Seu aplicativo usa especificamente a versão 3.0.0 da biblioteca PKCS \$111   |  Se você recebeu um e-mail da AWS CloudHSM equipe, provavelmente está usando a versão 3.0.0 da biblioteca PKCS \$111.  Para verificar a versão do software nas instâncias do seu aplicativo, use este comando:  <pre>rpm -qa | grep ^cloudhsm</pre>  | 
|  Você agrupa as chaves usando o agrupamento de chaves AES  |  Agrupamento de chave AES significa que você usa uma chave AES para agrupar alguma outra chave. O nome do mecanismo correspondente é `CKM_AES_KEY_WRAP`. Ele é usado com a função `C_WrapKey`. Outros mecanismos de empacotamento baseados em AES que usam vetores de inicialização (IVs), como `CKM_AES_GCM` e` CKM_CLOUDHSM_AES_GCM`, não são afetados por esse problema. [Saiba mais sobre funções e mecanismos](pkcs11-mechanisms.md).   | 
|  Você especifica um IV personalizado ao chamar o agrupamento de chaves AES, e o comprimento desse IV é menor que 8  |  O agrupamento de chave AES geralmente é inicializado usando uma estrutura `CK_MECHANISM` da seguinte forma:  `CK_MECHANISM mech = {CKM_AES_KEY_WRAP, IV_POINTER, IV_LENGTH};` Isso se aplicará somente se for definido como: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/troubleshooting-aes-keys.html)  | 

Se não atender a todas as condições acima, você pode parar de ler agora. Suas chaves agrupadas podem ser desagrupadas adequadamente e esse problema não afeta você. Caso contrário, consulte [Ações que você deve realizar se seu código gerar chaves agrupadas irrecuperáveis](#troubleshooting-problem2). 

## Ações que você deve realizar se seu código gerar chaves agrupadas irrecuperáveis
<a name="troubleshooting-problem2"></a>

Você deve seguir as três etapas a seguir: 

1.  **Atualize imediatamente sua biblioteca PKCS \$111 para uma versão mais recente**
   + [Biblioteca PKCS \$111 mais recente para Amazon Linux, CentOS 6 e RHEL 6](client-upgrade.md)
   + [Biblioteca PKCS \$111 mais recente para Amazon Linux 2, CentOS 7 e RHEL 7](client-upgrade.md)
   + [Biblioteca PKCS \$111 mais recente para Ubuntu 16.04 LTS](client-upgrade.md)

1. **Atualize seu software para usar um IV compatível com os padrões**

   É altamente recomendável que você siga nosso código de exemplo e simplesmente especifique um NULL IV, o que faz com que o HSM utilize o IV padrão compatível com os padrões. Como alternativa, é possível especificar explicitamente o IV como `0xA6A6A6A6A6A6A6A6` com um comprimento IV correspondente de `8`. Não recomendamos o uso de nenhum outro IV para agrupamento de chaves AES e desativaremos explicitamente a personalização IVs para empacotamento de chaves AES em uma versão futura da biblioteca PKCS \$111.

   O código de amostra para especificar corretamente o IV aparece em [aes\$1wrapping.c](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/blob/master/src/wrapping/aes_wrapping.c#L72) em. GitHub

1. **Identifique e recupere chaves agrupadas existentes**

   Você deve identificar todas as chaves que você empacotou usando a versão 3.0.0 da biblioteca PKCS \$111 e, em seguida, contatar o suporte para obter assistência ([https://aws.amazon.com/support](https://aws.amazon.com/support)) na recuperação dessas chaves.

**Importante**  
Esse problema afeta apenas as chaves agrupadas com a versão 3.0.0 da biblioteca PKCS \$111. É possível agrupar chaves usando versões anteriores (2.0.4 e pacotes com numeração inferior) ou versões posteriores (3.0.1 e pacotes com numeração superior) da biblioteca PKCS \$111. 