

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

# Mecanismos compatíveis com o Client SDK 3 for AWS CloudHSM Client SDK 3
<a name="java-lib-supported"></a>

Este tópico fornece informações sobre os mecanismos suportados pelo provedor JCE com o AWS CloudHSM Client SDK 3. Para obter informações sobre as interfaces e classes de mecanismo da Java Cryptography Architecture (JCA) suportadas pelo AWS CloudHSM, consulte os tópicos a seguir. 

**Topics**
+ [Chaves compatíveis](#java-keys)
+ [Criptografias compatíveis](#java-ciphers)
+ [Resumos compatíveis](#java-digests)
+ [Algoritmos de código de autenticação de mensagens por hash (HMAC) compatíveis](#java-mac)
+ [sign/verify Mecanismos suportados](#java-sign-verify)
+ [Anotações do mecanismo](#w2aac25c23c25c11c17)

## Chaves compatíveis
<a name="java-keys"></a>

A biblioteca de AWS CloudHSM software para Java permite gerar os seguintes tipos de chaves.
+ AES: chaves AES de 128, 192 e 256 bits.
+ DESede — Chave 3DES de 92 bits. Consulte a nota [1](#java-keys-note-1) abaixo para ver uma mudança futura.
+ Pares de chaves do ECC para curvas NIST secp256r1 (P-256), secp384r1 (P-384) e secp256k1 (Blockchain).
+ RSA: 2.048 bits para chaves RSA de 4.096 bits, em incrementos de 256 bits.

Além dos parâmetros padrão, oferecemos suporte aos seguintes parâmetros para cada chave gerada.
+ **Label**: Um rótulo de chave que você pode usar para procurar chaves.
+ **isExtractable**: Indica se a chave pode ser exportada do HSM.
+ **isPersistent**: Indica se a chave permanece no HSM ao término da sessão atual.

**nota**  
 A versão 3.1 da biblioteca Java fornece a capacidade de especificar parâmetros em maior detalhes. Para obter mais informações, consulte [Atributos Java compatíveis](java-lib-attributes.md).

## Criptografias compatíveis
<a name="java-ciphers"></a>

A biblioteca AWS CloudHSM de software para Java suporta as seguintes combinações de algoritmo, modo e preenchimento.


| Algoritmo | Modo | Padding | Observações | 
| --- | --- | --- | --- | 
| AES | CBC |  `AES/CBC/NoPadding` `AES/CBC/PKCS5Padding`  | Implementa `Cipher.ENCRYPT_MODE` e `Cipher.DECRYPT_MODE`.  | 
| AES | ECB |  `AES/ECB/NoPadding` `AES/ECB/PKCS5Padding`  | Implementa Cipher.ENCRYPT\$1MODE e Cipher.DECRYPT\$1MODE. Use a transformação de AES. | 
| AES | CTR |  `AES/CTR/NoPadding`  |  Implementa `Cipher.ENCRYPT_MODE` e `Cipher.DECRYPT_MODE`.  | 
| AES | GCM | AES/GCM/NoPadding | Implementa `Cipher.ENCRYPT_MODE` e `Cipher.DECRYPT_MODE`, `Cipher.WRAP_MODE` e `Cipher.UNWRAP_MODE`.Ao executar a criptografia AES-GCM, o HSM ignora o vetor de inicialização (IV) na solicitação e usa um IV que ele mesmo gera. Quando a operação for concluída, você deverá chamar `Cipher.getIV()` para obter o IV. | 
| AESWrap | ECB |  `AESWrap/ECB/ZeroPadding` `AESWrap/ECB/NoPadding` `AESWrap/ECB/PKCS5Padding`  |  Implementa `Cipher.WRAP_MODE` e `Cipher.UNWRAP_MODE`. Use a transformação de AES.  | 
| DESede (DES triplo) | CBC |  `DESede/CBC/NoPadding` `DESede/CBC/PKCS5Padding`  |  Implementa `Cipher.ENCRYPT_MODE` e `Cipher.DECRYPT_MODE`. As rotinas de geração de chaves aceitam um tamanho de 168 ou 192 bits. No entanto, internamente, todas as DESede chaves são de 192 bits. Consulte a nota [1](#java-keys-note-1) abaixo para ver uma mudança futura.  | 
| DESede (DES triplo) | ECB | `DESede/ECB/NoPadding``DESede/ECB/PKCS5Padding` | Implementa `Cipher.ENCRYPT_MODE` e `Cipher.DECRYPT_MODE`. As rotinas de geração de chaves aceitam um tamanho de 168 ou 192 bits. No entanto, internamente, todas as DESede chaves são de 192 bits. Consulte a nota [1](#java-keys-note-1) abaixo para ver uma mudança futura.  | 
| RSA | ECB | `RSA/ECB/NoPadding``RSA/ECB/PKCS1Padding` | Implementa `Cipher.ENCRYPT_MODE` e `Cipher.DECRYPT_MODE`. Consulte a nota [1](#java-keys-note-1) abaixo para ver uma mudança futura. | 
| RSA | ECB | `RSA/ECB/OAEPPadding` `RSA/ECB/OAEPWithSHA-1ANDMGF1Padding` `RSA/ECB/OAEPWithSHA-224ANDMGF1Padding` `RSA/ECB/OAEPWithSHA-256ANDMGF1Padding` `RSA/ECB/OAEPWithSHA-384ANDMGF1Padding` `RSA/ECB/OAEPWithSHA-512ANDMGF1Padding`  |  Implementa `Cipher.ENCRYPT_MODE`, `Cipher.DECRYPT_MODE`, `Cipher.WRAP_MODE` e `Cipher.UNWRAP_MODE`. `OAEPPadding` é `OAEP` com o tipo de preenchimento `SHA-1`.  | 
| RSAAESWrap | ECB | OAEPPADDING | Implementa Cipher.WRAP\$1Mode e Cipher.UNWRAP\$1MODE.  | 

## Resumos compatíveis
<a name="java-digests"></a>

A biblioteca AWS CloudHSM de software para Java suporta os seguintes resumos de mensagens.
+ `SHA-1`
+ `SHA-224`
+ `SHA-256`
+ `SHA-384`
+ `SHA-512`

**nota**  
Os dados com extensão inferior a 16 KB são criptografadas no HSM, enquanto nos dados maiores se usa hash localmente no software.

## Algoritmos de código de autenticação de mensagens por hash (HMAC) compatíveis
<a name="java-mac"></a>

A biblioteca AWS CloudHSM de software para Java suporta os seguintes algoritmos HMAC.
+ `HmacSHA1`
+ `HmacSHA224`
+ `HmacSHA256`
+ `HmacSHA384`
+ `HmacSHA512`

## sign/verify Mecanismos suportados
<a name="java-sign-verify"></a>

A biblioteca AWS CloudHSM de software para Java suporta os seguintes tipos de assinatura e verificação.

**Tipos de assinatura RSA**
+ `NONEwithRSA`
+ `SHA1withRSA`
+ `SHA224withRSA`
+ `SHA256withRSA`
+ `SHA384withRSA`
+ `SHA512withRSA`
+ `SHA1withRSA/PSS`
+ `SHA224withRSA/PSS`
+ `SHA256withRSA/PSS`
+ `SHA384withRSA/PSS`
+ `SHA512withRSA/PSS`

**Tipos de assinatura ECDSA**
+ `NONEwithECDSA`
+ `SHA1withECDSA`
+ `SHA224withECDSA`
+ `SHA256withECDSA`
+ `SHA384withECDSA`
+ `SHA512withECDSA`

## Anotações do mecanismo
<a name="w2aac25c23c25c11c17"></a>

[1] De acordo com a orientação do NIST, isso não é permitido em clusters no modo FIPS após 2023. Para clusters no modo não FIPS, isso ainda é permitido após 2023. Para mais detalhes, consulte [Conformidade com o FIPS 140: suspensão do mecanismo de 2024](compliance-dep-notif.md#compliance-dep-notif-1).