

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# KMU を使用して属性で AWS CloudHSM キーを検索する
<a name="key_mgmt_util-findKey"></a>

 AWS CloudHSM key\_mgmt\_util の **findKey** コマンドを使用して、キー属性の値でキーを検索します。設定したすべての基準にキーが一致すると、**findKey** はキーハンドルを返します。パラメータがない場合、**findKey** は HSM で使用できるすべてのキーのキーハンドルを返します。特定のキーの属性値を検索するには、[getAttribute](key_mgmt_util-getAttribute.md) を使用します。

すべての key\_mgmt\_util コマンドと同様に、**findKey** はユーザー固有です。暗号化オペレーションで現在のユーザーが使用できるキーのみが返されます。これには、現在のユーザーが所有しているキーおよび現在のユーザーと共有されているキーが含まれます。

key\_mgmt\_util コマンドを実行する前に、[key\_mgmt\_util を起動し](key_mgmt_util-setup.md#key_mgmt_util-start)、Crypto User (CU) として HSM に [ログインする](key_mgmt_util-log-in.md) 必要があります。

## Syntax
<a name="findKey-syntax"></a>

```
findKey -h 

findKey [-c {{<key class>}}] 
        [-t {{<key type>}}]
        [-l {{<key label>}}] 
        [-id {{<key ID>}}]
        [-sess (0 | 1)] 
        [-u {{<user-ids>}}]
        [-m {{<modulus>}}]
        [-kcv {{<key_check_value>}}]
```

## 例
<a name="findKey-examples"></a>

この例では、**findKey** を使用して HSM でキーを検索および特定する方法を示します。

**Example : すべてのキーを検索する**  
このコマンドは、HSM の現在のユーザーのすべてのキーを検索します。出力には、そのユーザーが所有および共有しているキーと、HSM のすべてのパブリックキーが含まれます。  
特定のキーハンドルを持つキーの属性を取得するには、[getAttribute](key_mgmt_util-getAttribute.md) を使用します。現在のユーザーが特定のキーを所有しているか共有しているかを判断するには、cloudhsm\_mgmt\_util で [getKeyInfo](key_mgmt_util-getKeyInfo.md) または [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md) を使用します。  

```
Command: findKey

Total number of keys present 13

 number of keys matched from start index 0::12
6, 7, 524296, 9, 262154, 262155, 262156, 262157, 262158, 262159, 262160, 262161, 262162

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

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

**Example : タイプ、ユーザー、およびセッションでキーを検索する**  
次のコマンドでは、現在のユーザーとユーザー 3 が使用できる永続 AES キーを検索します (ユーザー 3 は、現在のユーザーが表示できない他のキーを使用できる場合があります)。  

```
Command: findKey -t 31 -sess 0 -u 3
```

**Example : クラスおよびラベルでキーを検索する**  
次のコマンドでは、`2018-sept` ラベルで現在のユーザーのすべてのパブリックキーを検索します。  

```
Command: findKey -c 2 -l 2018-sept
```

**Example : モジュラスで RSA キーを検索する**  
次のコマンドでは、`m4.txt` ファイルのモジュラスを使用して作成された、現在のユーザーの RSA キー (タイプ 0) を検索します。  

```
Command: findKey -t 0 -m m4.txt
```

## パラメータ
<a name="findKey-parameters"></a>

**-h**  
コマンドに関するヘルプを表示します。  
必須: はい

**-t**  
指定されたタイプのキーを検索します。キークラスを表す定数を入力します。たとえば、3DES キーを検索するには、`-t 21` と入力します。  
有効な値:   
+ 0: [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem))
+ 1: [DSA](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)
+ 3: [EC](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)
+ 16: [GENERIC\_SECRET](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226962)
+ 18: [RC4](https://en.wikipedia.org/wiki/RC4)
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES)
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
必須: いいえ

**-c**  
指定されたクラスのキーを検索します。キークラスを表す定数を入力します。たとえば、パブリックキーを検索するには「`-c 2`」と入力します。  
各キータイプに有効な値:  
+ 2: パブリック。このクラスには、公開 - プライベートのキーペアの公開キーが含まれています。
+ 3: プライベート。このクラスには、公開 - プライベートのキーペアの公開キーが含まれています。
+ 4: シークレット。このクラスには、対称キーすべてが含まれています。
必須: いいえ

**-I**  
指定されたラベルのキーを検索します。正確なラベルを入力します。`--l` 値にはワイルドカード文字も正規表現も使用できません。  
必須: いいえ

**-id**  
指定された ID のキーを検索します。正確な ID 文字列を入力します。`-id` 値にはワイルドカード文字も正規表現も使用できません。  
必須: いいえ

**-sess**  
セッションステータスでキーを検索します。現在のセッションでのみ有効なキーを検索するには「`1`」と入力します。永続キーを検索するには「`0`」と入力します。  
必須: いいえ

**-u**  
指定されたユーザーと現在のユーザーが共有しているキーを検索します。HSM ユーザー ID のカンマ区切りリスト (`-u 3` や `-u 4,7` など) を入力します。HSM のユーザーの ID を検索するには、[listUsers](key_mgmt_util-listUsers.md) を使用します。  
1 つのユーザー ID を指定すると、**findKey** はそのユーザーのキーを返します。複数のユーザー ID を指定すると、**findKey** は指定したユーザーすべてが使用できるキーを返します。  
**findKey** は現在のユーザーが使用できるキーのみを返すため、`-u` の結果は常に、現在のユーザーのキーと同じかそのサブセットです。任意のユーザーが所有または共有するすべてのキーを取得するために、暗号オフィサー (CO) は cloudhsm\_mgmt\_util の [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md) を使用できます。  
必須: いいえ

**-m**  
指定したファイルの RSA モジュラスを使用して作成されたキーを検索します。モジュラスを保存するファイルのパスを入力します。  
-m は、一致する RSA モジュラスを含むバイナリファイルを指定します (オプション)。  
必須: いいえ

**-kcv**  
指定されたキーのチェック値のキーを検索します。  
*キーチェック値* (KCV) は、HSM がキーをインポートまたは生成するときに生成されるキーの3バイトのハッシュまたはチェックサムです。キーをエクスポートした後など、HSM の外部で KCV を計算することもできます。次に、KCV 値を比較して、キーのアイデンティティと整合性を確認できます。キーの KCV を取得するには、[getAttribute](key_mgmt_util-getAttribute.md) を使用します。  
AWS CloudHSM は、次の標準メソッドを使用してキーチェック値を生成します。  
+ **対称キー**: ゼロブロックをキーで暗号化した結果の最初の 3 バイト。
+ **非対称キーペア**: 公開キーの SHA-1 ハッシュの最初の 3 バイト。
+ **HMAC キー **: 現時点では、HMAC キーの KCV はサポートされていません。
必須: いいえ

## Output
<a name="findKey-output"></a>

**findKey** の出力には、一致するキーの合計数とそのキーハンドルが一覧表示されます。

```
        Command:  findKey
Total number of keys present 10

 number of keys matched from start index 0::9
6, 7, 8, 9, 10, 11, 262156, 262157, 262158, 262159

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

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

## 関連トピック
<a name="findKey-seealso"></a>
+ [findSingleKey](key_mgmt_util-findSingleKey.md)
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ cloudhsm\_mgmt\_util の中の [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md) です。
+ [キー属性リファレンス](key-attribute-table.md)