

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à.

# Usa l'archivio AWS CloudHSM delle chiavi con keytool utilizzando Client SDK 3
<a name="using_keystore_with_keytool"></a>

[Keytool](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html) è una utility a riga di comando molto usata per le attività comuni di chiavi e certificati sui sistemi Linux. Nella documentazione AWS CloudHSM non è incluso un tutorial completo su keytool. Questo articolo spiega i parametri specifici da utilizzare con varie funzioni di keytool quando si utilizzano AWS CloudHSM come root of trust tramite il AWS CloudHSM key store.

Quando usi keytool con il AWS CloudHSM key store, specifica i seguenti argomenti per qualsiasi comando keytool:

```
-storetype CLOUDHSM \
		-J-classpath '-J/opt/cloudhsm/java/*' \
		-J-Djava.library.path=/opt/cloudhsm/lib
```

Se desideri creare un nuovo file di archivio chiavi utilizzando l'archivio AWS CloudHSM chiavi, consulta. [Usa for Client SDK 3 AWS CloudHSM KeyStore AWS CloudHSM](alternative-keystore.md#using_cloudhsm_keystore) Per utilizzare un archivio di chiavi esistente, specificane il nome (incluso il percorso) utilizzando l'argomento -keystore per keytool. Se specificate un file di archivio chiavi inesistente in un comando keytool, l'archivio AWS CloudHSM chiavi crea un nuovo file di archivio chiavi.

# Crea nuove AWS CloudHSM chiavi con keytool
<a name="create_key_keytool"></a>

Puoi usare keytool per generare qualsiasi tipo di chiave supportata da AWS CloudHSM JCE SDK. Vedere un elenco completo di chiavi e lunghezze nell'articolo [ Chiavi supportate](java-lib-supported.md#java-keys) nella libreria Java.

**Importante**  
Una chiave generata tramite keytool viene generata nel software e quindi importata AWS CloudHSM come chiave persistente estraibile.

[Le istruzioni per creare chiavi non estraibili direttamente sul modulo di sicurezza hardware (HSM) e quindi utilizzarle con keytool o Jarsigner sono mostrate nell'esempio di codice in Registrazione di chiavi preesistenti con Key Store. AWS CloudHSM](register-pre-existing-keys-with-keystore.md) Ti consigliamo vivamente di generare chiavi non esportabili al di fuori del keytool e quindi di importare i certificati corrispondenti nell'archivio chiavi. Se si utilizzano chiavi RSA o EC estraibili tramite keytool e jarsigner, i provider esportano le chiavi da e quindi utilizzano la chiave localmente per le operazioni di firma. AWS CloudHSM 

Se si dispone di più istanze client connesse al cluster CloudHSM, tenere presente che l'importazione di un certificato nell'archivio chiavi di un'istanza del client non renderà automaticamente disponibili i certificati in altre istanze del client. Per registrare la chiave e i certificati associati su ogni istanza del client è necessario eseguire un'applicazione Java come descritto in [Generare una CSR utilizzando Keytool](generate_csr_using_keytool.md). In alternativa, è possibile apportare le modifiche necessarie su un client e copiare il file dell'archivio delle chiavi risultante in ogni altra istanza del client.

**Esempio 1:** generare una chiave AES-256 simmetrica e salvarla in un file di archivio chiavi denominato «example\$1keystore.store», nella directory di lavoro. Sostituisci con un'etichetta univoca. *<secret label>*

```
keytool -genseckey -alias <secret label> -keyalg aes \
		-keysize 256 -keystore example_keystore.store \
		-storetype CloudHSM -J-classpath '-J/opt/cloudhsm/java/*' \
		-J-Djava.library.path=/opt/cloudhsm/lib/
```

**Esempio 2:** generare una coppia di chiavi RSA 2048 e salvarla in un file di archivio chiavi denominato «example\$1keystore.store» nella directory di lavoro. Sostituisci con un'etichetta univoca. *<RSA key pair label>*

```
keytool -genkeypair -alias <RSA key pair label> \
        -keyalg rsa -keysize 2048 \
        -sigalg sha512withrsa \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

**Esempio 3:** generare una chiave ED p256 e salvarla in un file di archivio chiavi denominato «example\$1keystore.store» nella directory di lavoro. Sostituisci con un'etichetta univoca. *<ec key pair label>*

```
keytool -genkeypair -alias <ec key pair label> \
        -keyalg ec -keysize 256 \
        -sigalg SHA512withECDSA \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

È possibile trovare un elenco di [algoritmi di firma supportati](java-lib-supported.md#java-sign-verify) nella libreria Java.

# Elimina una AWS CloudHSM chiave usando keytool
<a name="delete_key_using_keytool"></a>

L'archivio AWS CloudHSM chiavi non supporta l'eliminazione delle chiavi. Per eliminare la chiave, è necessario utilizzare la `deleteKey` funzione AWS CloudHSM dello strumento da riga di comando,[Eliminare una AWS CloudHSM chiave usando KMU](key_mgmt_util-deleteKey.md).

# Genera una AWS CloudHSM CSR usando keytool
<a name="generate_csr_using_keytool"></a>

Ottieni la massima flessibilità nella generazione di una richiesta di firma del certificato (CSR) se utilizzi [AWS CloudHSM Motore dinamico OpenSSL per Client SDK 5](openssl-library.md). Il comando seguente utilizza keytool per generare un CSR per una coppia di chiavi con l'alias, `example-key-pair`.

```
keytool -certreq -alias <key pair label> \
        -file example_csr.csr \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

**Nota**  
Per utilizzare una coppia di chiavi da keytool, tale coppia di chiavi deve avere una voce nel file dell'archivio chiavi specificato. Se si desidera utilizzare una coppia di chiavi generata al di fuori di keytool, è necessario importare i metadati della chiave e del certificato nell'archivio chiavi. Per istruzioni sull'importazione dei dati del keystore, consulta [Importazione di certificati intermedi e root](import_cert_using_keytool.md) in Key Store utilizzando Keytool. AWS CloudHSM 

# Usa keytool per importare certificati intermedi e root nel key store AWS CloudHSM
<a name="import_cert_using_keytool"></a>

Per importare un certificato CA AWS CloudHSM, è necessario abilitare la verifica di una catena completa di certificati su un certificato appena importato. Il comando seguente mostra un esempio. 

```
keytool -import -trustcacerts -alias rootCAcert \
        -file rootCAcert.cert -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

Se connetti più istanze client al AWS CloudHSM cluster, l'importazione di un certificato nell'archivio delle chiavi di un'istanza client non renderà automaticamente il certificato disponibile su altre istanze client. È necessario importare il certificato in ogni istanza del client.

# Usa keytool per eliminare i certificati dall'archivio delle chiavi AWS CloudHSM
<a name="delete_cert_using_keytool"></a>

Il comando seguente mostra un esempio di come eliminare un AWS CloudHSM certificato da un archivio di chiavi Java keytool. 

```
keytool -delete -alias mydomain -keystore \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

Se si connettono più istanze client al AWS CloudHSM cluster, l'eliminazione di un certificato nell'archivio chiavi di un'istanza client non rimuoverà automaticamente il certificato dalle altre istanze client. È necessario eliminare il certificato su ogni istanza del client.

# Importa un certificato funzionante nell'archivio delle AWS CloudHSM chiavi utilizzando keytool
<a name="import_working_cert_using_keytool"></a>

Una volta firmata una richiesta di firma del certificato (CSR), è possibile importarla nell'archivio chiavi AWS CloudHSM e associarla alla coppia di chiavi appropriata. Il seguente comando fornisce un esempio. 

```
keytool -importcert -noprompt -alias <key pair label> \
        -file example_certificate.crt \
        -keystore example_keystore.store
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```

L'alias deve essere una coppia di chiavi con un certificato associato nell'archivio chiavi. Se la chiave viene generata al di fuori di keytool o viene generata in un'istanza del client diversa, è necessario prima importare i metadati della chiave e del certificato nell'archivio chiavi. Per istruzioni sull'importazione dei metadati del certificato, consulta l'esempio di codice in [Registrazione di chiavi preesistenti](register-pre-existing-keys-with-keystore.md) con Key Store. AWS CloudHSM 

La catena di certificati deve essere verificabile. Se non è possibile verificare il certificato, potrebbe essere necessario importare il certificato di firma (autorità di certificazione) nell'archivio chiavi in modo che la catena possa essere verificata.

# Esporta un certificato utilizzando keytool AWS CloudHSM
<a name="export_cert_using_keytool"></a>

Nell'esempio seguente viene generato un certificato in formato binario X.509. Per esportare un certificato leggibile dall'uomo AWS CloudHSM, aggiungilo `-rfc` al `-exportcert` comando. 

```
keytool -exportcert -alias <key pair label> \
        -file example_exported_certificate.crt \
        -keystore example_keystore.store \
        -storetype CLOUDHSM \
        -J-classpath '-J/opt/cloudhsm/java/*' \
        -J-Djava.library.path=/opt/cloudhsm/lib/
```