練習 - 保護 MQTT 訊息代理程式的連線安全
在此練習中,您將為 test.mosquitto.org MQTT 訊息代理程式建立用戶端憑證。
安裝 OpenSSL
依照作業系統適用的指示進行:
若是 Linux,您可能需要安裝 OpenSSL;您可以使用 Linux 發行版本套件管理員來執行此動作。 例如,在 Ubuntu 上,執行︰
sudo apt-get install openssl
。若是 Windows,請執行下列任一步驟:
- 從 openssl.org 下載 OpenSSL。
- 使用 Windows 子系統 Linux 版 (WSL)。 視安裝的 WSL Linux 發行版本而定,您可能需要安裝 OpenSSL;您可以使用 Linux 發行版本套件管理員來執行此作業。 例如,在 Ubuntu 上,執行︰
sudo apt-get install openssl
。
刪除現有的預留位置憑證
AltairHL_emulator\certs 資料夾包含三個預留位置憑證。 build_all 驗證處理序需要使用預留位置憑證。 請刪除預留位置憑證,因為您將為 Altair 模擬器建立新的憑證。
從您的電腦檔案管理員,移至 AltairHL_emulator\certs 資料夾。
刪除下列三個預留位置憑證:
- ca.crt
- client.key
- client.crt
下載 Mosquitto 憑證授權單位單位憑證
- 下載 Mosquitto 憑證授權單位單位憑證 mosquitto.org.crt (PEM 格式)。
- 將 mosquitto.org.crt 檔案重新命名為 ca.crt。
- 將 ca.crt 檔案複製到 AltairHL_emulator\certs 資料夾。
使用 OpenSSL 產生用戶端憑證
產生私密金鑰:
openssl genrsa -out client.key
產生憑證簽署要求 (CSR)。
CSR 至少必須包含 [國家/地區]、[組織] 和 [一般名稱] 欄位中的值。
一般名稱必須符合 MQTT 訊息代理程式的完整網域名稱 (FQDN)。 當系統提示您輸入一般名稱時,請輸入 test.mosquitto.org。
openssl req -out client.csr -key client.key -new
在文字編輯器中開啟 client.csr 檔案,再將 CSR 複製到位於 test.mosquitto.org 的文字方塊,然後選取 [提交]。
隨即產生憑證供您下載。 有效期僅 90 天。
將 client.key 和 client.crt 檔案複製到 AltairHL_emulator\certs 資料夾。
AltairHL_emulator\certs 資料夾現在應該包含三個憑證檔案:
- ca.crt
- client.key
- client.crt