如何在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x
OpenSSL 是一个开源软件库,由用于实现传输层安全 (TLS) 和安全套接字层 (SSL) 协议以及其他加密功能(如签名、加密、解密和验证)的工具和库组成。操作系统和许多应用程序使用 OpenSSL 通过 Internet 提供安全通信。
CentOS 7 / RHEL 7 操作系统上可用的 OpenSSL 版本有点旧,如果需要较新的版本,某些应用程序会在编译时出错。
sudo yum -y install openssl openssl-devel
openssl version
从输出中可以看出,可用版本是1.0.2。如果已安装,请在继续之前将其删除。
sudo yum -y remove openssl openssl-devel
确认已卸载。
openssl version
在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x
OpenSSL 库提供了一套全面的密码功能,包括数字签名、对称和非对称加密、散列和证书管理。它还支持范围广泛的密码算法,包括 RSA、DSA、Diffie-Hellman 和椭圆曲线密码术。
安装构建 OpenSSL 所需的依赖项。
sudo yum -y groupinstall "Development Tools"
下载 OpenSSL 1.1.x 的源代码,其中x替换为所需的实际版本。
wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificate
提取下载的文件。
tar xvf openssl-1.1.1t.tar.gz
导航到从文件提取创建的目录。
cd openssl-1.1*/
配置 OpenSSL。您可以指定
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
在哪里:
--prefix
and--openssldir
control the configuration of installed components.
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1t (0x1010114fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** 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 file first) ***
*** ***
**********************************************************************
使用make
命令构建 OpenSSL 1.1.x。
make -j $(nproc)
在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.1
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:\$LD_LIBRARY_PATH
EOF
重新加载shell环境:
source /etc/profile.d/openssl.sh
注销当前的 shell 会话:
logout
重新登录并验证 CentOS 7 / RHEL 7 上是否安装了 OpenSSL 1.1.1
$ which openssl
/usr/local/openssl/bin/openssl
$ openssl version
OpenSSL 1.1.1t 7 Feb 2023
结论
OpenSSL 被广泛使用并且多年来一直受到信任,但它也一直是几个备受瞩目的安全漏洞和攻击的对象。因此,保持 OpenSSL 最新并遵循安全使用的最佳实践非常重要。在本文中,我们演示了如何在 CentOS 7 / RHEL 7 系统上安装 OpenSSL 1.1.x。这是对操作系统基础存储库中分发的默认版本的更新。