すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:MQTT 署名パラメーターの計算

最終更新日:Apr 25, 2026

カスタム MQTT クライアントを使用してデバイスを IoT Platform に接続する際は、MQTT 署名認証パラメーター(ユーザー名、パスワード、mqttClientId)を提供する必要があります。本トピックでは、これらのパラメーターを取得する方法について説明します。

概要

ビジネス要件に応じて、以下のいずれかの方法で MQTT 署名パラメーターを取得できます。

方法

説明

IoT Platform コンソールから取得

サポートされる署名アルゴリズムは hmacsha256 です。

デバイスのクライアント ID はデフォルトで ${ProductKey} + '.' + ${DeviceName} となり、変更できません。

Node.js スクリプトを使用して計算

サポートされる署名アルゴリズムは hmacsha256 です。

デバイスのクライアント ID はデフォルトで ${ProductKey} + '.' + ${DeviceName}となりますが、変更可能です。

IoT Platform コンソールから取得

  1. IoT Platform コンソールにログインします。

  2. 概要ページで、管理対象のインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。

  3. 左側のナビゲーションウィンドウで、デバイス > デバイスを選択し、デバイスページに移動します。

  4. ご利用のデバイスを見つけ、表示をクリックしてデバイス詳細ページに移動します。

  5. デバイス情報タブで、MQTT 接続パラメーターの横にある表示をクリックし、MQTT 署名パラメーターを確認します。

    重要

    ここで表示されるclientIdパラメーターは、mqttClientIdに対応しています。デバイスのクライアント ID と混同しないでください。MQTT 接続パラメーターの詳細については、「MQTT-TLS 通信」をご参照ください。

    MQTT 接続パラメーターダイアログボックスが表示され、clientIdusernamepasswdmqttHostUrl、およびportの値が表示されます。すべてコピーをクリックすると、すべてのパラメーターをコピーできます。

Node.js スクリプトを使用して計算

  1. signTool.zipパッケージをダウンロードして解凍し、mqttSignTool.jsファイル内の以下のパラメーターを編集して保存します。

    パラメーター

    説明

    productKey

    a1Ee***

    デバイス追加後に保存したデバイス証明書です。詳細については、「デバイス証明書情報」をご参照ください。

    コンソールのデバイスデバイス詳細ページで情報を確認できます。

    deviceName

    8Co5***

    deviceSecret

    bcabcf***

    timestamp

    2524608000000

    現在時刻(ミリ秒単位)。

    briefId

    12345

    デバイスのクライアント ID です。このパラメーターは省略可能です。

    デフォルトでは、ツールパッケージによりこのパラメーターは ${ProductKey} + '.' + ${DeviceName}に設定されますが、必要に応じて値を変更できます。例: var briefId = '12345'

    重要

    最大 64 文字の任意の値を指定できます。識別しやすいように、デバイスの MAC アドレスまたはシリアル番号 (SN) を使用することを推奨します。

  2. Windows または Linux オペレーティングシステムで、Node.js をダウンロードしてインストールします。以下の例では、Ubuntu 16.04 64 ビット Linux システムと事前コンパイル済みパッケージnode-v16.5.0-linux-x64.tar.gzを使用しています。

    1. Linux 仮想マシン (VM) にログインします。

    2. 以下のコマンドを実行して、パッケージをダウンロードおよび解凍します。

      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

      以下のバージョン番号が返された場合、Node.js は正常にインストールされています。

      v16.5.0
    3. node-v16.5.0-linux-x64/binディレクトリには node および npm コマンドが含まれています。以下のコマンドを実行して、これらをグローバル環境変数として設定します。

      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. node-v16.5.0-linux-x64ディレクトリから退出し、JavaScript ファイルおよび署名ライブラリ用のsignToolプロジェクトフォルダを作成します。

    cd..
    mkdir signTool
    cd signTool/
  4. ステップ1で編集したmqttSignTool.jsファイルを、Linux VM 上のsignToolディレクトリにアップロードします。

  5. signToolディレクトリで、以下のコマンドを実行して署名ライブラリをダウンロードし、ディレクトリの内容を一覧表示します。

    npm install crypto-js
    ls

    ダウンロードされたライブラリファイルは以下のとおりです。

    mqttSignTool.js  node_modules  package.json  package-lock.json
  6. 以下のコマンドを実行してmqttSignTool.jsスクリプトを実行します。

    node mqttSignTool.js

    このコマンドにより、MQTT 経由で IoT Platform に接続するために必要な署名認証パラメーターが返されます。

    重要

    ここで表示されるclientIdパラメーターは、mqttClientIdに対応しています。デバイスのクライアント ID と混同しないでください。MQTT 接続パラメーターの詳細については、「MQTT-TLS 通信」をご参照ください。

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