本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
支援的 JCE 提供者機制
本主題提供有關用戶端 SDK 5 的 JCE 提供者支援機制的相關資訊。如需支援之 Java 密碼編譯架構 (JCA) 介面和引擎類別的相關資訊 AWS CloudHSM,請參閱下列主題。
產生金鑰與金鑰對函數
Java AWS CloudHSM 軟體程式庫可讓您使用下列作業來產生金鑰與 key pair 功能。
-
RSA
-
EC
-
AES
-
DESede (Triple DES)
請參閱備註 1 -
GenericSecret
密碼函數
Java 的 AWS CloudHSM 軟體程式庫支援下列演算法、模式和填補組合。
演算法 | Mode | 填補 | 備註 |
---|---|---|---|
AES | CBC |
|
實作 實作 |
AES | ECB |
|
實作 |
AES | CTR |
|
實作 |
AES | GCM |
|
實作 執行 AES-GCM 加密時,HSM 會忽略請求中的初始化向量 (IV),並使用自己產生的 IV。操作完成後,您必須呼叫 |
AESWrap | ECB |
|
實作 |
DESede (三重 DES) | CBC |
|
實作 |
DESede (三重 DES) | ECB |
|
實作 |
RSA | ECB |
|
實作 |
RSA | ECB |
|
實作 |
RSAAESWrap | ECB |
|
實作 |
簽署和驗證函數
Java AWS CloudHSM 軟體程式庫支援下列類型的簽章和驗證。使用用戶端 SDK 5 和具有雜湊功能的簽章演算法,資料會先在軟體中進行本機雜湊處理,然後再傳送至 HSM 以進行簽章/驗證。這意味著 SDK 可以對任何大小的資料進行雜湊處理。
RSA 簽章類型
-
NONEwithRSA
-
RSASSA-PSS
-
SHA1withRSA
-
SHA1withRSA/PSS
-
SHA1withRSAandMGF1
-
SHA224withRSA
-
SHA224withRSAandMGF1
-
SHA224withRSA/PSS
-
SHA256withRSA
-
SHA256withRSAandMGF1
-
SHA256withRSA/PSS
-
SHA384withRSA
-
SHA384withRSAandMGF1
-
SHA384withRSA/PSS
-
SHA512withRSA
-
SHA512withRSAandMGF1
-
SHA512withRSA/PSS
ECDSA 簽章類型
-
NONEwithECDSA
-
SHA1withECDSA
-
SHA224withECDSA
-
SHA256withECDSA
-
SHA384withECDSA
-
SHA512withECDSA
Digest 函數
Java 的 AWS CloudHSM 軟體程式庫支援下列訊息摘要。使用用戶端 SDK 5,資料會在軟體中進行本機雜湊處理。這意味著 SDK 可以對任何大小的資料進行雜湊處理。
-
SHA-1
-
SHA-224
-
SHA-256
-
SHA-384
-
SHA-512
雜湊訊息驗證碼 (HMAC) 函數
適用於 Java 的 AWS CloudHSM 軟體程式庫支援下列 HMAC 演算法。
-
HmacSHA1
(最大數據大小(以字節為單位:16288) -
HmacSHA224
(資料大小上限 (位元組):16256) -
HmacSHA256
(最大數據大小(以字節為單位:16288) -
HmacSHA384
(最大數據大小(以字節為單位:16224) -
HmacSHA512
(最大數據大小(以字節為單位:16224)
加密式訊息驗證程式碼 (CMAC) 函數
CMAC (加密式訊息驗證程式碼) 使用區塊密碼和金錀建立訊驗證代碼 (MAC)。與 HMAC 不同之處在於,它們使用 MAC 區塊對稱金錀方法而非雜湊方法。
適用於 Java 的 AWS CloudHSM 軟體程式庫支援下列 CMAC 演算法。
-
AESCMAC
使用金鑰 Factory 將金鑰轉換為金錀規格
您可以使用金鑰工廠將金鑰轉換為金鑰規格。 AWS CloudHSM 有兩種類型的 JCE 關鍵工廠:
SecretKeyFactory:用於匯入或導出對稱金鑰。使用時 SecretKeyFactory,您可以傳遞支援的金鑰或支援的金鑰 KeySpec 來匯入或衍生對稱金鑰。 AWS CloudHSM以下是支援的規格 KeyFactory:
-
FOR SecretKeyFactory 的
generateSecret
方法支持以下KeySpec類: KeyAttributesMap可用於將具有其他屬性的金鑰位元組匯入為 CloudHSM 金鑰。可從此處
查看範例。 SecretKeySpec
可用來將對稱金鑰規格匯入為 CloudHSM 金鑰。 AesCmacKdfParameterSpec可用於使用另一個 CloudHSM AES 金鑰衍生對稱金鑰。
注意
SecretKeyFactory的translateKey
方法採用任何實現密鑰接口的密鑰
KeyFactory:用於匯入非對稱金鑰。使用時 KeyFactory,您可以傳遞支援的金鑰或支援 KeySpec 將非對稱金鑰匯入 AWS CloudHSM。如需詳細資訊,請參閱下列資源:
對於 KeyFactory的
generatePublic
方法,支持以下KeySpec類: 適用於 RSA 和 EC KeyAttributesMap KeyTypes 的 CloudHSM,包括:
適用於 RSA 和 KeyAttributesMap EC 公用的 CloudHSM。 KeyTypes可從此處
查看範例。 EncodedKeySpec適用於 RSA 和 EC 公鑰的 X509
RSA 公開金PublicKeySpec
鑰的 RSA EC
公開金鑰PublicKeySpec的 EC
對於 KeyFactory的
generatePrivate
方法,支持以下KeySpec類: 適用於 RSA 和 EC KeyAttributesMap KeyTypes 的 CloudHSM,包括:
適用於 RSA 和 KeyAttributesMap EC 公用的 CloudHSM。 KeyTypes可從此處
查看範例。 PKCS8 EncodedKeySpec
適用於 EC 和 RSA 私密金鑰 RSA 私密金PrivateCrtKeySpec
鑰的 RSA EC PrivateKeySpec
用於 EC 私鑰
For KeyFactory 的translateKey
方法,它接受任何實現密鑰接口的密鑰
機制註釋
[1] 根據 NIST 指引,在 2023 年之後,FIPS 模式下的叢集不允許這樣做。對於非 FIP 模式下的叢集,在 2023 之後仍然允許。如需詳細資訊,請參閱 FIPS140 法規遵循:淘汰機制。