1. 编译并部署OpenSSL
    SylixOS支持OpenSSL,git地址为:http://git.sylixos.com/repo/openssl.git
    获取OpenSSL工程源码后,导入RealEvo-IDE中编译,编译完成后生成动态库文件和openssl可执行文件,如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第1张图片
    配置设备IP地址并部署openssl和动态库到设备端。终端命令行输入openssl version可查看openssl版本号,如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL
  2. 配置GoAhead-WebServer
    GoAhead-WebServer默认不开启SSL,可通过修改相关文件启用SSL。
    2.1 启动SSL相关宏定义
    SSL相关宏定义位于bit.h头文件中,bit.h的路径如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第2张图片
    打开bit.h文件,默认情况下,SSL相关宏定义如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第3张图片
    可以看到,GoAhead-WebServer支持EST、MATRIXSSL、NANOSSL及OPENSSL四种SSL,由于SylixOS支持OpenSSL,因此这里需要设置使能OpenSSL,并禁用其他三种SSL。
    BIT_PACK_SSL宏是控制GoAhead-WebServer是否使用SSL的,因此这里需要设置BIT_PACK_SSL为1。修改后的bit.h文件内容如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第4张图片
    2.2 配置libgoahead.mk
    在启用OpenSSL后,需要将openssl相关头文件及源文件加入编译,因此需要配置libgoahead.mk,配置内容如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第5张图片
    其中"$(WORKSPACE_openssl)/openssl/include"为OpenSSL工程中的头文件路径。"$(WORKSPACE_openssl)/$(Release)"为OpenSSL工程编译后存放动态库的文件目录。
    完成上述配置后,即可重新编译GoAhead-WebServer工程并上传目标设备。
  3. 启动GoAhead服务器
    启动Goahead服务器步骤如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第6张图片
    其中私钥和证书名称可通过修改bit.h文件进行设置,如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL
  4. 打开浏览器
    本文档采用的设备IP地址为10.9.0.94,打开浏览器在地址栏中键入:https://10.9.0.94 并回车将会提示如下图所示信息。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第7张图片
    点击“高级”后选择“继续前往10.9.0.94(不安全)”,如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第8张图片
    完成上述操作后即能够进入OpenRT的主界面,如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第9张图片
  5. 抓包测试
    未开启OpenSSL时,抓包数据如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第10张图片
    其中和用户数据相关的传输协议为HTTP,即HyperText Transfer Protocol,通过该种协议传输的数据内容是不经过加密的,因此可直接获得用户数据,从而导致用户隐私信息泄露。
    开启OpenSSL后,抓包数据如下图所示。
    基于SylixOS 对 Goahead 进行配置使用 OpenSSL_第11张图片
    其中和实际用户数据相关的传输协议为TLSv1.2,即Transport Layer Security Protocol,且打开数据包,其数据是经过加密的。从而保证了用户的隐私数据安全。