

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

Gunakan `genECCKeyPair` perintah di alat AWS CloudHSM key\$1mgmt\$1util untuk menghasilkan key pair [Elliptic Curve Cryptography (ECC) di modul keamanan perangkat keras (](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)HSM) Anda. Ketika menjalankan perintah `genECCKeyPair`, Anda harus menentukan pengenal kurva elips dan label untuk pasangan kunci. Anda juga dapat berbagi kunci privat dengan pengguna CU lainnya, membuat kunci yang tidak dapat diekstrak, kunci dikendalikan kuorum, dan kunci yang kedaluwarsa ketika sesi berakhir. Ketika perintah berhasil, perintah mengembalikan handel kunci yang HSM tetapkan ke kunci ECC 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="genECCKeyPair-syntax"></a>

```
genECCKeyPair -h

genECCKeyPair -i <EC curve id> 
              -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="genECCKeyPair-examples"></a>

Contoh berikut menunjukkan cara menggunakan **genECCKeyPair** untuk membuat pasangan kunci ECC di Anda HSMs.

**Example : Membuat dan memeriksa sebuah key pair ECC**  
Perintah ini menggunakan kurva eliptik NID\$1Secp384R1 dan label untuk membuat key pair ECC. `ecc14` Output menunjukkan bahwa handel kunci dari kunci privat adalah `262177` dan handel kunci dari kunci publik adalah `262179`. Label berlaku untuk kunci publik dan privat.  

```
Command: genECCKeyPair -i 14 -l ecc14

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 262179    private key handle: 262177

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Setelah menghasilkan kunci, Anda dapat memeriksa atributnya. Gunakan [getAttribute](key_mgmt_util-getAttribute.md) untuk menulis semua atribut (diwakili oleh konstanta `512`) dari kunci privat ECC baru ke file `attr_262177`.  

```
Command: getAttribute -o 262177 -a 512 -out attr_262177
got all attributes of size 529 attr cnt 19
Attributes dumped into attr_262177

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
```
Kemudian gunakan perintah `cat` untuk melihat isi file atribut `attr_262177`. Output menunjukkan kunci adalah kunci privat kurva elips yang dapat digunakan untuk penandatanganan, tetapi tidak untuk mengenkripsi, mendekripsi, membungkus, membuka bungkus, atau memverifikasi. Kunci bersifat persisten dan dapat diekspor.  

```
$  cat attr_262177

OBJ_ATTR_CLASS
0x03
OBJ_ATTR_KEY_TYPE
0x03
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x00
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x00
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x01
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
ecc2
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x0000008a
OBJ_ATTR_KCV
0xbbb32a
OBJ_ATTR_MODULUS
044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5
OBJ_ATTR_MODULUS_BITS
0x0000019f
```

**Example Menggunakan kurva EEC yang tidak valid**  
Perintah ini mencoba untuk membuat pasangan kunci ECC dengan menggunakan kurva NID\$1X9\$162\$1prime192v1. Karena kurva elips ini tidak berlaku untuk mode FIPS HSMs, perintah gagal. Pesan melaporkan bahwa server di cluster tidak tersedia, tetapi ini biasanya tidak menunjukkan masalah dengan HSMs di cluster.  

```
Command:  genECCKeyPair -i 1 -l ecc1

        Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies

        Cluster Error Status
        Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable
```

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

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

**-i **  
Menentukan pengenal untuk kurva elips. Masukkan pengenal.   
Nilai yang valid:   
+ **2**: NID\$1X9\$162\$1prime256v1
+ **14**: NID\$1secp384r1
+ **16**: NID\$1secp256k1
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="genECCKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [RSAKeypasangan gen](key_mgmt_util-genRSAKeyPair.md)
+ [DSAKeypasangan gen](key_mgmt_util-genDSAKeyPair.md)