

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

# 使用 CMU 获取 AWS CloudHSM 关键属性值
<a name="cloudhsm_mgmt_util-getAttribute"></a>

使用 c AWS CloudHSM loudhsm\$1mgmt\$1util (CMU) 中的**getAttribute**命令从 AWS CloudHSM 集群中的所有硬件安全模块 (HSM) 中获取密钥的一个属性值，然后将其写入 stdout（标准输出）或文件中。只有加密用户 (CUs) 才能运行此命令。

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

您只能对您拥有的密钥和与您共享的密钥使用 **getAttribute**。您可运行此命令或 key\$1mgmt\$1util 中的 [getAttribute](#cloudhsm_mgmt_util-getAttribute) 命令 (将密钥的一个或所有属性值写入文件)。

要获取包含属性和表示属性的常量的列表，请使用 [listAttributes](key_mgmt_util-listAttributes.md) 命令。要更改现有密钥的属性值，请使用 key\$1mgmt\$1util 中的 [setAttribute](key_mgmt_util-setAttribute.md) 和 cloudhsm\$1mgmt\$1util 中的 [setAttribute](cloudhsm_mgmt_util-setAttribute.md)。有关解释密钥属性的帮助，请参阅 [AWS CloudHSM KMU 的关键属性参考](key-attribute-table.md)。

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

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

## 用户类型
<a name="chmu-getAttribute-userType"></a>

以下用户均可运行此命令。
+ 加密用户 (CU)

## 语法
<a name="chmu-getAttribute-syntax"></a>

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

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

## 示例
<a name="chmu-getAttribute-examples"></a>

此示例获取中键的可提取属性的值。 HSMs您可以使用这样的命令来确定是否可以从中导出密钥 HSMs。

第一条命令使用 [listAttributes](cloudhsm_mgmt_util-listAttributes.md) 查找表示可提取属性的常量。输出表明，`OBJ_ATTR_EXTRACTABLE` 的常量为 `354`。您也可以在 [AWS CloudHSM KMU 的关键属性参考](key-attribute-table.md) 中找到此信息与属性的描述以及属性值。

```
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**用于获取带有键控柄`262170`的密钥的可提取属性的值。 HSMs要指定可提取属性，此命令使用 `354` (表示此属性的常量)。由于此命令未指定文件名，**getAttribute** 会将输出写入 stdout。

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

```
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
```

## 参数
<a name="chmu-getAttribute-params"></a>

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

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

**<key-handle>**  
指定目标密钥的密钥句柄。您在每个命令中只能指定一个密钥。要获取密钥的密钥句柄，请使用 key\$1mgmt\$1util 中的 [findKey](key_mgmt_util-findKey.md)。  
您必须拥有指定密钥或必须与您共享此密钥。要查找密钥的用户，请在 key\$1mgmt\$1uti [getKeyInfo](key_mgmt_util-getKeyInfo.md)l 中使用。  
是否必需：是

**<attribute id>**  
标识属性。输入表示属性的常量，或表示所有属性的 `512`。例如，要获取密钥类型，请输入 `256`（`OBJ_ATTR_KEY_TYPE` 属性的常量）。  
要列出属性及其常量，请使用 [listAttributes](key_mgmt_util-listAttributes.md)。有关解释密钥属性的帮助，请参阅 [AWS CloudHSM KMU 的关键属性参考](key-attribute-table.md)。  
是否必需：是

**<filename>**  
将输出写入到指定文件。输入文件路径。  
如果指定文件存在，**getAttribute** 将覆盖此文件而不发出警告。  
必需：否  
默认值：Stdout

## 相关主题
<a name="chmu-getAttribute-seealso"></a>
+ key\$1mgmt\$1util 中的 [getAttribute](key_mgmt_util-getAttribute.md)
+ [listAttributes](cloudhsm_mgmt_util-listAttributes.md)
+ cloudhsm\$1mgmt\$1util 中的 [setAttribute](cloudhsm_mgmt_util-setAttribute.md)
+ key\$1mgmt\$1util 中的 [setAttribute](key_mgmt_util-setAttribute.md)
+ [密钥属性引用](key-attribute-table.md)