使用 KMU 加密和解密 AWS CloudHSM 文件 - AWS CloudHSM

使用 KMU 加密和解密 AWS CloudHSM 文件

使用 AWS CloudHSM key_mgmt_util 中的 aesWrapUnwrap 命令加密或解密磁盘上文件的内容。此命令可用于对加密密钥进行包装和解开包装,但您可对包含小于 4 KB (4096 字节) 数据的任何文件使用它。

aesWrapUnwrap 使用 AES 密钥包装。它使用 HSM 上的 AES 密钥作为包装密钥或解开包装密钥。然后,它将结果写入到磁盘上的另一个文件中。

在运行任何 key_mgmt_util 命令之前,您必须启动 key_mgmt_util 并以加密用户(CU)身份登录到 HSM。

语法

aesWrapUnwrap -h aesWrapUnwrap -m <wrap-unwrap mode> -f <file-to-wrap-unwrap> -w <wrapping-key-handle> [-i <wrapping-IV>] [-out <output-file>]

示例

这些示例演示如何使用 aesWrapUnwrap 加密和解密文件中的加密密钥。

例 :包装加密密钥

此命令使用 aesWrapUnwrap 包装三重 DES 对称密钥(以明文形式从 HSM 导出3DES.key 文件)。您可以使用类似命令包装保存在文件中的任何密钥。

此命令使用值为 1-m 参数来指示包装模式。它使用 -w 参数指定 HSM 中的 AES 密钥 (密钥句柄 6) 作为包装密钥。它将生成的包装密钥写入到 3DES.key.wrapped 文件。

输出显示,此命令已成功运行并且操作使用了默认 IV (首选设置)。

Command: aesWrapUnwrap -f 3DES.key -w 6 -m 1 -out 3DES.key.wrapped Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IV result data: 49 49 E2 D0 11 C1 97 22 17 43 BD E3 4E F4 12 75 8D C1 34 CF 26 10 3A 8D 6D 0A 7B D5 D3 E8 4D C2 79 09 08 61 94 68 51 B7 result written to file 3DES.key.wrapped Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS
例 :将加密密钥解开包装

此示例演示如何使用 aesWrapUnwrap 将文件中的已包装(已加密)密钥解开包装(解密)。在将密钥导入到 HSM 中之前,您可能需要执行与此类似的操作。例如,如果您尝试使用 imSymKey 命令导入已加密密钥,它将返回错误,因为已加密密钥没有该类型的明文密钥所需的格式。

此命令将 3DES.key.wrapped 文件中的密钥解开包装并将明文写入到 3DES.key.unwrapped 文件。此命令使用值为 0-m 参数指示解开包装模式。它使用 -w 参数指定 HSM 中的 AES 密钥 (密钥句柄 6) 作为包装密钥。它将生成的包装密钥写入到 3DES.key.unwrapped 文件。

Command: aesWrapUnwrap -m 0 -f 3DES.key.wrapped -w 6 -out 3DES.key.unwrapped Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IV result data: 14 90 D7 AD D6 E4 F5 FA A1 95 6F 24 89 79 F3 EE 37 21 E6 54 1F 3B 8D 62 result written to file 3DES.key.unwrapped Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

参数

-h

显示该命令的帮助信息。

必需:是

-m

指定模式。要包装 (加密) 文件内容,键入 1;要将文件内容进行解开包装 (解密),键入 0

必需:是

-f

指定要包装的文件。输入一个包含小于 4 KB (4096 字节) 数据的文件。此操作可用于将加密密钥进行包装和解开包装。

必需:是

-w

指定包装密钥。在 HSM 上输入 AES 密钥的密钥句柄。此参数为必需参数。要查找密钥句柄,请使用 findKey 命令。

要创建包装密钥,请使用 genSymKey 生成 AES 密钥 (类型 31)。

必需:是

-i

指定算法的备用初始值 (IV)。除非您有需要备用值的特殊条件,否则请使用默认值。

默认值:0xA6A6A6A6A6A6A6A6。默认值是在 AES 密钥包装算法规范中定义的。

必需:否

-out

为包含已包装或已解开包装密钥的输出文件指定备用名称。本地目录中的默认名称为 wrapped_key (对于包装操作) 和 unwrapped_key (对于解开包装操作)。

如果该文件存在,则 aesWrapUnwrap 将覆盖该文件而不发出警告。如果此命令失败,则 aesWrapUnwrap 将创建一个无内容的输出文件。

默认名称:wrapped_key (对于包装)。unwrapped_key (对于解开包装)。

必需:否

相关 主题