本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 匯出 AWS CloudHSM 金鑰 KMU
使用 AWS CloudHSM key_mgmt_util 中的 wrapKey命令,將對稱或私有金鑰的加密複本從硬體安全模組 (HSM) 匯出至 檔案。當您執行 時wrapKey,您可以指定要匯出的金鑰、HSM在 上加密 (包裝) 要匯出的金鑰的金鑰,以及輸出檔案。
wrapKey
命令會將加密的金鑰寫入您指定的檔案,但不會從 移除金鑰,HSM或阻止您在密碼編譯操作中使用金鑰。您可以多次匯出相同的金鑰。
只有金鑰的擁有者 (也就是建立金鑰的加密使用者 (CU)) 可以匯出金鑰。共用金鑰的使用者可以在密碼編譯操作中使用它,但不能將它匯出。
若要將加密的金鑰匯入回 HSM,請使用 unWrapKey。若要從 匯出純文字金鑰HSM,exportPrivateKey請視需要使用 exSymKey或 。此aesWrapUnwrap命令無法解密 (解壓縮) wrapKey加密的金鑰。
在執行任何 key_mgmt_util 命令之前,您必須啟動 key_mgmt_util,並以加密使用者 (CU) HSM身分登入 。
語法
wrapKey -h wrapKey -k
<exported-key-handle>
-w<wrapping-key-handle>
-out<output-file>
[-m<wrapping-mechanism>
] [-aad<additional authenticated data filename>
] [-t<hash-type>
] [-noheader] [-i<wrapping IV>
] [-iv_file<IV file>
] [-tag_size<num_tag_bytes>>
]
範例
此命令會匯出 192 位元三 DES(3DES) 對稱金鑰 (金鑰控制碼 7
)。它使用 HSM(AES金鑰控制碼 14
) 中的 256 位元金鑰來包裝金鑰 7
。然後,它會將加密的 3DES 金鑰寫入 3DES-encrypted.key
檔案。
輸出顯示金鑰 7
(3DES 個金鑰) 已成功包裝並寫入指定的檔案。加密金鑰的長度為 307 個位元組。
Command:
wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4
Key Wrapped. Wrapped Key written to file "3DES-encrypted.key length 307 Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS
參數
- -h
-
顯示命令的說明。
必要:是
- -k
-
您要匯出之金鑰的金鑰控制代碼。輸入您擁有之對稱或私有金鑰的金鑰控制代碼。若要尋找金鑰控點,請使用 findKey命令。
若要驗證金鑰是否可以匯出,請使用 getAttribute命令來取得屬性的值,該
OBJ_ATTR_EXTRACTABLE
值由常數 表示354
。如需金錀屬性的解譯說明,請參閱 AWS CloudHSM 的金鑰屬性參考 KMU。您只能匯出您擁有的金鑰。若要尋找金鑰的擁有者,請使用 getKeyInfo命令。
必要:是
- -w
-
指定包裝金鑰。在 上輸入AES金鑰或RSA金鑰的金鑰控制碼HSM。此為必要參數。若要尋找金鑰控點,請使用 findKey命令。
若要建立包裝金鑰,請使用 genSymKey產生AES金鑰 (類型 31),或使用 genRSAKey配對產生RSA金鑰對 (類型 0)。如果您使用的是RSA金鑰對,請務必使用其中一個金鑰包裝金鑰,並將其與另一個金鑰展開包裝。若要驗證金鑰是否可以用作包裝金鑰,請使用 getAttribute取得屬性的值,該
OBJ_ATTR_WRAP
屬性由常數 表示262
。必要:是
- -out
-
輸出檔案的路徑和名稱。命令成功時,這個檔案會包含匯出金鑰的加密複本。如果檔案已存在,命令會覆寫檔案且不會有任何警告。
必要:是
- -m
-
表示包裝機制的值。雲端HSM支援下列機制:
Mechanism Value AES_KEY_WRAP_PAD_PKCS5
4 NIST_AES_WRAP_NO_PAD
5 NIST_AES_WRAP_PAD
6 RSA_AES
7 RSA_OAEP
(如需資料大小上限,請參閱本節後文的備註)8 AES_GCM
10 CLOUDHSM_AES_GCM
11 RSA_PKCS
(如需資料大小上限,請參閱本節後文的備註)。請參閱下列備註 1 查看即將進行的變更。12 必要:是
注意
使用
RSA_OAEP
包裝機制時,您可以包裝的金鑰大小上限取決於RSA金鑰模數和指定雜湊的長度,如下所示:金鑰大小上限 = (modulusLengthInBytes-2*hashLengthInBytes-2)。使用 RSA_PKCS 包裝機制時,您可以包裝的金鑰大小上限取決於RSA金鑰模數,如下所示:金鑰大小上限 = (modulusLengthIn位元組 -11)。
- -t
-
表示雜湊演算法的值。雲端HSM支援下列演算法:
雜湊演算法 Value SHA1
2 SHA256
3 SHA384
4 SHA512
5 SHA224
(對RSA_AES
和RSA_OAEP
機制有效)6 必要:否
- -aad
檔案名稱包含
AAD
。注意
僅對
AES_GCM
和CLOUDHSM_AES_GCM
機制有效。必要:否
- -noheader
-
省略指定 Cloud HSM特定金鑰屬性 的標頭。僅限您要使用 key_mgmt_util 以外的工具來取消包裝金鑰時,才使用此參數。
必要:否
- -i
初始向量 (IV) (十六進位值)。
注意
只在使用
CLOUDHSM_AES_KEY_WRAP
和NIST_AES_WRAP
機制的-noheader
參數傳遞時有效。必要:否
- -iv_file
您要寫入回應中包含之 IV 值的檔案。
注意
只在使用
AES_GCM
機制的-noheader
參數傳遞時有效。必要:否
- -tag_size
要與包裝的 Blob 一起儲存的標籤大小。
注意
只在使用
AES_GCM
和CLOUDHSM_AES_GCM
機制的-noheader
參數傳遞時有效。標籤大小下限為 8。必要:否
【1】 根據NIST指引,在 2023 年之後處於 FIPS 模式的叢集不允許這樣做。對於處於非FIPS 模式的叢集,在 2023 年之後仍然允許。如需詳細資訊,請參閱 FIPS 140 合規:2024 機制棄用。