雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

如何在 CentOS 7/RHEL 7 上安装 OpenSSL 3.x

2024-07-03 61

在本文中,我们将向您展示如何在 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。我们希望这篇文章对您有所帮助,并感谢您访问我们的网站。


更新于:2个月前
赞一波!3

文章评论

全部评论