基于SylixOS 对 Goahead 进行配置使用 OpenSSL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于SylixOS 对 Goahead 进行配置使用 OpenSSL相关的知识,希望对你有一定的参考价值。

  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,且打开数据包,其数据是经过加密的。从而保证了用户的隐私数据安全。

以上是关于基于SylixOS 对 Goahead 进行配置使用 OpenSSL的主要内容,如果未能解决你的问题,请参考以下文章

SylixOS中RTC设备驱动

经过一天的源码学习,总算找到了goahead将前端数据存在哪一个buf

SylixOS 基于AT91SAM9X25的CAN总线传输流程解析

goahead将前台表单内容输出到后台

GoAhead4.1.0 移植

SylixOS下基于Zynq-7000加载FPGA程序