介绍
OpenSSL是一种广泛使用的加密库,也用于SSL(安全套接字协议)和TLS(安全传输层协议)。许多程序(例如Apache Web服务器)都使用OpenSSL。OpenSSL支持各种加密算法,例如密码(AES,DES,IDEA等),加密哈希函数(MD5,MD4,SHA-1,SHA-2等)和公钥加密(RSA,DSA)。
第一步 安装依赖库
在编译安装OpenSSL之前需要安装依赖库。
Ubuntu系统
使用如下apt命令更新Ubuntu仓库并安装软件包依赖项以进行软件编译。
sudo apt update && sudo apt upgrade
sudo apt install build-essential checkinstall zlib1g-dev -y
Centos系统
使用yum命令安装 'Development Tools' 和一些软件包。
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
第二步 下载OpenSSL
在本示例中我们安装的是OpenSSL的最新版本1.1.1,可以从此处下载。
下面使用wget命令进行下载。
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
之后解压下载的文件,并进入解压好的文件夹中。
tar -zxvf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
第三步 编译安装OpenSSL
在安装前可以先检查一下安装的版本
openssl version -a
编译安装OpenSSL
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make && make install
笔记
- --prefix和--openssldir 设置OpenSSL的安装路径。
- shared 强制创建共享库。
- zlib 使用zlib库启用压缩。
没有报错OpenSSL就会安装在/usr/local/ssl目录中。
配置链接库
接下来,我们要未OpenSSL配置共享链接库,新安装的OpenSSL会从目录/usr/lical/ssl/lib中加载库文件。
在目录/etc/ld.so.conf.d目录下创建一个名为openssl-1.1.1k.conf的文件,并写入/usr/local/ssl/lib。
cd /etc/ld.so.conf.d
vim openssl-1.1.1k.conf
用如下命令重新加载动态链接。
ldconfig -v
然后可以看见OpenSSL库(/usr/local/ssl/lib)已经被加载了。
用/usr/local/ssl/bin/openssl替换旧的OpenSSL /usr/bin/openssl 或者 /bin/openssl
Ubuntu系统
备份旧的OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.backup
在环境变量中写入:/usr/local/ssl/bin
vim /etc/environment
重新加载环境变量文件并输入内容
source /etc/environment
echo $PATH
再次检查OpenSSL位置
which openssl
Centos系统
备份旧的OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.backup
为OpenSSL创建一个环境变量文件,并写入如下内容
vim /etc/profile.d/openssl.sh
#Set OPENSSL_PATH
OPENSSL_PATH="/usr/local/ssl/bin"
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH
执行openssl.sh 文件,并输出环境变量。
chmod +x /etc/profile.d/openssl.sh
source /etc/profile.d/openssl.sh
echo $PATH
再次检查OpenSSL位置
which openssl
第四步 测试安装结果
用如下命令查看安装的版本
openssl version -a