导出密钥 - AWS CloudHSM

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

导出密钥

要将机密密钥,即对称密钥和非对称私有密钥从 HSM 中导出,您必须先创建一个包装密钥。您可以在没有包装密钥的情况下直接导出公有密钥。

只有密钥所有者才能导出密钥。密钥的共享用户可在加密操作中使用密钥,但无法导出密钥。运行此示例时,请确保导出您创建的密钥。

重要

exSymKey命令将密钥的纯文本(未加密)副本写入文件。此导出过程需要包装密钥,但此文件中的密钥 是已包装的密钥。要导出密钥的已包装 (已加密) 副本,请使用 wrapKey 命令。

导出私有密钥

完成以下步骤以导出机密密钥。

导出私有密钥
  1. 使用genSymKey命令创建包装密钥。以下命令创建一个 128 位 AES 包装密钥,此密钥仅对当前会话有效。

    Command: genSymKey -t 31 -s 16 -sess -l export-wrapping-key Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 524304 Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
  2. 根据您所导出的私有密钥的类型,使用下列命令之一。

    • 要导出对称密钥,请使用exSymKey命令。以下命令将 AES 密钥导出到名为 aes256.key.exp 的文件。要查看所有可用的选项,请使用 exSymKey -h 命令。

      Command: exSymKey -k 524295 -out aes256.key.exp -w 524304 Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "aes256.key.exp"
      注意

      此命令的输出显示,“已包装的对称密钥”已写入到输出文件中。但是,输出文件包含明文 (未包装) 密钥。要将已包装 (已加密) 密钥导出到文件,请使用 wrapKey 命令。

    • 要导出私有密钥,请使用 exportPrivateKey 命令。以下命令将私有密钥导出到名为 rsa2048.key.exp 的文件。要查看所有可用的选项,请使用 exportPrivateKey -h 命令。

      Command: exportPrivateKey -k 524296 -out rsa2048.key.exp -w 524304 Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS PEM formatted private key is written to rsa2048.key.exp

导出公有密钥

使用 exportPubKey 命令导出公有密钥。要查看所有可用的选项,请使用 exportPubKey -h 命令。

以下示例将 RSA 公有密钥导出到名为 rsa2048.pub.exp 的文件。

Command: exportPubKey -k 524294 -out rsa2048.pub.exp PEM formatted public key is written to rsa2048.pub.key Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS