如何在 CentOS 和 Ubuntu 中从源代码安装 OpenSSL
OpenSSL 是一个功能齐全的软件库,其中包含传输层安全性 (TLS) 和安全套接字的开源实现Layer (SSL) 协议,用于保护通过计算机网络传输的信息。
它是一个通用的密码学库,支持多种不同的密码算法,包括 AES、Blowfish; MD5、MD4、SHA-1、SHA-2 加密哈希函数; RSA、DSA、Diffie-Hellman 密钥交换、椭圆曲线等等。
在本文中,我们将解释如何从基于 CentOS 和 Ubuntu 的发行版上安装最新稳定版本的 OpenSSL。
第1步:安装开发工具
1.要从源手动编译OpenSSL,您需要先在RHEL/CentOS下安装一些依赖项,例如“开发工具” /Fedora 或 Debian/Ubuntu 中的“build-essential”,如图所示。
------------------- On CentOS, RHEL & Fedora -------------------
yum group install 'Development Tools' && yum install perl-core libtemplate-perl zlib-devel
------------------- On Ubuntu & Debian -------------------
sudo apt update && apt install build-essential checkinstall zlib1g-dev libtemplate-perl
第 2 步:从源代码编译 OpenSSL
2. 接下来,下载OpenSSL的最新稳定版本(在撰写本文时为v1.0.2,这是一个长期支持(LTS)版本,支持至2019年12月31日),从下载页面使用以下wget命令并使用tar命令解压。
wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz
tar -xzvf openssl-1.0.2p.tar.gz
3.现在,进入提取的目录,配置,构建,成功构建后,测试库并将OpenSSL安装在默认位置,即/usr/local/ssl,通过运行以下命令。
cd openssl-1.0.2p/
./config
make
make test
sudo make install
4.成功安装OpenSSL后,您可以进入安装目录并使用ls命令查看各个子目录和文件。
cd /usr/local/ssl/
$ ls -l
drwxr-xr-x. 2 root root 4096 Aug 22 06:37 bin
drwxr-xr-x. 2 root root 4096 Aug 22 06:37 certs
drwxr-xr-x. 3 root root 4096 Aug 22 06:37 include
drwxr-xr-x. 4 root root 4096 Aug 22 06:37 lib
drwxr-xr-x. 6 root root 4096 Aug 22 06:36 man
drwxr-xr-x. 2 root root 4096 Aug 22 06:37 misc
-rw-r--r--. 1 root root 10835 Aug 22 06:37 openssl.cnf
drwxr-xr-x. 2 root root 4096 Aug 22 06:37 private
以下是您需要注意的重要目录:
- bin – 包含 openssl 二进制文件和一些实用程序脚本。
- include/openssl – 包含构建您自己的使用 libcrypto 或 libssl 的程序所需的头文件。
- lib – 包含 OpenSSL 库文件。
- lib/engines – 包含 OpenSSL 动态可加载引擎。
- man – 包含 OpenSSL 手册页。
- share/doc/openssl/html – 包含手册页的 HTML 版本。
- certs – 证书文件的默认位置。
- private – 私钥文件的默认位置。
5.要检查您刚刚安装的OpenSSL版本,请运行以下命令。
/usr/local/ssl/bin/openssl version
OpenSSL 1.0.2p 14 Aug 2018
6.要在系统上使用新安装的OpenSSL版本,需要将目录/usr/local/ssl/bin/添加到您的 PATH,位于文件 ~/.bashrc(或 shell 的等效文件)中。
vim ~/.bashrc
在文件底部添加此行。
export PATH="/usr/local/ssl/bin:${PATH}"
保存并关闭文件,然后使用以下命令重新加载配置。
source .bashrc
7. 现在打开一个新的终端窗口并运行以下命令以确认新的 OpenSSL 二进制文件位于您的 PATH 中,并且您可以运行它而不输入其完整路径。
whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/local/ssl/bin/openssl /usr/share/man/man1/openssl.1ssl.gz
openssl version
OpenSSL 1.0.2p 14 Aug 2018
就这样!在本文中,我们解释了如何在 Linux 系统上从源代码安装最新的 OpenSSL 版本。如果您有任何疑问,请使用下面的命令表联系我们。