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连接到百度服务器了。
GitHub 加速计划 / ope / openssl
25.12 K
9.99 K
下载
传输层安全性/安全套接层及其加密库
最近提交(Master分支:6 天前 )
fd39d1c8 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/25095) 1 个月前
ae87c488 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/25095) 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐