

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

# Configura TLS reciproco tra client e AWS CloudHSM (consigliato)
<a name="getting-started-setup-mtls"></a>

I seguenti argomenti descrivono i passaggi da completare per abilitare il Mutual Transport Layer Security (MTL) tra client e. AWS CloudHSM

**Considerazioni**
+ Attualmente questa funzionalità è disponibile esclusivamente su hsm2m.medium. Per ulteriori informazioni sul tipo di HSM, vedere. [AWS CloudHSM modalità cluster](cluster-hsm-types.md)
+ mTLS non è supportato per i AWS CloudHSM key store utilizzati con. AWS Key Management Service

**Topics**
+ [Passaggio 1. Crea e registra un trust anchor sull'HSM](#setup-mtls-create-and-register-trust-anchor)
+ [Passaggio 2. Abilita MTL per AWS CloudHSM](#getting-start-setup-mtl-sdk)
+ [Fase 3. Imposta l'applicazione MTLS per AWS CloudHSM](#getting-start-setup-mtls-enforcement)

## Passaggio 1. Crea e registra un trust anchor sull'HSM
<a name="setup-mtls-create-and-register-trust-anchor"></a>

Un trust anchor deve essere creato e registrato nell'HSM prima di abilitare gli MTL. Si tratta di un processo in due fasi: 

**Topics**
+ [Crea una chiave privata e un certificato radice autofirmato](#setup-mtls-create-trust-anchor)
+ [Registra il trust anchor sull'HSM](#setup-mtls-register-trust-anchor)

### Crea una chiave privata e un certificato radice autofirmato
<a name="setup-mtls-create-trust-anchor"></a>

**Nota**  
Per i cluster di produzione, la chiave deve essere creata in modo sicuro tramite una fonte attendibile di casualità. Ti consigliamo di utilizzare un HSM offline e fuori sede protetto o un equivalente. Archivia la chiave in modo sicuro.  
Per lo sviluppo e il test, puoi utilizzare qualsiasi strumento utile (come OpenSSL) per creare la chiave e firmare automaticamente un certificato root. Avrai bisogno della chiave e del certificato root per firmare il certificato client nell'[Enable](#getting-start-setup-mtl-sdk) MTLs for. AWS CloudHSM

Gli esempi seguenti mostrano come creare una chiave privata e un certificato root autofirmato con [OpenSSL](https://www.openssl.org/). 

**Example - Creazione di una chiave privata con OpenSSL**  
Usa il comando seguente per creare una chiave RSA a 4096 bit crittografata con l'algoritmo AES-256. Per utilizzare questo esempio, sostituiscilo *<mtls\$1ca\$1root\$11.key>* con il nome del file in cui desideri memorizzare la chiave.  

```
$ openssl genrsa -out <mtls_ca_root_1.key> -aes256 4096
Generating RSA private key, 4096 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
Enter pass phrase for mtls_ca_root_1.key:
Verifying - Enter pass phrase for mtls_ca_root_1.key:
```

**Example — Creare un certificato root autofirmato con OpenSSL**  
Usa il seguente comando per creare un certificato radice autofirmato denominato `mtls_ca_root_1.crt` dalla chiave privata che hai appena creato. Il certificato è valido per 25 anni (9130 giorni). Leggi le istruzioni a video e segui i prompt.   

```
$ openssl req -new -x509 -days 9130 -key mtls_ca_root_1.key -out mtls_ca_root_1.crt
Enter pass phrase for mtls_ca_root_1.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
```

### Registra il trust anchor sull'HSM
<a name="setup-mtls-register-trust-anchor"></a>

Dopo aver creato un certificato radice autofirmato, l'amministratore deve registrarlo come riferimento di fiducia presso il cluster. AWS CloudHSM 

**Per registrare un trust anchor con l'HSM**

1. Utilizza il seguente comando per avviare la CLI di CloudHSM:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Utilizzando la CLI di CloudHSM, esegui l'accesso come amministratore.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Usa il ** [Registra un trust anchor con la CLI di CloudhSM](cloudhsm_cli-cluster-mtls-register-trust-anchor.md) ** comando per registrare il trust anchor. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando **help cluster mtls register-trust-anchor**.

**Example — Registra un trust anchor con cluster AWS CloudHSM**  
L'esempio seguente mostra come utilizzare il **cluster mtls register-trust-anchor** comando nella CLI di CloudHSM per registrare un trust anchor sull'HSM. Per utilizzare questo comando, l'amministratore deve aver eseguito l'accesso all'HSM. Sostituire questi valori con i propri valori:  

```
aws-cloudhsm > cluster mtls register-trust-anchor --path </path/mtls_ca_root_1.crt>
{
  "error_code": 0,
  "data": {
    "trust_anchor": {
      "certificate-reference": "0x01",
      "certificate": "<PEM Encoded Certificate>",
      "cluster-coverage": "full"
    }
  }
}
```
AWS CloudHSM supporta la registrazione di certificati intermedi come trust anchor. In questi casi, l'intero file della catena di certificati con codifica PEM deve essere registrato nell'HSM, con i certificati in ordine gerarchico.   
 AWS CloudHSM supporta una catena di certificati di 6980 byte.
Dopo aver registrato con successo il trust anchor, puoi eseguire il **cluster mtls list-trust-anchors** comando per controllare gli attuali trust anchor registrati, come mostrato di seguito:  

```
aws-cloudhsm > cluster mtls list-trust-anchors
{
  "error_code": 0,
  "data": {
    "trust_anchors": [
      {
        "certificate-reference": "0x01",
        "certificate": "<PEM Encoded Certificate>",
        "cluster-coverage": "full"
      }
    ]
  }
}
```
 Il numero massimo di trust anchors che è possibile registrare su hsm2m.medium è due (2).

## Passaggio 2. Abilita MTL per AWS CloudHSM
<a name="getting-start-setup-mtl-sdk"></a>

Per abilitare gli MTL per AWS CloudHSM, è necessario creare una chiave privata e un certificato client firmato dal certificato radice che abbiamo generato in [Create and register a trust anchor sull'HSM, quindi utilizzare uno](#setup-mtls-create-and-register-trust-anchor) qualsiasi degli strumenti di configurazione di Client SDK 5 per configurare il percorso della chiave privata e il percorso della catena di certificati client. 

**Topics**
+ [Crea una chiave privata e una catena di certificati client](#create-client-ssl)
+ [Configura MTL per Client SDK 5](#enable-ssl-5)

### Crea una chiave privata e una catena di certificati client
<a name="create-client-ssl"></a>

**Example - Creazione di una chiave privata con OpenSSL**  
Utilizzate il seguente comando per creare una chiave RSA a 4096 bit. Per utilizzare questo esempio, sostituitelo *<ssl-client.key>* con il nome del file in cui desiderate memorizzare la chiave.  

```
$ openssl genrsa -out <ssl-client.key> 4096
Generating RSA private key, 4096 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
```

**Example — Generazione di una richiesta di firma del certificato (CSR) con OpenSSL**  
Usa il seguente comando per generare una richiesta di firma del certificato (CSR) dalla chiave privata che hai appena creato. Leggi le istruzioni a video e segui i prompt.  

```
$ openssl req -new -key <ssl-client.key> -out <ssl-client.csr>
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
```

**Example — Firma la CSR con il certificato principale**  
Utilizzate il seguente comando per firmare la CSR con il certificato root che abbiamo creato e registrato in [Create e registrate un trust anchor sull'HSM](#setup-mtls-create-and-register-trust-anchor) e create un certificato client denominato. `ssl-client.crt` Il certificato è valido per 5 anni (1826 giorni).   

```
$ openssl x509 -req -days 1826 -in <ssl-client.csr> -CA <mtls_ca_root_1.crt> -CAkey <mtls_ca_root_1.key> -CAcreateserial -out <ssl-client.crt>
```

**Example — Creare una catena di certificati client**  
Utilizzate il seguente comando per combinare il certificato client e il certificato radice che abbiamo creato e registrato in Create [and register a trust anchor sull'HSM](#setup-mtls-create-and-register-trust-anchor) e creare una catena di certificati client denominata`ssl-client.pem`, che verrà utilizzata per la configurazione nel passaggio successivo.  

```
$ cat <ssl-client.crt> <mtls_ca_root_1.crt> > <ssl-client.pem>
```
 Se hai registrato certificati intermedi in [Create e hai registrato un trust anchor sull'HSM](#setup-mtls-create-and-register-trust-anchor) come trust anchor, assicurati di combinare il certificato client con l'intera catena di certificati per creare una catena di certificati client.

### Configura MTL per Client SDK 5
<a name="enable-ssl-5"></a>

Utilizza uno qualsiasi degli strumenti di configurazione di Client SDK 5 per abilitare il TLS reciproco fornendo il percorso chiave del client e il percorso della catena di certificati client corretti. Per ulteriori informazioni sullo strumento di configurazione per Client SDK 5, consulta. [AWS CloudHSM Strumento di configurazione di Client SDK 5](configure-sdk-5.md)

------
#### [ PKCS \$111 library ]

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Linux**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   $ sudo cp ssl-client.pem </opt/cloudhsm/etc>
   $ sudo cp ssl-client.key </opt/cloudhsm/etc>
   ```

1.  Utilizza lo strumento di configurazione per specificare `ssl-client.pem` e `ssl-client.key`.

   ```
   $ sudo /opt/cloudhsm/bin/configure-pkcs11 \
               --client-cert-hsm-tls-file </opt/cloudhsm/etc/ssl-client.pem> \
               --client-key-hsm-tls-file </opt/cloudhsm/etc/ssl-client.key>
   ```

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Windows**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   cp ssl-client.pem <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem>
   cp ssl-client.key <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

1.  Con un PowerShell interprete, usa lo strumento di configurazione per specificare e. `ssl-client.pem` `ssl-client.key`

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" `
               --client-cert-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem> `
               --client-key-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

------
#### [ OpenSSL Dynamic Engine ]

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Linux**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   $ sudo cp ssl-client.pem </opt/cloudhsm/etc>
   sudo cp ssl-client.key </opt/cloudhsm/etc>
   ```

1.  Utilizza lo strumento di configurazione per specificare `ssl-client.pem` e `ssl-client.key`.

   ```
   $ sudo /opt/cloudhsm/bin/configure-dyn \
               --client-cert-hsm-tls-file </opt/cloudhsm/etc/ssl-client.pem> \
               --client-key-hsm-tls-file </opt/cloudhsm/etc/ssl-client.key>
   ```

------
#### [ Key Storage Provider (KSP) ]

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Windows**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   cp ssl-client.pem <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem>
   cp ssl-client.key <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

1.  Con un PowerShell interprete, usa lo strumento di configurazione per specificare e. `ssl-client.pem` `ssl-client.key`

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-ksp.exe" `
               --client-cert-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem> `
               --client-key-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

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

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Linux**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   $ sudo cp ssl-client.pem </opt/cloudhsm/etc>
   sudo cp ssl-client.key </opt/cloudhsm/etc>
   ```

1.  Utilizza lo strumento di configurazione per specificare `ssl-client.pem` e `ssl-client.key`.

   ```
   $ sudo /opt/cloudhsm/bin/configure-jce \
               --client-cert-hsm-tls-file </opt/cloudhsm/etc/ssl-client.pem> \
               --client-key-hsm-tls-file </opt/cloudhsm/etc/ssl-client.key>
   ```

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Windows**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   cp ssl-client.pem <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem>
   cp ssl-client.key <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

1.  Con un PowerShell interprete, usa lo strumento di configurazione per specificare e. `ssl-client.pem` `ssl-client.key`

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" `
               --client-cert-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem> `
               --client-key-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

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

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Linux**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   $ sudo cp ssl-client.pem </opt/cloudhsm/etc>
   sudo cp ssl-client.key </opt/cloudhsm/etc>
   ```

1.  Utilizza lo strumento di configurazione per specificare `ssl-client.pem` e `ssl-client.key`.

   ```
   $ sudo /opt/cloudhsm/bin/configure-cli \
               --client-cert-hsm-tls-file </opt/cloudhsm/etc/ssl-client.pem> \
               --client-key-hsm-tls-file </opt/cloudhsm/etc/ssl-client.key>
   ```

**Per utilizzare un certificato e una chiave personalizzati per l'autenticazione reciproca TLS Client-HSM con Client SDK 5 su Windows**

1. Copia la chiave e il certificato nella directory appropriata.

   ```
   cp ssl-client.pem <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem>
   cp ssl-client.key <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

1.  Con un PowerShell interprete, usa lo strumento di configurazione per specificare e. `ssl-client.pem` `ssl-client.key`

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" `
               --client-cert-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.pem> `
               --client-key-hsm-tls-file <C:\ProgramData\Amazon\CloudHSM\ssl-client.key>
   ```

------

## Fase 3. Imposta l'applicazione MTLS per AWS CloudHSM
<a name="getting-start-setup-mtls-enforcement"></a>

Dopo la configurazione con uno qualsiasi degli strumenti di configurazione di Client SDK 5, la connessione tra client e TLS AWS CloudHSM avverrà nel cluster. Tuttavia, la rimozione del percorso della chiave privata e del percorso della catena di certificati client dal file di configurazione trasformerà nuovamente la connessione in un normale TLS. Puoi utilizzare la CLI di CloudHSM per impostare l'applicazione mtls nel cluster completando i seguenti passaggi:

1. Utilizza il seguente comando per avviare la CLI di CloudHSM:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Utilizzando la CLI di CloudHSM, esegui l'accesso come amministratore.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```
**Nota**  
 1. Assicurati di aver configurato la CLI di CloudHSM e di avviare la CLI di CloudHSM con una connessione mTLS.  
 2. **È necessario accedere come utente amministratore predefinito con nome utente come amministratore prima di impostare l'applicazione di mTLS.** 

1. Utilizzate il ** [Imposta il livello di applicazione dell'MTLS con la CLI di CloudhSM](cloudhsm_cli-cluster-mtls-set-enforcement.md) ** comando per impostare l'applicazione. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando **help cluster mtls set-enforcement**.  
**Example — Imposta l'applicazione dell'MTLS con cluster AWS CloudHSM**  

   L'esempio seguente mostra come utilizzare il **cluster mtls set-enforcement** comando nella CLI di CloudHSM per impostare l'applicazione mTLS con l'HSM. Per utilizzare questo comando, l'amministratore con nome utente come amministratore deve accedere all'HSM.

   ```
   aws-cloudhsm > cluster mtls set-enforcement --level cluster
   {
     "error_code": 0,
     "data": {
       "message": "Mtls enforcement level set to Cluster successfully"
     }
   }
   ```
**avvertimento**  
Dopo aver imposto l'utilizzo di MTLS nel cluster, tutte le connessioni non MTLS esistenti verranno interrotte e sarà possibile connettersi al cluster solo con certificati MTLS.