

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

# KMU を使用して AWS CloudHSM DSA キーペアを生成する
<a name="key_mgmt_util-genDSAKeyPair"></a>

 AWS CloudHSM key\$1mgmt\$1util ツールの **genDSAKeyPair** コマンドを使用して、ハードウェアセキュリティモジュール (HSM) [でデジタル署名アルゴリズム](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm) (DSA) キーペアを生成します。ユーザーは、モジュラスの長さを指定する必要があります。モジュラスの値はコマンドで生成されます。ユーザーは、ID を割り当て、他の HSM ユーザーとキーを共有し、抽出不可のキーとセッション終了時に失効するキーを作成することもできます。コマンドが成功すると、*キーハンドル*が返されます。HSM は、このキーハンドルをパブリックキーとプライベートキーに割り当てます。このキーハンドルでキーを識別することで、他のコマンドでキーを使用できます。

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

**ヒント**  
タイプ、長さ、ラベル、ID など、作成したキーの属性を検索するには、[getAttribute](key_mgmt_util-getAttribute.md) を使用します。特定のユーザーのキーを見つけるには、[getKeyInfo](key_mgmt_util-getKeyInfo.md) を使用します。属性値に基づいてキーを検索するには、[findKey](key_mgmt_util-findKey.md) を使用します。

## 構文
<a name="genDSAKeyPair-syntax"></a>

```
genDSAKeyPair -h

genDSAKeyPair -m <modulus length> 
              -l <label> 
              [-id <key ID>] 
              [-min_srv <minimum number of servers>] 
              [-m_value <0..8>]
              [-nex] 
              [-sess] 
              [-timeout <number of seconds> ]
              [-u <user-ids>] 
              [-attest]
```

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

以下の例では、**genDSAKeyPair** を使用して DSA キーペアを作成する方法を示します。

**Example : DSA キーペアを作成する**  
次のコマンドでは、`DSA` をラベルとする DSA キーペアを作成します。出力は、パブリックキーのキーハンドルが `19`、プライベートキーのキーハンドルが `21` であることを示しています。  

```
Command: genDSAKeyPair -m 2048 -l DSA

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 19    private key handle: 21

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

**Example : セッション専用の DSA キーペアを作成する**  
次のコマンドでは、現在のセッションでのみ有効な DSA キーペアを作成します。コマンドは、必須の (一意でない) ラベルに加えて `DSA_temp_pair` の一意な ID を割り当てます。次のようなキーペアを作成して、セッション専用のトークンの署名および検証ができます。出力は、パブリックキーのキーハンドルが `12`、プライベートキーのキーハンドルが `14` であることを示しています。  

```
Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 14

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
キーペアがセッションでのみ有効であることを確認するには、`-sess`findKey[ の ](key_mgmt_util-findKey.md) パラメータで、値 `1` (true) を使用します。  

```
  Command: findKey -sess 1

  Total number of keys present 2

 number of keys matched from start index 0::1
12, 14

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

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

**Example : 抽出不可の共有 DSA キーペアを作成する**  
次のコマンドでは、DSA キーペアを作成します。プライベートキーは、他の 3 ユーザーと共有され、HSM からエクスポートすることはできません。パブリックキーは、すべてのユーザーが使用可能であり、常に抽出可能です。  

```
        Command:  genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 11    private key handle: 19

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

**Example : クォーラム制御のキーペアを作成する**  
次のコマンドでは、`DSA-mV2` をラベルとする DSA キーペアを作成します。このコマンドでは、`-u` パラメータを使用してプライベートキーをユーザー 4 および 6 と共有します。`-m_value` パラメータを使用して、プライベートキーを使用する暗号化オペレーションごとに 2 つ以上の承認のクォーラムを要求します。また、`-attest` パラメータを使用して、キーペアを生成するファームウェアの整合性を検証します。  
出力は、コマンドでキーハンドル `12` のパブリックキーとキーハンドル `17` のプライベートキーが生成され、クラスターファームウェアの認証チェックが合格であることを示しています。  

```
        Command:  genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 17

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
このコマンドでは、プライベートキー (キーハンドル `17`) で [getKeyInfo](key_mgmt_util-getKeyInfo.md) を使用します。出力は、キーの所有者が現在のユーザー (ユーザー 3) であり、キーがユーザー 4 および 6 (それ以外はなし) と共有されていることを示しています。また、クォーラム認証が有効になっていて、クォーラムサイズが 2 であることも示しています。  

```
        Command:  getKeyInfo -k 17

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 2 user(s):

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

## パラメータ
<a name="genDSAKeyPair-params"></a>

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

**-m**  
モジュラスの長さをビット単位で指定します。唯一の有効な値は `2048` です。  
必須: はい

**-I**  
キーペアのユーザー定義ラベルを指定します。文字列を入力します。同じラベルがペアの両方のキーに適用されます。`label` の最大長は 127 文字です。  
キーを識別するのに役立つ任意のフレーズを使用できます。ラベルは一意である必要がないため、このラベルを使用してキーをグループ化および分類できます。  
必須: はい

**-id**  
キーペアのユーザー定義識別子 (ID) を指定します。クラスター内で一意の文字列を入力します。デフォルトは空の文字列です。指定した ID は、ペアの両方のキーに適用されます。  
デフォルト: ID 値なし。  
必須: いいえ

**-min\$1srv**  
`-timeout` パラメーターの値が期限切れになる前に、キーが同期される HSM の最小数を指定します。キーが割り当てられた時間内に指定された数のサーバーに同期されない場合は、作成されません。  
AWS CloudHSM は、すべてのキーをクラスター内のすべての HSM に自動的に同期します。プロセスを高速化するため、`min_srv` の値をクラスターの HSM の数より少なく設定し、低いタイムアウト値を設定します。ただし、一部のリクエストでキーが生成されない場合があることに注意してください。  
デフォルト: 1  
必須: いいえ

**-m\$1value**  
ペアの秘密キーを使用する暗号化オペレーションを承認する必要があるユーザーの数を指定します。`0` から `8` までの値を入力します。  
このパラメータにより、プライベートキーのクォーラム認証要件が確立されます。デフォルト値、`0` で、キーのクォーラム認証機能を無効にします。クォーラム認証が有効になっている場合、指定された数のユーザーがトークンに署名して、プライベートキーを使用する暗号化オペレーション、およびプライベートキーを共有または共有解除するオペレーションを承認する必要があります。  
キーの `m_value` を見つけるには、[getKeyInfo](key_mgmt_util-getKeyInfo.md) を使用します。  
このパラメーターは、コマンドの `-u` パラメーターが `m_value` 要件を満たすのに十分なユーザーとキーペアを共有している場合にのみ有効です。  
デフォルト: 0  
必須: いいえ

**-nex**  
プライベートキーを抽出できなくなります。生成されたプライベートキーを [HSM からエクスポートする](export-keys.md) ことはできません。公開キーは常に抽出可能です。  
デフォルト: キーペアの公開キーとプライベートキーの両方が抽出可能です。  
必須: いいえ

**-sess**  
現在のセッションにのみ存在するキーを作成します。セッション終了後、キーをリカバリすることはできません。  
このパラメータは、別のキーを暗号化してからすばやく復号化するラッピングキーなど、キーが短時間だけ必要な場合に使用します。セッション終了後に復号する必要がある可能性のあるデータを暗号化するためにセッションキーを使用しないでください。  
セッションキーを永続(トークン)キーに変更するには、[setAttribute](key_mgmt_util-setAttribute.md) を使用します。  
デフォルト: キーは永続的です。  
必須: いいえ

**-timeout**  
キーが `min_srv` パラメータで指定された HSM の数に同期されるのをコマンドが待機する時間 (秒単位) を指定します。  
このパラメータは、`min_srv` パラメータがコマンドでも使用されている場合にのみ有効です。  
デフォルト: タイムアウトなし。このコマンドは無期限に待機し、キーが最小数のサーバーと同期されている場合にのみ戻ります。  
必須: いいえ

**-u**  
ペアのプライベートキーを指定されたユーザーと共有します。このパラメータは、他の HSM Crypto User (CU) に暗号化オペレーションでプライベートキーを使用する許可を与えます。公開キーは、共有なしですべてのユーザーが使用可能です。  
( -`u 5,6`などの) HSM ユーザー ID のカンマ区切りリストを入力します。現在のユーザーの HSM ユーザー ID を含めないでください。HSM で CU の HSM ユーザー ID を検索するには、[listUsers](key_mgmt_util-listUsers.md) を使用します。既存のキーを共有および共有解除するには、cloudhsm\$1mgmt\$1util で [shareKey](cloudhsm_mgmt_util-shareKey.md) を使用します。  
デフォルト: 現在のユーザーのみがプライベートキーを使用できます。  
必須: いいえ

**-attest**  
クラスターを実行するファームウェアが改ざんされていないことを確認する整合性チェックを実行します。  
デフォルト: 認証チェックなし。  
必須: いいえ

## 関連トピック
<a name="genDSAKeyPair-seealso"></a>
+ [genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [genECCKeyPair](key_mgmt_util-genECCKeyPair.md)