在Linux上编译安装OpenSSL最新版本

介绍


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

你可能感兴趣的:(在Linux上编译安装OpenSSL最新版本)