SylixOS支持OpenSSL,git地址爲:http://git.sylixos.com/repo/openssl.git
獲取OpenSSL工程源碼後,導入RealEvo-IDE中編譯,編譯完成後生成動態庫文件和openssl可執行文件,如下圖所示。
配置設備IP地址並部署openssl和動態庫到設備端。終端命令行輸入openssl version可查看openssl版本號,如下圖所示。
GoAhead-WebServer默認不開啓SSL,可通過修改相關文件啓用SSL。
2.1 啓動SSL相關宏定義
SSL相關宏定義位於bit.h頭文件中,bit.h的路徑如下圖所示。
打開bit.h文件,默認情況下,SSL相關宏定義如下圖所示。
可以看到,GoAhead-WebServer支持EST、MATRIXSSL、NANOSSL及OPENSSL四種SSL,由於SylixOS支持OpenSSL,因此這裏需要設置使能OpenSSL,並禁用其他三種SSL。
BIT_PACK_SSL宏是控制GoAhead-WebServer是否使用SSL的,因此這裏需要設置BIT_PACK_SSL爲1。修改後的bit.h文件內容如下圖所示。
2.2 配置libgoahead.mk
在啓用OpenSSL後,需要將openssl相關頭文件及源文件加入編譯,因此需要配置libgoahead.mk,配置內容如下圖所示。
其中"$(WORKSPACE_openssl)/openssl/include"爲OpenSSL工程中的頭文件路徑。"$(WORKSPACE_openssl)/$(Release)"爲OpenSSL工程編譯後存放動態庫的文件目錄。
完成上述配置後,即可重新編譯GoAhead-WebServer工程並上傳目標設備。
啓動Goahead服務器步驟如下圖所示。
其中私鑰和證書名稱可通過修改bit.h文件進行設置,如下圖所示。
本文檔採用的設備IP地址爲10.9.0.94,打開瀏覽器在地址欄中鍵入:https://10.9.0.94 並回車將會提示如下圖所示信息。
點擊“高級”後選擇“繼續前往10.9.0.94(不安全)”,如下圖所示。
完成上述操作後即能夠進入OpenRT的主界面,如下圖所示。
未開啓OpenSSL時,抓包數據如下圖所示。
其中和用戶數據相關的傳輸協議爲HTTP,即HyperText Transfer Protocol,通過該種協議傳輸的數據內容是不經過加密的,因此可直接獲得用戶數據,從而導致用戶隱私信息泄露。
開啓OpenSSL後,抓包數據如下圖所示。
其中和實際用戶數據相關的傳輸協議爲TLSv1.2,即Transport Layer Security Protocol,且打開數據包,其數據是經過加密的。從而保證了用戶的隱私數據安全。