1. 編譯並部署OpenSSL
SylixOS支持OpenSSL,git地址爲:http://git.sylixos.com/repo/openssl.git
獲取OpenSSL工程源碼後,導入RealEvo-IDE中編譯,編譯完成後生成動態庫文件和openssl可執行文件,以下圖所示。git
配置設備IP地址並部署openssl和動態庫到設備端。終端命令行輸入openssl version可查看openssl版本號,以下圖所示。瀏覽器
2. 配置GoAhead-WebServer
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工程並上傳目標設備。
3. 啓動GoAhead服務器
啓動Goahead服務器步驟以下圖所示。命令行
其中私鑰和證書名稱可經過修改bit.h文件進行設置,以下圖所示。3d
4. 打開瀏覽器
本文檔採用的設備IP地址爲10.9.0.94,打開瀏覽器在地址欄中鍵入:https://10.9.0.94 並回車將會提示以下圖所示信息。blog
點擊「高級」後選擇「繼續前往10.9.0.94(不安全)」,以下圖所示。ssl
完成上述操做後即可以進入OpenRT的主界面,以下圖所示。
5. 抓包測試
未開啓OpenSSL時,抓包數據以下圖所示。
其中和用戶數據相關的傳輸協議爲HTTP,即HyperText Transfer Protocol,經過該種協議傳輸的數據內容是不通過加密的,所以可直接得到用戶數據,從而致使用戶隱私信息泄露。
開啓OpenSSL後,抓包數據以下圖所示。
其中和實際用戶數據相關的傳輸協議爲TLSv1.2,即Transport Layer Security Protocol,且打開數據包,其數據是通過加密的。從而保證了用戶的隱私數據安全。