centos7 arm服务器编译安装openssl 1.1.1版本

news2024/11/19 8:36:26

前言

        在centos7中,默认安装的openssl版本是1.0.2,太低了,在python项目开发中,由于需要用到requests包,这时候就会出现如下错误“ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+”:

解决办法就只能通过升级openssl到1.1.1版本。

解决

文章最后提供一份免安装的openss1.1.1压缩包,只需要解压后建立软连接。

 1、环境准备

下载openssl1.1.1版本:下载地址

也可以通过wget命令下载,注意由于是https请求,需要添加--no-check-certificate

wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1t.tar.gz
2、解压
tar -xvf openssl-1.1.1t.tar.gz
3、构建
cd openssl-1.1.1t/
./config enable-ssl3 shared --prefix=/usr/local/openssl-1.1.1/

这里添加enable-ssl3 shared的目的:

OpenSSL 1.1.0 版本之后,默认禁用了SSLv3协议,只支持TLSv1.0及以上版本。但Python在构建ssl模块时,仍然需要SSLv3的支持。所以在编译OpenSSL时需要显式添加enable-ssl3配置来启用SSLv3协议。

如果不添加这个配置,编译Python时会出现您遇到的错误:

Could not build the ssl module! 
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().

这是因为Python试图调用OpenSSL的X509_VERIFY_PARAM_set1_host()函数,但这个函数是在OpenSSL 1.0.2版本引入的。而默认编译的OpenSSL 1.1.0及以上版本又禁用了SSLv3,所以Python无法构建ssl模块。

1、它会启用SSLv3协议,这样Python可以调用OpenSSL的SSLv3相关函数来构建ssl模块。
2、它会构建OpenSSL的早期兼容版本,这样Python可以调用像X509_VERIFY_PARAM_set1_host()这样的函数。

4、编译
make && make install
5、编译成功后建立软连接
# 备份系统的openssl
mv /usr/bin/openssl /usr/bin/oopenssl.bak

ln -s /usr/local/openssl-1.1.1/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl-1.1.1/lib/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/openssl-1.1.1/lib/libcrypto.so.1.1  /usr/lib64/
export LD_LIBRARY_PATH=/usr/local/oepnssl-1.1.1/lib:$LD_LIBRARY_PATH
6、版本验证
openssl version

如下图:

完毕!!!

下载地址:centos7的arm服务器编译后的openssl-1.1.1

这里提供一份编译后的openssl-1.1.1压缩包,理论上可以只需要直接进行上面5、6步,就可以升级成功,当然这种方式慎用,有问题在正常按教程编译。

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

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

相关文章

10万字200道软件测试经典面试总结(附答案)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,获取《110万字200道软件测试经典面试总结(附答案)》pdf,背题更方便,一文在手&#xff…

lvgl模拟器

学习目标 能够搭建lvgl模拟器开发环境 学习内容 项目源码准备 http://docs.lvgl.io/latest/en/html/get-started 下载模拟器项目 GitHub - lvgl/lv_port_pc_eclipse: PC simulator project for LVGL embedded GUI Library. Recommended on Linux and Mac. 下载lvgl源码 …

一键制作底片效果,让视频复古感倍增!

你是否厌倦了千篇一律的视频效果,想要尝试一些与众不同的视觉体验?是否想要让你的视频散发出一种复古、怀旧的气息?现在,有了我们的底片效果制作工具,这些愿望全部实现 首先第一步,我们要进入视频剪辑高手…

echarts柱状图顶部设置倾斜并且展示数字

将下面代码直接复制粘贴在此运行就能查看效果Apache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。https://echarts.apache.org/examples/zh/editor.html?care…

脚本计算器1.5

python是热门语言,库多,界面设计麻烦。 aardio是国人开发的编程语言,可以快速开发界面。 aardio核心下载包只有几兆,免安装,写import py3执行可以自动安装python嵌入包 import py3; import web.form; var wb web.form(mainFor…

eBPF运行时安全

引言 eBPF作为当前linux系统上最为炙手可热的技术,通常被用于网络流量过滤和分析、系统调用跟踪、性能优化、安全监控,当下比较知名的项目有Cilium、Falco等。 Cilium 是一个开源的容器网络和安全性项目,致力于提供高效的容器通信和强大的安…

关于cdn资源失效的问题,一个月了都解决不了,七牛云技术这么差的吗?

起因 最近登录我的gpt镜像网站后,发现关于面具的图片资源都失效了 CoCo-AI 于是紧急使用 F12 排查原因 发现所有图片拿出来都已经无法访问了。看来是资源出了问题 在网上一番搜索后发现是 cdn.staticfile.org 失效导致的,而该静态资源属于七牛云&#…

关于晶振回流焊工艺,你知道哪些呢!

晶振,作为现代电子设备中的核心元件,其制造过程需要经过多道精密的工艺流程。其中,回流焊工艺是晶振制造过程中一个至关重要的环节。本文将详细介绍回流焊工艺在晶振制造中的应用,以及关键的注意事项。 一、回流焊工艺简介 回流…

久坐提醒多久提醒一次比较好 让电脑每小时提醒更健康

作为一名上班族,我每天都与电脑为伴,久坐几乎成了我的常态。但随着时间的推移,我发现久坐真的有很多坏处。不仅容易腰酸背痛,而且有时还会感觉头晕目眩,工作效率也大打折扣。 为了改变这一状况,我开始寻找…

# 由cmos到基本逻辑门

由cmos到基本逻辑门 cmos 如图所示, g 0 g0 g0时,p管连通,n管断开;否则相反。 Not gate p p p管在上, n n n管在下;当 A 1 A1 A1, p p p断开, n n n接通, Y Y Y输出G…

在线文本差异对比工具

Text Compare! - Find differences between two text files

Langchain 与 Elasticsearch:创新数据检索的融合实战

1、简介 在信息爆炸的时代,有效地检索和处理数据变得至关重要。Langchain 和 Elasticsearch 的结合,为我们提供了一个强大的工具,以更智能的方式进行数据检索和分析。 作为一名拥有多年 Elasticsearch 实战经验的技术博主,我将在本…

D1380/D1381串行计时芯片,2.0V~5.5V 工作电流: 2V时 与TTL 兼容,采用DIP8、SOP8封装

D1380/D1381是一个带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节, D1380/D1381低功耗工作方式, D1380/D1381用若干寄存器存储对应信息,一个32.768kHz 的晶振校准时钟,为了使用最小弓|脚,D1380/D1381使用…

操作系统复习 九-十二 章

操作系统复习 九-十二 章 文章目录 操作系统复习 九-十二 章第九章 单处理器调度调度的概念调度的时机、切换与过程进程调度方式调度的基本准则进程的挂起态与七状态模型典型的调度算法 第十一章 I/O管理和磁盘调度I/O 设备I/O控制方式I/O子系统的层次结构IO子系统概述IO调度概…

各种排序算法学习笔记

Docshttps://r0dhfl3ujy9.feishu.cn/docx/XFlEdnqv9oCEoVx7ok8cpc4knnf?fromfrom_copylink如果你认为有错误,欢迎指出!

大数据开发之Hive(查询、分区表和分桶表、函数)

第 6 章:查询 6.1 基本语法及执行顺序 1、查询语句语法 select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list] [CLUSTER BY col_list| [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT n…

RK3568驱动指南|驱动基础进阶篇-进阶2 让驱动快一点被加载实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

【每日一题】删除排序链表中的重复元素 II

文章目录 Tag题目来源解题思路方法一:遍历链表 写在最后 Tag 【遍历链表】【链表】【2024-01-15】 题目来源 82. 删除排序链表中的重复元素 II 解题思路 几乎所有链表的题目都可以先将链表转成数组,再对数组执行操作,最后将数组还原回链表…

手写Springboot核心流程

目录 Springboot启动流程 核心代码 验证效果 Springboot启动流程 创建Spring容器, 扫描并启动容器选择Tomcat/Jetty创建DispatchServlet, 与spring容器绑定将DispatchServlet添加到Tomcat启动Tomcat 核心代码 1. 首先, 创建两个module 2. maven依赖 springboot模块依赖 &l…

网络安全|GitHub 已成为恶意软件传播的严重污染源

Recorded Future 凸显了全球合法平台威胁的上升。 根据 Recorded Future最近 的一份报告,开发者平台GitHub最近已成为黑客用来托管和传播恶意软件的流行工具。 该平台为攻击者提供了将其行为伪装成合法网络流量的能力,这使得跟踪和确定攻击者的身份变得…