1. 程式人生 > >基於SylixOS 對 Goahead 進行配置使用 OpenSSL

基於SylixOS 對 Goahead 進行配置使用 OpenSSL

ide 三種 開啟 sport release ffffff size watermark protocol

  • 編譯並部署OpenSSL
    SylixOS支持OpenSSL,git地址為:http://git.sylixos.com/repo/openssl.git
    獲取OpenSSL工程源碼後,導入RealEvo-IDE中編譯,編譯完成後生成動態庫文件和openssl可執行文件,如下圖所示。
    技術分享圖片
    配置設備IP地址並部署openssl和動態庫到設備端。終端命令行輸入openssl version可查看openssl版本號,如下圖所示。
    技術分享圖片
  • 配置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工程並上傳目標設備。
  • 啟動GoAhead服務器
    啟動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,且打開數據包,其數據是經過加密的。從而保證了用戶的隱私數據安全。
  • 基於SylixOS 對 Goahead 進行配置使用 OpenSSL