

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

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

 AWS CloudHSM key\$1mgmt\$1util ツールの **genRSAKeyPair** コマンドを使用して、[RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) 非対称キーペアを生成します。ユーザーは、キーのタイプ、モジュラスの長さ、および公開指数を指定します。コマンドは、指定した長さのモジュラスを生成し、キーペアを作成します。ユーザーは、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="genRSAKeyPair-syntax"></a>

```
genRSAKeyPair -h

genRSAKeyPair -m <modulus length>
              -e <public exponent> 
              -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="genRSAKeyPair-examples"></a>

以下の例では、**genRSAKeyPair** を使用して非対称キーペアを HSM に作成する方法を示します。

**Example : RSA キーペアを作成して検査する**  
このコマンドでは、モジュラス 2048 ビットで指数が 65537 の RSA キーペアを作成します。出力は、パブリックキーのハンドルが `2100177`、プライベートキーのハンドルが `2100426` であることを示しています。  

```
Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test 

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 2100177    private key handle: 2100426

        Cluster Status:
        Node id 0 status: 0x00000000 : HSM Return: SUCCESS
        Node id 1 status: 0x00000000 : HSM Return: SUCCESS
```
次のコマンドでは、[getAttribute](key_mgmt_util-getAttribute.md) を使用して、先ほど作成したパブリックキーの属性を取得します。出力の書き込み先は `attr_2100177` ファイルです。この属性ファイルの内容を取得する **cat** コマンドが続けて実行されます。キー属性の解釈については、[AWS CloudHSM KMU のキー属性リファレンス](key-attribute-table.md) を参照してください。  
結果の 16 進値は、RSA タイプ (`OBJ_ATTR_CLASS 0x02`) のパブリックキー (`OBJ_ATTR_KEY_TYPE 0x00`) であることを示しています。この公開キーを使用して暗号化 (`OBJ_ATTR_ENCRYPT 0x01`) はできますが、復号 (`OBJ_ATTR_DECRYPT 0x00`) を行うことはできません。結果には、キーの長さ (512、`0x200`)、モジュラス、モジュラスの長さ (2048、`0x800`)、およびパブリック指数 (65537、`0x10001`) も含まれています。  

```
Command:  getAttribute -o 2100177 -a 512 -out attr_2100177

Attribute size: 801, count: 26
Written to: attr_2100177 file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

$  cat attr_2100177
OBJ_ATTR_CLASS
0x02
OBJ_ATTR_KEY_TYPE
0x00
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x01
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x01
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x00
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
rsa_test
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x00000200
OBJ_ATTR_KCV
0xc51c18
OBJ_ATTR_MODULUS
0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c
1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d
6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0
97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857
d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873
970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec
b3e4203294a96fae06f8f0db7982cb5d7f
OBJ_ATTR_MODULUS_BITS
0x00000800
OBJ_ATTR_PUBLIC_EXPONENT
0x010001
OBJ_ATTR_TRUSTED
0x00
OBJ_ATTR_WRAP_WITH_TRUSTED
0x00
OBJ_ATTR_DESTROYABLE
0x01
OBJ_ATTR_DERIVE
0x00
OBJ_ATTR_ALWAYS_SENSITIVE
0x00
OBJ_ATTR_NEVER_EXTRACTABLE
0x00
```

**Example : 共有 RSA キーペアを生成する**  
次のコマンドでは、RSA キーペアを生成し、HSM の別の CU であるユーザー 4 とプライベートキーを共有します。コマンドでは、`m_value` パラメータを使用して少なくとも 2 つの承認を要求した上で、ペアのプライベートキーを暗号化オペレーションで使用できるようにします。`m_value` パラメータを使用する場合、コマンドで `-u` も使用する必要があります。これにより、`m_value` がユーザーの合計数 (`-u` の数値 \$1 所有者) を超えないようにします。  

```
 Command:  genRSAKeyPair -m 2048 -e 65537 -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
```

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

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

**-m**  
モジュラスの長さをビット単位で指定します。最小値は 2,048 です。  
必須: はい

**-e**  
パブリック指数を指定します。値は、65537 以上の奇数にする必要があります  
必須: はい

**-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="genRSAKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [genDSAKeyPair](key_mgmt_util-genDSAKeyPair.md)
+ [genECCKeyPair](key_mgmt_util-genECCKeyPair.md)