

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 key pair AWS CloudHSM RSA usando KMU
<a name="key_mgmt_util-genRSAKeyPair"></a>

[Utilizzate il **genRSAKeyPair** comando nello strumento AWS CloudHSM key\_mgmt\_util per generare una coppia di chiavi asimmetrica RSA.](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) Occorre specificare il tipo di chiave, la lunghezza del modulo e un esponente pubblico. Il comando genera un modulo della lunghezza specificata e crea la coppia di chiavi. È possibile assegnare un ID, condividere la chiave con altri utenti HSM, creare chiavi non estraibili e chiavi che scadono al termine della sessione. Quando il comando viene completato con successo, restituisce un handle che l'HSM assegna alla chiave. È possibile utilizzare l'handle per identificare la chiave 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="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]
```

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

Questi esempi mostrano come utilizzare per **genRSAKeyPair** creare coppie di chiavi asimmetriche in. HSMs

**Example : crea ed esamina una coppia di chiavi RSA**  
Questo comando crea una coppia di chiavi RSA con un modulo a 2048 bit e un esponente di 65537. L'output indica che l'handle della chiave pubblica è `2100177` e l'handle della chiave privata è `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
```
Il comando successivo utilizza [getAttribute](key_mgmt_util-getAttribute.md) per ottenere gli attributi della chiave pubblica appena creata. Scrive l'output nel file `attr_2100177`. È seguito da un comando **cat** che ottiene il contenuto del file degli attributi. Per informazioni sull'interpretazione degli attributi delle chiavi, vedi [AWS CloudHSM riferimento agli attributi chiave per KMU](key-attribute-table.md).  
I risultanti valori esadecimali confermano che è una chiave pubblica (`OBJ_ATTR_CLASS 0x02`) con un tipo di RSA (`OBJ_ATTR_KEY_TYPE 0x00`). È possibile utilizzare questa chiave pubblica per la crittografia (`OBJ_ATTR_ENCRYPT 0x01`), ma non per la decodifica (`OBJ_ATTR_DECRYPT 0x00`). I risultati includono anche la lunghezza della chiave (512, `0x200`), il modulo, la lunghezza del modulo (2048, `0x800`) e l'esponente pubblico (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 : genera una coppia di chiavi RSA condivise**  
Questo comando genera una coppia di chiavi RSA e condivide la chiave privata con l'utente 4, un altro CU sull'HSM. Il comando utilizza il parametro `m_value` per richiedere almeno due approvazioni prima che la chiave privata nella coppia possa essere utilizzata in un'operazione di crittografia. Quando si utilizza il parametro `m_value`, è necessario utilizzare anche `-u` nel comando e `m_value` non può superare il numero totale di utenti (numero di valori in `-u` \+ proprietario).  

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

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

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

**-m**  
Specifica la lunghezza del modulo in bit. Il valore minimo è 2048.   
Obbligatorio: sì

**-e**  
Specifica l'esponente pubblico. Il valore deve essere un numero dispari maggiore o uguale a 65537.  
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 parametro. `-timeout` 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="genRSAKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [DSAKeygen Pair](key_mgmt_util-genDSAKeyPair.md)
+ [ECCKeycoppia di generi](key_mgmt_util-genECCKeyPair.md)