1. 编译并部署OpenSSL SylixOS支持OpenSSL,git地址为:http://git.sylixos.com/repo/openssl.git 获取OpenSSL工程源码后,导入RealEvo-IDE中编译,编译完成后生成动态库文件和openssl可执行文件,如下图所示。 配置设备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文件进行设置,如下图所示。
  4. 打开浏览器 本文档采用的设备IP地址为10.9.0.94,打开浏览器在地址栏中键入:https://10.9.0.94 并回车将会提示如下图所示信息。 点击“高级”后选择“继续前往10.9.0.94(不安全)”,如下图所示。 完成上述操作后即能够进入OpenRT的主界面,如下图所示。
  5. 抓包测试 未开启OpenSSL时,抓包数据如下图所示。 其中和用户数据相关的传输协议为HTTP,即HyperText Transfer Protocol,通过该种协议传输的数据内容是不经过加密的,因此可直接获得用户数据,从而导致用户隐私信息泄露。 开启OpenSSL后,抓包数据如下图所示。 其中和实际用户数据相关的传输协议为TLSv1.2,即Transport Layer Security Protocol,且打开数据包,其数据是经过加密的。从而保证了用户的隐私数据安全。