

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

# Menghasilkan key pair AWS CloudHSM RSA menggunakan KMU
<a name="key_mgmt_util-genRSAKeyPair"></a>

[Gunakan **genRSAKeyPair** perintah di alat AWS CloudHSM key\$1mgmt\$1util untuk menghasilkan key pair asimetris RSA.](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) Anda menentukan jenis kunci, panjang modulus, dan eksponen publik. Perintah menghasilkan modulus dari panjang yang ditentukan dan membuat pasangan kunci. Anda dapat menetapkan ID, berbagi kunci dengan pengguna HSM lainnya, membuat kunci yang tidak dapat diekstrak dan kunci yang kedaluwarsa ketika sesi berakhir. Ketika perintah berhasil, perintah mengembalikan handel kunci yang HSM tetapkan ke kunci. Anda dapat menggunakan handel kunci untuk mengidentifikasi kunci untuk perintah lain.

Sebelum Anda menjalankan perintah key\$1mgmt\$1util, Anda harus [memulai key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) dan [masuk](key_mgmt_util-log-in.md) ke HSM sebagai pengguna kripto (CU). 

**Tip**  
Untuk menemukan atribut kunci yang telah Anda buat, seperti jenis, panjang, label, dan ID, gunakan [getAttribute](key_mgmt_util-getAttribute.md). Untuk menemukan kunci untuk pengguna tertentu, gunakan [getKeyInfo](key_mgmt_util-getKeyInfo.md). Untuk menemukan kunci berdasarkan nilai atribut mereka, gunakan [findKey](key_mgmt_util-findKey.md). 

## Sintaksis
<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]
```

## Contoh
<a name="genRSAKeyPair-examples"></a>

Contoh-contoh ini menunjukkan cara menggunakan **genRSAKeyPair** untuk membuat pasangan kunci asimetris di Anda HSMs.

**Example : Buat dan periksa key pair RSA**  
Perintah ini menciptakan key pair RSA dengan modulus 2048-bit dan eksponen 65537. Output menunjukkan bahwa handel kunci publik adalah `2100177` dan handel kunci privat adalah `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
```
Perintah berikutnya menggunakan [getAttribute](key_mgmt_util-getAttribute.md) untuk mendapatkan atribut kunci publik yang baru saja kita buat. Perintah ini menulis output ke file `attr_2100177`. Hal ini diikuti oleh perintah **cat** yang mendapat isi dari file atribut. Untuk membantu menafsirkan atribut kunci, lihat [AWS CloudHSM referensi atribut kunci untuk KMU](key-attribute-table.md).  
Nilai heksadesimal yang dihasilkan mengonfirmasi bahwa itu adalah kunci publik (`OBJ_ATTR_CLASS 0x02`) dengan jenis RSA (`OBJ_ATTR_KEY_TYPE 0x00`). Anda dapat menggunakan kunci publik ini untuk mengenkripsi (`OBJ_ATTR_ENCRYPT 0x01`), tetapi tidak untuk mendekripsi (). `OBJ_ATTR_DECRYPT 0x00` Hasilnya juga mencakup panjang kunci (512,`0x200`), modulus, panjang modulus (2048,`0x800`), dan eksponen publik (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 : Buat key pair RSA bersama**  
Perintah ini menghasilkan pasangan kunci RSA dan berbagi kunci privat dengan pengguna 4, CU lain pada HSM. Perintah menggunakan parameter `m_value` untuk mengharuskan setidaknya dua persetujuan sebelum kunci privat dalam pasangan dapat digunakan dalam operasi kriptografi. Ketika Anda menggunakan parameter `m_value`, Anda juga harus menggunakan `-u` dalam perintah dan `m_value` tidak dapat melebihi jumlah total pengguna (jumlah nilai dalam `-u` \$1 pemilik).  

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

## Parameter
<a name="genRSAKeyPair-params"></a>

**-h**  
Menampilkan bantuan untuk perintah.   
Wajib: Ya

**-m**  
Menentukan panjang modulus dalam bit. Nilai minimum adalah 2048.   
Wajib: Ya

**-e**  
Menentukan eksponen publik. Nilai harus angka ganjil yang lebih besar dari atau sama dengan 65537.  
Wajib: Ya

**-l**  
Menentukan label yang ditetapkan pengguna untuk pasangan kunci. Ketik string. Label yang sama berlaku untuk kedua kunci dalam pasangan. Ukuran maksimum yang diijinkan `label` adalah 127 karakter.  
Anda dapat menggunakan frasa apa pun yang membantu Anda mengidentifikasi kunci. Karena label tidak harus unik, Anda dapat menggunakannya pada grup dan mengelompokkan kunci.   
Wajib: Ya

**-id**  
Menentukan pengenal yang ditetapkan pengguna untuk pasangan kunci. Ketik string yang unik dalam klaster. Default-nya adalah string kosong. ID yang Anda tentukan berlaku untuk kedua kunci dalam pasangan.  
Default: Tidak ada nilai ID.  
Wajib: Tidak

**-min\$1srv**  
Menentukan jumlah minimum HSMs di mana kunci disinkronkan sebelum nilai `-timeout` parameter berakhir. Jika kunci tidak disinkronkan ke jumlah tertentu server dalam waktu yang ditentukan, kunci tidak dibuat.  
AWS CloudHSM secara otomatis menyinkronkan setiap kunci ke setiap HSM di cluster. Untuk mempercepat proses Anda, tetapkan nilai kurang dari jumlah HSMs di cluster dan tetapkan nilai batas waktu yang rendah. `min_srv` Namun, perhatikan bahwa beberapa permintaan mungkin tidak menghasilkan kunci.  
Default: 1  
Wajib: Tidak

**-m\$1value**  
Menentukan jumlah pengguna yang harus menyetujui operasi kriptografi yang menggunakan kunci privat pada pasangan. Ketik nilai dari `0` sampai `8`.  
Parameter ini menetapkan persyaratan autentikasi kuorum untuk kunci privat. Nilai default, `0`, menonaktifkan fitur autentikasi kuorum untuk kunci. Ketika autentikasi kuorum diaktifkan, pengguna dalam jumlah tertentu harus menandatangani token untuk menyetujui operasi kriptografi yang menggunakan kunci privat, dan operasi yang berbagi atau batal berbagi kunci privat.  
Untuk menemukan kunci, gunakan [getKeyInfo](key_mgmt_util-getKeyInfo.md). `m_value`  
Parameter ini hanya valid jika parameter `-u` dalam perintah membagikan pasangan kunci dengan cukup pengguna untuk memenuhi persyaratan `m_value`.  
Default: 0  
Wajib: Tidak

**-nex**  
Membuat kunci privat yang tidak dapat diesktrak. Kunci privat yang dihasilkan tidak dapat [diekspor dari HSM](export-keys.md). Kunci publik selalu dapat diekstrak.  
Default: Kedua kunci publik dan privat dalam pasangan kunci dapat diekstrak.  
Wajib: Tidak

**-sess**  
Membuat kunci yang hanya ada di sesi saat ini. Kunci tidak dapat dipulihkan setelah sesi berakhir.  
Gunakan parameter ini ketika Anda memerlukan kunci hanya sebentar, seperti kunci pembungkus yang mengenkripsi, dan kemudian dengan cepat mendekripsi, kunci lain. Jangan gunakan kunci sesi untuk mengenkripsi data yang mungkin perlu Anda dekripsi setelah sesi berakhir.  
Untuk mengubah kunci sesi menjadi kunci (token) persisten, gunakan [setAttribute](key_mgmt_util-setAttribute.md).  
Default: Kunci persisten.   
Wajib: Tidak

**-timeout**  
Menentukan berapa lama (dalam detik) perintah menunggu kunci untuk disinkronkan dengan jumlah yang HSMs ditentukan oleh parameter. `min_srv`   
Parameter ini hanya valid jika parameter `min_srv` juga digunakan dalam perintah.  
Default: Tidak ada waktu habis. Perintah menunggu tanpa batas waktu dan kembali hanya ketika kunci disinkronkan ke jumlah minimum server.  
Wajib: Tidak

**-u**  
Berbagi kunci privat pada pasangan dengan pengguna tertentu. Parameter ini memberikan izin kepada pengguna kripto HSM lainnya (CUs) untuk menggunakan kunci pribadi dalam operasi kriptografi. Kunci publik dapat digunakan oleh pengguna tanpa berbagi.  
Ketik daftar pengguna HSM yang dipisahkan koma IDs, seperti -. `u 5,6` Jangan sertakan ID pengguna HSM dari pengguna saat ini. [Untuk menemukan pengguna IDs HSM CUs di HSM, gunakan ListUsers.](key_mgmt_util-listUsers.md) Untuk berbagi atau batal berbagi kunci yang ada, gunakan [shareKey](cloudhsm_mgmt_util-shareKey.md) di cloudhsm\$1mgmt\$1util.   
Default: Hanya pengguna saat ini dapat menggunakan kunci privat.   
Wajib: Tidak

**-attest**  
Menjalankan pemeriksaan integritas yang memverifikasi bahwa firmware tempat klaster berjalan belum dirusak.  
Default: Tidak ada pemeriksaan pengesahan.  
Wajib: Tidak

## Topik terkait
<a name="genRSAKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [DSAKeypasangan gen](key_mgmt_util-genDSAKeyPair.md)
+ [ECCKeypasangan gen](key_mgmt_util-genECCKeyPair.md)