

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

# 使用 CMU 获取有关密钥的 AWS CloudHSM 用户信息
<a name="cloudhsm_mgmt_util-getKeyInfo"></a>

使用 k AWS CloudHSM ey\$1mgmt\$1util (KMU) 中的**getKeyInfo**命令返回可以使用密钥的用户的硬件安全模块 (HSM) 用户，包括所有者和与 IDs 之共享密钥的加密用户 (CU)。如果对某个密钥启用了仲裁身份验证，**getKeyInfo** 也将返回必须批准使用该密钥的加密操作的用户数。您只能在您拥有的密钥和与您共享的密钥上运行 **getKeyInfo**。

当您在公有密钥上运行 **getKeyInfo** 时，**getKeyInfo** 将仅返回密钥所有者，即使 HSM 的所有用户都可以使用该公有密钥。[要查找您的 HSMs用户的 HSM 用户 IDs ，请使用 ListUsers。](key_mgmt_util-listUsers.md)要查找特定用户的密钥，请在 key\$1mgmt\$1util 中使用 [findKey](key_mgmt_util-findKey.md) `-u`。加密官员可以[findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)在 cloudhsm\$1mgmt\$1util 中使用。

您拥有您创建的密钥。在创建密钥时，您可以与其他用户共享它。然后，要共享或取消共享现有密钥，请在 cloudhsm\$1mgmt\$1util 中使用 [shareKey](cloudhsm_mgmt_util-shareKey.md)。

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

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

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

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

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

```
getKeyInfo -k <key-handle> [<output file>]
```

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

这些示例说明如何使用 **getKeyInfo** 获取有关密钥用户的信息。

**Example ：获取非对称密钥的用户**  
此命令将获取可使用密钥句柄为 `262162` 的 AES (非对称) 密钥的用户。输出表明，用户 3 拥有密钥并将密钥与用户 4 和 6 共享。  
仅用户 3、4 和 6 可以在密钥 262162 上运行 **getKeyInfo**。  

```
aws-cloudhsm>getKeyInfo 262162
Key Info on server 0(10.0.0.1):

        Token/Flash Key,

        Owned by user 3

        also, shared to following 2 user(s):

                 4
                 6
Key Info on server 1(10.0.0.2):

        Token/Flash Key,

        Owned by user 3

        also, shared to following 2 user(s):

                 4
                 6
```

**Example ：获取对称密钥对的用户**  
这些命令使用 **getKeyInfo** 获取可使用 [ECC（对称）密钥对](key_mgmt_util-genSymKey.md)中的密钥的用户。公有密钥具有密钥句柄 `262179`。私有密钥具有密钥句柄 `262177`。  
当你在私钥 (`262177`) **getKeyInfo** 上运行时，它会返回与之共享密钥的密钥所有者 (3CUs) 和加密用户 () 4。  

```
aws-cloudhsm>getKeyInfo -k 262177
Key Info on server 0(10.0.0.1):

        Token/Flash Key,

        Owned by user 3

        also, shared to following 1 user(s):

                 4
Key Info on server 1(10.0.0.2):

        Token/Flash Key,

        Owned by user 3

        also, shared to following 1 user(s):

                 4
```
当您在公有密钥 (`262179`) 上运行 **getKeyInfo** 时，它只会返回密钥所有者，即用户 `3`。  

```
aws-cloudhsm>getKeyInfo -k 262179
Key Info on server 0(10.0.3.10):

        Token/Flash Key,

        Owned by user 3

Key Info on server 1(10.0.3.6):

        Token/Flash Key,

        Owned by user 3
```
要确认用户 4 可以使用公有密钥（和 HSM 上的所有公有密钥），请使用 key\$1mgmt\$1util 中 [findKey](key_mgmt_util-findKey.md) 的 `-u` 参数。  
输出显示，用户 4 可以使用密钥对中的公有密钥 (`262179`) 和私有密钥 (`262177`)。用户 4 还可以使用所有其他公有密钥以及他们创建的或与他们共享的任何私有密钥。  

```
Command:  findKey -u 4

Total number of keys present 8

 number of keys matched from start index 0::7
11, 12, 262159, 262161, 262162, 19, 20, 21, 262177, 262179

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

**Example ：获取密钥的仲裁身份验证值 (m\$1value)**  
此示例介绍如何获取密钥的 `m_value`。m\$1value 是仲裁中的用户数，这些用户必须批准使用密钥的任何加密操作和共享/取消共享密钥的操作。  
如果对某个密钥启用了仲裁身份验证，用户的仲裁必须批准使用该密钥的任何加密操作。要启用仲裁身份验证并设置仲裁大小，请在创建密钥时使用 `-m_value` 参数。  
此命令用于创建[genSymKey](key_mgmt_util-genSymKey.md)与用户 4 共享的 256 位 AES 密钥。它使用 `m_value` 参数启用仲裁身份验证并将仲裁大小设置为两个用户。用户的数量必须足够大，才能提供所需的批准。  
输出表明，该命令创建了密钥 10。  

```
 Command:  genSymKey -t 31 -s 32 -l aes256m2 -u 4 -m_value 2

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 10

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
此命令使用 cloudhsm\$1mgmt\$1util 中的 **getKeyInfo** 获取有关密钥 `10` 的用户的信息。输出表明，该密钥由用户 `3` 所有并与用户 `4` 共享。它还表明，这两个用户的仲裁必须批准使用该密钥的所有加密操作。  

```
aws-cloudhsm>getKeyInfo 10

Key Info on server 0(10.0.0.1):

        Token/Flash Key,

        Owned by user 3

        also, shared to following 1 user(s):

                 4
         2 Users need to approve to use/manage this key
Key Info on server 1(10.0.0.2):

        Token/Flash Key,

        Owned by user 3

        also, shared to following 1 user(s):

                 4
         2 Users need to approve to use/manage this key
```

## 参数
<a name="chmu-getKeyInfo-parameters"></a>

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

```
getKeyInfo -k <key-handle> <output file>
```

**<key-handle>**  
指定 HSM 中的一个密钥的密钥句柄。输入您拥有或共享的密钥的密钥句柄。此参数为必需参数。  
是否必需：是

**<output file>**  
将输出写入指定文件，而不是 stdout。如果该文件存在，则命令将覆盖该文件而不发出警告。  
必需：否  
默认值：stdout

## 相关主题
<a name="chmu-getKeyInfo-seealso"></a>
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)在 key\$1mgmt\$1util 中
+ key\$1mgmt\$1util 中的 [findKey](key_mgmt_util-findKey.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)在 cloudhsm\$1mgmt\$1util
+ [listUsers](cloudhsm_mgmt_util-listUsers.md)
+ [shareKey](cloudhsm_mgmt_util-shareKey.md)