使用 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
。例如,要获取密钥类型,请输入256
(OBJ_ATTR_KEY_TYPE
属性的常量)。要列出属性及其常量,请使用 listAttributes。有关解释密钥属性的帮助,请参阅 KMU 的 AWS CloudHSM 密钥属性参考。
必需:是
- <filename>
-
将输出写入到指定文件。输入文件路径。
如果指定文件存在,getAttribute 将覆盖此文件而不发出警告。
必需:否
默认值:Stdout
相关 主题
-
key_mgmt_util 中的 getAttribute
-
cloudhsm_mgmt_util 中的 setAttribute
-
key_mgmt_util 中的 setAttribute