

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Gunakan AWS CloudHSM key store dengan keytool menggunakan Client SDK 3
<a name="using_keystore_with_keytool"></a>

[Keytool](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html) adalah utilitas baris perintah populer untuk kunci umum dan sertifikat tugas pada sistem Linux. Tutorial lengkap tentang keytool ada di luar lingkup dokumentasi AWS CloudHSM . Artikel ini menjelaskan parameter spesifik yang harus Anda gunakan dengan berbagai fungsi keytool saat memanfaatkan AWS CloudHSM sebagai akar kepercayaan melalui toko AWS CloudHSM kunci.

Saat menggunakan keytool dengan penyimpanan AWS CloudHSM kunci, tentukan argumen berikut ke perintah keytool apa pun:

```
-storetype CLOUDHSM \
		-J-classpath '-J/opt/cloudhsm/java/*' \
		-J-Djava.library.path=/opt/cloudhsm/lib
```

Jika Anda ingin membuat file penyimpanan kunci baru menggunakan toko AWS CloudHSM kunci, lihat[Gunakan AWS CloudHSM KeyStore untuk AWS CloudHSM Client SDK 3](alternative-keystore.md#using_cloudhsm_keystore). Untuk menggunakan penyimpanan kunci yang ada, tentukan namanya (termasuk jalur) menggunakan argumen penyimpanan kunci pada keytool. Jika Anda menentukan file penyimpanan kunci yang tidak ada dalam perintah keytool, toko AWS CloudHSM kunci akan membuat file penyimpanan kunci baru.

# Buat AWS CloudHSM kunci baru dengan keytool
<a name="create_key_keytool"></a>

Anda dapat menggunakan keytool untuk menghasilkan semua jenis kunci yang didukung oleh AWS CloudHSM JCE SDK. Lihat daftar lengkap kunci dan panjang di artikel [Kunci yang Didukung](java-lib-supported.md#java-keys) di Pustaka Java.

**penting**  
Kunci yang dihasilkan melalui keytool dihasilkan dalam perangkat lunak, dan kemudian diimpor AWS CloudHSM sebagai kunci persisten yang dapat diekstraksi.

Petunjuk untuk membuat kunci yang tidak dapat diekstraksi langsung pada modul keamanan perangkat keras (HSM), dan kemudian menggunakannya dengan keytool atau Jarsigner, ditampilkan dalam contoh kode di [Mendaftarkan](register-pre-existing-keys-with-keystore.md) Kunci yang Sudah Ada dengan Key Store. AWS CloudHSM Kami sangat menyarankan untuk membuat bukti kunci non-ekspor di luar keytool, dan kemudian mengimpor sertifikat yang sesuai ke penyimpanan kunci. Jika Anda menggunakan kunci RSA atau EC yang dapat diekstrak melalui keytool dan jarsigner, penyedia mengekspor kunci dari AWS CloudHSM dan kemudian menggunakan kunci secara lokal untuk operasi penandatanganan.

Jika Anda memiliki beberapa instans klien yang tersambung ke klaster CloudHSM Anda, perhatikan bahwa mengimpor sertifikat di penyimpanan kunci satu instans klien tidak akan secara otomatis membuat sertifikat tersebut tersedia pada instans klien lainnya. Untuk mendaftarkan kunci dan sertifikat terkait pada setiap instans klien, Anda perlu menjalankan aplikasi Java seperti yang dijelaskan dalam [Hasilkan CSR menggunakan Keytool](generate_csr_using_keytool.md). Atau, Anda dapat membuat perubahan yang diperlukan pada satu klien dan menyalin file penyimpanan kunci yang dihasilkan untuk setiap instans klien lainnya.

**Contoh 1:** Untuk menghasilkan kunci AES-256 simetris dan menyimpannya dalam file penyimpanan kunci bernama, “example\$1keystore.store”, di direktori kerja. Ganti *<secret label>* dengan label unik.

```
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/
```

**Contoh 2:** Untuk menghasilkan key pair RSA 2048 dan menyimpannya dalam file key store bernama, “example\$1keystore.store” di direktori kerja. Ganti *<RSA key pair label>* dengan label unik.

```
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/
```

**Contoh 3:** Untuk menghasilkan kunci ED p256 dan menyimpannya dalam file penyimpanan kunci bernama, “example\$1keystore.store” di direktori kerja. Ganti *<ec key pair label>* dengan label unik.

```
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/
```

Anda dapat menemukan daftar [algoritme tanda tangan yang didukung](java-lib-supported.md#java-sign-verify) di pustaka Java.

# Hapus AWS CloudHSM kunci menggunakan keytool
<a name="delete_key_using_keytool"></a>

Toko AWS CloudHSM kunci tidak mendukung penghapusan kunci. Untuk menghapus kunci, Anda harus menggunakan `deleteKey` fungsi AWS CloudHSM alat baris perintah,[Hapus AWS CloudHSM kunci menggunakan KMU](key_mgmt_util-deleteKey.md).

# Menghasilkan AWS CloudHSM CSR menggunakan keytool
<a name="generate_csr_using_keytool"></a>

Anda menerima fleksibilitas terbesar dalam membuat permintaan penandatanganan sertifikat (CSR) jika menggunakan [Mesin AWS CloudHSM Dinamis OpenSSL untuk SDK Klien 5](openssl-library.md). Perintah berikut menggunakan keytool untuk menghasilkan CSR untuk pasangan kunci dengan alias, `example-key-pair`.

```
keytool -certreq -alias <key pair label> \
        -file example_csr.csr \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

**catatan**  
Untuk menggunakan pasangan kunci dari keytool, pasangan kunci itu harus memiliki entri dalam file penyimpanan kunci tertentu. Jika Anda ingin menggunakan pasangan kunci yang dihasilkan di luar keytool, Anda harus mengimpor kunci dan metadata sertifikat ke penyimpanan kunci. Untuk petunjuk tentang mengimpor data keystore, lihat [Mengimpor sertifikat Intermediate dan root ke AWS CloudHSM Key Store](import_cert_using_keytool.md) menggunakan Keytool.

# Gunakan keytool untuk mengimpor sertifikat perantara dan root ke dalam penyimpanan AWS CloudHSM kunci
<a name="import_cert_using_keytool"></a>

Untuk mengimpor sertifikat CA AWS CloudHSM, Anda harus mengaktifkan verifikasi rantai sertifikat lengkap pada sertifikat yang baru diimpor. Perintah berikut menunjukkan sebuah contoh. 

```
keytool -import -trustcacerts -alias rootCAcert \
        -file rootCAcert.cert -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

Jika Anda menghubungkan beberapa instance klien ke AWS CloudHSM klaster Anda, mengimpor sertifikat pada penyimpanan kunci satu instans klien tidak akan secara otomatis membuat sertifikat tersedia pada instance klien lainnya. Anda harus mengimpor sertifikat pada setiap instans klien.

# Gunakan keytool untuk menghapus sertifikat dari toko AWS CloudHSM kunci
<a name="delete_cert_using_keytool"></a>

Perintah berikut menunjukkan contoh cara menghapus AWS CloudHSM sertifikat dari toko kunci keytool Java. 

```
keytool -delete -alias mydomain -keystore \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

Jika Anda menghubungkan beberapa instance klien ke AWS CloudHSM klaster Anda, menghapus sertifikat pada penyimpanan kunci satu instans klien tidak akan secara otomatis menghapus sertifikat dari instance klien lainnya. Anda harus menghapus sertifikat pada setiap instans klien.

# Impor sertifikat kerja ke toko AWS CloudHSM kunci menggunakan keytool
<a name="import_working_cert_using_keytool"></a>

Setelah permintaan penandatanganan sertifikat (CSR) ditandatangani, Anda dapat mengimpornya ke penyimpanan kunci AWS CloudHSM dan mengaitkannya dengan pasangan kunci yang sesuai. Perintah berikut memberikan sebuah contoh. 

```
keytool -importcert -noprompt -alias <key pair label> \
        -file example_certificate.crt \
        -keystore example_keystore.store
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

Alias harus menjadi pasangan kunci dengan sertifikat terkait di penyimpanan kunci. Jika kunci yang dihasilkan di luar keytool, atau dihasilkan pada instans klien yang berbeda, Anda harus terlebih dahulu mengimpor kunci dan metadata sertifikat ke penyimpanan kunci. Untuk petunjuk tentang mengimpor metadata sertifikat, lihat contoh kode di [Mendaftarkan Kunci yang sudah ada sebelumnya](register-pre-existing-keys-with-keystore.md) dengan Key Store. AWS CloudHSM 

Rantai sertifikat harus dapat diverifikasi. Jika Anda tidak dapat memverifikasi sertifikat, Anda mungkin perlu mengimpor sertifikat tanda tangan (otoritas sertifikat) ke penyimpanan kunci sehingga rantai dapat diverifikasi.

# Ekspor sertifikat dari AWS CloudHSM menggunakan keytool
<a name="export_cert_using_keytool"></a>

Contoh berikut menghasilkan sertifikat dalam format X.509 biner. Untuk mengekspor sertifikat yang dapat dibaca manusia dari AWS CloudHSM, tambahkan `-rfc` ke `-exportcert` perintah. 

```
keytool -exportcert -alias <key pair label> \
        -file example_exported_certificate.crt \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```