网站搜索

如何在 CentOS 和 Ubuntu 中从源代码安装 OpenSSL


OpenSSL 是一个功能齐全的软件库,其中包含传输层安全性 (TLS) 和安全套接字的开源实现Layer (SSL) 协议,用于保护通过计算机网络传输的信息。

它是一个通用的密码学库,支持多种不同的密码算法,包括 AES、Blowfish; MD5、MD4、SHA-1、SHA-2 加密哈希函数; RSA、DSA、Diffie-Hellman 密钥交换、椭圆曲线等等。

在本文中,我们将解释如何从基于 CentOSUbuntu 的发行版上安装最新稳定版本的 OpenSSL

第1步:安装开发工具

1.要从源手动编译OpenSSL,您需要先在RHEL/CentOS下安装一些依赖项,例如“开发工具” /FedoraDebian/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 版本。如果您有任何疑问,请使用下面的命令表联系我们。