openssl库的编译安装-SUSE SEL-15

2024-04-17 10:32
文章标签 编译 安装 15 openssl suse sel

本文主要是介绍openssl库的编译安装-SUSE SEL-15,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一,简介

OpenSSL ,即open secure sockets layer,是一个开源的安全套接字层的密码库。包括常用的密码加解密算法、常用的密钥算法、证书管理和SSL协议。

1、库的主要内容

OpenSSL 库主要包含三大部分:
openssl(/usr/bin): 多用途的命令行工具,可以执行交互或批量命令。e.g. - openssl version 查看版本号. libcrypto(/user/lib64): 加解密算法库. libssl(/user/lib64):加密模块应用库,实现了ssl及tls。一下内容引用自README:

The OpenSSL toolkit includes:
libssl (with platform specific naming):
Provides the client and server-side implementations for SSLv3 and TLS.
libcrypto (with platform specific naming):
Provides general cryptographic and X.509 support needed by SSL/TLS but
not logically part of it.
openssl:
A command line tool that can be used for:
Creation of key parameters
Creation of X.509 certificates, CSRs and CRLs
Calculation of message digests
Encryption and decryption
SSL/TLS client and server tests
Handling of S/MIME signed or encrypted mail
And more…*

2、库的功能

OpenSSL 库主要实现对称加密与非对称加密、密钥证书管理的功能。

①、加密

a、对称加密算法

OpenSSL 提供了8种对称加密算法,分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5、RC4。

b、非对称加密算法

OpenSSL提供了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH一般用于密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,但用于数据加密,RSA算法的速度比较慢。DSA算法则一般只用于数字签名。

②、摘要

OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。

③、生成密码

④、生成随机数

⑤、生成密钥对

⑥、证书管理

生成证书,颁发证书,吊销证书

二、安装目的

编译qt5.15.0 qtbase 模块时, 执行configure后,在生成的config.summary文件中,openSSL 和 openSSL 1.1 项总是no, 即不编译OpenSSL,加参数-feature-openssl_header

三、编译安装

OpenSSL库的下载 官网下载:
https://www.openssl.org/source/old/

OpenSSL库是用C语言实现的,可将其编译为库文件后再对其进行调用,可编译为静态库和动态库,编译安装的方法可以参考源码根目录的INSTALL文件和各个平台的NOTES文件。以下我们将简单介绍其在pc linux和嵌入式平台的快速编译安装方法。

1、x86 UNIX运行平台

例如在SUSE enterprise 15平台运行OpenSSL库。

①、解压源码,进入源码目录
②、配置

使用命令:
./config --prefix=绝对路径安装目录 (具体参考INSTALL文档)
由于默认的安装路径是/usr/local,属于系统目录,安装在此目录下,该Linux环境都能使用OpensSSL的命令工具(慎用,会影响系统原有的旧版本openssl),但有时我们只是为了将OpenSSL编译为库文件(build qtbase 模块要用特定版本的openssl),将其集成到我们的代码工程调用,而不像让当前的Linux安装OpenSSL命令,这时我们要先通过“–prefix”选项指定安装目录,方便我们将OpenSSL作为库使用。“–prefix”选项后带的是绝对路径。

eg:

./config --prefix=/home/workspace/openssl-build

③、编译

命令:
make

④、测试(optional)

make test

⑤、安装

命令:

make install
安装成功后,可以在“–prefix”指定的目录中看到**bin目录、lib目录、include share ssl 目录。

在这里插入图片描述

2、win10 64 位平台

这篇关于openssl库的编译安装-SUSE SEL-15的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911555

相关文章

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github