pem是letsencrypt的憑證檔案,而MQTTGO用的是JS,需要使用的憑證是JKS檔案,因此需要將PEM轉JKS,其方式如下

1. 進入資料夾/etc/letsencrypt/live/broker.mqttgo.io/
這個資料夾需要用root才能進入,因此命令列輸入
sudo su
進入資料夾後可以看到以下幾個檔案

2. 執行指令產生PKCS#12檔案,命令列輸入
openssl pkcs12 -export -out keystore.pkcs12 -in fullchain.pem -inkey privkey.pem

完成後,即可更新keystore.pkcs12 檔案
過程中需要設定兩次一樣的密碼

3.將PKCS#12檔案轉乘Java keystore格式
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore brokerMqttio.jks

過程中需要設定密碼,並輸入PKCS#12的設定密碼,即可產生brokerMqttio.jks
完成後複製最新產生的brokerMqttio.jks檔到以下位置
cp brokerMqttio.jks /home/youadmin/hivemqce/key

4.重新啟動MQTT
輸入指令查詢現有Service List
systemctl –type=service –state=running

會列出清單,尋找你要的服務名稱
接著輸入以下指令,重新啟動服務
sudo systemctl restart 服務名稱

完成後,可能須等候一段時間讓服務完成啟動

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *