

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mekanisme yang didukung untuk SDK Klien 3 untuk SDK AWS CloudHSM Klien 3
<a name="java-lib-supported"></a>

Topik ini memberikan informasi tentang mekanisme yang didukung untuk penyedia JCE dengan AWS CloudHSM Client SDK 3. Untuk informasi tentang antarmuka Java Cryptography Architecture (JCA) dan kelas mesin yang didukung oleh AWS CloudHSM, lihat topik berikut. 

**Topics**
+ [Kunci yang didukung](#java-keys)
+ [Cipher yang didukung](#java-ciphers)
+ [Intisari yang didukung](#java-digests)
+ [Algoritma kode otentikasi pesan berbasis hash (HMAC) yang didukung](#java-mac)
+ [sign/verify Mekanisme yang didukung](#java-sign-verify)
+ [Anotasi mekanisme](#w2aac25c23c25c11c17)

## Kunci yang didukung
<a name="java-keys"></a>

Perpustakaan AWS CloudHSM perangkat lunak untuk Java memungkinkan Anda untuk menghasilkan jenis kunci berikut.
+ AES — 128, 192, dan 256-bit kunci AES.
+ DESede - Kunci 3DES 92 bit. Lihat catatan [1](#java-keys-note-1) di bawah untuk perubahan yang akan datang.
+ Pasangan kunci ECC untuk kurva NIST secp256r1 (P-256), secp384r1 (P-384), dan secp256k1 (Rantai blok).
+ RSA — 2048-bit sampai 4096-bit kunci RSA, dengan penambahan 256 bit.

Selain parameter standar, kami mendukung parameter berikut untuk setiap kunci yang dihasilkan.
+ **Label**: Label kunci yang dapat Anda gunakan untuk mencari kunci.
+ **isExtractable**: Menunjukkan apakah kunci dapat diekspor dari HSM.
+ **isPersistent**: Menunjukkan apakah kunci tetap pada HSM ketika sesi saat berakhir.

**catatan**  
 Java library versi 3.1 menyediakan kemampuan untuk menentukan parameter secara lebih detail. Untuk informasi lebih lanjut, lihat [Atribut Java yang Didukung](java-lib-attributes.md).

## Cipher yang didukung
<a name="java-ciphers"></a>

Pustaka AWS CloudHSM perangkat lunak untuk Java mendukung kombinasi algoritma, mode, dan padding berikut.


| Algoritme | Mode | Bantalan | Catatan | 
| --- | --- | --- | --- | 
| AES | CBC |  `AES/CBC/NoPadding` `AES/CBC/PKCS5Padding`  | Menerapkan `Cipher.ENCRYPT_MODE` dan `Cipher.DECRYPT_MODE`.  | 
| AES | ECB |  `AES/ECB/NoPadding` `AES/ECB/PKCS5Padding`  | Menerapkan Cipher.ENCRYPT\$1MODE dan Cipher.DECRYPT\$1MODE. Gunakan AES Transformasi. | 
| AES | CTR |  `AES/CTR/NoPadding`  |  Menerapkan `Cipher.ENCRYPT_MODE` dan `Cipher.DECRYPT_MODE`.  | 
| AES | GCM | AES/GCM/NoPadding | Menerapkan `Cipher.ENCRYPT_MODE` dan `Cipher.DECRYPT_MODE`, `Cipher.WRAP_MODE`, dan `Cipher.UNWRAP_MODE`.Ketika melakukan enkripsi AES-GCM, HSM mengabaikan vektor inisialisasi (IV) dalam permintaan dan menggunakan IV yang dihasilkannya. Saat operasi selesai, Anda harus memanggil `Cipher.getIV()` untuk mendapatkan IV. | 
| AESWrap | ECB |  `AESWrap/ECB/ZeroPadding` `AESWrap/ECB/NoPadding` `AESWrap/ECB/PKCS5Padding`  |  Menerapkan `Cipher.WRAP_MODE` dan `Cipher.UNWRAP_MODE`. Gunakan AES Transformasi.  | 
| DESede (Tiga DES) | CBC |  `DESede/CBC/NoPadding` `DESede/CBC/PKCS5Padding`  |  Menerapkan `Cipher.ENCRYPT_MODE` dan `Cipher.DECRYPT_MODE`. Rutinitas pembuatan kunci menerima ukuran 168 atau 192 bit. Namun, secara internal, semua DESede kunci adalah 192 bit. Lihat catatan [1](#java-keys-note-1) di bawah untuk perubahan yang akan datang.  | 
| DESede (Tiga DES) | ECB | `DESede/ECB/NoPadding``DESede/ECB/PKCS5Padding` | Menerapkan `Cipher.ENCRYPT_MODE` dan `Cipher.DECRYPT_MODE`. Rutinitas pembuatan kunci menerima ukuran 168 atau 192 bit. Namun, secara internal, semua DESede kunci adalah 192 bit. Lihat catatan [1](#java-keys-note-1) di bawah untuk perubahan yang akan datang.  | 
| RSA | ECB | `RSA/ECB/NoPadding``RSA/ECB/PKCS1Padding` | Menerapkan `Cipher.ENCRYPT_MODE` dan `Cipher.DECRYPT_MODE`. Lihat catatan [1](#java-keys-note-1) di bawah untuk perubahan yang akan datang. | 
| 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`  |  Menerapkan `Cipher.ENCRYPT_MODE`, `Cipher.DECRYPT_MODE`, `Cipher.WRAP_MODE`, dan `Cipher.UNWRAP_MODE`. `OAEPPadding` adalah `OAEP` dengan jenis bantalan `SHA-1`.  | 
| RSAAESWrap | ECB | OAEPPADDING | Menerapkan Cipher.WRAP\$1Mode dan Cipher.UNWRAP\$1MODE.  | 

## Intisari yang didukung
<a name="java-digests"></a>

Pustaka AWS CloudHSM perangkat lunak untuk Java mendukung intisari pesan berikut.
+ `SHA-1`
+ `SHA-224`
+ `SHA-256`
+ `SHA-384`
+ `SHA-512`

**catatan**  
Data dengan panjang di bawah 16 KB di-hash pada HSM, sementara data yang lebih besar di-hash secara lokal dalam perangkat lunak.

## Algoritma kode otentikasi pesan berbasis hash (HMAC) yang didukung
<a name="java-mac"></a>

Perpustakaan AWS CloudHSM perangkat lunak untuk Java mendukung algoritma HMAC berikut.
+ `HmacSHA1`
+ `HmacSHA224`
+ `HmacSHA256`
+ `HmacSHA384`
+ `HmacSHA512`

## sign/verify Mekanisme yang didukung
<a name="java-sign-verify"></a>

Pustaka AWS CloudHSM perangkat lunak untuk Java mendukung jenis tanda tangan dan verifikasi berikut.

**Jenis Tanda Tangan RSA**
+ `NONEwithRSA`
+ `SHA1withRSA`
+ `SHA224withRSA`
+ `SHA256withRSA`
+ `SHA384withRSA`
+ `SHA512withRSA`
+ `SHA1withRSA/PSS`
+ `SHA224withRSA/PSS`
+ `SHA256withRSA/PSS`
+ `SHA384withRSA/PSS`
+ `SHA512withRSA/PSS`

**Jenis Tanda Tangan ECDSA**
+ `NONEwithECDSA`
+ `SHA1withECDSA`
+ `SHA224withECDSA`
+ `SHA256withECDSA`
+ `SHA384withECDSA`
+ `SHA512withECDSA`

## Anotasi mekanisme
<a name="w2aac25c23c25c11c17"></a>

[1] Sesuai dengan panduan NIST, ini tidak diizinkan untuk cluster dalam mode FIPS setelah 2023. Untuk cluster dalam mode non-FIPS, masih diperbolehkan setelah 2023. Lihat [Kepatuhan FIPS 140: Penutupan Mekanisme 2024](compliance-dep-notif.md#compliance-dep-notif-1) untuk rincian selengkapnya.