

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

# keytool を使用して新しい AWS CloudHSM キーを作成する
<a name="create_key_keytool"></a>

keytool を使用して、 AWS CloudHSM JCE SDK でサポートされている任意のタイプのキーを生成できます。キーと長さの完全なリストについては、Java ライブラリの「[サポートされるキー](java-lib-supported.md#java-keys)」の記事を参照してください。

**重要**  
keytool で生成されたキーはソフトウェアで生成され、抽出可能な永続キー AWS CloudHSM として にインポートされます。

抽出不可能なキーをハードウェアセキュリティモジュール (HSM) で直接作成し、keytool または Jarsigner で使用する手順は、「既存の[キーを AWS CloudHSM キーストアに登録する](register-pre-existing-keys-with-keystore.md)」のコードサンプルに示されています。エクスポートできないキーを keytool の外部で生成したうえで、対応する証明書をキーストアにインポートすることを強くお勧めします。keytool と jarsigner を使用して抽出可能な RSA キーまたは EC キーを使用する場合、プロバイダーは からキーをエクスポート AWS CloudHSM し、ローカルでキーを使用して署名操作を行います。

CloudHSM クラスターに複数のクライアントインスタンスが接続されている場合、1 つのクライアントインスタンスのキーストアに証明書をインポートしても、他のクライアントインスタンスで自動的に使用できるようにはなりません。各クライアントインスタンスでキーおよび関連する証明書を登録するには、「[keytool を使用して CSR を生成する](generate_csr_using_keytool.md)」の説明に従って Java アプリケーションを実行する必要があります。または、1 つのクライアントで必要な変更を行い、結果のキーストアファイルを他のすべてのクライアントインスタンスにコピーすることもできます。

**例 1: **対称型 AES-256 キーを生成し、作業ディレクトリの「example\_keystore.store」という名前のキーストアファイルに保存します。{{<secret label>}} を独自のラベルに置き換えます。

```
keytool -genseckey -alias {{<secret label>}} -keyalg aes \
		-keysize 256 -keystore example_keystore.store \
		-storetype CloudHSM -J-classpath '-J/opt/cloudhsm/java/*' \
		-J-Djava.library.path=/opt/cloudhsm/lib/
```

**例 2: **RSA 2,048 キーペアを生成し、作業ディレクトリの「example\_keystore.store」という名前のキーストアファイルに保存します。{{<RSA key pair label>}} を独自のラベルに置き換えます。

```
keytool -genkeypair -alias {{<RSA key pair label>}} \
        -keyalg rsa -keysize 2048 \
        -sigalg sha512withrsa \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

**例 3: **p256 ED キーを生成し、作業ディレクトリの「example\_keystore.store」という名前のキーストアファイルに保存します。{{<ec key pair label>}} を独自のラベルに置き換えます。

```
keytool -genkeypair -alias {{<ec key pair label>}} \
        -keyalg ec -keysize 256 \
        -sigalg SHA512withECDSA \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

[サポートされている署名アルゴリズム](java-lib-supported.md#java-sign-verify)のリストは、Java ライブラリにあります。