本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
用戶端 3 SDK JCE提供者 AWS CloudHSM 的支援機制
本主題提供 AWS CloudHSM Client SDK 5 JCE提供者支援的機制相關資訊。如需 支援的 Java 密碼編譯架構 (JCA) 介面和引擎類別的相關資訊 AWS CloudHSM,請參閱下列主題。
產生金鑰與金鑰對函數
適用於 Java AWS CloudHSM 的軟體程式庫可讓您使用下列操作來產生金鑰和金鑰對函數。
-
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 的軟體程式庫支援下列訊息摘要。使用 Client 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) 函數
CMACs (密碼型訊息驗證碼) 使用區塊密碼和秘密金鑰建立訊息驗證碼 (MACs)。它們與 不同HMACs之處在於,它們使用 的區塊對稱金鑰方法,MACs而不是雜湊方法。
Java AWS CloudHSM 軟體程式庫支援下列CMAC演算法。
-
AESCMAC
使用金鑰 Factory 將金鑰轉換為金錀規格
您可以使用金鑰工廠將金鑰轉換為金鑰規格。 AWS CloudHSM 有兩種類型的金鑰工廠JCE:
SecretKeyFactory:用於匯入或衍生對稱金鑰。使用 SecretKeyFactory,您可以傳遞支援的金鑰,或支援 KeySpec 將對稱金鑰匯入或衍生到 AWS CloudHSM。以下是 支援的規格 KeyFactory:
-
對於 SecretKeyFactory
generateSecret
的方法,支援下列KeySpec類別: KeyAttributesMap可用來匯入具有額外屬性的金鑰位元組,做為 CloudHSM Key。可從此處
查看範例。 SecretKeySpec
可用來將對稱金鑰規格匯入為雲端HSM金鑰。 AesCmacKdfParameterSpec可用於使用另一個 CloudHSM Key 衍生對稱AES金鑰。
注意
SecretKeyFactorytranslateKey
的方法會取得任何實作金鑰介面的金鑰
KeyFactory:用於匯入非對稱金鑰。使用 KeyFactory,您可以傳遞支援的金鑰,或支援 KeySpec 將非對稱金鑰匯入 AWS CloudHSM。如需詳細資訊,請參閱下列資源:
對於 KeyFactory
generatePublic
的方法,支援下列KeySpec類別: 適用於 RSA和 EC HSM KeyAttributesMap 的雲端 KeyTypes,包括:
適用於 RSA和 EC 公有 HSM KeyAttributesMap 的雲端 KeyTypes。可從此處
查看範例。 RSA 和 EC 公有金鑰的 X509EncodedKeySpec
RSAPublicKeySpec
公RSA有金鑰 ECPublicKeySpec
適用於 EC 公有金鑰
對於 KeyFactory
generatePrivate
的方法,支援下列KeySpec類別: 適用於 RSA和 EC HSM KeyAttributesMap 的雲端 KeyTypes,包括:
適用於 RSA和 EC 公有 HSM KeyAttributesMap 的雲端 KeyTypes。可從此處
查看範例。 PKCS8EncodedKeySpec
適用於 EC 和RSA私密金鑰 RSAPrivateCrtKeySpec
適用於RSA私密金鑰 ECPrivateKeySpec
for EC 私密金鑰
對於 KeyFactorytranslateKey
的方法,它需要實作金鑰介面 的任何金鑰
機制註釋
【1】 根據NIST指引,在 2023 年之後處於 FIPS 模式的叢集不允許這樣做。對於處於非FIPS 模式的叢集,在 2023 年之後仍然允許。如需詳細資訊,請參閱 FIPS 140 合規:2024 機制棄用。