在本文中,我们将向您展示如何在 CentOS 7/RHEL 7 上安装 OpenSSL 3.x。OpenSSL 是一个非常强大且广泛使用的开源库,其中包含用于实现安全套接字层 (SSL) 和传输层安全性的工具(TLS) 协议和许多其他加密功能,例如加密、解密、签名和验证。 OpenSSL 还支持多种加密算法,包括 RSA、DSA、Diffie-Hellman 和椭圆曲线加密。
CentOS 7/RHEL 7 系统上可安装的 OpenSSL 默认版本是 1.0.x。某些应用程序可能无法与旧版本的 OpenSSL 配合使用,解决方案是构建并安装较新版本的 OpenSSL。
$ openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
在我们在系统上安装 OpenSSL 3.x 之前,我们首先卸载这个旧版本的 OpenSSL。
sudo yum -y remove openssl openssl-devel
通过从源代码构建 OpenSSL 3.x 来确认软件包已被卸载。
$ openssl version
-bash: openssl: command not found
在 CentOS 7/RHEL 7 上安装 OpenSSL 3.x
OpenSSL 的主要源代码维护在 git 存储库中,并克隆到 GitHub 存储库。让我们从安装从源代码构建 OpenSSL 所需的所有依赖项开始。
安装构建 OpenSSL 所需的依赖项。
sudo yum -y groupinstall "Development Tools"
我们还需要安装 perl-IPC-Cmd
包。
sudo yum -y install perl-IPC-Cmd
下载OpenSSL 3.x的源代码,其中x替换为实际需要的版本。
# Version 3.1
cd /tmp
wget https://www.openssl.org/source/openssl-3.1.3.tar.gz
# Version 3.0
cd /tmp
wget https://www.openssl.org/source/openssl-3.0.11.tar.gz
提取下载的 OpenSSL 存档。
tar xvf openssl-*.tar.gz
导航到从文件提取创建的目录。
cd openssl-*/
通过运行下面提供的命令来配置 OpenSSL。
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
在哪里 :
--prefix
和--openssldir
控制已安装组件的配置。
Configuring OpenSSL version 3.1.3 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile
Created include/openssl/configuration.h
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
通过执行 make
命令构建 OpenSSL 3.x。
make -j $(nproc)
在 CentOS 7/RHEL 7 上安装 OpenSSL 3.x
sudo make install
使用以下命令更新共享库缓存。
sudo ldconfig
更新系统范围的 OpenSSL 配置:
sudo tee /etc/profile.d/openssl.sh<<EOF
export PATH=/usr/local/openssl/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:/usr/local/openssl/lib64:\$LD_LIBRARY_PATH
EOF
更新 shell 环境以在 CentOS/RHEL 7 系统上使用 OpenSSL 3.x。
source /etc/profile.d/openssl.sh
您还可以注销当前的 shell 会话:
logout
重新登录并验证 CentOS 7/RHEL 7 上是否安装了 OpenSSL 3.x
$ which openssl
/usr/local/openssl/bin/openssl
$ openssl version
OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)
结论
尽管 OpenSSL 是一个成功的项目并获得了许多组织的信任,但它也成为了一些备受瞩目的安全漏洞和攻击的目标。为了安全起见,我们强烈建议您更新到最新的稳定版本(如果适用)。确保您保持 OpenSSL 最新并遵循最佳实践以提高安全性。在本文中,我们能够在 CentOS 7/RHEL 7 系统上安装 OpenSSL 3.x。我们希望这篇文章对您有所帮助,并感谢您访问我们的网站。