linux安装openssl到指定目录

本文详细介绍了在嵌入式Linux环境下,如何编译多个版本的OpenSSL,包括准备工作、安装步骤、配置参数解析及测试方法。通过指定安装路径和静态库生成,实现与系统openssl的独立共存。

背景:

最近在做linux嵌入式开发,发现项目中不同分支均有一套openssl源码和静态库,并没有依赖系统(编译服务器)openssl头文件和静态库。

带着些许的疑问,思考得出:在嵌入式设备里,并不需要给系统安装openssl,只需要编译时连接openssl的静态库即可。不同的分支、平台编译openssl源码安装到指定分支目录,链接可执行程序时,链接上该目录上的openssl静态库即可。

结论:openssl可以安装n个,当然系统只能安装一个(系统目录下或配置环境变量的目录下只能有一个),其他目录想安装多少就可以安装多少,想安装什么版本就可以安装什么版本,和系统安装的不冲突。

检测系统是否安装openssl:

openssl version -a

检测系统是否安装openssl,本质就是去指定目录搜索是否有openssl可执行文件。

1、准备

  1. 下载OpenSSL,官网下载地址:https://www.openssl.org/source/
  2. 需要先安装zlib,这里很详细:http://myswirl.blog.163.com/blog/static/513186422007101410382259/

2、安装

以openssl-1.0.2m.tar.gz为例:

1、解压OpenSSL

tar -zxf openssl-1.0.2m.tar.gz
cd openssl-1.0.2m

2、配置openssl安装参数

./config no-shared --prefix=/home/my/share/demo/openssl/local --openssldir=ssl

config 配置安装参数的可执行文件;
no-shared 指定生成的openssl库为静态库,即生成libcrypto.a和libssl.a;(默认生成动态库)
–prefix 指定安装路径; 默认是’/usr/local/ssl’ ,这里貌似只能为绝对路径;(./和…/测试不好使)
–openssldir 配置参数路径,在只需要头文件和静态库时,感觉意义不大;(安装时这里的路径是在–prefix指定路径的子目录下的,可能和系统或版本有关系)

配置完成后,最好检查下MakeFile文件内,安装路径是否已修改为–prefix指定的路径。

3、编译openssl

make

4、测试openssl

make test

此步可省略,建议最好测试下。

5、安装openssl

make install

安装完成,显示如下:
在这里插入图片描述
bin目录下有openssl可执行文件,若执行刚才安装的openssl版本,可cd到bin目录下,执行./openssl(直接执行openssl为系统openssl)
include下有openssl文件夹,openssl文件夹为相关的头文件;
lib目录下有libcrypto.a和libssl.a静态库;
ssl文件夹为–openssldir=ssl指定文件夹;

重要事情说三遍:
优先阅读官方安装说明文档;
优先阅读官方安装说明文档;
优先阅读官方安装说明文档;

参考资料:
https://blog.youkuaiyun.com/chengqiuming/article/details/70139714
https://blog.youkuaiyun.com/shiyong1949/article/details/78212971?locationNum=10&fps=1
http://myswirl.blog.163.com/blog/static/513186422007101410149578/
https://blog.youkuaiyun.com/qq_37990044/article/details/79198623
https://blog.youkuaiyun.com/stelalala/article/details/9673385
https://www.linuxidc.com/Linux/2017-09/147117.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值