

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Genera una coppia di chiavi AWS CloudHSM ECC usando KMU
<a name="key_mgmt_util-genECCKeyPair"></a>

Utilizzate il `genECCKeyPair` comando nello strumento AWS CloudHSM key\_mgmt\_util per generare una coppia di chiavi [Elliptic Curve Cryptography (ECC) nei vostri moduli di sicurezza hardware (HSM](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)). Quando si esegue il comando `genECCKeyPair`, è necessario specificare l'identificatore della curva ellittica e un'etichetta per la coppia di chiavi. Inoltre, è possibile condividere la chiave privata con altri utenti CU, creare chiavi non estraibili, chiavi controllate da quorum e chiavi che scadono al termine della sessione. Quando il comando viene completato con successo, restituisce gli handle che l'HSM assegna alle chiavi ECC pubbliche e private. Puoi utilizzare gli handle per identificare le chiavi per altri comandi.

Prima di eseguire un comando key\_mgmt\_util, devi [avviare key\_mgmt\_util](key_mgmt_util-setup.md#key_mgmt_util-start) e [accedere](key_mgmt_util-log-in.md) all'HSM come crypto user (CU). 

**Suggerimento**  
Per trovare gli attributi di una chiave che hai creato, ad esempio tipo, lunghezza, etichetta e ID, usa [getAttribute](key_mgmt_util-getAttribute.md). Per trovare le chiavi per un determinato utente, usa. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Per trovare le chiavi in base ai valori degli attributi, usa [findKey](key_mgmt_util-findKey.md). 

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

## Esempi
<a name="genECCKeyPair-examples"></a>

Gli esempi seguenti mostrano come utilizzare **genECCKeyPair** per creare coppie di chiavi ECC in HSMs.

**Example : creare ed esaminare una coppia di chiavi ECC**  
Questo comando usa una curva ellittica NID\_secp384r1 e un'etichetta `ecc14` per creare una coppia di chiavi ECC. L'output indica che l'handle della chiave privata è `262177` e l'handle della chiave pubblica è `262179`. L'etichetta si applica a entrambe le chiavi, sia pubblica che privata.  

```
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
```
Dopo aver generato la chiave, è possibile esaminarne gli attributi. Utilizza [getAttribute](key_mgmt_util-getAttribute.md) per scrivere tutti gli attributi (rappresentati dalla costante `512`) della nuova chiave privata ECC sul 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
```
Quindi utilizza il comando `cat` per visualizzare il contenuto del file degli attributi `attr_262177`. L'output indica che la chiave è una chiave privata basata su una curva ellittica che può essere utilizzata per firmare, ma non per la crittografia, la decodifica, il wrapping, l'annullamento del wrapping o la verifica. La chiave è persistente ed esportabile.  

```
$  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 Utilizzo di una curva EEC non valida**  
Questo comando tenta di creare una coppia di chiavi ECC utilizzando una curva NID\_X9\_62\_prime192v1. Poiché questa curva ellittica non è valida per la modalità FIPS HSMs, il comando ha esito negativo. Il messaggio segnala che un server del cluster non è disponibile, ma in genere ciò non indica un problema relativo al cluster. HSMs   

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

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

**-h**  
Visualizza l'aiuto per il comando.   
Obbligatorio: sì

**-i **  
Specifica l'identificatore per la curva ellittica. Inserisci un identificatore.   
Valori validi:   
+ **2**: NID\_X9\_62\_prime256v1
+ **14**: NID\_secp384r1
+ **16**: NID\_secp256k1
Obbligatorio: sì

**-l**  
Specifica un'etichetta definita dall'utente per la coppia di chiavi. Digita una stringa. La stessa etichetta si applica a entrambe le chiavi della coppia. La dimensione massima per `label` è di 127 caratteri.  
Puoi usare qualsiasi frase che ti aiuti a identificare la chiave. Poiché l'etichetta non deve essere necessariamente univoca, è possibile utilizzarla per raggruppare e classificare le chiavi.   
Obbligatorio: sì

**-id**  
Specifica un identificatore definito dall'utente per la coppia di chiavi. Digita una stringa univoca nel cluster. L'impostazione predefinita è una stringa vuota. L'ID specificato si applica a entrambe le chiavi della coppia.  
Impostazione predefinita: nessun valore ID.  
Obbligatorio: no

**-min\_srv**  
Speciifica il numero minimo HSMs su cui la chiave viene sincronizzata prima della scadenza del valore del `-timeout` parametro. Se la chiave non è sincronizzata sul numero di server specificato nel tempo allocato, non viene creata.  
AWS CloudHSM sincronizza automaticamente ogni chiave con ogni HSM del cluster. Per velocizzare il processo, impostate un valore inferiore `min_srv` al numero di componenti del HSMs cluster e impostate un valore di timeout basso. Tuttavia, alcune richieste potrebbero non generare una chiave.  
Impostazione predefinita: 1  
Obbligatorio: no

**-m\_valore**  
Specifica il numero di utenti che devono approvare le operazioni di crittografia che utilizzano la chiave privata della coppia. Digita un valore da `0` a `8`.  
Questo parametro stabilisce un requisito di autenticazione del quorum per la chiave privata. Il valore predefinito `0` disabilita la funzionalità di autenticazione del quorum per la chiave. Quando l'autenticazione del quorum è abilitata, il numero specificato di utenti deve firmare un token per approvare le operazioni crittografiche che utilizzano la chiave privata e le operazioni che condividono o annullano la condivisione della chiave privata.  
Per trovare il codice `m_value` di una chiave, usa [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Questo parametro è valido soltanto quando il parametro `-u` nel comando condivide la coppia di chiavi con un numero sufficiente di utenti per soddisfare il requisito `m_value`.  
Impostazione predefinita: 0  
Obbligatorio: no

**-nex**  
Rende la chiave privata non estraibile. La chiave privata generata non può essere [esportata dall'HSM](export-keys.md). Le chiavi pubbliche sono sempre estraibili.  
Impostazione predefinita: sia la chiave pubblica che quella privata nella coppia di chiavi sono estraibili.  
Obbligatorio: no

**-sessione**  
Crea una chiave che esiste solo nella sessione corrente. La chiave non può essere recuperata dopo la fine della sessione.  
Utilizza questo parametro quando hai bisogno di una chiave solo per un breve periodo, ad esempio una chiave di wrapping che crittografa e quindi decodifica rapidamente un'altra chiave. Non utilizzare una chiave di sessione per crittografare dati che potresti aver bisogno di decodificare al termine della sessione.  
Per cambiare una chiave di sessione in una chiave persistente (token), usa [setAttribute](key_mgmt_util-setAttribute.md).  
Impostazione Predefinita: la chiave è persistente.   
Obbligatorio: no

**-timeout**  
Speciifica per quanto tempo (in secondi) il comando attende che una chiave venga sincronizzata con il numero HSMs specificato dal parametro. `min_srv`   
Questo parametro è valido solo quando il parametro `min_srv` viene utilizzato anche nel comando.  
Impostazione Predefinita: No timeout. Il comando attende a tempo indefinito e viene restituito solo quando la chiave è sincronizzata con il numero minimo di server.  
Obbligatorio: no

**-u**  
Condivide la chiave privata della coppia con gli utenti specificati. Questo parametro fornisce agli altri utenti crittografici HSM (CUs) il permesso di utilizzare la chiave privata nelle operazioni crittografiche. Le chiavi pubbliche possono essere utilizzate da qualsiasi utente senza condividerle.  
Digitate un elenco separato da virgole di utenti HSM, ad esempio -. IDs `u 5,6` Non includere l'ID utente dell'HSM dell'utente attuale. [Per trovare l'utente HSM IDs di CUs sull'HSM, usa ListUsers.](key_mgmt_util-listUsers.md) Quindi, per condividere o interrompere la condivisione di una chiave esistente, utilizza [shareKey](cloudhsm_mgmt_util-shareKey.md) in cloudhsm\_mgmt\_util.   
Impostazione predefinita: soltanto l'utente attuale può utilizzare la chiave privata.   
Obbligatorio: no

**-attestare**  
Esegue un controllo di integrità per verificare che il firmware su cui viene eseguito il cluster non sia stato manomesso.  
Impostazione predefinita: nessun controllo di attestazione.  
Obbligatorio: no

## Argomenti correlati
<a name="genECCKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [RSAKeygen Pair](key_mgmt_util-genRSAKeyPair.md)
+ [DSAKeycoppia di generi](key_mgmt_util-genDSAKeyPair.md)