首页 程序笔记 在 Rocky/Alma/CentOS/RHEL 8 上安装 OpenSSL 3.x

在 Rocky/Alma/CentOS/RHEL 8 上安装 OpenSSL 3.x

在当前不断发展的网络安全格局中,保持领先于潜在的安全威胁至关重要。 OpenSSL 是著名的开源工具包,在保护网络计算机系统之间的通信安全方面发挥着关键作用。它提供了传输层安全 (TLS) 和安全套接字层 (SSL) 协议的开放实现,可保证网络中或通过互联网的设备之间传输的数据的完整性、真实性和机密性。

在撰写本文时,OpenSSL 3.1 是 OpenSSL 的最新版本。它具有大量改进和新功能,使其在保护数字通信和应对新兴威胁方面更加有效。在接下来的部分中,我们将介绍在 Rocky/Alma/CentOS/RHEL 8 上安装 OpenSSL 3.x 所需的步骤。

在 Rocky/AlmaLinux/CentOS/RHEL 8 上安装 OpenSSL 3.x

以下是在基于 CentOS/RHEL 的 Linux 发行版上安装 OpenSSL 3.x 时需要遵循的步骤。

第1步:更新系统

运行这些命令以确保基于 RHEL 的系统具有最新的安全补丁和软件更新。

sudo dnf -y update

应用更新后,您可以重新启动系统以使用最新的软件更新。

sudo reboot

步骤 2:卸载 OpenSSL 1.1

如果运行以下命令,它将显示当前安装的 OpenSSL 版本:

$ openssl version
OpenSSL 1.1.1k  FIPS 25 Mar 2021

我们将卸载这个旧版本,然后在系统上安装 OpenSSL 3.x。

sudo dnf remove openssl

查看依赖于此 OpenSSL 版本且可能被删除的其他应用程序。确认卸载。

$ openssl version
-bash: /usr/bin/openssl: No such file or directory

第三步:安装依赖包

OpenSSL 可能依赖于一些关键包来运行。安装基本的开发依赖项:

sudo dnf -y groupinstall "Development Tools"
sudo dnf -y install perl-IPC-Cmd  perl-Pod-Html

现在应该安装 Make 和 Gcc 软件包。

$  gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ make --version
GNU Make 4.2.1
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

步骤 4:下载并安装 OpenSSL 3.x

从 OpenSSL 下载页面下载 OpenSSL 3 版本。请记住将 URL 替换为从链接中获取的 URL。

# Version 3.1.x
cd /tmp
wget https://www.openssl.org/source/openssl-3.1.3.tar.gz

# Version 3.0.x
cd /tmp
wget https://www.openssl.org/source/openssl-3.0.11.tar.gz

解压缩下载的压缩存档文件。

tar xvf openssl-*.tar.gz

文件提取后导航到创建的文件夹。

cd openssl-*/

配置用于安装 OpenSSL 3.x 的文件

./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)      ***
***                                                                ***
**********************************************************************

构建并编译 OpenSSL 3.x 软件。

make -j $(nproc)

上面的命令将生成可执行文件和库,可以将它们复制到 Linux 系统上的适当位置。

sudo make install

使用以下命令配置和更新动态链接器运行时绑定。

sudo ldconfig

最后,我们可以更新 PATH 环境变量,该变量指定系统中可执行二进制文件所在的所有目录。

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

我们还使用 LD_LIBRARY_PATH 配置动态库路径以包含 OpenSSL 目录。完成后更新环境变量:

source /etc/profile.d/openssl.sh

确认安装的 OpenSSL 版本。

$ openssl version
OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)

我们可以测试依赖 OpenSSL 的软件包的安装。

sudo dnf install policycoreutils-python-utils

结论

采用 OpenSSL 3.x 意味着您关心安全性。这样您就可以享受数字基础设施的持续弹性。 OpenSSL 是数字互连世界中无可争议的盟友。 OpenSSL 开发社区致力于推动网络安全领域的前沿发展。我们希望这篇文章对您有所帮助。


3

站心网

在当前不断发展的网络安全格局中,保持领先于潜在的安全威胁至关重要。 OpenSSL 是著名的开源工具包,在保..

为您推荐

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

sourcetree安装跳过注册方法

SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

Vue 3.5引入新特性 还有与SSR相关的改进

Vue 3.5引入了响应式属性解构、useTemplateRef方法、useId实用函数、内部响应性重构等新特性。以下是具体介绍:响应式属性解构此功能允许开发者在defineProps宏中解构属性而不会失去响应性,这为组件间的属性传递提..

Asp.Net Core进程内托管 和 进程外托管的区别

在ASP.NET Core中,托管模型决定了应用程序如何运行及其与Web服务器交互的方式。主要有两种托管模式:进程内托管(In-Process Hosting)和进程外托管(Out-of-Process Hosting)。每种模式都有其独特的优势和适用场..

C# 使用Barrier进行多线程同步

在多线程编程中,同步是一个关键问题。Barrier 是 .NET 提供的一种同步机制,用于协调多个线程在执行某个阶段工作时进行等待,直到所有参与的线程都达到某个同步点后再继续执行。这对于需要在多个线程之间进行阶段性..

ASP.NET Core实现多语言本地化Web应用程序

构建全球可访问的网站和应用程序需要对内容进行适当的本地化,以吸引来自不同文化和地区的用户。ASP.NET Core 提供强大的本地化支持,以用户首选的语言和格式呈现内容。在本综合指南中,我们将探索 ASP.NET Core 中..

ASP.NET生成图片验证码

今天开始做一个新项目,包含完整的注册登陆流程,在登陆时需要输入验证码防止暴力破解。 制作思路是这样的: 准备使用handler一般处理程序来写,先随机从0-9和A-Z里随机取4个数字,将内容保存在Session中供验证时使..

C#发送邮件代码简洁示例(附源码下载)

C#发送邮件,主要使用的是System.Net.Mail命名空间下的方法实现,方法很简单,短短十几行代码即可完成发送,具体代码如下。 try { MailMessage myMail = new MailMessage(); myMail.From = new MailAddress..

发表回复

返回顶部

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制