交叉编译支持arm32位的Openssl

交叉编译支持arm32位的Openssl

  • 这里我用的是openssl-3.0.12.tar.gz版本

  • 目的:交叉编译自己的项目时需要用到libcrypto.a 、 libssl.a 静态库,现有的静态库x86-64格式的,编译报错

    在这里插入图片描述

    在这里插入图片描述

    接下来

交叉编译openssl

tar -xvf openssl-3.0.12.tar.gz
cd openssl-3.0.12/

/* 安装目录设为当前目录下的tmp,no-asm、shard的功能--阅读INSTALL.md */
./config no-asm shared --prefix=$PWD/tmp	
vi Makefile
	/CROSS_COMPILE			/* 搜索、配置为自己的交叉编译工具链, 例:arm-linux- */
	/-m64					/* 搜索-m64,将“-m64”删除 */
	:wq						/* 保存并退出Makefile */
make
make install

备注:

​ 在make后已经在当前文件夹下生成了支持arm32的libcrypto.so、libssl.so

​ 当然在make install之后生成的tmp目录下也有这两个库;

cd ./tmp/lib64
file ./*				/* 查看支持属性 */

在这里插入图片描述

开发板

  1. 查看开发板是否支持openssl
openssl version -a

结果:
OpenSSL 1.1.1g  21 Apr 2020
built on: Fri Jul 23 12:06:57 2021 UTC
platform: linux-armv4
options:  bn(64,32) rc4(char) des(long) idea(int) blowfish(ptr)
compiler: arm-buildroot-linux-gnueabihf-gcc -fPIC -pthread -Wa,--noexecstack -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -DOPENSSL_THREADS   -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DZLIB -DZLIB_SHARED -DNDEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
OPENSSLDIR: "/etc/ssl"
ENGINESDIR: "/usr/lib/engines-1.1"
Seeding source: os-specific

如果没有openssl,则需要将刚编译安装好的openssl移植到开发板上


如果没有openssl,则需要将刚编译安装好的openssl移植到开发板上

- 将./tmp目录下的bin文件、动态库文件根据自己的习惯,复制到相应的路径下

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值