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

ApsaraMQ for MQTT:クライアントでの証明書ベースの認証

最終更新日:Dec 19, 2025

ApsaraMQ for MQTT では、X.509 証明書を使用した相互認証が可能です。サーバー証明書とデバイス証明書を使用して ApsaraMQ for MQTT ブローカーとクライアントを認証します。これにより、ブローカーとクライアント間の安全で信頼性の高い通信が保証されます。このトピックでは、ApsaraMQ for MQTT クライアントで証明書ベースの認証を実装する方法について説明します。

制限事項

片方向認証:すべてのインスタンスタイプでサポートされています。

相互認証:エンタープライズプラチナエディションのインスタンスでのみサポートされています。

片方向認証

クライアントでのブローカー認証

ApsaraMQ for MQTT クライアントは、サーバー証明書を使用して ApsaraMQ for MQTT ブローカーを認証します。クライアントがブローカーへの接続リクエストを開始すると、ハンドシェイク中に検証のためにサーバー証明書が自動的にクライアントに発行されます。クライアントは、サーバー証明書の検証に合格した場合にのみブローカーに接続できます。

操作手順

説明

エンタープライズプラチナエディション インスタンスを使用している場合、インスタンスの認証モードを一方向認証に切り替えた後にのみ、以下の操作を実行できます。 その他のタイプのインスタンスでは、一方向認証が自動的にサポートされます。

  1. ApsaraMQ for MQTT コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。

  2. 上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。[インスタンス] ページで、インスタンス名をクリックして インスタンスの詳細 ページに移動します。

  3. 左側のナビゲーションウィンドウで、証明書の管理 > サーバー証明書 を選択します。

  4. 表示されたページで 単方向認証 をクリックします。表示されたメッセージで、メッセージを読み、OK をクリックします。その後、ブローカーが再起動するまで待ちます。

サーバー証明書の検証

次の表は、サーバー証明書の検証に使用されるサンプルコードのダウンロードリンクを示しています。

プログラミング言語

ダウンロードリンク

Java

mqtt.demo.java

Python

mqtt.demo.python

C

mqtt.demo.c

.NET

mqtt.demo.net

JavaScript

mqtt.demo.javascript

iOS

mqtt.demo.ios

相互認証

クライアントでのブローカー認証

ApsaraMQ for MQTT クライアントは、サーバー証明書を使用して ApsaraMQ for MQTT ブローカーを認証します。クライアントは、サーバー証明書の検証に合格した場合にのみブローカーに接続できます。サーバー証明書を使用するには、証明書を購入または発行し、その証明書を Certificate Management Service でホストしてから、ApsaraMQ for MQTT インスタンスを再起動して証明書を有効にする必要があります。

ブローカーでのクライアント認証

ApsaraMQ for MQTT ブローカーは、デバイス証明書を使用して ApsaraMQ for MQTT クライアントを認証します。クライアントがブローカーへの接続リクエストを開始すると、クライアントは TLS 1.2 に基づいてブローカーと対話します。対話プロセス中に、クライアントはデバイス証明書をブローカーに渡し、ブローカーはクライアントがブローカーに登録した認証局 (CA) 証明書に基づいてデバイス証明書を検証します。クライアントは、デバイス証明書の検証に合格した場合にのみブローカーに接続できます。

プロセス

次の図は、ApsaraMQ for MQTT ブローカーが ApsaraMQ for MQTT クライアントを認証する方法を示しています。

image
  1. クライアントは TCP 経由でブローカーへの接続リクエストを開始し、Message Queuing Telemetry Transport (MQTT) プロトコル経由でデバイス証明書をブローカーに送信します。

  2. ブローカーはデバイス証明書を受信した後、デバイス証明書がブローカーに登録されているかどうかを確認します。

    • デバイス証明書がブローカーに登録されている場合、ブローカーはデバイス証明書のステータスを確認します。

      • 証明書が有効化されている場合、ブローカーはデバイス証明書が検証に合格するかどうかを確認します。この場合、プロセスはステップ 5 に進みます。

      • デバイスが有効化されていない場合、クライアントはブローカーに接続できず、プロセスは終了します。

    • デバイス証明書がブローカーに登録されていない場合、ブローカーはデバイス証明書に基づいて CA 証明書を照合します。この場合、プロセスはステップ 3 に進みます。

  3. ブローカーはデバイス証明書に基づいて CA 証明書を照合し、CA 証明書がブローカーに登録されているかどうかを確認します。

    • CA 証明書がブローカーに登録されている場合、ブローカーは CA 証明書のステータスを確認します。この場合、プロセスはステップ 4 に進みます。

    • CA 証明書がブローカーに登録されていない場合、クライアントはブローカーに接続できず、プロセスは終了します。

  4. ブローカーは CA 証明書が有効化されているかどうかを確認します。

    • CA 証明書が有効化されている場合、プロセスはステップ 5 に進みます。

    • CA 証明書が有効化されていない場合、クライアントはブローカーに接続できず、プロセスは終了します。

  5. ブローカーは、ブローカーに登録されている CA 証明書に基づいて、デバイス証明書が検証に合格するかどうかを確認します。

    • デバイス証明書が検証に合格した場合、認証は成功です。この場合、プロセスはステップ 6 に進みます。

    • デバイス証明書の検証に失敗した場合、クライアントはブローカーに接続できず、プロセスは終了します。

  6. デバイス証明書の検証に合格し、クライアントはメッセージングのためにブローカーに接続できます。

操作手順

説明

エンタープライズプラチナエディションインスタンスを使用する場合にのみ、以下の操作を実行できます。

  1. CA 証明書を取得し、ApsaraMQ for MQTT ブローカーに登録します。詳細については、「CA 証明書の管理」をご参照ください。

    • CA から CA 証明書を申請できます。CA 証明書を作成することもできます。CA 証明書を使用して、デバイス証明書、サーバー証明書、および検証証明書を発行できます。

    • CA 証明書は、ApsaraMQ for MQTT ブローカーに登録した後にのみ使用できます。

  2. サーバー証明書を発行し、Certificate Management Service でホストしてから、ApsaraMQ for MQTT を再起動して証明書を有効にします。詳細については、「サーバー証明書の管理」をご参照ください。

  3. デバイス証明書を発行します。デバイス証明書は CA 証明書を使用して発行されます。各デバイス証明書がグローバルに一意であることを確認してください。詳細については、「CA 証明書を使用してデバイス証明書を発行する」をご参照ください。

    • デバイス証明書は、ApsaraMQ for MQTT ブローカーに登録した後にのみ使用できます。

    • クライアントを初めてブローカーに接続するときは、デバイス証明書をブローカーに登録する必要があります。この場合、ブローカーは自動的にデバイス証明書を対応する CA 証明書と照合し、デバイス証明書をブローカーに登録します。その後の接続リクエストでは、ブローカーは CA 証明書を照合する必要なくデバイス証明書を検証します。

デバイス証明書の検証

次の表は、デバイス証明書の検証に使用されるサンプルコードのダウンロードリンクを示しています。

プログラミング言語

ダウンロードリンク

Java

mqtt.bissl.demo.java

Python

mqtt.ssl.mode.demo.python

C

mqtt.ssl.demo.c

.NET

mqtt.ssl.mode.demo.net

JavaScript

mqtt.ssl.demo.javascript

iOS

mmqtt.ssl.demo.ios

関連操作

API 操作

コンソール

  • 購入または発行したサーバー証明書を Certificate Management Service でホストし、その証明書を使用して ApsaraMQ for MQTT コンソールで ApsaraMQ for MQTT インスタンスを初期化できます。詳細については、「サーバー証明書の管理」をご参照ください。

  • ApsaraMQ for MQTT コンソールで、CA 証明書の登録、CA 証明書のステータス変更、CA 証明書の削除ができます。詳細については、「CA 証明書の管理」をご参照ください。

  • ApsaraMQ for MQTT コンソールで、デバイス証明書のクエリ、デバイス証明書のステータス変更、デバイス証明書の削除ができます。詳細については、「デバイス証明書の管理」をご参照ください。