

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

# Come utilizzare chiavi attendibili per racchiudere le chiavi dati AWS CloudHSM
<a name="wrap_keys_using_trusted"></a>

Per utilizzare una chiave affidabile per racchiudere una chiave dati AWS CloudHSM, devi completare tre passaggi fondamentali:

1. Per la chiave di dati di cui intendi eseguire il wrapping con una chiave attendibile, imposta il relativo attributo `CKA_WRAP_WITH_TRUSTED` su true.

1. Per la chiave attendibile con cui intendi eseguire il wrapping della chiave di dati, imposta il relativo attributo `CKA_TRUSTED` su true.

1. Utilizza la chiave attendibile per eseguire il wrapping della chiave di dati.

## Fase 1: imposta l'attributo `CKA_WRAP_WITH_TRUSTED` della chiave di dati su true
<a name="w2aac15c19c11b7"></a>

Per la chiave di dati di cui intendi annullare il wrapping, scegli una delle opzioni seguenti per impostare l'attributo `CKA_WRAP_WITH_TRUSTED` della chiave su true. In questo modo si applicano delle restrizioni alla chiave di dati in modo che le applicazioni possano utilizzare solo chiavi attendibili per eseguirne il wrapping.

### Opzione 1: in caso di generazione di una nuova chiave, imposta `CKA_WRAP_WITH_TRUSTED` su true
<a name="w2aac15c19c11b7b5"></a>

Genera una chiave utilizzando [PKCS \#11](pkcs11-library.md), [JCE](java-library.md) o la [CLI di CloudHSM.](cloudhsm_cli.md) Per ulteriori dettagli, vedi gli esempi a seguire.

------
#### [ PKCS \#11 ]

Per generare una chiave con PKCS \#11, è necessario impostare l'attributo `CKA_WRAP_WITH_TRUSTED` della chiave su true. Come mostrato nell'esempio seguente, esegui questa operazione includendo questo attributo nel modello `CK_ATTRIBUTE template` della chiave e impostando l'attributo su true:

```
CK_BYTE_PTR label = "test_key";
CK_ATTRIBUTE template[] = {
        {CKA_WRAP_WITH_TRUSTED, &true_val,         sizeof(CK_BBOOL)},
        {CKA_LABEL,             label,             strlen(label)},
        ...
};
```

Per ulteriori informazioni, consulta [i nostri esempi pubblici che illustrano la generazione di chiavi con PKCS \#11](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/generate).

------
#### [ JCE ]

Per generare una chiave con JCE, è necessario impostare l'attributo `WRAP_WITH_TRUSTED` della chiave su true. Come mostrato nell'esempio seguente, esegui questa operazione includendo questo attributo nel modello `KeyAttributesMap` della chiave e impostando l'attributo su true:

```
final String label = "test_key";
final KeyAttributesMap keySpec = new KeyAttributesMap();
keySpec.put(KeyAttribute.WRAP_WITH_TRUSTED, true);
keySpec.put(KeyAttribute.LABEL, label);
...
```

Per ulteriori informazioni, consulta [i nostri esempi pubblici che illustrano la generazione di chiavi con JCE](https://docs.aws.amazon.com/cloudhsm/latest/userguide/java-samples.html#java-samples-code_5).

------
#### [ CloudHSM CLI ]

Per generare una chiave con la CLI di CloudHSM, è necessario impostare l'attributo `wrap-with-trusted` della chiave su true. Per farlo, includi `wrap-with-trusted=true` nell'argomento appropriato per il comando di generazione della chiave:
+ Per le chiavi simmetriche, aggiungi `wrap-with-trusted` all'argomento `attributes`.
+ Per le chiavi pubbliche, aggiungi `wrap-with-trusted` all'argomento `public-attributes`.
+ Per le chiavi private, aggiungi `wrap-with-trusted` all'argomento `private-attributes`.

Per ulteriori informazioni sulla generazione di una coppia di chiavi, consulta la pagina [La generate-asymmetric-pair categoria nella CLI di CloudHSM](cloudhsm_cli-key-generate-asymmetric-pair.md).

Per ulteriori informazioni sulla generazione di chiavi simmetriche, consulta la pagina [La categoria generate-symmetric nella CLI di CloudhSM](cloudhsm_cli-key-generate-symmetric.md).

------

### Opzione 2: se utilizzi una chiave esistente, usa la CLI di CloudHSM per impostare l'attributo `CKA_WRAP_WITH_TRUSTED` su true
<a name="w2aac15c19c11b7b7"></a>

Per impostare l'attributo `CKA_WRAP_WITH_TRUSTED` di una chiave esistente su true, segui questa procedura:

1. Utilizza il comando [Accedi a un HSM utilizzando CloudHSM CLI](cloudhsm_cli-login.md) per accedere come crypto user (CU).

1. Utilizza il comando [Imposta gli attributi delle chiavi con CloudhSM CLI](cloudhsm_cli-key-set-attribute.md) per impostare l'attributo `wrap-with-trusted` della chiave su true.

   ```
   aws-cloudhsm > key set-attribute --filter attr.label=test_key --name wrap-with-trusted --value true
   {
     "error_code": 0,
     "data": {
       "message": "Attribute set successfully"
     }
   }
   ```

## Fase 2: imposta l'attributo `CKA_TRUSTED` della chiave attendibile su true
<a name="w2aac15c19c11b9"></a>

Per rendere una chiave attendibile, l'attributo `CKA_TRUSTED` deve essere impostato su true. Per farlo, è possibile utilizzare la CLI di CloudHSM o CloudHSM Management Utility (CMU).
+ Se intendi utilizzare la CLI di CloudHSM per impostare l'attributo `CKA_TRUSTED` di una chiave, consulta la pagina [Contrassegna una chiave come affidabile utilizzando la CLI di CloudhSM](manage-keys-cloudhsm-cli-trusted.md).
+ Se intendi utilizzare CMU per impostare l'attributo `CKA_TRUSTED` di una chiave, consulta la pagina [Come contrassegnare una chiave come attendibile con l'utilità AWS CloudHSM di gestione](cloudhsm_using_trusted_keys_control_key_wrap.md).

## Fase 3. Utilizza la chiave attendibile per eseguire il wrapping della chiave di dati
<a name="w2aac15c19c11c11"></a>

Per eseguire il wrapping della chiave di dati a cui si fa riferimento nella fase 1 con la chiave attendibile impostata nella fase 2, consulta i link seguenti per vedere esempi di codice. Ciascun esempio mostra come eseguire il wrapping delle chiavi.
+ [AWS CloudHSM Esempi PKCS \#11](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/wrapping)
+ [AWS CloudHSM Esempi JCE](https://github.com/aws-samples/aws-cloudhsm-jce-examples/tree/sdk5/src/main/java/com/amazonaws/cloudhsm/examples)