Lire en anglais

Partager via


Créer des certificats de démonstration pour tester les fonctionnalités de l’appareil IoT Edge

S’applique à : Coche IoT Edge 1.5 IoT Edge 1.5 Coche IoT Edge 1.4 IoT Edge 1.4

Important

IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1.4 LTS atteint sa fin de vie le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.

Les appareils IoT Edge requièrent des certificats pour sécuriser la communication entre le runtime, les modules et tous les appareils en aval. Si vous n’avez pas d’autorité de certification pour créer les certificats requis, vous pouvez utiliser des certificats de démonstration pour essayer les fonctionnalités IoT Edge dans votre environnement de test. Cet article décrit les fonctionnalités des scripts de génération de certificat que IoT Edge fournit pour le test.

Avertissement

Ces certificats expirent au bout de 30 jours et ne doivent pas être utilisés dans un scénario de production.

Vous pouvez créer des certificats sur n’importe quelle machine, puis les copier sur votre appareil IoT Edge, ou générer les certificats directement sur l’appareil IoT Edge.

Prérequis

Ordinateur de développement sur lequel git est installé.

Télécharger les scripts de certificat de test et configurer le répertoire de travail

Le référentiel IoT Edge sur GitHub comprend des scripts de génération de certificat que vous pouvez utiliser pour créer des certificats de démonstration. Cette section fournit des instructions pour préparer les scripts à exécuter sur votre ordinateur, sous Windows ou Linux.

Pour créer des certificats de démonstration sur un appareil Linux, vous devez cloner les scripts de génération et les configurer pour qu’ils s’exécutent localement dans bash.

  1. Clonez le référentiel Git IoT Edge, qui contient des scripts pour générer des certificats de démonstration.

    git clone https://github.com/Azure/iotedge.git
    
  2. Créez un répertoire de travail où copier les scripts de certificat. Tous les fichiers de clés et de certificats seront créés dans ce répertoire.

    mkdir wrkdir
    cd wrkdir
    cp ../iotedge/tools/CACertificates/*.cnf .
    cp ../iotedge/tools/CACertificates/certGen.sh .
    

Créer un certificat d’autorité de certification racine

Exécutez ce script pour générer une autorité de certification racine requise pour chaque étape de cet article.

Le certificat d’autorité de certification racine est utilisé pour créer tous les autres certificats de démonstration en vue de tester un scénario IoT Edge. Vous pouvez continuer à utiliser le même certificat d’autorité de certification racine pour créer des certificats de démonstration pour plusieurs appareils IoT Edge ou appareils en aval.

Si vous avez déjà un certificat d’autorité de certification racine dans votre dossier de travail, n’en créez pas un nouveau. Le nouveau certificat d’autorité de certification racine remplacera l’ancien, et tous les certificats en aval générés à partir de l’ancien certificat cesseront de fonctionner. Si vous souhaitez plusieurs certificats d’autorité de certification racine, assurez-vous de les gérer dans des dossiers distincts.

  1. Accédez au répertoire de travail wrkdir où vous avez placé les scripts de génération de certificat.

  2. Créez le certificat d’autorité de certification racine et un certificat intermédiaire.

    ./certGen.sh create_root_and_intermediate
    

    Cette commande de script crée plusieurs fichiers de certificat et de clé, mais lorsque les articles demandent le certificat d’autorité de certification racine, utilisez le fichier suivant :

    certs/azure-iot-test-only.root.ca.cert.pem

Ce certificat est nécessaire pour pouvoir créer plus de certificats pour vos appareils IoT Edge et vos appareils en aval, comme décrit dans les sections suivantes.

Créer un certificat d’identité pour l’appareil IoT Edge

Les certificats d’identité d’appareil IoT Edge sont utilisés pour approvisionner des appareils IoT Edge si vous choisissez d’utiliser une authentification par certificat X.509. Si vous utilisez une clé symétrique pour l’authentification sur IoT Hub ou DPS, ces certificats ne sont pas nécessaires et vous pouvez donc ignorer cette section.

Ces certificats fonctionnent, que vous utilisiez l’approvisionnement manuel ou l’approvisionnement automatique via le Service IoT Hub Device Provisioning (DPS).

Les certificats d’identité d’appareil sont placés dans la section Approvisionnement du fichier config sur l’appareil IoT Edge.

  1. Accédez au répertoire de travail wrkdir qui contient les scripts de génération de certificat et le certificat d’autorité de certification racine.

  2. Créez la clé privée et le certificat d'identité d’appareil IoT Edge avec la commande suivante :

    ./certGen.sh create_edge_device_identity_certificate "<device-id>"
    

    Le nom que vous passez dans cette commande correspond à l’ID de l’appareil IoT Edge dans IoT Hub.

  3. Le script crée plusieurs fichiers de certificat et de clé, dont trois que vous utilisez pendant la création d’une inscription individuelle dans DPS et pendant l’installation du runtime IoT Edge :

    Type Fichier Description
    Certificat d’identité de l’appareil certs/iot-edge-device-identity-<device-id>.cert.pem Signé par le certificat intermédiaire généré précédemment. Contient uniquement le certificat d’identité. À spécifier dans le fichier de configuration pour l’inscription individuelle DPS ou l’approvisionnement IoT Hub.
    Certificat de chaîne complète certs/iot-edge-device-identity-<device-id>-full-chain.cert.pem Contient la chaîne de certificats complète, y compris le certificat intermédiaire. À spécifier dans le fichier de configuration pour IoT Edge à présenter à DPS pour l’approvisionnement d’inscription de groupe.
    Private key private/iot-edge-device-identity-<device-id>.key.pem Clé privée associée au certificat d’identité de l’appareil. Doit être spécifiée dans le fichier de configuration tant que vous utilisez une sorte d’authentification par certificat (empreinte ou autorité de certification) pour DPS ou IoT Hub.

Créer des certificats d’autorité de certification IoT Edge

Ces certificats sont nécessaires pour les scénarios de passerelle, car c’est grâce au certificat de l’autorité de certification IoT Edge que l’appareil IoT Edge vérifie son identité auprès des appareils en aval. Vous pouvez ignorer cette section si vous ne connectez aucun appareil en aval à IoT Edge.

Le certificat d’autorité de certification IoT Edge gère également la création de certificats pour les modules s’exécutant sur l’appareil, mais le runtime IoT Edge peut créer un certificat temporaire si l’autorité de certification IoT Edge n’est pas configurée. Les certificats d’autorité de certification Edge sont placés dans la section Autorité de certification Edge du fichier config.toml sur l’appareil IoT Edge. Pour plus d’informations, consultez Comprendre comment Azure IoT Edge utilise les certificats.

  1. Accédez au répertoire de travail qui contient les scripts de génération de certificat et le certificat d’autorité de certification racine.

  2. Créez la clé privée et le certificat d’autorité de certification IoT Edge avec la commande suivante. Fournissez un nom pour le certificat de l'autorité de certification. Le nom passé à la commande create_edge_device_ca_certificate ne doit pas être identique au paramètre hostname dans le fichier config ni à l’ID de l’appareil dans IoT Hub.

    ./certGen.sh create_edge_device_ca_certificate "<CA cert name>"
    
  3. Cette commande de script crée plusieurs fichiers de certificats et de clés. La paire suivante de certificat et de clé doit être copiée sur un appareil IoT Edge et référencée dans le fichier config :

    • certs/iot-edge-device-ca-<CA cert name>-full-chain.cert.pem
    • private/iot-edge-device-ca-<CA cert name>.key.pem

Créer des certificats d’appareils en aval

Ces certificats sont requis pour configurer un appareil IoT en aval pour un scénario de passerelle et lorsque vous souhaitez utiliser l’authentification X.509 avec IoT Hub ou DPS. Si vous souhaitez utiliser l’authentification par clé symétrique, vous ne devez créer aucun certificat pour l’appareil en aval et pouvez ignorer cette section.

Il existe deux façons d’authentifier un appareil IoT à l’aide de certificats X.509 : à l’aide de certificats auto-signés ou à l’aide de certificats signés par une autorité de certification.

  • Pour l’authentification par certificat X.509 autosigné, parfois appelée authentification par empreinte, vous devez créer des certificats et les placer sur votre appareil IoT. Ces certificats contiennent une empreinte numérique que vous partagez avec IoT Hub pour l’authentification.
  • Pour l’authentification par certificat X.509 signés par l’autorité de certification, vous avez besoin d’un certificat d’autorité de certification racine inscrit dans IoT Hub ou DPS, que vous utilisez pour signer les certificats de votre appareil IoT. Tous les appareils qui utilisent un certificat émis par le certificat d’autorité de certification racine ou un de ses certificats intermédiaires peuvent s’authentifier tant que la chaîne complète est présentée par l’appareil.

Les scripts de génération de certificats peuvent vous aider à créer des certificats de démonstration pour tester l’un de ces scénarios d’authentification.

Certificats auto-signés

Lorsque vous authentifiez un appareil IoT avec des certificats auto-signés, vous devez créer des certificats d’appareil basés sur le certificat d’autorité de certification racine de votre solution. Ensuite, vous récupérez une « empreinte » hexadécimale à partir des certificats à fournir à IoT Hub. Votre appareil IoT a également besoin d’une copie de ses certificats d’appareil afin qu’il puisse s’authentifier auprès de IoT Hub.

  1. Accédez au répertoire de travail qui contient les scripts de génération de certificat et le certificat d’autorité de certification racine.

  2. Créez deux certificats pour l’appareil en aval (un primaire et un secondaire). Une convention d’affectation de noms pratique consiste à créer les certificats avec le nom de l’appareil IoT suivi de l’étiquette primaire ou secondaire. Par exemple :

    ./certGen.sh create_device_certificate "<device name>-primary"
    ./certGen.sh create_device_certificate "<device name>-secondary"
    

    Cette commande de script crée plusieurs fichiers de certificats et de clés. Le certificat et les paires de clés suivants doivent être copiés sur l’appareil IoT en aval et référencés dans les applications qui se connectent à IoT Hub :

    • certs/iot-device-<device name>-primary-full-chain.cert.pem
    • certs/iot-device-<device name>-secondary-full-chain.cert.pem
    • certs/iot-device-<device name>-primary.cert.pem
    • certs/iot-device-<device name>-secondary.cert.pem
    • certs/iot-device-<device name>-primary.cert.pfx
    • certs/iot-device-<device name>-secondary.cert.pfx
    • private/iot-device-<device name>-primary.key.pem
    • private/iot-device-<device name>-secondary.key.pem
  3. Récupérez l’empreinte digitale SHA1 (appelée empreinte dans les contextes IoT Hub) à partir de chaque certificat. L’empreinte est une chaîne hexadécimale d’une longueur de 40 caractères. Pour afficher le certificat et trouver l’empreinte, utilisez la commande openssl suivante :

    openssl x509 -in certs/iot-device-<device name>-primary.cert.pem -text -thumbprint | sed 's/[:]//g'
    

    Vous fournissez des empreintes primaire et secondaire lorsque vous inscrivez un nouvel appareil IoT à l’aide de certificats X.509 auto-signés.

Certificats signés par une autorité de certification

Lorsque vous authentifiez un appareil IoT avec des certificats signés par une autorité de certification, vous devez charger le certificat d’autorité de certification racine de votre solution vers IoT Hub. Utilisez le même certificat d’autorité de certification racine pour créer des certificats d’appareil à placer sur votre appareil IoT afin qu’il puisse s’authentifier sur IoT Hub.

Les certificats de cette section concernent les étapes de la série de didacticiels sur le certificat IoT Hub X. 509. Consultez Tutoriel : Comprendre le chiffrement à clé publique et l’infrastructure à clé publique X.509 pour la présentation de cette série.

  1. Chargez le fichier de certificat d’autorité de certification racine à partir de votre répertoire de travail, certs\azure-iot-test-only.root.ca.cert.pem, vers votre IoT Hub.

  2. Si la vérification automatique n’est pas sélectionnée, utilisez le code fourni dans le portail Azure pour vérifier que vous êtes propriétaire de ce certificat d’autorité de certification racine.

    ./certGen.sh create_verification_certificate "<verification code>"
    
  3. Créez une chaîne de certificats pour votre appareil en aval. Utilisez le même ID d’appareil que celui dans lequel l’appareil est inscrit auprès d’IoT Hub.

    ./certGen.sh create_device_certificate "<device id>"
    

    Cette commande de script crée plusieurs fichiers de certificats et de clés. Le certificat et les paires de clés suivants doivent être copiés sur l’appareil IoT en aval et référencés dans les applications qui se connectent à IoT Hub :

    • certs/iot-device-<device id>.cert.pem
    • certs/iot-device-<device id>.cert.pfx
    • certs/iot-device-<device id>-full-chain.cert.pem
    • private/iot-device-<device id>.key.pem