

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

# Extração de chaves usando JCE para AWS CloudHSM
<a name="java-lib-configs-getencoded"></a>

A Java Cryptography Extension (JCE) usa uma arquitetura que permite que diferentes implementações de criptografia sejam conectadas. AWS CloudHSM envia um desses fornecedores de JCE que transfere operações criptográficas para o HSM. Para que a maioria dos outros provedores de JCE trabalhem com chaves armazenadas no AWS CloudHSM, eles devem extrair os bytes HSMs da chave em texto não criptografado na memória da sua máquina para serem usados. HSMs normalmente só permitem que as chaves sejam extraídas como objetos agrupados, não como texto claro. No entanto, para oferecer suporte a casos de uso de integração entre provedores, AWS CloudHSM permite uma opção de configuração opcional para permitir a extração dos bytes da chave em branco.

**Importante**  
A JCE transfere as operações para AWS CloudHSM sempre que o provedor do AWS CloudHSM é especificado ou um objeto chave é usado. AWS CloudHSM Você não precisa extrair as chaves de forma clara se você espera que sua operação ocorra dentro do HSM. A extração de chaves em texto não criptografado só é necessária quando seu aplicativo não pode usar mecanismos seguros, como empacotar e desempacotar uma chave devido a restrições de uma biblioteca terceirizada ou de um provedor de JCE. 

O provedor AWS CloudHSM JCE permite a extração de **chaves públicas** para funcionar com provedores JCE externos por padrão. Os seguintes métodos são sempre permitidos:


| Classe | Método | Format (getEncoded) | 
| --- | --- | --- | 
| EcPublicKey | getEncoded() | X.509 | 
|  | getW() | N/D | 
| RSAPublicChave | getEncoded() | X.509 | 
|  | getPublicExponent() | N/D | 
| CloudHsmRsaPrivateCrtKey | getPublicExponent() | N/D | 

O provedor AWS CloudHSM JCE não permite a extração de bytes de chave em branco para as chaves **privadas** ou **secretas** por padrão. Se seu caso de uso exigir isso, você pode habilitar a extração de bytes de chave em branco para chaves **privadas** ou **secretas** nas seguintes condições:

1. O `EXTRACTABLE` atributo para chaves privadas e secretas é definido como **verdadeiro**.
   + Por padrão, o `EXTRACTABLE` atributo para chaves privadas e secretas é definido como **verdadeiro**. Chaves `EXTRACTABLE` são chaves que podem ser exportadas para fora do HSM. Para obter mais informações, consulte Atributos Java compatíveis para o [Client SDK 5](java-lib-attributes_5.md).

1. O `WRAP_WITH_TRUSTED` atributo para chaves privadas e secretas é definido como **falso**.
   + `getEncoded`,`getPrivateExponent`, e `getS` não podem ser usados com chaves privadas que não podem ser exportadas em branco. `WRAP_WITH_TRUSTED` não permite que suas chaves privadas sejam exportadas do HSM em branco. Para obter mais informações, consulte [Usando chaves confiáveis para controlar o desencapsulamento de chaves](manage-keys-using-trusted-keys.md).

# Permita que o provedor de JCE extraia segredos de chave privada do AWS CloudHSM
<a name="get-encoded-take-out-private-keys"></a>

Use as etapas a seguir para permitir que o provedor de AWS CloudHSM JCE extraia seus segredos de chave privada.

**Importante**  
Essa alteração de configuração permite a extração de todos os bytes de `EXTRACTABLE` chave em branco do seu cluster HSM. Para maior segurança, você deve considerar o uso de [métodos de encapsulamento de chaves](java-lib-supported_5.md) para extrair a chave do HSM com segurança. Isso evita a extração não intencional dos seus bytes de chave do HSM. 

1. Use os comandos a seguir para permitir que suas chaves **privadas** ou **secretas** sejam extraídas no JCE:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/configure-jce --enable-clear-key-extraction-in-software
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --enable-clear-key-extraction-in-software
   ```

------

1. Depois de ativar a extração da chave em branco, os métodos a seguir são habilitados para extrair chaves privadas na memória.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/get-encoded-take-out-private-keys.html)

Se você quiser restaurar o comportamento padrão e não permitir que o JCE exporte as chaves em branco, execute o seguinte comando:

------
#### [ Linux ]

```
$ /opt/cloudhsm/bin/configure-jce --disable-clear-key-extraction-in-software
```

------
#### [ Windows ]

```
PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --disable-clear-key-extraction-in-software
```

------