CentOS编译安装OpenSSL 3.3.1

news2024/7/6 20:05:24

640d4cf99bba63c87d0590a1b6d8cf70.gif

正文共:666 字 8 图,预估阅读时间:1 分钟

我们前面介绍了如何通过Windows Server生成证书Windows Server配置生成认证证书,也介绍了如何通过easy-RSA生成证书文件使用Easy-RSA配置生成SSL证书

其实,我们再安装了一个崭新的CentOS之后,系统自带的有一个OpenSSL工具,这是一个强大的安全套接字层密码库,可以用于实现各种加密和认证协议,如 SSL/TLS;当然也可以生成证书。

04a9d059e0b29175eecef6c93cc99afa.png

不过系统自带的版本时间比较早,即使更新软件也还是这个版本。但如果我们访问OpenSSL官方网站(https://www.openssl.org/source/),我们能看到官网都已经是3.x的版本了,而且有明确提醒,1.0.2版本已经不被支持且应当停止使用。

74f85c1722d65ff69a97aa31ce9fd439.png

目前在维护的这几个版本中,OpenSSL 3.0.14引入了新的 API,同时弃用了一些旧的不安全的功能,提高了安全性;OpenSSL 3.1系列引入了更多的新特性,比如支持TLS 1.3的零圆周密钥交换(0-RTT Key Exchange),更好的证书验证等;OpenSSL 3.2系列增加了对QUIC协议的支持,以及其他一些增强TLS安全性的特性;OpenSSL 3.3系列进一步增强了TLS和QUIC的功能,提升了性能,并且持续对代码进行了现代化改造。

如果老版本不能使用、并且无法通过yum更新的话,那就只能编译安装了。

在安装新版本之前,我们首先需要卸载旧版本。

yum remove openssl

898d911e052c233980384bdb1b5e14a6.png

然后下载最新的3.3.1版本。

wget https://www.openssl.org/source/openssl-3.3.1.tar.gz

编译安装可能会用到比较多的依赖,比如GCC编译器、perl等,经过多次尝试,发现依赖的编译环境如下:

yum install -y gcc gcc-c++ zlib-devel libtool autoconf automake perl perl-IPC-Cmd perl-Data-Dumper perl-CPAN

0a7b1f9a6af3fa0c556ef06392b515a0.png

解压下载的源码包。

tar -zxvf openssl-3.3.1.tar.gz

进入解压后的目录:

cd openssl-3.3.1

配置安装选项:

运行config脚本来配置安装选项,设置安装目录为/usr/local/openssl-3.3.1。

./config --prefix=/usr/local/openssl-3.3.1 shared zlib-dynamic enable-ec_nistp_64_gcc_128

运行make命令来编译安装OpenSSL。

make && make install_sw

a38a589ca74b7689fedc8e942db90f60.png

安装完成之后,生成了新的执行文件,需要创建一个新的软链接指向新安装的 OpenSSL。

9ebf7bf3022beb0fb8fdf2dae4cf80b1.png

ln -s /usr/local/openssl-3.3.1/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
ln -s /usr/local/openssl-3.3.1/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/openssl-3.3.1/bin/openssl /usr/bin/openssl

为了使系统能够在全局范围内访问openssl命令,需要更新PATH环境变量。编辑 ~/.bashrc 或 ~/.bash_profile 文件,在文件末尾添加环境变量。

vi ~/.bash_profile
export PATH=$PATH:/usr/local/openssl-3.3.1/bin

保存文件后,刷新环境变量使其立即生效:

source ~/.bash_profile

4863f3cd5a35187ecbf24c6371862320.png

运行命令验证新安装的OpenSSL版本。

openssl version

62172fc6a3b299726321a6e6f85d7dd2.png

可以看到,2024年6月4日的3.3.1版本安装成功。

506d99b3a70ad5a7bc0cc995369838c0.gif

长按二维码
关注我们吧

cf58757c7bdf7a5c26ff5b7ee0d9fbc0.jpeg

f441f045be8cfd098d52580831b15594.png

巧用openVPN实现访问云资源池业务

配置优化:将openVPN的配置文件合4为1

openVPN客户端连接指南

配置openVPN使用用户名密码认证

手撸一个自动搭建openVPN服务器的SHELL脚本

通过Nginx做一个openVPN配置文件下载页面

解决openVPN的递归路问题还是要从服务器端下手

OpenWrt部署配置openVPN服务器

OpenWrt配置openVPN客户端

openVPN+SmartDNS=openDNS or smartVPN?

openVPN + VPP = openVPP

Windows Server配置网卡绑定:NIC组合

惠普SSA(Smart Storage Administrator)配置术语详解

Tesla P40终于在DL580 Gen9上面跑起来了!

清华大模型ChatGLM3在本地Tesla P40上也运行起来了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024-6-18(沉默Spring,Springboot)

1.Spring小结 我们最后再来体会一下用 Spring 创建对象的过程: 通过 ApplicationContext 这个 IoC 容器的入口,用它的两个具体的实现子类,从 class path 或者 file path 中读取数据,用 getBean() 获取具体的 bean instance。 那…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验7 虚拟局域网VLAN

一、实验目的 1.学习如何划分VLAN; 2.验证划分VLAN的作用; 3.学习如何用命令行创建VLAN,将端口划分到VLAN,设置端口类型。 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频&am…

每日优秀影视分享❗❗

一、热门电影推荐 《头脑特工队 2》:皮克斯再次为观众带来了这部经典动画的续集。 影片讲述了刚步入青春期的小女孩莱莉脑海中的复杂情绪进行的一场奇妙冒险。 这部电影不仅延续了前作的优秀品质,更在情感深度和视觉呈现上有了进一步的提升。 《艾尔登…

【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow

一、介绍 球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 ‘美式足球’, ‘棒球’, ‘篮球’, ‘台球’, ‘保龄球’, ‘板球’, ‘足球’, ‘高尔夫球’, ‘曲棍球’, ‘冰球’,…

openEuler23.09安装Postgresql16.3

openEuler23.09安装Postgresql16.3,基于源代码编译安装PostgreSQL的基本步骤 一、PostgreSQL数据库服务环境搭建 操作系统版本 openEuler-23.09-x86_64-dvd.iso ,安装步骤此处省略。。。 最常用且直接的方法来查看openEuler的版本号是查看/etc/os-rel…

[Redis]缓存常见问题解决(缓存穿透、击穿、雪崩一文解决!通俗易懂、代码实战!手把手教你解决缓存问题三兄弟!)

Redis常见问题解决 要求 只用一种缓存技术,从实验点中挑一些试验进行试验原理。 1.缓存原理 目标:理解缓存的基本原理和工作机制。 实验步骤: 阅读各缓存技术机制的文档和官方资料。实现一个简单的应用程序,模拟数据的读写和…

AD导出Gender、坐标文件、BOM

导出Gender 方式一 等输出完成后,将工程文件下的OutPut文件打包发给厂家即可 方式二 导出外观、层 导出孔 导出坐标文件 导出BOM 备注 外观尽量用机械层 参考 https://blog.csdn.net/lwb450921/article/details/123141335

Python发送HTML邮件有哪些步骤?怎么设置?

Python发送HTML邮件如何实现?Python发送邮件的策略? HTML邮件不仅可以包含丰富的文本格式,还可以插入图片、链接和其他多媒体内容,从而提升邮件的美观性和功能性。AokSend将详细介绍Python发送HTML邮件的主要步骤,帮助…

动态规划:基本概念

Dynamic Programming 动态规划(Dynamic Programming, DP) 是一种算法设计技巧,通常用来解决具有重叠子问题和最优子结构性质的问题。它通过将问题分解为更小的子问题,逐步解决这些子问题并将结果存储起来,以避免重复计…

C++拷贝构造函数、运算符重载函数、赋值运算符重载函数、前置++和后置++重载等的介绍

文章目录 前言一、拷贝构造函数1. 概念2. 特征3. 编译器生成默认拷贝构造函数4. 拷贝构造函数典型使用场景 二、运算符重载函数三、赋值运算符重载函数1. 赋值运算符重载格式2. 赋值运算符只能重载成类的成员函数不能重载成全局函数3.编译器生成一个默认赋值运算符重载4. 运算符…

上交商汤联合提出一种虚拟试穿的创新方法,利用自监督视觉变换器 (ViT) 和扩散模型

上交&商汤联合提出一种虚拟试穿的创新方法,利用自监督视觉变换器 (ViT) 和扩散模型,强调细节增强,通过将 ViT 生成的局部服装图像嵌入与其全局对应物进行对比。虚拟试穿体验中细节的真实感和精确度有了显着提高,大大超越了现有…

使用粒子滤波(particle filter)进行视频目标跟踪

虽然有许多用于目标跟踪的算法,包括较新的基于深度学习的算法,但对于这项任务,粒子滤波仍然是一个有趣的算法。所以在这篇文章中,我们将介绍视频中的目标跟踪:预测下一帧中物体的位置。在粒子滤波以及许多其他经典跟踪…

Antd Table 表格 拖拽列宽

antd 的表格组件的列宽,是通过width属性去初始化的,有时候渲染的内容不固定,这个宽做不到通用所以研究怎么实现表格列宽拖动,主要的实现步骤如下: 使用table的components API修改表格头部为 react-resizable提供的组件…

专业技能篇---计算机网络

文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么?二、Http的状态码有哪些?三、 HTTP与HTTPS有什么区别?四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别?六、GET与POST WebSock…

基于机器学习和深度学习的C-MAPSS涡扇发动机剩余寿命RUL预测(Python,Jupyter Notebook环境)

涡扇发动机全称为涡轮风扇发动机,是一种先进的空中引擎,由涡轮喷气发动机发展而来。涡扇发动机主要特点是首级压缩机的面积比涡轮喷气发动机大。同时,空气螺旋桨(扇)将部分吸入的空气从喷射引擎喷射出来,并…

尚品汇-(四)

(1)商品的基本知识 1.1基本信息—分类 一般情况可以分为两级或者三级。咱们的项目一共分为三级,即一级分类、二级分类、三级分类。 比如:家用电器是一级分类,电视是二级分类,那么超薄电视就是三级分类。…

一单1800,这个项目凭什么这么火?

AI变现营八期学员一单1800成功拿下,这还是开营不到一周的结果! AI代写这个项目为什么现在越来越火? 第一点原因就是因为AI的火爆,让传统代写行业变现效率增加了N倍,普通人可以入局,只要会调教AI就可以了&am…

Win11下安装VS2022失败的解决办法

前几天我把我的HP Z840的操作系统换成了Win11,在重装VS2022时遇到了麻烦,提示无法安装 Microsoft.VisualStudio.Devenv.Msi。 查看安装日志提示:Could not write value devenv.exe to key \SOFTWARE\Microsoft\Internet Explorer\Main\Featur…

基于JSP的交通事故档案管理系统

开头语:你好,我是计算机学长猫哥,如果你对系统有更多的期待或建议,欢迎随时联系我。 开发语言:Java 数据库:MySQL 技术:JSPJava 工具:ECLIPSE、Tomcat 系统展示 首页 管理员界…

基于YOLOv5的火灾检测系统的设计与实现

基于YOLOv5的火灾检测系统的设计与实现 概述系统架构主要组件代码结构功能描述YOLOv5检测器视频处理器主窗口 详细代码说明YOLOv5检测器类视频处理类主窗口类 使用说明环境配置运行程序操作步骤 检测示例图像检测视频检测实时检测 数据集介绍数据集获取数据集规模 YOLOv5模型介…