

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

# Gestire i certificati CA personali
<a name="manage-your-CA-certs"></a>

In questa sezione vengono descritte le attività comuni per la gestione dei certificati dell'autorità di certificazione (CA).

Puoi registrare la tua autorità di certificazione (CA) con AWS IoT se utilizzi certificati client firmati da una CA che AWS IoT non riconosce.

Se desideri che i client registrino automaticamente i propri certificati client al AWS IoT momento della prima connessione, è necessario registrare la CA che ha firmato i certificati client AWS IoT. In caso contrario, non è necessario registrare il certificato CA che ha firmato i certificati client.

**Nota**  
Un certificato CA può essere registrato in modalità `DEFAULT` da un solo account in una regione. Un certificato CA può essere registrato in modalità `SNI_ONLY` da più account in una regione.

**Topics**
+ [Creare un certificato CA](#create-your-CA-cert)
+ [Registrare il certificato CA](#register-CA-cert)
+ [Disattivare un certificato CA](#deactivate-ca-cert)

## Creare un certificato CA
<a name="create-your-CA-cert"></a>

Se non disponi di un certificato CA, puoi usare gli strumenti [OpenSSL v1.1.1i](https://www.openssl.org/) per crearne uno.

**Nota**  
Non è possibile eseguire questa procedura nella AWS IoT console.

**Per creare un certificato CA utilizzando gli strumenti [OpenSSL v1.1.1i](https://www.openssl.org/)**

1. Genera una coppia di chiavi.

   ```
   openssl genrsa -out {{root_CA_key_filename.key}} 2048
   ```

1. Usa la chiave privata della coppia di chiavi per generare un certificato CA.

   ```
   openssl req -x509 -new -nodes \
       -key {{root_CA_key_filename.key}} \
       -sha256 -days 1024 \
       -out {{root_CA_cert_filename.pem}}
   ```

## Registrare il certificato CA
<a name="register-CA-cert"></a>

Queste procedure descrivono come registrare un certificato rilasciato da un'autorità di certificazione (CA) diversa dalla CA di Amazon. AWS IoT Core utilizza i certificati CA per verificare la proprietà dei certificati. Per utilizzare i certificati dei dispositivi firmati da una CA che non è la CA di Amazon, devi registrare il certificato CA AWS IoT Core in modo che possa verificare la proprietà del certificato del dispositivo.

### Registrare un certificato CA (console)
<a name="register-CA-cert-console"></a>

**Nota**  
Per registrare un certificato emesso da una CA nella console, avvia la console all'indirizzo [Register CA certificate](https://console.aws.amazon.com//iot/home#/create/cacertificate) (Registra certificato emesso da una CA). Puoi registrare la tua CA in modalità multi-account e senza la necessità di fornire un certificato di verifica o accedere alla chiave privata. Una CA può essere registrata in modalità multi-account da più Account AWS nella stessa Regione AWS. Puoi registrare la tua CA in modalità account singolo fornendo un certificato di verifica e una verifica della proprietà della chiave privata della CA.

### Registrare un certificato CA (CLI)
<a name="register-CA-cert-cli"></a>

Puoi registrare un certificato CA in modalità `DEFAULT` o in modalità `SNI_ONLY`. Una CA può essere registrata in `DEFAULT` modalità una Account AWS alla volta Regione AWS. Una CA può essere registrata in `SNI_ONLY` modalità da più Account AWS persone contemporaneamente Regione AWS. Per ulteriori informazioni sulla modalità dei certificati CA, consulta [certificateMode](https://docs.aws.amazon.com//iot/latest/apireference/API_CACertificateDescription.html#iot-Type-CACertificateDescription-certificateMode).

**Nota**  
Ti consigliamo di registrare una CA in modalità `SNI_ONLY`. Non è necessario fornire un certificato di verifica o l'accesso alla chiave privata ed è possibile registrare la CA più volte Account AWS contemporaneamente Regione AWS.

#### Registrazione di un certificato CA in modalità SNI\_ONLY (CLI) - Consigliato
<a name="register-CA-cert-SNI-cli"></a>

**Prerequisiti**

Verifica che i seguenti elementi siano presenti sul tuo computer prima di continuare:
+ Il file del certificato CA root (a cui si fa riferimento nel seguente esempio come `{{root_CA_cert_filename.pem}}`)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) o versione successiva

**Per registrare un certificato CA in `SNI_ONLY` modalità, utilizzare il AWS CLI**

1. Registrare il certificato CA con AWS IoT. Utilizzando il comando **register-ca-certificate**, immetti il nome del file del certificato CA. Per ulteriori informazioni, consulta [register-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://{{root_CA_cert_filename.pem}} \
       --certificate-mode {{SNI_ONLY}}
   ```

   In caso di successo, questo comando restituisce{{certificateId}}.

1. A questo punto, il certificato CA è stato registrato con AWS IoT ma non è attivo. Prima di poter registrare gli eventuali certificati client che ha firmato, il certificato CA deve essere attivato.

   Questo passaggio attiva il certificato CA.

   Per attivare il certificato CA, usa il comando **update-certificate** come riportato di seguito. Per ulteriori informazioni, consulta [update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) in *Riferimento ai comandi AWS CLI *.

   ```
   aws iot update-ca-certificate \
       --certificate-id {{certificateId}} \
       --new-status ACTIVE
   ```

Per visualizzare lo stato del certificato CA, utilizza il comando **describe-ca-certificate**. Per ulteriori informazioni, consulta [describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

#### Registrazione di un certificato CA in modalità `DEFAULT` (CLI)
<a name="register-CA-cert-default-cli"></a>

**Prerequisiti**

Verifica che i seguenti elementi siano presenti sul tuo computer prima di continuare:
+ Il file del certificato CA root (a cui si fa riferimento nel seguente esempio come `{{root_CA_cert_filename.pem}}`)
+ Il file della chiave privata del certificato CA root (a cui si fa riferimento nel seguente esempio come `{{root_CA_key_filename.key}}`)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) o versione successiva

**Per registrare un certificato CA in `DEFAULT` modalità utilizzando il AWS CLI**

1. Per ottenere un codice di registrazione da AWS IoT, usa**get-registration-code**. Salvare il `registrationCode` restituito per utilizzarlo come `Common Name` del certificato di verifica della chiave privata. Per ulteriori informazioni, consulta [get-registration-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/get-registration-code.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

   ```
   aws iot get-registration-code
   ```

1. Genera una coppia di chiavi per il certificato di verifica della chiave privata.

   ```
   openssl genrsa -out {{verification_cert_key_filename.key}} 2048
   ```

1. Creare una richiesta di firma del certificato per il certificato di verifica della chiave privata. Impostare il campo `Common Name` del certificato sul `registrationCode` restituito da **get-registration-code**.

   ```
   openssl req -new \
       -key {{verification_cert_key_filename.key}} \
       -out {{verification_cert_csr_filename.csr}}
   ```

   Ti verrà richiesto di immettere alcune informazioni, tra cui il `Common Name` per il certificato.

   ```
   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) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:{{your_registration_code}}
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

1. Usa la richiesta di firma del certificato per creare un certificato di verifica della chiave privata.

   ```
   openssl x509 -req \
       -in {{verification_cert_csr_filename.csr}} \
       -CA {{root_CA_cert_filename.pem}} \
       -CAkey {{root_CA_key_filename.key}} \
       -CAcreateserial \
       -out {{verification_cert_filename.pem}} \
       -days 500 -sha256
   ```

1. Registra il certificato CA con AWS IoT. Passa il nome file del certificato CA e il nome file del certificato di verifica della chiave privata al comando **register-ca-certificate** come riportato di seguito: Per ulteriori informazioni, consulta [register-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://{{root_CA_cert_filename.pem}} \
       --verification-cert file://{{verification_cert_filename.pem}}
   ```

   Questo comando restituisce{{certificateId}}, in caso di successo.

1. A questo punto, il certificato CA è stato registrato AWS IoT ma non è attivo. Prima di poter registrare gli eventuali certificati client che ha firmato, il certificato CA deve essere attivato.

   Questo passaggio attiva il certificato CA.

   Per attivare il certificato CA, usa il comando **update-certificate** come riportato di seguito. Per ulteriori informazioni, consulta [update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) in *Riferimento ai comandi AWS CLI *.

   ```
   aws iot update-ca-certificate \
       --certificate-id {{certificateId}} \
       --new-status ACTIVE
   ```

Per visualizzare lo stato del certificato CA, utilizza il comando **describe-ca-certificate**. Per ulteriori informazioni, consulta [describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

### Creazione di un certificato di verifica CA per registrare il certificato emesso da una CA nella console
<a name="create-CA-verification-cert"></a>

**Nota**  
Questa procedura è utile solo se si sta registrando un certificato CA dalla AWS IoT console.  
Se non hai eseguito questa procedura dalla AWS IoT console, avvia la procedura di registrazione del certificato CA nella console all'indirizzo [Register CA certificate](https://console.aws.amazon.com//iot/home#/create/cacertificate). 

Verifica che i seguenti elementi siano presenti sullo stesso computer prima di continuare:
+ Il file del certificato CA root (a cui si fa riferimento nel seguente esempio come `{{root_CA_cert_filename.pem}}`)
+ Il file della chiave privata del certificato CA root (a cui si fa riferimento nel seguente esempio come `{{root_CA_key_filename.key}}`)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) o versione successiva

**Per utilizzare l'interfaccia a riga di comando per creare un certificato di verifica CA per registrare il certificato CA nella console**

1. Sostituisci `{{verification_cert_key_filename.key}}` con il nome del file della chiave del certificato di verifica che desideri creare (ad esempio, **verification\_cert.key**). Quindi esegui questo comando per generare una coppia di chiavi per il certificato di verifica della chiave privata:

   ```
   openssl genrsa -out {{verification_cert_key_filename.key}} 2048
   ```

1. Sostituisci `{{verification_cert_key_filename.key}}` con il nome del file della chiave creato nel passaggio 1.

   Sostituisci `{{verification_cert_csr_filename.csr}}` con il nome del file CSR (Certificate Signing Request, richiesta di firma del certificato) che desideri creare. Ad esempio, **verification\_cert.csr**.

   Esegui questo comando per creare il file CSR.

   ```
   openssl req -new \
       -key {{verification_cert_key_filename.key}} \
       -out {{verification_cert_csr_filename.csr}}
   ```

   Il comando richiede informazioni aggiuntive che vengono spiegate in seguito.

1. Nella AWS IoT console, nel contenitore del **certificato di verifica**, copia il codice di registrazione.

1. Le istruzioni del comando **openssl** sono mostrate nell'esempio seguente. Ad eccezione del campo `Common Name`, puoi inserire valori specifici o lasciare i campi vuoti.

   Nel campo `Common Name`, incolla il codice di registrazione copiato nella fase precedente.

   ```
   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) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:{{your_registration_code}}
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

   Al termine, il comando crea il file CSR.

1. Sostituisci `{{verification_cert_csr_filename.csr}}` con il `{{verification_cert_csr_filename.csr}}` utilizzato nella fase precedente.

   Sostituisci `{{root_CA_cert_filename.pem}}` con il nome file del certificato CA che desideri registrare.

   Sostituisci `{{root_CA_key_filename.key}}` con il nome file del file della chiave privata del certificato CA.

   Sostituisci `{{verification_cert_filename.pem}}` con il nome del file del certificato di verifica che desideri creare. Ad esempio, **verification\_cert.pem**.

   ```
   openssl x509 -req \
       -in {{verification_cert_csr_filename.csr}} \
       -CA {{root_CA_cert_filename.pem}} \
       -CAkey {{root_CA_key_filename.key}} \
       -CAcreateserial \
       -out {{verification_cert_filename.pem}} \
       -days 500 -sha256
   ```

1. Al termine del comando OpenSSL, questi file saranno pronti per l'utilizzo quando si torna nella console.
   + Il file del certificato emesso da una CA (`{{root_CA_cert_filename.pem}}` usato nel comando precedente)
   + Il certificato di verifica creato nel passaggio precedente ({{verification\_cert\_filename.pem}}utilizzato nel comando precedente)

## Disattivare un certificato CA
<a name="deactivate-ca-cert"></a>

Quando un certificato di autorità di certificazione (CA) è abilitato per la registrazione automatica dei certificati client, AWS IoT controlla il certificato CA per assicurarsi che lo sia`ACTIVE`. Se il certificato CA lo è`INACTIVE`, AWS IoT non consente la registrazione del certificato client.

L'impostazione del certificato CA su `INACTIVE`, impedisce la registrazione automatica di eventuali nuovi certificati client emessi dalla CA.

**Nota**  
Qualsiasi certificato client registrato che sia stato firmato dal certificato CA compromesso continuerà a funzionare finché non viene esplicitamente revocato.

### Disattivare un certificato CA (console)
<a name="deactivate-ca-cert-console"></a>

**Per disattivare un certificato CA utilizzando la console AWS IoT**

1. Accedi a Console di gestione AWS e apri la [AWS IoT console](https://console.aws.amazon.com/iot/home).

1. Nel riquadro di navigazione a sinistra, scegli **Sicuro**, scegli **CAs**.

1. Nell'elenco delle autorità di certificazione, individua quella che desideri disattivare e scegli l'icona con i puntini di sospensione per aprire il menu delle opzioni.

1. Scegliere **Deactivate (Disattiva)**dal menu delle opzioni.

L'autorità di certificazione viene visualizzata come **Inactive (Inattiva)** nell'elenco.

**Nota**  
La AWS IoT console non fornisce un modo per elencare i certificati firmati dalla CA che hai disattivato. Per un'opzione AWS CLI che elenca questi certificati, consulta [Disattivare un certificato CA (CLI)](#deactivate-ca-cert-cli).

### Disattivare un certificato CA (CLI)
<a name="deactivate-ca-cert-cli"></a>

 AWS CLI Fornisce il [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html)comando per disattivare un certificato CA.

```
aws iot update-ca-certificate \
    --certificate-id {{certificateId}} \
    --new-status INACTIVE
```

Utilizza il comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html) per ottenere l'elenco di tutti i certificati client registrati firmati dalla CA specificata. Per ogni certificato client firmato dal certificato CA specificato, usa il comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) per revocare il certificato del dispositivo in modo da impedirne l'uso.

Utilizza il comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) per visualizzare lo stato del certificato CA.