Linux下载及安装OpenSSL

文章目录

  • 前言
  • 一、OpenSSL下载
  • 二、OpenSSL安装
    • 1.上传下载好的安装包到服务器
    • 2.解压
    • 3.切换目录
    • 4.配置config
    • 5.编译
    • 6.安装
    • 7.备份旧版本OpenSSL
    • 7.创建软链接
    • 8.添加OpenSSL动态链接库
    • 9.更新库缓存
    • 10.查看OpenSSL版本验证安装是否成功

前言

一般系统会自带有OpenSSL,我们先安装新的版本,然后将环境配置成最新的版本

一、OpenSSL下载

  • OpenSSL下载地址:https://www.openssl.org/source/

    在这里插入图片描述

二、OpenSSL安装


一般Linux系统会自带有OpenSSL,可以使用openssl version 命令查看OpenSSL版本。这里我们先安装新的版本,然后将环境配置成最新的版本

在这里插入图片描述

1.上传下载好的安装包到服务器

在这里插入图片描述

2.解压

tar -xvf openssl-3.2.1.tar.gz

在这里插入图片描述

3.切换目录

cd openssl-3.2.1

在这里插入图片描述

4.配置config

  • --prefix:指定安装目录

  • --openssldir:指定配置文件目录

  • shared:作用是生成动态连接库

  • zlib:使用静态的zlib压缩库

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

    在这里插入图片描述

    如图所示报错则使用下面解决方法

    在这里插入图片描述

    解决方法:

    yum -y install perl-IPC-Cmd
    

5.编译

make

6.安装

make install

报错:

在这里插入图片描述

在这里插入图片描述

解决方法:(缺少openssl开发依赖包)
安装完成后,重复5、6步骤进行编译安装

yum -y install openssl-devel

7.备份旧版本OpenSSL

mv /usr/bin/openssl /usr/bin/old_openssl
mv /usr/lib64/openssl /usr/lib64/old_openssl
mv /usr/include/openssl /usr/include/old_openssl
rm -f /usr/lib64/libssl.so.10
rm -f /usr/lib64/libcrypto.so.10

在这里插入图片描述

7.创建软链接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

在这里插入图片描述

8.添加OpenSSL动态链接库

echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf.d/openssl-renwole.com.conf

在这里插入图片描述

9.更新库缓存

ldconfig

在这里插入图片描述

yum -y install gpm

10.查看OpenSSL版本验证安装是否成功

openssl version

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyQt5中QTablewidget生成右键菜单

QTablewidget生成右键菜单,需要自定义一个QTablewidget类 import sys from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QMenu, QAction, QDialog from PyQt5.QtCore import Qt from PyQt5 import QtCoreclass CustomTableWidget(QTabl…

搭建产品帮助体系简单易用思路

在这个数字化时代,产品帮助体系的在企业中占据着很大的地位。对于用户来说,一个简单易用的产品帮助体系非常重要,可以指引他们快速找到产品的相关信息。那么,如何搭建一个简单易用的产品帮助体系呢?下面,我…

2024/4/23 C++day1

有以下定义,说明哪些量可以改变哪些不可以改变? const char *p; 指针可以改变 值不可以改变 const (char *) p; 语法错误 char *const p; 指针不可以改变 值可以改变 const char* const p; 指针和值…

使用Excel生成sql脚本(insert/update/delete)

目录 前言 一、Excel文件脚本变量 二、操作示例 前言 在系统使用初期,存在某种原因,需要对数据库数据进行批量处理操作。往往都是通过制定Excel表格,通过Excel导入到数据库中,所以就弄一个excel生成sql的导入脚本,希…

中国茶叶在世界范围的普及

正如世界上所有美好的事物一样,茶的传播一样遭遇了反对的声音。 如反对者亨利萨威尔(1678)斥责饮茶是肮脏的习俗。 乔纳斯汉威在《论茶》(1756)中说,男人饮茶会丧失身材威仪,女人饮茶则容颜尽…

玩转nginx的配置文件3

1. limit_req_zone配置限流 limit_req_zone $binary_remote_addr zonemylimit:10m rate10r/s;upstream myweb {server 10.0.105.196:80 weight1 max_fails1 fail_timeout1;}server {listen 80;server_name localhost;location /login {limit_req zonemylimit;proxy_pass http:…

vue项目使用百度地图

打开百度地图开放平台 百度地图开放平台 | 百度地图API SDK | 地图开发 在控制台新建应用 复制访问应用的ak 可修改地图样式 使用部分 <!-- 引入地图 --><div class"main-aside"><div id"b-map-container"></div></div> …

C语言程序设计:预处理命令

预处理命令 基础知识 预处理命令简介 C语言的预处理命令是指编译之前由预处理器执行的指令&#xff0c;用于在源代码中进行一些预处理操作。 常见预处理命令 (1) #define 定义一个宏&#xff0c;用于替换源代码中的标识符为指定的文本。 #define MAX_NUM 100 int arr[MAX_NU…

神经网络应用

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

NXP i.MX8系列平台开发讲解 - 3.10 Linux PCIe资源分配与访问(二)

目录 1. PCIe BFD 2. PCIe 配置空间 2.1 PCIe 配置空间访问 PCIe I/O访问方法 PCIe MMIO访问方法 3. PCIe BAR相关 4. PCIe Capbility 5. PCIe 操作 本文将重点讲解PCIe的资源访问相关内容&#xff0c;对于PCIe资源访问是从Host 端老看可以对PCIe进行配置与访问的资源主…

《生成式AI导论》学习笔记

1.课程定位 2.什么是生成式人工智慧&#xff1f; 3. 今日的生成式人工智慧厉害在哪里&#xff1f; 4.训练不了人工智慧&#xff1f;那我训练自己 5.训练不了人工智慧&#xff1f;你可以训练你自己&#xff08;中&#xff09;——拆解问题使用工具 6.大语言模型修炼史——第一阶…

小程序AI智能名片S2B2C商城系统:解锁内容深耕新境界,助力品牌企业高效定制内容策略

在数字化时代&#xff0c;内容营销已成为品牌企业获取市场份额、增强用户黏性的关键武器。然而&#xff0c;面对海量的互联网信息和复杂多样的社交媒体平台&#xff0c;如何有效地深耕内容&#xff0c;成为众多品牌企业面临的难题。 传统的内容分类与识别方式&#xff0c;往往依…