Gestion de vos certificats d’autorité de certification - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion de vos certificats d’autorité de certification

Cette section décrit les tâches courantes de gestion de vos propres certificats d'autorité de certification.

Vous pouvez enregistrer votre autorité de certification (CA) auprès de laquelle AWS IoT vous utilisez des certificats clients signés par une autorité de AWS IoT certification non reconnue.

Si vous souhaitez que les clients enregistrent automatiquement leurs certificats clients AWS IoT lors de leur première connexion, l'autorité de certification qui a signé les certificats clients doit être enregistrée auprès de l'autorité de certification AWS IoT. Sinon, vous n'avez pas besoin d'enregistrer le certificat de l'autorité de certification qui a signé les certificats clients.

Note

Un certificat d'autorité de certification peut être enregistré en mode DEFAULT que par un seul compte dans une région. Un certificat d'autorité de certification peut être enregistré en mode SNI_ONLY que par plusieurs comptes dans une région.

Création d’un certificat d’autorité de certification

Si vous ne disposez pas de certificat CA, vous pouvez utiliser les outils OpenSSL v1.1.1i pour en créer un.

Note

Vous ne pouvez pas exécuter cette procédure dans la AWS IoT console.

Pour créer un certificat CA à l'aide des outils OpenSSL v1.1.1i
  1. Générez une paire de clés.

    openssl genrsa -out root_CA_key_filename.key 2048
  2. Utilisez la clé privée de la paire de clés pour générer un certificat CA.

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

Enregistrement de votre certificat d’autorité de certification

Ces procédures décrivent comment enregistrer un certificat auprès d'une autorité de certification (CA) autre que l'autorité de certification d'Amazon. AWS IoT Core utilise des certificats CA pour vérifier la propriété des certificats. Pour utiliser des certificats d'appareil signés par une autorité de certification autre que celle d'Amazon, vous devez enregistrer le certificat auprès de l'autorité de certification AWS IoT Core afin qu'elle puisse vérifier la propriété du certificat de l'appareil.

Enregistrement d’un certificat d'autorité de certification (console)

Note

Pour enregistrer un certificat CA dans la console, commencez par enregistrer le certificat CA dans la console. Vous pouvez enregistrer votre autorité de certification en mode multi-comptes, sans avoir à fournir de certificat de vérification ni d’accéder à la clé privée. Une autorité de certification peut être enregistrée en mode multi-comptes par plusieurs Comptes AWS dans un même Région AWS. Vous pouvez enregistrer votre autorité de certification en mode compte unique en fournissant un certificat de vérification et une preuve de propriété de la clé privée de l'autorité de certification. Une autorité de certification peut être enregistrée en mode multi-comptes par un Compte AWS dans un Région AWS.

Enregistrement d’un certificat d'autorité de certification (CLI)

Vous pouvez enregistrer un certificat CA en mode DEFAULT ou en mode SNI_ONLY. Une autorité de certification peut être enregistrée en DEFAULT mode une Compte AWS par une Région AWS. Une autorité de certification peut être enregistrée en SNI_ONLY mode par plusieurs Comptes AWS dans le même mode Région AWS. Pour en savoir plus sur les certificats CA, veuillez consulter Modecertificat.

Note

Nous vous recommandons d'enregistrer une autorité de certification en mode SNI_ONLY. Vous n'avez pas besoin de fournir de certificat de vérification ni d'accès à la clé privée, et vous pouvez enregistrer l'autorité de certification par plusieurs Comptes AWS fois Région AWS.

Enregistrer un certificat CA en mode SNI_ONLY (CLI) - Recommandé

Prérequis

Vérifiez que les éléments suivants sont disponibles sur votre ordinateur avant de continuer :

  • Le fichier de certificat de l'autorité de certification racine (référencé dans l'exemple suivant sous le nom root_CA_cert_filename.pem)

  • OpenSSL v1.1.1i ou version ultérieure

Pour enregistrer un certificat CA en SNI_ONLY mode à l'aide du AWS CLI
  1. Enregistrez le certificat CA auprès de AWS IoT. À l'aide de la commande register-ca-certificate, entrez le nom du fichier du certificat CA. Pour plus d'informations, consultez register-ca-certificatele manuel de référence des AWS CLI commandes.

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

    En cas de succès, cette commande renvoie le certificateId.

  2. À ce stade, le certificat CA a été enregistré AWS IoT mais il est inactif. Le certificat de l'autorité de certification doit être actif avant que vous puissiez enregistrer les certificats clients qu'il a signés.​

    Cette étape active le certificat de l'autorité de certification.

    Pour activer le certificat CA, utilisez la commande update-certificate comme suit. Pour plus d'informations, consultez mettre à jour-le certificat dans la AWS CLI Référence des commandes.

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

Utilisez la commande describe-ca-certificate pour voir le statut du certificat CA. Pour plus d'informations, consultez describe-ca-certificatele manuel de référence des AWS CLI commandes.

Enregistrement d’un certificat CA en DEFAULT mode (CLI)

Prérequis

Vérifiez que les éléments suivants sont disponibles sur votre ordinateur avant de continuer :

  • Le fichier de certificat de l'autorité de certification racine (référencé dans l'exemple suivant sous le nom root_CA_cert_filename.pem)

  • Le fichier de certificat de l'autorité de certification racine (référencé dans l'exemple suivant sous root_CA_key_filename.key)

  • OpenSSL v1.1.1i ou version ultérieure

Pour enregistrer un certificat CA en DEFAULT mode à l'aide du AWS CLI
  1. Pour obtenir un code d'enregistrement auprès de AWS IoT, utilisezget-registration-code. Enregistrez le registrationCode renvoyé à utiliser en tant que Common Name du certificat de vérification de clé privée. Pour plus d'informations, consultez get-registration-codele manuel de référence des AWS CLI commandes.

    aws iot get-registration-code
  2. Générez une paire de clés pour le certificat de vérification de clé privée :

    openssl genrsa -out verification_cert_key_filename.key 2048
  3. Créez une demande de signature de certificat (CSR) pour le certificat de vérification de clé privée. Dans le champ Common Name du certificat, indiquez la valeur registrationCode renvoyée par get-registration-code.

    openssl req -new \ -key verification_cert_key_filename.key \ -out verification_cert_csr_filename.csr

    Vous êtes invité à entrer certaines informations, notamment le Common Name du certificat.

    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. Utilisez la CSR pour créer un certificat de vérification de clé privée :

    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. Enregistrez le certificat CA auprès de AWS IoT. Transmettez le nom de fichier de certificat CA et le nom du fichier de certificat de vérification de clé privée à la commande register-ca-certificate, comme suit. Pour plus d'informations, consultez register-ca-certificatele manuel de référence des AWS CLI commandes.

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

    Cette commande, si elle aboutit, renvoie l'ID de certificat.

  6. À ce stade, le certificat CA a été enregistré AWS IoT mais n'est pas actif. Le certificat CA doit être actif avant que vous puissiez enregistrer les certificats clients qu'il a signés.

    Cette étape active le certificat de l'autorité de certification.

    Pour activer le certificat CA, utilisez la commande update-certificate comme suit. Pour plus d'informations, consultez mettre à jour-le certificat dans la AWS CLI Référence des commandes.

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

Utilisez la commande describe-ca-certificate pour voir le statut du certificat CA. Pour plus d'informations, consultez describe-ca-certificatele manuel de référence des AWS CLI commandes.

Créez un certificat de vérification CA pour enregistrer le certificat CA dans la console

Note

Cette procédure est uniquement destinée à être utilisée si vous enregistrez un certificat CA depuis la AWS IoT console.

Si vous n'avez pas accédé à cette procédure depuis la AWS IoT console, lancez le processus d'enregistrement du certificat CA dans la console à l'adresse Enregistrer le certificat CA.

Vérifiez que les éléments suivants sont disponibles sur le même ordinateur avant de continuer :

  • Le fichier de certificat de l'autorité de certification racine (référencé dans l'exemple suivant sous le nom root_CA_cert_filename.pem)

  • Le fichier de certificat de l'autorité de certification racine (référencé dans l'exemple suivant sous root_CA_key_filename.key)

  • OpenSSL v1.1.1i ou version ultérieure

Pour utiliser l'interface de ligne de commande pour créer un certificat de vérification CA afin d'enregistrer votre certificat CA dans la console
  1. verification_cert_key_filename.keyRemplacez-le par le nom du fichier clé du certificat de vérification que vous souhaitez créer (par exemple,verification_cert.key). Exécutez ensuite cette commande pour générer une paire de clés pour le certificat de vérification de clé privée :

    openssl genrsa -out verification_cert_key_filename.key 2048
  2. Remplacez verification_cert_key_filename.key par le nom du fichier de clé que vous avez créé à l'étape 1.​

    Remplacez verification_cert_csr_filename.csr par le nom du fichier de demande de signature du certificat (CSR) que vous souhaitez créer. Par exemple, verification_cert.csr.

    Exécutez cette commande pour créer le fichier CSR.

    openssl req -new \ -key verification_cert_key_filename.key \ -out verification_cert_csr_filename.csr

    La commande vous invite à saisir des informations supplémentaires qui seront expliquées plus loin.

  3. Dans la AWS IoT console, dans le conteneur du certificat de vérification, copiez le code d'enregistrement.

  4. Les informations que la commande openssl vous demande de saisir sont présentées dans l'exemple suivant. À l'exception du champ Common Name, vous pouvez saisir vos propres valeurs ou les laisser vides.

    Dans le champ Common Name, collez le code d'enregistrement que vous avez copié à l'étape précédente.

    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 []:

    Une fois que vous avez terminé, la commande crée le fichier CSR.

  5. Remplacez la verification_cert_csr_filename.csr par la verification_cert_csr_filename.csr que vous avez utilisée à l'étape précédente.

    Remplacez root_CA_cert_filename.pem par le nom de fichier du certificat CA que vous souhaitez enregistrer.

    Remplacez root_CA_key_filename.key par le nom du fichier de clé privée du certificat CA.

    Remplacez verification_cert_filename.pem par le nom de fichier du certificat de vérification que vous souhaitez créer.​ Par exemple, 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. Une fois la commande OpenSSL terminée, vous devriez avoir ces fichiers prêts à être utilisés lorsque vous revenez à la console.

    • Votre fichier de certificat CA (root_CA_cert_filename.pem utilisé dans la commande précédente)

    • Le certificat de vérification que vous avez créé à l'étape précédente (verification_cert_filename.pem utilisé dans la commande précédente)

Désactivation d'un certificat d'autorité de certification

Lorsqu'un certificat d'autorité de certification (CA) est activé pour l'enregistrement automatique des certificats clients, AWS IoT vérifie le certificat de l'autorité de certification pour s'assurer que l'autorité de certification l'estACTIVE. Si le certificat CA l'estINACTIVE, AWS IoT cela n'autorise pas l'enregistrement du certificat client.

En définissant le certificat de l'autorité de certification sur INACTIVE, vous empêchez l'enregistrement automatique de tout nouveau certificat client émis par l'autorité de certification.

Note

Les certificats clients enregistrés qui ont été signés par le certificat d'autorité de certification compromis continuent de fonctionner jusqu’à ce que vous les révoquiez explicitement.

Désactivation d'un certificat d'autorité de certification (console)

Pour désactiver un certificat d'autorité de certification à l'aide de la console AWS IoT
  1. Connectez-vous à la AWS IoT console AWS Management Console et ouvrez-la.

  2. Dans le volet de navigation de gauche, choisissez Sécurité, puis CA.

  3. Dans la liste des autorités de certification, recherchez celle que vous souhaitez désactiver et choisissez l'icône de points de suspension pour ouvrir le menu d'options.

  4. Dans le menu d'options, choisissez Désactiver.

L'autorité de certification doit apparaître comme Inactive dans la liste.

Note

La AWS IoT console ne permet pas de répertorier les certificats signés par l'autorité de certification que vous avez désactivée. Pour connaître l’option d’ AWS CLI permettant de répertorier ces certificats, veuillez consulter Désactivation d'un certificat d'autorité de certification (CLI).

Désactivation d'un certificat d'autorité de certification (CLI)

AWS CLI Fournit la update-ca-certificatecommande permettant de désactiver un certificat CA.

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

Utilisez la commande list-certificates-by-ca pour obtenir la liste de tous les certificats clients enregistrés qui ont été signés par l'autorité de certification spécifiée. Pour chaque certificat client signé par le certificat d’autorité de certification spécifié, utilisez la commande update-certificate pour révoquer le certificat client afin d'empêcher son utilisation.

Utilisez la commande describe-ca-certificate pour voir le statut du certificat d'autorité de certification.