OpenSSL命令手册

news2024/11/25 15:36:36

53f1c58c4224ce31932414d95f6250e2.gif

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

我们前面编译安装了OpenSSL命令工具CentOS编译安装OpenSSL 3.3.1,这是一个强大的安全套接字层密码库,可以用于实现各种加密和认证协议,如 SSL/TLS;当然也可以生成证书。

要使用openssl命令行工具,我们就得了解一下相关命令,使用man命令,我们可以看到命令指导,但是是基于2019年8月9日发版的1.0.2k版本的,也就是CentOS自带的版本,针对我们最新的3.3.1版本,还没有找到命令手册。

52eb9174e1d46bdf860bb842bf26f27e.png

简介

openssl command [ command_opts ] [ command_args ]
openssl [ list-standard-commands | list-message-digest-commands | list-cipher-commands | list-cipher-algorithms | list-message-digest-algorithms | list-public-key-algorithms]
openssl no-XXX [ arbitrary options ]

494dde69b68c1a9453ad93fb17c7e24f.png

b8a35b702c2791881b4da032e08ca138.png

说明

OpenSSL是一个加密工具包,用于实现安全套接字层(Secure Sockets Layer:SSL v2/v3)传输层安全性(Transport Layer Security:TLS v1)网络协议及其所需的相关加密标准。

openssl程序是一个命令行工具,用于从shell中使用openssl加密库的各种加密函数。它可以用于:

*私钥、公钥和相关参数的创建和管理。

*公钥加密操作。

*X.509证书、CSR和CRL的创建。

*消息挖掘的计算。

*密码的加解密。

*SSL/TLS客户端和服务器测试。

*S/MIME签名或加密邮件的处理。

*时间戳请求、生成和验证。

d4206e8986637dbacbbfe9e7274d0bd5.png

命令摘要

openssl程序提供了各种各样的命令(上面“SYNOPSIS/简介”中的命令),每个命令通常都有丰富的选项和参数(SYNOPSIS的command_opts和command_args)。

伪命令列表标准命令、列表消息摘要命令和列表密码命令分别输出当前openssl实用程序中可用的所有标准命令、消息摘要命令或密码命令的名称列表(每行一个条目)。

伪命令列表密码算法和列表消息摘要算法列出所有密码和消息摘要名称,每行一个条目。别名列为:

from => to

伪命令列表公钥算法列出了所有支持的公钥算法。

伪命令no-XXX测试指定名称的命令是否可用。如果不存在名为XXX的命令,则返回0(成功),不打印XXX;否则返回1并打印XXX。在这两种情况下,输出都会进入stdout,而不会向stderr输出任何内容。其他命令行参数始终被忽略。由于每个密码都有一个相同名称的命令,这为shell脚本测试openssl程序中密码的可用性提供了一种简单的方法。(没有XXX无法检测伪命令,如quit、list-...-命令,或者没有no-XXX本身。)

80fcd2ac876b8515a8beb65bdb2baad8.png

标准命令

asn1parse:解析ASN.1序列。

ca:证书颁发机构(Certificate Authority,CA)管理。

ciphers:加密套件描述确定。

9b6cfa02f8a2be59d6609327af98a6fb.png

cms:CMS(Cryptographic Message Syntax,加密消息语法)实用程序。

crl:证书吊销列表(Certificate Revocation List,CRL)管理。

dgst:消息摘要计算(Message Digest Calculation)

dh:Diffie-Hellman参数管理,已被dhparam淘汰。

dhparam:Diffie-Hellman参数的生成和管理。被genpkey和pkeyparam取代。

810b4dcb32a84789b57ef40d92594d2b.png

dsa:DSA数据管理。

dsaparam:DSA参数生成和管理,被genpkey和pkeyparam取代。

ec:EC(Elliptic curve,椭圆曲线)密钥处理。

ecparam:EC参数操作和生成。

enc:使用加密套件进行编码。

engine:引擎(可装载模块)信息和操作。

e489f6d69806ff8a1b232f1660f89f1f.png

errstr:错误编号到错误字符串的转换。

gendh:Diffie-Hellman参数的生成,已被dhparam淘汰。

gendsa:根据参数生成DSA私钥。被genpkey和pkey取代。

genpkey:私钥或参数的生成。

867765d7959895aa529e5cdc4f5de7b0.png

genrsa:RSA私钥的生成。被genpkey取代。

nseq:创建或检查netscape证书序列。

ocsp:联机证书状态协议实用程序。

passwd:生成哈希密码。

pkcs12:PKCS#12数据管理。

pkcs7:PKCS#7数据管理。

pkey:公钥和私钥管理。

c1a7729a1517f514a73adda09ac6d998.png

pkeyparam:公钥算法参数管理。

6cff25349599630ea1a0193dc83708f7.png

pkeyutl:公钥算法加密操作实用程序。

be7f21e7688c9ea35c2604ff0809cdb4.png

rand:生成伪随机字节。

req:PKCS#10 X.509证书签名请求(Certificate Signing Request,CSR)管理。

rsa:RSA密钥管理。

rsautl:RSA用于签名、验证、加密和解密的实用工具。被pkeyutl取代

s_client:这实现了一个通用的SSL/TLS客户端,它可以建立到使用SSL/TLS的远程服务器的透明连接。它仅用于测试目的,仅提供基本的接口功能,但在内部主要使用OpenSSL ssl库的所有功能。

s_server:这实现了一个通用的SSL/TLS服务器,它接受来自使用SSL/TLS的远程客户端的连接。它仅用于测试目的,仅提供基本的接口功能,但在内部主要使用OpenSSL ssl库的所有功能。它既提供了自己的面向命令行的协议来测试SSL功能,也提供了一个简单的HTTP响应工具来模拟支持SSL/TLS的Web服务器。

s_time:SSL连接计时器。

sess_id:SSL会话数据管理。

smime:S/MIME邮件处理。

speed:算法速度测量。

3e2c224c09dce389b064c9c93329ce22.png

spkac:SPKAC打印和生成实用程序。

ts:时间戳权威工具(客户端/服务器)。

verify:X.509证书验证。

版本:OpenSSL版本信息。

b034bc1f9ebf2a705027d38b01118a32.png

x509:X.509证书数据管理。

07238672a02cca4c3e08e36765549f23.png

消息摘要命令

md2:md2摘要。

md5:md5摘要。

mdc2:mdc2摘要。

rmd160:RMD-160摘要。

sha:SHA摘要。

sha1:SHA-1摘要。

sha224:SHA-224摘要。

sha256:SHA-256摘要。

sha384:SHA-384摘要。

sha512:SHA-512摘要。

15a6e72b6c25242690ed66c7daa55432.png

编码和加密命令

base64:base64编码。

bf/bf-cbc/bf-cfb/bf-ecb/bf-ofb:Blowfish加密。

cast/cast-cbc:CAST加密。

cast5-cbc cast5-cfb cast5-ecb cast5-ofb:CAST5加密。

des/des-cbc/des-cfb/des-ecb/des-ede/des-ede-cbc/des-ede-cfb/des-ede-ofb/des-ofb:DES加密。

des3/desx/des-ede3/des-ede3-cbc/des-ede3-cfb/des-ede3-ofb:Triple-DES加密。

idea/idea-cbc/idea-cfb/idea-ecb/idea-ofb:IDEA加密。

rc2/rc2-cbc/rc2-cfb/rc2-ecb/rc2-ofb:RC2加密。

rc4:RC4加密。

rc5/rc5-cbc/rc5-cfb/rc5-ecb/rc5-ofb:RC5加密。

e028c708df697df7a50de6658ec9efa2.png

PASS短语参数

有几个命令接受密码参数,通常分别使用-passin和-passout作为输入和输出密码。这些允许从各种来源获取密码。这两个选项都采用一个参数,其格式如下所述。如果没有给出密码参数,并且需要密码,则系统会提示用户输入一个:这通常是在关闭回显的情况下从当前终端读取的。

pass:password,实际的密码是password。由于密码对实用程序是可见的(如Unix下的“ps”),因此只能在安全性不重要的情况下使用此表单。

env:var,从环境变量var中获取密码。由于其他进程的环境在某些平台上是可见的(例如,某些Unix操作系统下的ps),因此应谨慎使用此选项。

file:pathname,路径名的第一行是密码。如果将相同的路径名参数提供给-passin和-passout参数,则第一行将用于输入密码,下一行将用于输出密码。路径名不需要引用常规文件:例如,它可以引用设备或命名管道。

fd:number,从文件描述符编号中读取密码。例如,这可以用于通过管道发送数据。

stdin:从标准输入中读取密码。

f6113e4568ffb8d627d9e8936c1f8e7d.png

相关命令

asn1parse,ca,config,crl,crl2pkcs7,dgst,dhparam,dsa,dsaparam,enc,gendsa,genpkey,genrsa,nseq,openssl,sslpasswd,pkcs12,pkcs7,pkcs8,sslrand,req,rsa,rsautl,s_client,s_server,s_time,smime,spkac,verify,version,x509,crypto,ssl,x509v3_config

2af86baeee1c281fdcd43f45457d01ba.gif

长按二维码
关注我们吧

01cc2d99ad7e69f60f0f2ebcd8800c4d.jpeg

b006362eaaba257c11eeddd4d24908d5.png

CentOS编译安装OpenSSL 3.3.1

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

网络之路29:三层链路聚合

网络之路30:配置VRRP

网络之路31:配置VRRP多备份组负载分担

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

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

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

openVPN客户端连接指南

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

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

OpenWrt部署配置openVPN服务器

OpenWrt配置openVPN客户端

openVPN配置实现客户端互访

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

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

相关文章

福州大学 2022~2023 学年第 1 学期考试 A 卷压轴题参考答案

题目: 定义一个抽象类Structure(含有纯虚函数type函数,用以显示当前结构的类型; 含有show函数), 在此基础上派生出Building类, 用来存储一座楼房的层数、房间数以及它的总平方米数。 建立派生 类House&am…

QML 实现上浮后消失的提示框

基本效果:上浮逐渐显示,短暂停留后上浮逐渐消失 为了能同时显示多个提示框,一是需要动态创建每个弹框 Item,二是弹出位置问题,如果是底部为基准位置就把已经弹出的往上移动。 效果展示: 主要实现代码&…

路由模式--哈希模式下使用a标签跳转会有问题

路由模式分为 history 和 hash 两种模式&#xff0c;在 hash 模式下&#xff0c;使用 a 标签去跳转路由&#xff0c;可能会有问题。 比如&#xff1a; <a href"/home"><img src"/logo.png" class"logo" /></a> 在跳转路由时…

机器学习数学原理专题——线性分类模型:损失函数推导新视角——交叉熵

目录 二、从回归到线性分类模型&#xff1a;分类 3.分类模型损失函数推导——极大似然估计法 &#xff08;1&#xff09;二分类损失函数——极大似然估计 &#xff08;2&#xff09;多分类损失函数——极大似然估计 4.模型损失函数推导新视角——交叉熵 &#xff08;1&#x…

Java | Leetcode Java题解之第174题地下城游戏

题目&#xff1a; 题解&#xff1a; class Solution {public int calculateMinimumHP(int[][] dungeon) {int n dungeon.length, m dungeon[0].length;int[][] dp new int[n 1][m 1];for (int i 0; i < n; i) {Arrays.fill(dp[i], Integer.MAX_VALUE);}dp[n][m - 1] …

C语言入门系列:初识函数

文章目录 一&#xff0c;C语言函数与数学函数的区别1&#xff0c;回忆杀-初中数学2&#xff0c;C语言中的函数 二&#xff0c; 函数的声明1&#xff0c;函数头1.1&#xff0c;函数名称1.2&#xff0c;返回值类型1.3&#xff0c;参数列表 2&#xff0c;函数体2.1&#xff0c;函数…

idea右侧找不到Maven,在View-> Tool Windows下也找不到

正常情况Idea右侧没有Maven&#xff0c;只需去View -> Tool Windows 目录中找到Maven并点击Maven&#xff0c;Idea右侧就会出现 问题&#xff1a; idea右侧找不到Maven&#xff0c;在View -> Tool Windows 目录中也找不到Maven&#xff0c;下图 全局搜索ctrl N&#xff…

数据结构历年考研真题对应知识点(栈和队列的应用)

目录 3.3栈和队列的应用 3.3.2栈在表达式求值中的应用 【中缀表达式转后缀表达式的过程(2012、2014)】 【栈的深度分析(2009、2012)】 【用栈实现表达式求值的分析(2018)】 3.3.3栈在递归中的应用 【栈在函数调用中的作用和工作原理(2015、2017)】 3.3.5队列在计算机系…

苹果智能和人工智能最大化

苹果智能和人工智能最大化 除了苹果公司&#xff0c;还没有人真正使用过苹果的智能功能。它要到秋天才会分阶段发布&#xff0c;即使到那时&#xff0c;它也无法在80%或90%的iPhone安装基础上运行&#xff0c;因为它需要只有iPhone 15 Pro才能使用的设备上处理功能。没有什么能…

如何从magento1迁移到magento2

m2相较m1 变化可以说非常大&#xff0c;相当于从头到位都改写一遍&#xff0c;更现代化&#xff0c;更优雅。除了数据库表变化不是很大。 主要迁移的内容有&#xff1a; 1&#xff0c;主题 2&#xff0c;插件(自己开发的或者第三方插件) 3&#xff0c;数据库 主题 不能迁移到m…

如何在Windows 11和10上清除更新缓存?这里提供了几种方法

​Windows 11和Windows 10都可以非常轻松地清除Windows更新缓存。可以使用图形方法或命令行选项删除保存的更新文件。我们将向你展示你的可用选项。 为什么要清除Windows更新缓存 你可能希望清除Windows更新缓存的原因有很多。 你可能在查找或安装更新时遇到问题,清除缓存通…

如何恢复丢失的文件?免费为 Mac 恢复数据

丢失 Mac 上的重要文件是一件非常痛苦的事情。无论是重要的工作文件、重要文件还是心爱的照片&#xff0c;意外删除它们或出现系统错误都会非常令人沮丧。别担心&#xff1b;有办法&#xff1a;奇客数据恢复Mac版。这款免费的 Mac 文件恢复软件就像您文件的救星 - 当出现问题时…

每日一练:攻防世界:5-1 MulTzor

一、XorTool 基于 XOR&#xff08;异或&#xff09;运算实现。它可以帮助您快速地对文本、二进制文件进行加密解密操作。 认识XorTool工具&#xff1a; 让我们先去认识一下工具&#xff1a; xortool.py 是基于 python 的脚本&#xff0c;用于完成一些 xor 分析&#xff0c;…

持久化、主从 、分片、哨兵

目录 持久化 RDB&#xff08;存数据&#xff09; 使用场景 bgsave 使用方法 原理 AOF&#xff08;存命令&#xff09; 使用方法 原理 bgrewriteaof AOF和RDB 主从集群 搭建 数据同步原理(slave宕机&#xff09; 全量同步 增量同步 集群优化 总结 哨兵机制&…

JAVA学习过程中遇到的问题

前言 记录学习过程中遇见的各种问题。希望对你有帮助。 目录 前言 1、新建maven项目时&#xff0c;archetype项目骨架加载慢 2、maven的pop.xml添加依赖项无法检测到 3、java: 无效的目标发行版: 20 4、idea添加maven依赖太慢 5、CTRLCV复制粘贴太慢 6、Swagger写接口文…

手持弹幕LED滚动字幕屏夜店表白手灯接机微信抖音小程序开源版开发

手持弹幕LED滚动字幕屏夜店表白手灯接机微信抖音小程序开源版开发 专业版 插件版 手持弹幕小程序通常提供多种功能&#xff0c;以便用户在不同的场合如夜店、表白、接机等使用。以下是一些常见的功能列表&#xff1a; 文本输入&#xff1a; 输入要显示的文字内容&#xff0c;…

Android招聘市场技术要求越来越高,从事三年开发是否应该考虑转行?

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训&#xff0c;学会这小块知识就能随便找到不错的工作了。 不过很显然现在远远不够了&#xff0c;拒绝无休止的CV&#xff0c;亲自去项目实战&#xff0c;读源码&#xff0c;研究原理吧&#xff01; 《Framework精编…

HeidiSQL导入与导出数据

HeidiSQL两种导入与导出数据的方法&#xff1a;整个库复制&#xff0c;和仅复制数据 一 整个库复制 1 选中需要导出的数据库(这里是MyDBdata)&#xff0c;点击导出为SQL脚本。 2 按照如图进行选择 3 选做&#xff1a;删除当前数据库【如果有】 -- 删除数据库 USE mysql; D…

Linux-cp命令实现-系统调用和函数区别-文件截断-文件空洞

1、实现CP命令 vimdiff file1 file2 vimdiff是Vim编辑器的一个功能&#xff0c;主要用于比较两个或多个文件之间的差异&#xff0c;并在一个Vim窗口中显示这些差异。这个功能特别适合用于比较修改前后的文件&#xff0c;或者比较两个不同版本的文件。 注意&#xff1a;用…

SD卡无法读取:原因解析与数据恢复策略

一、SD卡无法读取的尴尬场景 在数字化日益普及的今天&#xff0c;SD卡作为便携式存储设备&#xff0c;广泛应用于各类电子设备中。然而&#xff0c;当您急需访问SD卡中的数据时&#xff0c;却发现设备无法读取SD卡&#xff0c;这无疑是一个令人沮丧的场景。SD卡无法读取可能表…