

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 DSA menggunakan KMU
<a name="key_mgmt_util-genDSAKeyPair"></a>

Gunakan **genDSAKeyPair** perintah di alat AWS CloudHSM key\$1mgmt\$1util untuk menghasilkan key pair [Digital Signing Algorithm (DSA](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)) dalam modul keamanan perangkat keras (HSM) Anda. Anda harus menentukan panjang modulus; perintah menghasilkan nilai modulus. Anda juga dapat menetapkan ID, berbagi kunci dengan pengguna HSM lainnya, membuat kunci yang tidak dapat diekstrak, dan membuat kunci yang kedaluwarsa ketika sesi berakhir. Ketika perintah berhasil, perintah mengembalikan *handel kunci* yang ditetapkan HSM ke kunci publik dan privat. 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="genDSAKeyPair-syntax"></a>

```
genDSAKeyPair -h

genDSAKeyPair -m <modulus length> 
              -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="genDSAKeyPair-examples"></a>

Contoh ini menunjukkan cara menggunakan **genDSAKeyPair** untuk membuat pasangan kunci DSA.

**Example : Buat key pair DSA**  
Perintah ini membuat pasangan kunci DSA dengan label `DSA`. Output menunjukkan bahwa handel kunci dari kunci publik adalah `19` dan handel kunci privat adalah `21`.  

```
Command: genDSAKeyPair -m 2048 -l DSA

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 19    private key handle: 21

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : Buat key pair DSA khusus sesi**  
Perintah ini membuat pasangan kunci DSA yang berlaku hanya dalam sesi saat ini. Perintah menetapkan ID unik `DSA_temp_pair` sebagai tambahan untuk label (non-unik) yang diperlukan. Anda mungkin ingin membuat pasangan kunci seperti ini untuk menandatangani dan memverifikasi token hanya sesi. Output menunjukkan bahwa handel kunci dari kunci publik adalah `12` dan handel kunci privat adalah `14`.  

```
Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 14

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Untuk mengonfirmasi bahwa pasangan kunci hanya ada dalam sesi, gunakan parameter `-sess` [findKey](key_mgmt_util-findKey.md) dengan nilai `1` (benar).  

```
  Command: findKey -sess 1

  Total number of keys present 2

 number of keys matched from start index 0::1
12, 14

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

**Example : Buat key pair DSA bersama yang tidak dapat diekstraksi**  
Perintah ini membuat pasangan kunci DSA. Kunci privat dibagi dengan tiga pengguna lain, dan tidak dapat diekspor dari HSM. Kunci publik dapat digunakan oleh setiap pengguna dan selalu dapat diekstraksi.   

```
        Command:  genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 11    private key handle: 19

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : Buat key pair yang dikendalikan kuorum**  
Perintah ini membuat pasangan kunci DSA dengan label `DSA-mV2`. Perintah menggunakan parameter `-u` untuk berbagi kunci privat dengan pengguna 4 dan 6. Perintah menggunakan parameter `-m_value` untuk memerlukan kuorum setidaknya dua persetujuan untuk setiap operasi kriptografi yang menggunakan kunci privat. Perintah ini juga menggunakan parameter `-attest` untuk memverifikasi integritas firmware tempat pasangan kunci dihasilkan.  
Output menunjukkan bahwa perintah menghasilkan kunci publik dengan handel kunci `12`dan kunci privat dengan handel kunci `17`, dan bahwa pemeriksaan pengesahan pada firmware klaster diteruskan.  

```
        Command:  genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 17

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Perintah ini menggunakan [getKeyInfo](key_mgmt_util-getKeyInfo.md)pada kunci pribadi (pegangan kunci`17`). Output menegaskan bahwa kunci dimiliki oleh pengguna saat ini (pengguna 3) dan bahwa itu dibagi dengan pengguna 4 dan 6 (dan tidak ada orang lain). Output juga menunjukkan bahwa autentikasi kuorum diaktifkan dan ukuran kuorum adalah dua.  

```
        Command:  getKeyInfo -k 17

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 2 user(s):

                 4
                 6
         2 Users need to approve to use/manage this key
```

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

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

**-m**  
Menentukan panjang modulus dalam bit. Satu-satunya nilai yang valid adalah `2048`.  
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="genDSAKeyPair-seealso"></a>
+ [RSAKeypasangan gen](key_mgmt_util-genRSAKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [ECCKeypasangan gen](key_mgmt_util-genECCKeyPair.md)