跳到主要內容

Windows系統下實作 Mosquitto MQTT broker SSL/TLS 加密

一、使用openssl生成憑證

 1.在開始之前我們需要安裝openssl來生成憑證,直接到openssl的網站就能下載到了,或是大部分的情況下在安裝mosquitto的時候就已經安裝了。

 2.以系統管理員身分打開cmd並使用cd指令移動到openssl目錄下的bin資料夾,通常是C:\OpenSSL-Win32\bin。

 3.直接在cmd輸入openssl來執行opnssl。 

 4.接下來的指令是用來生成一些憑證相關的文件,期間會要求輸入許多資料,需特別注意的是common name需填入伺服器的ip或是hostname。

 5.使用genrsa -des3 -out ca.key 2048指令生成ca.key。

 6.使用req -new -x509 -days 1826 -key ca.key -out ca.crt指令生成ca.crt。

 7.使用genrsa -out server.key 2048生成server.key

 8.使用req -new -out server.csr -key server.key生成server.csr

 9.使用x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360生成servr.rt。

10.完成後可以在bin資料夾中找到剛剛生成的文件,我們要把其中的ca.ctr、server.ctr及server.ky複製到mosquitto的cert資料夾中,憑證生成的部分也就完成了。

二、Mosquitto認證設置

 1.在這邊主要完成的是修改mosquitto資料夾中的mosquitto.conf配置檔。首先找到
Port to use for the default listener.
並在下面加入port 8883。

 2. 來是找到#capath並在下面加入
cafile C:\Program Files (x86)\mosquitto\certs\ca.crt
keyfile C:\Program Files (x86)\mosquitto\certs\server.key
certfile C:\Program Files (x86)\mosquitto\certs\server.crt
tls_version tlsv1
  
 3.到這邊就完成所有設定了,以管理員身分開啟cmd進入mosquitto的目錄下以mosquitto -c mosquitto.conf –v只應啟動broker。


三、參考資料
[1] MQTT Mosquitto broker with SSL/TLS transport security https://primalcortex.wordpress.com/2016/03/31/mqtt-mosquitto-broker-with-ssltls-transport-security/
[2] Mosquitto SSL Configuration -MQTT TLS Security http://www.steves-internet-guide.com/mosquitto-tls/
[3] Secure Communication With TLS and the Mosquitto Broker https://dzone.com/articles/secure-communication-with-tls-and-the-mosquitto-broker

留言

這個網誌中的熱門文章

在Windows系統下使用Mosquiito MQTT broker

Mosquitto 是一個開放原始碼MQTT broker,可以安裝於Windows環境下但會缺少許多dll文件,詳細的安裝方式可以參考 http://www.steves-internet-guide.com/install-mosquitto-broker/ 。安裝完成後開啟mosquitto.exe就開始執行broker了。另外需要以管理員身分開啟兩個CMD命令視窗用來模擬Subscriber及Publisher。 Subscriber: 使用命令  cd C:\Program Files (x86)\mosquitto  進入mosquitto資料夾,在該路徑下輸入  mosquitto_sub -t test 來進行對topic的subscribe,這裡我subcribe的topic是test。 Publisher: 使用命令  cd C:\Program Files (x86)\mosquitto  進入mosquitto 資料夾,在該路徑下輸入 mosquitto_pub -h 127.0.0.1 -p 1883 -t test -m "test" 來publish資料,其中 –h 後接的是broker的ip位址,在這裡我直接使用local host;-p 後接的是連接埠,MQTT預設的埠口是1883;-t後接的是topic名稱;-m後接的則是要傳送的massage。 若要讓外部成功連上MQTT broker 需要在防火牆上允許連接埠1883的輸入輸出。在防火牆->進階設定中新增允許1883 port的TCP接入就能讓外部的MQTT client接上MQTT broker了。 本次測試使用的client為android平台上的MQTT Dash,在該App上直接設置MQTT broker的ip及port就能連上剛剛建立的Mosquito MQTT broker了。 也可以選擇在其他PC上運行Chrome的MQTTlens作為client進行測試。或是在其他PC上運行mosquitto的client實測。 參考資料: [1]    How to Install The Mosquitto MQTT Broker- Windows and L...

免費線上3D製圖工具-TinkerCad (二) 基本操作解說

目錄: 免費線上3d製圖工具-tinkercad-一-註冊及建立設計 免費線上3d製圖工具-tinkercad-二-基本操作解說 基礎操作 工作平面:在這邊完成設計,右鍵點住進行拖曳可以改視角,中鍵點住進行拖曳可以平移整個平面。 編輯網格:可以修改最小可編輯尺寸(及工作平面上的網格)。 基本造型:提供多種造型,可拖拉至工做平面上進行編輯。 拖拉至工作平面上的實體如下,可以修改相關基本參數來改變形狀,亦可直接拖拉平面上的白點修改形狀。 每一個物件都可以調整為實體或是孔兩種型態 點擊並拖曳黑色的箭頭可修改該形狀與工作平面之距離。 點擊並拖曳整個物件可改變該物件於工作平面上之位置。 於物件的XYZ三軸上接有一個旋轉符號,可點擊後輸入角度進行旋轉,或直接拖曳旋轉。 選擇孔的物件會切割實體的物件   框選多個物件並點選右上角的群組按鍵可將多個實體變為一個。   亦可將已群組之物件取消群組   完成之物件可在右上角將檔案匯出   TinkerCad支援之檔案格式包含obj、stl和svg   嘗試匯出stl檔案後下載檔案