本文介绍如何使用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指定的加密密钥  | 
该文章对您有帮助吗?