Tous les produits
Search
Centre de documentation

IoT Platform:Calcul des paramètres de signature MQTT

Dernière mise à jour :Aug 09, 2026

Lorsque vous connectez un appareil à IoT Platform à l'aide d'un client MQTT personnalisé, vous devez fournir les paramètres d'authentification par signature MQTT : username, passwd et mqttClientId.

Présentation

Choisissez l'une des méthodes suivantes pour obtenir les paramètres de signature MQTT.

Méthode

Description

Obtenir depuis la console IoT Platform

L'algorithme de signature pris en charge est hmacsha256.

L'ID client de l'appareil est défini par défaut sur ${ProductKey} + '.' + ${DeviceName} et ne peut pas être modifié.

Calculer à l'aide d'un script Node.js

L'algorithme de signature pris en charge est hmacsha256.

L'ID client de l'appareil est défini par défaut sur ${ProductKey} + '.' + ${DeviceName} et peut être modifié.

Obtenir depuis la console IoT Platform

  1. Connectez-vous à la console IoT Platform.

  2. Sur la page Overview, localisez l'instance à gérer et cliquez sur son ID ou son nom.

  3. Dans le volet de navigation de gauche, sélectionnez Devices > Device pour accéder à la page Device.

  4. Localisez votre appareil et cliquez sur View pour accéder à la page Device Details.

  5. Sous l'onglet Device Information, cliquez sur View à côté de MQTT Connection Parameters pour afficher les paramètres de signature MQTT.

    Important

    Le paramètre clientId correspond ici à mqttClientId, et non à l'ID client de l'appareil. Consultez la rubrique Communication MQTT-TLS.

    La boîte de dialogue MQTT Connection Parameters affiche les valeurs clientId, username, passwd, mqttHostUrl et port. Cliquez sur Copy All pour les copier.

Calculer à l'aide d'un script Node.js

  1. Téléchargez et décompressez le package signTool.zip, puis modifiez et enregistrez les paramètres suivants dans le fichier mqttSignTool.js.

    Paramètre

    Exemple

    Description

    productKey

    a1Ee***

    Certificat d'appareil enregistré lors de l'ajout de l'appareil. Consultez les informations sur le certificat d'appareil.

    Consultez ces informations sur la page Device Details de la console.

    deviceName

    8Co5***

    deviceSecret

    bcabcf***

    timestamp

    2524608000000

    Heure actuelle en millisecondes.

    briefId

    12345

    Facultatif. ID client de l'appareil.

    Valeur par défaut : ${ProductKey} + '.' + ${DeviceName}. Exemple : var briefId = '12345'.

    Important

    Valeur personnalisée, jusqu'à 64 caractères. Utilisez l'adresse MAC ou le numéro de série (SN) de l'appareil pour une identification facile.

  2. Téléchargez et installez Node.js. Cet exemple utilise Ubuntu 16.04 (64 bits) avec node-v16.5.0-linux-x64.tar.gz.

    1. Connectez-vous à votre machine virtuelle Linux.

    2. Téléchargez et décompressez le package.

      wget https://nodejs.org/dist/v16.5.0/node-v16.5.0-linux-x64.tar.gz
      tar xf node-v16.5.0-linux-x64.tar.gz
      cd node-v16.5.0-linux-x64
      ./bin/node -v

      Une installation réussie renvoie le numéro de version.

      v16.5.0
    3. Ajoutez les commandes node et npm du répertoire node-v16.5.0-linux-x64/bin au PATH global.

      ln -s /root/node-v16.5.0-linux-x64/bin/npm   /usr/local/bin/
      ln -s /root/node-v16.5.0-linux-x64/bin/node   /usr/local/bin/
  3. Quittez le répertoire node-v16.5.0-linux-x64 et créez un dossier de projet signTool.

    cd..
    mkdir signTool
    cd signTool/
  4. Téléversez le fichier mqttSignTool.js modifié à l'étape 1 dans le répertoire signTool.

  5. Dans le répertoire signTool, téléchargez la bibliothèque de signature.

    npm install crypto-js
    ls

    Contenu attendu du répertoire :

    mqttSignTool.js  node_modules  package.json  package-lock.json
  6. Exécutez le script mqttSignTool.js.

    node mqttSignTool.js

    La sortie contient les paramètres d'authentification par signature MQTT.

    Important

    Le paramètre clientId correspond ici à mqttClientId, et non à l'ID client de l'appareil. Consultez la rubrique Communication MQTT-TLS.

    username:
    xxx
    clientId:
    xxx|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|
    passwd:
    xxx