赞
踩
OpenSSL是一个开源的密码学工具包,提供了一组用于网络安全的加密和解密算法、协议以及相关工具的库,它通过提供多种加密算法、协议和工具,为网络通信和数据存储提供了强大的安全保障。
官网链接:[ Downloads ] - /source/index.html
当前平台/开发平台-编译环境:
- [root@localroot ~]# cat /etc/redhat-release
- CentOS Linux release 7.9.2009 (Core)
- [root@localroot ~]# uname -a
- Linux localroot 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
- [root@localroot ~]# lscpu | grep Architecture
- Architecture: x86_64
目标平台/运行平台-目标环境:
- root@linaro-alip:~# uname -a
- Linux linaro-alip 4.4.132 #38 SMP Sat Jan 4 15:11:14 CST 2020 armv7l GNU/Linux
- root@linaro-alip:~# lscpu | grep Architecture
- Architecture: armv7l
- # 步骤1
- ./Configure no-asm shared no-async --prefix=/usr/local/arm-openssl-3.0 CROSS_COMPILE=/home/project/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
-
- # no-asm: 是在交叉编译过程中不使用汇编代码代码加速编译过程,原因是它的汇编代码是对arm格式不支持的。
- # shared :生成动态连接库。
- # no-async:没有提供GNU C的ucontext库。
- # --prefix:安装目录
- # CROSS_COMPILE:交叉编译工具链前缀
- # 步骤2
- make
错误1:
- Can't locate IPC/Cmd.pm in @INC (@INC contains: /home/libopenssl/openssl-3.0.14/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /home/libopenssl/openssl-3.0.14/external/perl/Text-Template-1.56/lib) at /home/libopenssl/openssl-3.0.14/util/perl/OpenSSL/config.pm line 19.
- BEGIN failed--compilation aborted at /home/libopenssl/openssl-3.0.14/util/perl/OpenSSL/config.pm line 19.
- Compilation failed in require at ./Configure line 23.
- BEGIN failed--compilation aborted at ./Configure line 23.
解决方法:
yum -y install perl-IPC-Cmd
错误2:
解决方法: 删除Makefile中全部 -m64
- # 步骤3
- make clean # 首次编译出现问题,解决问题后执行
- make
- # 步骤4
- make install
结果,安装目录内容如下:
根据需求将以下交叉编译出来的库放到arm平台/lib/下:
例如:使用MD5加密算法。
1)将库拷贝至arm平台/lib/下
2)编译命令中指定头文件和库路径
arm-linux-gnueabihf-g++ ··· -I /usr/local/arm-openssl-3.0/include/ -L /usr/local/arm-openssl-3.0/lib64/ -lcrypto
3)代码中引入对应的头文件
#include <openssl/md5.h>
就可以在代码中使用md5算法啦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。