全部產品
Search
文件中心

ApsaraMQ for MQTT:用戶端認證認證

更新時間:Jul 31, 2025

雲Message QueueTT 版支援基於X.509認證的雙向認證,分別通過伺服器憑證和裝置認證完成服務端和用戶端的認證,保證用戶端和服務端通訊鏈路的安全性和可靠性。本文介紹用戶端認證認證的原理和實現方式。

使用限制

  • 單向認證:所有類型執行個體均支援。

  • 雙向認證:僅鉑金版、專業版執行個體支援。

單向認證

用戶端認證服務端

雲Message QueueTT 版用戶端對服務端的認證通過伺服器憑證完成。用戶端發起串連請求時,服務端的認證會隨著請求握手自動下發給用戶端,用戶端將驗證伺服器憑證的正確性,若驗證通過則允許服務端串連。

操作步驟

說明

本操作僅支援鉑金版、專業版執行個體切換認證時使用,其他類型執行個體預設支援單向認證無需進行操作。

  1. 登入雲Message QueueTT 版控制台,並在左側導覽列單擊实例列表

  2. 在頂部功能表列選擇目標地區,然後在執行個體列表中單擊執行個體名稱進入实例详情頁面。

  3. 在左側導覽列選擇证书管理 > 服务器证书

  4. 單擊单向认证,在彈出的提示對話方塊中仔細閱讀提示資訊並單擊确认,等待伺服器重啟完成。

驗證

您可以使用以下程式碼範例進行驗證:

語言

下載地址

Java

mqtt.demo.java

Python

mqtt.demo.python

C

mqtt.demo.c

.NET

mqtt.demo.net

JavaScript

mqtt.demo.javascript

iOS

mqtt.demo.ios

雙向認證

用戶端認證服務端

雲Message QueueTT 版用戶端對服務端的認證通過服務端器書完成。用戶端將驗證伺服器憑證的正確性,若驗證通過則允許與服務端建立連結。伺服器憑證需要您自行購買或自行簽發後,託管到數位憑證管理服務,並通過伺服器憑證重啟雲Message QueueTT 版服務。

服務端認證用戶端

雲Message QueueTT 版服務端對用戶端的認證通過對裝置認證的認證完成。用戶端發起請求串連時,會與服務端按照TLS 1.2協議進行互動。互動過程中用戶端會將裝置認證傳遞到服務端,服務端將根據用戶端提前註冊的CA認證驗證該裝置認證的正確性,若驗證通過則允許用戶端串連服務端。

服務端認證用戶端的流程

雲Message QueueTT 版服務端對用戶端的認證認證流程如下:

  1. 用戶端發起TCP串連請求,通過MQTT協議將攜帶的裝置認證發送給雲Message QueueTT 版服務端。

  2. 服務端收到裝置認證後,判斷該裝置認證是否已在服務端註冊。

    • 是:裝置認證登入,繼續判斷裝置認證狀態。

      • 是:裝置認證已啟用,判斷裝置認證是否認證通過,下一步,步驟5。

      • 否:裝置認證未啟用。中斷連線,流程結束。

    • 否:裝置認證未註冊,則繼續匹配CA認證。下一步,步驟3。

  3. 服務端根據裝置認證攜帶的資訊匹配相關的CA認證,判斷CA認證是否在服務端註冊。

    • 是:判斷CA認證狀態。下一步,步驟4。

    • 否:中斷連線,流程結束。

  4. 判斷CA認證是否啟用。

    • 是:CA認證已啟用。下一步,步驟5。

    • 否:CA認證未啟用。中斷連線,流程結束。

  5. 根據服務端註冊的CA認證對用戶端攜帶的裝置認證進行認證,判斷認證是否通過。

    • 是:裝置認證認證成功。下一步,步驟6。

    • 否:認證失敗。中斷連線,流程結束。

  6. 用戶端裝置認證認證通過,服務端允許用戶端接入,雙方開始通訊,等待訊息收發。

操作步驟

說明

本操作僅支援鉑金版、專業版執行個體。

  1. 擷取並註冊CA認證。詳情請參見:CA認證管理

    • CA認證可以向憑證授權單位申請或自己建立。CA認證可用於簽發裝置認證、伺服器憑證、驗證認證。

    • CA認證必須在雲Message QueueTT 版服務端中註冊才能用於驗證裝置認證的正確性。

  2. 簽發伺服器憑證,並託管到數位憑證管理服務,然後通過伺服器憑證重啟服務。詳情請參見:伺服器憑證管理

  3. 簽發裝置認證。由CA認證簽發,每個裝置的裝置認證建議全域唯一,詳情請參見:使用CA認證簽發裝置認證

    • 裝置認證必須在服務端進行註冊,才能用於認證認證。

    • 用戶端裝置憑證註冊流程如下:用戶端第一次串連服務端時,攜帶的裝置認證未在服務端註冊過,服務端支援根據裝置認證資訊匹配對應的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

相關操作

OpenAPI

控制台操作

  • 伺服器憑證管理:支援將購買或自簽的伺服器憑證託管到數位憑證管理服務,並使用伺服器憑證初始化雲Message QueueTT 版執行個體。

  • CA認證管理:支援註冊CA認證、修改CA認證狀態和刪除CA認證。

  • 裝置認證管理:支援查詢裝置認證、修改裝置認證狀態和刪除裝置認證。