

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 用戶端 SDK 3 for Client AWS CloudHSM SDK 3 支援的機制
<a name="java-lib-supported"></a>

本主題提供 JCE 供應商使用 AWS CloudHSM 用戶端 SDK 3 支援機制的相關資訊。如需 支援的 Java 密碼編譯架構 (JCA) 介面和引擎類別的相關資訊 AWS CloudHSM，請參閱下列主題。

**Topics**
+ [支援的金鑰](#java-keys)
+ [受支援的密碼](#java-ciphers)
+ [支援的摘要](#java-digests)
+ [支援的雜湊訊息驗證碼 (HMAC) 演算法](#java-mac)
+ [支援的登入/驗證機制](#java-sign-verify)
+ [機制註釋](#w2aac25c23c25c11c17)

## 支援的金鑰
<a name="java-keys"></a>

適用於 Java AWS CloudHSM 的軟體程式庫可讓您產生下列金鑰類型。
+ AES：128 位元、192 位元和 256 位元 AES 金鑰。
+ DESede：92 位元 3DES 金錀。請參閱下列備註 [1](#java-keys-note-1) 查看即將進行的變更。
+ NIST 曲線 secp256r1 (P-256)、secp384r1 (P-384) 和 secp256k1 (區塊鏈) 的 ECC 金鑰對。
+ RSA：2048 位元至 4096 位元 RSA 金鑰，以 256 位元為單位遞增。

除了標準參數，我們也支援產生的每個金鑰使用下列參數。
+ **Label**：金鑰標籤，您可以使用來搜尋金鑰。
+ **isExtractable **：指示是否可以從 HSM 匯出該金鑰。
+ **isPersistent **：指出在目前工作階段結束時，HSM 上是否保留金鑰。

**注意**  
 Java 程式庫 3.1 版更詳細地提供指定參數的能力。如需詳細資訊，請參閱[支援的 Java 屬性](java-lib-attributes.md)。

## 受支援的密碼
<a name="java-ciphers"></a>

適用於 Java AWS CloudHSM 的軟體程式庫支援下列演算法、模式和填補組合。


| 演算法 | Mode | 填補 | 備註 | 
| --- | --- | --- | --- | 
| AES | CBC |  `AES/CBC/NoPadding` `AES/CBC/PKCS5Padding`  | 實作 `Cipher.ENCRYPT_MODE` 和 `Cipher.DECRYPT_MODE`。  | 
| AES | ECB |  `AES/ECB/NoPadding` `AES/ECB/PKCS5Padding`  | 實作 Cipher.ENCRYPT\$1MODE 和 Cipher.DECRYPT\$1MODE。使用轉型 AES。 | 
| AES | CTR |  `AES/CTR/NoPadding`  |  實作 `Cipher.ENCRYPT_MODE` 和 `Cipher.DECRYPT_MODE`。  | 
| AES | GCM | AES/GCM/NoPadding | 實作 `Cipher.ENCRYPT_MODE` 和 `Cipher.DECRYPT_MODE`、`Cipher.WRAP_MODE` 和 `Cipher.UNWRAP_MODE`。執行 AES-GCM 加密時，HSM 會忽略請求中的初始化向量 (IV)，並使用自己產生的 IV。操作完成後，您必須呼叫 `Cipher.getIV()` 以取得 IV。 | 
| AESWrap | ECB |  `AESWrap/ECB/ZeroPadding` `AESWrap/ECB/NoPadding` `AESWrap/ECB/PKCS5Padding`  |  實作 `Cipher.WRAP_MODE` 和 `Cipher.UNWRAP_MODE`。使用轉型 AES。  | 
| DESede (三重 DES) | CBC |  `DESede/CBC/NoPadding` `DESede/CBC/PKCS5Padding`  |  實作 `Cipher.ENCRYPT_MODE` 和 `Cipher.DECRYPT_MODE`。 金鑰產生常式接受 168 或 192 位元的大小。不過，在內部所有 DESede 金鑰都是 192 位元。 請參閱下列備註 [1](#java-keys-note-1) 查看即將進行的變更。  | 
| DESede (三重 DES) | ECB | `DESede/ECB/NoPadding``DESede/ECB/PKCS5Padding` | 實作 `Cipher.ENCRYPT_MODE` 和 `Cipher.DECRYPT_MODE`。 金鑰產生常式接受 168 或 192 位元的大小。不過，在內部所有 DESede 金鑰都是 192 位元。 請參閱下列備註 [1](#java-keys-note-1) 查看即將進行的變更。  | 
| RSA | ECB | `RSA/ECB/NoPadding``RSA/ECB/PKCS1Padding` | 實作 `Cipher.ENCRYPT_MODE` 和 `Cipher.DECRYPT_MODE`。 請參閱下列備註 [1](#java-keys-note-1) 查看即將進行的變更。 | 
| 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`  |  實作 `Cipher.ENCRYPT_MODE`、`Cipher.DECRYPT_MODE`、`Cipher.WRAP_MODE` 和 `Cipher.UNWRAP_MODE`。 `OAEPPadding` 是 `OAEP`，且填補類型是 `SHA-1`。  | 
| RSAAESWrap | ECB | OAEPPADDING | 實作 Cipher.WRAP\$1Mode 和 Cipher.UNWRAP\$1MODE。 | 

## 支援的摘要
<a name="java-digests"></a>

適用於 Java AWS CloudHSM 的軟體程式庫支援下列訊息摘要。
+ `SHA-1`
+ `SHA-224`
+ `SHA-256`
+ `SHA-384`
+ `SHA-512`

**注意**  
長度在 16 KB 下的資料是在 HSM 上進行雜湊處理，而較大的資料則是在本機軟體中進行雜湊處理。

## 支援的雜湊訊息驗證碼 (HMAC) 演算法
<a name="java-mac"></a>

適用於 Java AWS CloudHSM 的軟體程式庫支援下列 HMAC 演算法。
+ `HmacSHA1`
+ `HmacSHA224`
+ `HmacSHA256`
+ `HmacSHA384`
+ `HmacSHA512`

## 支援的登入/驗證機制
<a name="java-sign-verify"></a>

適用於 Java AWS CloudHSM 的軟體程式庫支援以下類型的簽章和驗證。

**RSA 簽章類型**
+ `NONEwithRSA`
+ `SHA1withRSA`
+ `SHA224withRSA`
+ `SHA256withRSA`
+ `SHA384withRSA`
+ `SHA512withRSA`
+ `SHA1withRSA/PSS`
+ `SHA224withRSA/PSS`
+ `SHA256withRSA/PSS`
+ `SHA384withRSA/PSS`
+ `SHA512withRSA/PSS`

**ECDSA 簽章類型**
+ `NONEwithECDSA`
+ `SHA1withECDSA`
+ `SHA224withECDSA`
+ `SHA256withECDSA`
+ `SHA384withECDSA`
+ `SHA512withECDSA`

## 機制註釋
<a name="w2aac25c23c25c11c17"></a>

【1】 根據 NIST 指引，在 2023 年之後，不允許在 FIPS 模式下使用叢集。對於處於非 FIPS 模式的叢集，在 2023 年之後仍然允許。如需詳細資訊，請參閱 [FIPS 140 合規性：2024 機制棄用](compliance-dep-notif.md#compliance-dep-notif-1)。