OpenSSL v3.0.1版本安装及遇到的坑

这篇具有很好参考价值的文章主要介绍了OpenSSL v3.0.1版本安装及遇到的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:CentOS 7.6,腾讯云轻量应用服务器

最近在折腾Python的flask框架,但是在请求HTTPS连接时遇到了下面这个报错:

Caused by SSLError
(“Can‘t connect to HTTPS URL because the SSL module is not available.“)

一番搜索,认为是SSL版本过低的问题,不适配当前的Python版本,于是决定升级OpenSSL。

一、升级OpenSSL

openssl version    # 查看OpenSSL的当前版本

首先安装相关依赖:

yum install gcc libffi-devel zlib* openssl-devel

官网下载OpenSSL的新版本、解压并进入安装目录

wget https://www.openssl.org/source/openssl-3.0.1.tar.gz    # 官网下载OpenSSL
tar -zxvf openssl-3.0.1.tar.gz    # 解压安装包
cd openssl-3.0.1                  # 进入安装目录

配置安装目录(通过--prefix)及共享包(通过shared)

./config --prefix=/usr/local/openssl shared zlib

如果之前编译过,执行make clean清除object文件,没有则跳过此步

编译、编译安装

make            # 编译
make install    # 编译安装

安装完成后,直接进入程序目录,测试是否能使用:

cd /usr/local/openssl/bin
./openssl

结果报错:

./openssl: error while loading shared libraries: libssl.so.3: 
cannot open shared object file: No such file or directory

查看/usr/local/openssl/lib64目录,发现是有libssl.so.3这个库文件的,但是openssl程序却找不到,考虑是路径问题。一番搜索后明白了,openssl程序会去 /usr/lib/路径下去寻找库文件。

于是,把openssl的库文件全部拷贝到 /usr/lib/路径中去:

cp -r /usr/local/openssl/lib64/* /usr/lib

更新动态链接库

ldconfig

再次执行程序/usr/local/openssl/bin/openssl,已经不报错了。

再次输入openssl version查看版本,结果发现仍然是旧版本。

这是由于/usr/bin/openssl的软链接仍然指向旧的OpenSSL。

下面进行新旧版本替换:

# 备份旧版openssl
mv /usr/bin/openssl /usr/bin/openssl.bak-$(date +%m%d)

# 新版openssl软链接到旧openssl位置
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

# /etc/ld.so.conf 文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。
echo "/usr/local/openssl/lib">>/etc/ld.so.conf

# ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库。
ldconfig

二、重新编译Python3.11.2

待更

〇、参考:

  1. 编译安装openssl及安装完openssl后使用 ssh -V 查看依然是旧版openssl原因

  1. Python解决SSL不可用问题

  1. Can't connect to HTTPS URL because the SSL module is not available.详解文章来源地址https://www.toymoban.com/news/detail-585199.html

到了这里,关于OpenSSL v3.0.1版本安装及遇到的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT安装OPenSSL相应版本库

    QT使用http请求时提示缺少OpenSSL库或者不能使用http请求,本文章主要以QT5.11和QT5.15两个系列版本为例解决,其他版本相差无几。QT5.11为低版本系列,QT5.15为高版本系列。 文章目录 前言 诊断代码 一、QT 5.11系列版本 诊断 下载链接  库位置  二、QT5.15系列版本 诊断 下载链接 

    2024年02月06日
    浏览(29)
  • Ubuntu(WSL)卸载与安装指定版本的 openssl

    1)查找并删除 openssl 关联的目录与文件 2)删除软件安装包 3)删除配置文件  openssl 版本下载链接:/source/old/index.html (openssl.org) 1)解压 2)进入目录 3)创建安装目录 4)选择安装目录(prefix 是安装目录),并使用 -fPIC 参数链接动态库 5)编译 6)安装 7)查看版本 1)删除软

    2024年02月04日
    浏览(43)
  • ubuntu22.04 安装gazebo遇到的坑(无法打开显示界面)

    1.终端输入gazebo,无报错,也无显示界面 解决方法 :应用中找到system monitor,找到gzserver,右键kill 2.安装软件包遇到的错误:dpkg: error processing archive /var/cache/apt/archives/libignition-utils1-dev_1.5.1-1~jammy_amd64.deb (–unpack),trying to overwrite ‘/usr/include/ignition/utils1/ignition/utils/Environment.hh’

    2024年01月21日
    浏览(31)
  • 基于openssl v3搭建ssl安全加固的c++ tcpserver

    tcp server和tcp client同时使用openssl库,可对通信双方流通的字节序列进行加解密,保障通信的安全。本文以c++编写的tcp server和tcp client为例子,openssl的版本为v3。 openssl项目中的config脚本需要用到perl-IPC-Cmd工具。 安装的结果放在目录/opt/openssl中。 安装完毕后,结果如下图所示:

    2024年01月25日
    浏览(28)
  • CentOS 7 基于官方源码制作openssh 9.7p1版本rpm包(含ssh-copy-id和显示openssl版本信息)—— 筑梦之路

    制作过程参考之前的文章,CentOS 7 基于官方源码和openssl制作openssh 9.6 rpm包(含ssh-copy-id) —— 筑梦之路_openssh9.6-CSDN博客 几乎没啥差别 2023年3月12日,已经制作好的二进制rpm包和src包见我的资源。

    2024年04月13日
    浏览(31)
  • Linux升级openssl版本、安装nginx并配置https证书支持TLSv1.3

    参考文章 https://blog.csdn.net/weixin_43153854/article/details/109823633?utm_medium=distribute.pc_relevant.none-task-blog-2 default baidujs_baidulandingword~default-4-109823633-blog-106643510.pc_relevant_default_base2spm=1001.2101.3001.4242.3utm_relevant_index=7 参考文章 https://blog.csdn.net/t8116189520/article/details/81909574

    2024年02月14日
    浏览(31)
  • pip cryptography 遇到的 OpenSSL 问题

    pip install -r requirements.txt 遇到 bug           一眼抓 OpenSSL,如果是Windows 64 位系统,下载“Win64 OpenSSL”安装程序。 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com) https://slproweb.com/products/Win32OpenSSL.html         直接安装 openssl 安装包是最快捷方便的方法

    2024年02月09日
    浏览(66)
  • 全网独家:编译CentOS6.10系统的openssl-1.1.1多版本并存的rpm安装包

    CentOS6.10系统原生的openssl版本太老,1.0.1e,不能满足一些新版本应用软件的要求,但是它又被wget、mysql-libs、python-2.6.6、yum等一众系统包所依赖,不能再做升级。故需考虑在不影响系统原生openssl的情况下,安装较新版的openssl形成多版本并存,本文采用编译rpm包的方式完成了可

    2024年02月09日
    浏览(32)
  • 【Linux】升级openssl版本

    目录 摘要 准备工作 1.查看openssl的版本 2.查看openssl的路径 3.备份openssl文件 4.下载openssl 升级openssl 1.解压openssl 2.切换到解压好的openssl目录 3.配置openssl安装目录 4.编译安装 5.创建软链接 6.添加动态链接库数据 7.更新动态链接库:ldconfig -v 8.验证openssl 为什么要升级openssl版本,一

    2024年04月23日
    浏览(29)
  • 升级OpenSSL版本

    1、查看linux服务器内核版本     cat /proc/version 2、查看本地OpenSSL版本    openssl version    如果不是最新的openSSL 1.1.1版本,则可以进行升级    下载最新的openssl版本    wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz    或者    外网下载openssl-1.1.1c.tar.gz安装包,然后拷贝到

    2024年02月08日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包