

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

# 使用 KMU 获取密 AWS CloudHSM 钥的用户
<a name="key_mgmt_util-getKeyInfo"></a>

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

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

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

在运行任何 key\_mgmt\_util 命令之前，您必须启动[ key\_mgmt\_util](key_mgmt_util-setup.md#key_mgmt_util-start) 并以加密用户（CU）身份[登录](key_mgmt_util-log-in.md)到 HSM。

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

```
getKeyInfo -h

getKeyInfo -k {{<key-handle>}}
```

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

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

**Example ：获取对称密钥的用户**  
此命令将获取可使用密钥句柄为 `9` 的 AES (对称) 密钥的用户。输出显示，用户 3 拥有此密钥并已将它与用户 4 共享。  

```
Command:  getKeyInfo -k 9

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 1 user(s):

                4
```

**Example ：获取非对称密钥对的用户**  
这些命令使用 **getKeyInfo** 获取可使用 RSA（非对称）密钥对中的密钥的用户。公有密钥具有密钥句柄 `21`。私有密钥具有密钥句柄 `20`。  
当你在私钥 (`20`) **getKeyInfo** 上运行时，它会返回与之共享密钥的密钥所有者 (3CUs) 和加密用户 () 4 和 5。  

```
Command:  getKeyInfo -k 20

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 2 user(s):

                4
                5
```
当您在公有密钥 (`21`) 上运行 **getKeyInfo** 时，它仅返回密钥所有者 (3)。  

```
Command:  getKeyInfo -k 21

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3
```
要确认用户 4 可以使用公有密钥 (和 HSM 上的所有公有密钥)，请使用 `-u`findKey[ 的 ](key_mgmt_util-findKey.md) 参数。  
输出显示，用户 4 可以使用密钥对中的公有密钥 (`21`) 和私有密钥 (`20`)。用户 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

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

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

**Example ：获取密钥的仲裁身份验证值 (m\_value)**  
此示例演示如何获取密钥的 `m_value`，即，必须批准使用密钥的任何加密操作的仲裁中的用户数量。  
如果对某个密钥启用了仲裁身份验证，用户的仲裁必须批准使用该密钥的任何加密操作。要启用仲裁身份验证并设置仲裁大小，请在创建密钥时使用 `-m_value` 参数。  
此命令使用 [gen Pai RSAKey r](key_mgmt_util-genRSAKeyPair.md) 创建与用户 4 共享的 RSA 密钥对。它使用 `m_value` 参数对密钥对中的私有密钥启用仲裁身份验证并将仲裁大小设置为两个用户。用户的数量必须足够大，才能提供所需的批准。  
输出显示，此命令已创建公有密钥 `27` 和私有密钥 `28`。  

```
 Command:  genRSAKeyPair -m 2048 -e 195193 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 27    private key handle: 28

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

```
Command:  getKeyInfo -k 28

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 1 user(s):

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

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

**-h**  
显示该命令的命令行帮助。  
是否必需：是

**-k**  
指定 HSM 中的一个密钥的密钥句柄。输入您拥有或共享的密钥的密钥句柄。此参数为必需参数。  
要查找密钥句柄，请使用 [findKey](key_mgmt_util-listUsers.md) 命令。  
是否必需：是

## 相关主题
<a name="getKeyInfo-seealso"></a>
+ [getKeyInfo](cloudhsm_mgmt_util-getKeyInfo.md)在 cloudhsm\_mgmt\_util 中
+ [listUsers](key_mgmt_util-listUsers.md)
+ [findKey](key_mgmt_util-findKey.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)在 cloudhsm\_mgmt\_util 中