

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 keytool 建立新的 AWS CloudHSM 金鑰
<a name="create_key_keytool_5"></a>

您可以使用 keytool 來產生 AWS CloudHSM JCE SDK 支援的 RSA、AES 和 DESede 類型金鑰。

**重要**  
透過 keytool 產生的金鑰會在軟體中產生，然後匯入 AWS CloudHSM 做為可擷取的持久性金鑰。

我們強烈建議您不要在 Keytool 中產生不可匯出的金鑰，然後又匯入相對應的憑證至金鑰存放區。如果您透過 keytool 和 Jarsigner 使用可擷取的 RSA 或 EC 金鑰，提供者會從 匯出金鑰， AWS CloudHSM 然後在本機使用金鑰進行簽署操作。

如果您有多個用戶端執行個體連接到 AWS CloudHSM 叢集，請注意，在一個用戶端執行個體的金鑰存放區上匯入憑證不會自動在其他用戶端執行個體上提供憑證。若要在每個用戶端執行個體上註冊金鑰和相關憑證，您必須執行 Java 應用程式，如 [使用 keytool 產生 AWS CloudHSM CSR](generate_csr_using_keytool_5.md) 所述。或者，您可以在一個用戶端上進行必要的變更，並將產生的金鑰存放區檔案複製到其他每個用戶端執行個體。

**範例 1：**產生對稱 AES-256 金鑰，並將其儲存在工作目錄中名為 "example\_keystore.store" 的金鑰存放區檔案中。將 {{<secret label>}} 取代為唯一的標籤。

------
#### [ Linux ]

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

------
#### [ Windows ]

```
PS C:\> keytool -genseckey -alias {{<secret label>}} -keyalg aes `
	-keysize 256 -keystore example_keystore.store `
	-storetype CloudHSM -J-classpath '-J"C:\Program Files\Amazon\CloudHSM\java\*"'
```

------

**範例 2：**產生 RSA 2048 金鑰對，並將其儲存在工作目錄中名為 "example\_keystore.store" 的金鑰存放區檔案中。將 {{<RSA key pair label>}} 取代為唯一的標籤。

------
#### [ Linux ]

```
$ 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/*'
```

------
#### [ Windows ]

```
PS C:\> keytool -genkeypair -alias {{<RSA key pair label>}} `
	-keyalg rsa -keysize 2048 `
	-sigalg sha512withrsa `
	-keystore example_keystore.store `
	-storetype CLOUDHSM `
	-J-classpath '-J"C:\Program Files\Amazon\CloudHSM\java\*"'
```

------

您可以在 Java 程式庫中找到[支援的簽章演算法](java-lib-supported_5.md#java-sign-verify_5)清單。