使用openssl+curl让嵌入式设备实现https通讯

本文详细介绍了如何在嵌入式环境中安装和编译openssl库用于SSL支持,以及如何配置并编译curl以利用openssl进行HTTPS通信,包括设置编译选项和测试步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装openssl

编译openssl库

  1. 下载openssl库,这里笔者下载的版本是openssl-1.1.1k.tar.gz。
  2. 运行tar -vxzf openssl-1.1.1k.tar.gz解压压缩包,进入openssl-1.1.1k文件夹。
    在这里插入图片描述
  3. 运行 setarch i386 ./config no-asm shared --prefix=/home/lyy/work/openssl/arm-openssl --cross-compile-prefix=arm-linux-gnueabihf- 命令配置openssl并生成Makefile,具体配置参数含义如下:
    setarch i386:配置架构为i386,默认是x86
    no-asm:不使用汇编
    shared:编译动态链接库
    –prefix:指定编译安装路径
    –cross-compile-prefix:指定交叉编译工具
    在这里插入图片描述
  4. 修改Makefile。Makefile中使用" -m32",如果不去掉的话在后面的编译过程中将产生错误,所以需要找到" -m32"将其删除。
    在这里插入图片描述
  5. 运行make 编译openssl,没有问题后继续运行make install 安装openssl。执行结束后,没有问题的话可以在之前配置指定的路径中找到生成的文件。
    在这里插入图片描述

测试openssl

  1. 将编译出来的文件复制到开发板上,导出动态链接库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/customer/arm-openssl/lib 。
    在这里插入图片描述
  2. 测试openssl是否能够正常运行。
    在这里插入图片描述

2、安装curl

编译curl库

  1. 下载curl库,这里笔者下载的版本是curl-7.76.1.tar.gz。

  2. 运行tar -vxzf curl-7.76.1.tar.gz解压压缩包,进入curl-7.76.1文件夹。
    在这里插入图片描述

  3. 配置curl编译选项
    如果交叉编译工具下已经有openssl加密库,编译curl可能会优先使用交叉编译工具下的openssl加密库。这种情况下如果想链接自己编译的openssl库,最要显示的export出自己编译的openssl库的include和lib路径,如:
    export CPPFLAGS=“-I<path_to_openssl>/include”
    export LDFLAGS=“-L<path_to_openssl>/lib”

    运行 ./configure --prefix=/home/lyy/work/curl/libcurl --host=arm-none-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --with-ssl=/home/lyy/work/openssl/arm-openssl 命令配置openssl并生成Makefile,具体配置参数含义如下:
    –prefix:指定编译安装路径
    –host:指定主机
    CC:指定c语言编译工具
    CXX:指定c++编译工具
    –with-ssl:加入ssl,并指定ssl工具的路径
    在这里插入图片描述
    可以在最后结果看到curl已经配置加入ssl,并支持https协议了。
    在这里插入图片描述

  4. 运行make 编译curl,没有问题后继续运行make install 安装curl。执行结束后,没有问题的话可以在之前配置指定的路径中找到生成的文件。
    在这里插入图片描述

测试curl

  1. 将编译出来的文件复制到开发板上,导出动态链接库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/customer/arm-openssl/lib::/customer/libcurl/lib。
    在这里插入图片描述
  2. 查看curl版本,确定已经支持https协议。
    在这里插入图片描述
  3. 测试curl是否能够正常运行。
    在这里插入图片描述
    至此,开发板已经能使用curl通过https连接到百度服务器了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值