getAttribute - AWS CloudHSM

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

getAttribute

key_mgmt_util 中的getAttribute命令将密钥的一个或全部属性值写入文件。 AWS CloudHSM 如果密钥类型不存在您指定的属性(如 AES 密钥的模数),则 getAttribute 将返回错误。

密钥属性是密钥的属性。它们包括各种特征 (如密钥类型、类、标签和 ID) 以及表示您可使用密钥执行的操作 (如加密、解密、包装、签名和验证) 的值。

您只能对您拥有的密钥和与您共享的密钥使用 getAttribute。您可运行此命令或 cloudhsm_mgmt_util 中的 getAttribute 命令,以从集群的所有 HSM 中获取密钥的一个属性值并将其写入到 stdout 或文件。

要获取包含属性和表示属性的常量的列表,请使用 listAttributes 命令。要更改现有密钥的属性值,请使用 key_mgmt_util 中的 setAttribute 和 cloudhsm_mgmt_util 中的 setAttribute。有关解释密钥属性的帮助,请参阅 密钥属性引用

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

语法

getAttribute -h getAttribute -o <key handle> -a <attribute constant> -out <file>

示例

以下示例演示如何使用 getAttribute 获取 HSM 中的密钥的属性。

例 :获取密钥类型

此示例将获取密钥的类型 (如 AES、3DES、通用密钥、RSA 或椭圆曲线密钥对)。

第一个命令运行 listAttributes,以获取密钥属性和表示它们的常量。输出显示,密钥类型的常量为 256。有关解释密钥属性的帮助,请参阅 密钥属性引用

Command: listAttributes Description =========== The following are all of the possible attribute values for getAttributes. OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_KCV = 371

第二个命令运行 getAttribute。它请求密钥句柄 524296 的密钥类型 (属性 256) 并将其写入到 attribute.txt 文件。

Command: getAttribute -o 524296 -a 256 -out attribute.txt Attributes dumped into attribute.txt file

最后一个命令获取密钥文件的内容。输出显示,密钥类型为 0x1521,这是一个三重 DES (3DES) 密钥。有关类和类型值的定义,请参阅密钥属性参考

$ cat attribute.txt OBJ_ATTR_KEY_TYPE 0x00000015
例 :获取密钥的所有属性

此命令将获取密钥句柄为 6 的密钥的所有属性并将这些属性写入到 attr_6 文件中。它使用表示所有属性的属性值 512

Command: getAttribute -o 6 -a 512 -out attr_6 got all attributes of size 444 attr cnt 17 Attributes dumped into attribute.txt file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS>

此命令将显示包含所有属性值的示例属性文件的内容。在这些值中,它报告密钥是一个具有 ID test_01 和标签 aes256 的 256 位 AES 密钥。此密钥是可提取的永久密钥 (也就是说,它不是仅会话密钥)。有关解释密钥属性的帮助,请参阅 密钥属性引用

$ cat attribute.txt OBJ_ATTR_CLASS 0x04 OBJ_ATTR_KEY_TYPE 0x15 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x01 OBJ_ATTR_WRAP 0x01 OBJ_ATTR_UNWRAP 0x01 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL aes256 OBJ_ATTR_ID test_01 OBJ_ATTR_VALUE_LEN 0x00000020 OBJ_ATTR_KCV 0x1a4b31

参数

-h

显示该命令的帮助信息。

必需:是

-o

指定目标密钥的密钥句柄。您在每个命令中只能指定一个密钥。要获取密钥的密钥句柄,请使用 findKey

此外,您必须拥有指定密钥或必须与您共享此密钥。要查找密钥的用户,请使用getKeyInfo

必需:是

-a

标识属性。输入表示属性的常量,或表示所有属性的 512。例如,要获取密钥类型,请键入 256 (OBJ_ATTR_KEY_TYPE 属性的常量)。

要列出属性及其常量,请使用 listAttributes。有关解释密钥属性的帮助,请参阅 密钥属性引用

必需:是

-out

将输出写入到指定文件。键入文件路径。您不能将输出写入到 stdout

如果指定文件存在,getAttribute 将覆盖此文件而不发出警告。

必需:是

相关 主题