本文介紹如何使用exportPrivateKey命令匯出HSM上的私密金鑰。
功能說明
exportPrivateKey命令可以將HSM中的非對稱私密金鑰匯出到檔案中,但不會從HSM中刪除此密鑰,不會更改其密鑰屬性,也不會影響加密操作。
您只能匯出OBJ_ATTR_EXTRACTABLE(是否可匯出)屬性值為1的私人密鑰。要尋找密鑰的屬性,請使用getAttribute命令,更多密鑰屬性資訊請參見密鑰屬性常量。
HSM不允許以明文形式直接匯出密鑰,所以需要對匯出的私密金鑰來進行AES加密。
可藉助exportPrivateKey命令和匯入私密金鑰命令importPrivateKey完成私密金鑰的備份或遷移。
重要
在運行此命令之前,必須啟動key_mgmt_tool並以CU身份登入HSM。
文法
請按照下方文法輸入參數,參數說明請參見參數。
exportPrivateKey -k <private-key-handle
-w <wrapping-key-handle>
-out <key-file>
[-m <wrapping-mechanism>]
[-wk <wrapping-key-file>]重要
您必須按文法指定的順序輸入參數。
樣本
本文以匯出控制代碼為8的私密金鑰為例,其中用來加密私密金鑰的密鑰控制代碼為6,儲存私密金鑰的檔案為exportKey.pem。
Command: exportPrivateKey -k 8 -w 6 -out /tmp/exportKey.pem
Cfm3ExportWrapKeyWithMech returned: 0x00 : HSM Return: SUCCESS
Cfm3ExportUnwrapKeyWithMech returned: 0x00 : HSM Return: SUCCESS
PEM formatted private key is written to /tmp/exportKey.pem參數
參數名稱 | 描述 | 是否必需 | 有效值 |
-k | 指定匯出私密金鑰的控制代碼。 | 是 | 您可使用findKey尋找密鑰的密鑰控制代碼 |
-w | 指定加密匯出私密金鑰的密鑰控制代碼。 | 是 | 您可使用findKey尋找密鑰的密鑰控制代碼 |
-out | 指定儲存匯出私密金鑰的檔案名稱。 | 是 | 無特殊要求 |
-m | 指定加密匯出私密金鑰的加密機制 | 否 | 4(NIST_AES_WRAP) |
-wk | 指定解密匯出私密金鑰的AES密鑰檔案,包含AES密鑰的檔案的路徑和名稱。 | 否 | 預設是-w指定的加密金鑰 |