使用 CMU 获取 AWS CloudHSM 密钥属性值 - AWS CloudHSM

使用 CMU 获取 AWS CloudHSM 密钥属性值

使用 AWS CloudHSM cloudhsm_mgmt_util(CMU)中的 getAttribute 命令从 AWS CloudHSM 集群中的所有硬件安全模块(HSM)获取密钥的一个属性值,并将其写入 stdout(标准输出)或文件。仅加密用户 (CU) 可以运行此命令。

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

您只能对您拥有的密钥和与您共享的密钥使用 getAttribute。您可运行此命令或 key_mgmt_util 中的 getAttribute 命令 (将密钥的一个或所有属性值写入文件)。

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

在运行任何 CMU 命令之前,必须启动 CMU 并登录 HSM。请确保使用可运行您计划使用的命令的用户类型登录。

如果您要添加或删除 HSM,请更新 CMU 的配置文件。否则,您所做的更改可能不会对集群中的所有 HSM 生效。

用户类型

以下用户均可运行此命令。

  • 加密用户 (CU)

语法

由于此命令没有命名参数,因此您必须按语法图中指定的顺序输入参数。

getAttribute <key handle> <attribute id> [<filename>]

示例

此示例获取 HSM 中的密钥的可提取属性值。您可以使用与此类似的命令来确定您是否能从 HSM 导出密钥。

第一条命令使用 listAttributes 查找表示可提取属性的常量。输出表明,OBJ_ATTR_EXTRACTABLE 的常量为 354。您也可以在 KMU 的 AWS CloudHSM 密钥属性参考 中找到此信息与属性的描述以及属性值。

aws-cloudhsm> listAttributes Following are the possible attribute values for getAttribute: OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_TRUSTED = 134 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_DERIVE = 268 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_NEVER_EXTRACTABLE = 356 OBJ_ATTR_ALWAYS_SENSITIVE = 357 OBJ_ATTR_DESTROYABLE = 370 OBJ_ATTR_KCV = 371 OBJ_ATTR_WRAP_WITH_TRUSTED = 528 OBJ_ATTR_WRAP_TEMPLATE = 1073742353 OBJ_ATTR_UNWRAP_TEMPLATE = 1073742354 OBJ_ATTR_ALL = 512

第二条命令使用 getAttribute 在 HSM 中获取密钥句柄为 262170 的密钥的可提取属性值。要指定可提取属性,此命令使用 354 (表示此属性的常量)。由于此命令未指定文件名,getAttribute 会将输出写入 stdout。

输出表明,所有 HSM 上的可提取属性值为 1。此值指示密钥的所有者可导出密钥。当值为 0 (0x0) 时,无法从 HSM 导出它。可在创建密钥时设置可提取属性的值,但无法更改此值。

aws-cloudhsm> getAttribute 262170 354 Attribute Value on server 0(10.0.1.10): OBJ_ATTR_EXTRACTABLE 0x00000001 Attribute Value on server 1(10.0.1.12): OBJ_ATTR_EXTRACTABLE 0x00000001 Attribute Value on server 2(10.0.1.7): OBJ_ATTR_EXTRACTABLE 0x00000001

参数

由于此命令没有命名参数,因此您必须按语法图中指定的顺序输入参数。

getAttribute <key handle> <attribute id> [<filename>]
<key-handle>

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

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

必需:是

<attribute id>

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

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

必需:是

<filename>

将输出写入到指定文件。输入文件路径。

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

必需:否

默认值:Stdout

相关 主题