本文介绍如何使用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指定的加密密钥 |