Gestire i certificati CA personali - AWS IoT Core

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

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 presso la quale i certificati client sono stati firmati 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.

Creare un certificato CA

Se non disponi di un certificato CA, puoi usare gli strumenti OpenSSL v1.1.1i 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
  1. Genera una coppia di chiavi.

    openssl genrsa -out root_CA_key_filename.key 2048
  2. 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

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)

Nota

Per registrare un certificato emesso da una CA nella console, avvia la console all'indirizzo Register CA certificate (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)

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.

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

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 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 nella Riferimento ai comandi AWS CLI .

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

    In caso di esito positivo, questo comando restituisce il certificateId.

  2. A questo punto, il certificato CA è stato registrato presso 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 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 in Riferimento ai comandi AWS CLI .

Registrazione di un certificato CA in modalità DEFAULT (CLI)

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 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, usaget-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 in Riferimento ai comandi AWS CLI .

    aws iot get-registration-code
  2. Genera una coppia di chiavi per il certificato di verifica della chiave privata.

    openssl genrsa -out verification_cert_key_filename.key 2048
  3. 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 []:
  4. 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
  5. 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 nella Riferimento ai comandi AWS CLI .

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

    In caso di esito positivo, questo comando restituisce l'ID certificato.

  6. 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 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 in Riferimento ai comandi AWS CLI .

Creazione di un certificato di verifica CA per registrare il certificato emesso da una CA nella console

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.

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

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

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

  5. 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
  6. 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 nella fase precedente (verification_cert_filename.pem usato nel comando precedente)

Disattivare un certificato CA

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 siaACTIVE. 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)

Per disattivare un certificato CA utilizzando la console AWS IoT
  1. Accedi a AWS Management Console e apri la AWS IoT console.

  2. Nel riquadro di navigazione di sinistra, scegliere Secure (Sicurezza), quindi CAs (CA).

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

  4. 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).

Disattivare un certificato CA (CLI)

AWS CLI Fornisce il update-ca-certificatecomando per disattivare un certificato CA.

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

Utilizza il comando list-certificates-by-ca 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 update-certificate per revocare il certificato del dispositivo in modo da impedirne l'uso.

Utilizza il comando describe-ca-certificate per visualizzare lo stato del certificato CA.