当前位置: 首页 > news >正文

OpenSSL命令手册

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配置实现客户端互访

相关文章:

OpenSSL命令手册

正文共:999 字 10 图,预估阅读时间:1 分钟 我们前面编译安装了OpenSSL命令工具(CentOS编译安装OpenSSL 3.3.1),这是一个强大的安全套接字层密码库,可以用于实现各种加密和认证协议,如…...

[面试题]MongoDB

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…...

【Qt笔记①】帮助文档、窗口、按钮、信号和槽、lambda表达式

学习第一天:2024-3-9 文章目录 Qt creator 快捷键帮助文档默认生成的main.cpp逐行解释核心类帮助文档的查阅方法-①代码创建按钮第一个第二个对窗口的其他设置 对象树窗口坐标系信号和槽(优点:松散耦合)帮助文档的查阅方法-②找信…...

【pytorch05】索引与切片

索引 a[0,0]第0张图片的第0个通道 a[0,0,2,4]第0张图片,第0个通道,第2行,第4列的像素点,dimension为0的标量 选择前/后N张图片 a[:2,:1,:,:].shape前两张图片,第1个通道上的所有图片的数据 a[:2,1:,:,:].shape前两张…...

ECharts 蓝色系-荧光图标折线图01案例

ECharts 蓝色系-荧光图标折线图01案例 图表意义 本折线图案例展示了一周内不同路线的使用情况或数据统计。通过折线的上升和下降,可以直观地观察到每条路线的流量或数据变化趋势,从而进行分析和决策。 效果预览 效果图展示不同路线的数据统计和个性化…...

使用消息中间件实现系统间的异步通信和解耦

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 ✨✨ 帅哥美女们,我们共同加油!一起进步&am…...

【QML】用 Image(QQuickPaintedItem) 显示图片

大体功能: 频繁地往界面推送图片,帧率达到视频效果。捕获画布上的鼠标事件和键盘事件。 代码如下: // DrawImageInQQuickPaintedItem.pro 代码如下: QT quick# You can make your code fail to compile if it uses deprecated…...

C++抽象类

C中抽象类 1.抽象类概念1.1、抽象类如何使用1.2、抽象类规定 2.抽象类代码示例2.1、抽象类2.2、子类12.3、子类22.4、程序入口 1.抽象类概念 C是一门面向对象的编程语言,而所有的对象都是通过类来描述的,如果一个类没有足够的信息来描述一个具体的对象&…...

计算机网络 —— 应用层(DHCP)

计算机网络 —— 应用层(DHCP) 什么是DHCPDHCP工作过程DHCP DISCOVERDHCP OFFERDHCP RQUESTDHCP ACK DHCP租约机制中继代理工作原理功能与优势 我们今天来计网的DHCP: 什么是DHCP DHCP(Dynamic Host Configuration Protocol&…...

Linux ComfyUI安装使用;Stable Diffusion 3使用

1、Linux ComfyUI安装使用 参考: https://zhuanlan.zhihu.com/p/689021495 安装步骤: ## 1、下载ComfyUI git clone https://github.com/comfyanonymous/ComfyUI ## 2、进入ComfyUI,安装依赖包 cd ComfyUI pip install -r requirements.txt ## 3\安装插件 cd custom_nodes…...

JavaScripts数组里的对象排序的24个方法

1. 使用 Array.prototype.sort() 这是最基本、也是最常用的方法。sort() 方法会原地修改数组,并返回排序后的数组。你需要传入一个比较函数来定义排序逻辑。 const array [{ name: Alice, age: 25 },{ name: Bob, age: 22 },{ name: Charlie, age: 30 } ];// 按照…...

Mongodb介绍及window环境安装

本文主要内容为nosql数据库-MongoDB介绍及window环境安装。 目录 什么是MongoDB? 主要特点 MongoDB 与Mysql对应 安装MongoDB 下载MongoDB 自定义安装 创建目录 配置环境变量 配置MongoDB服务 服务改为手动 启动与关闭 安装MongoDB Shell 下载安装包 …...

Spring响应式编程之Reactor核心组件

Reactor核心组件 Flux和Mono组件(1)Flux组件(2)Mono组件 Flux和Mono组件 Reactor 框架提供了两个核心组件来发布数据,分别是 Flux 和 Mono 组件。两者都是实现Publisher接口的高级抽象,可以说是应用程序开…...

动手学深度学习(Pytorch版)代码实践 -计算机视觉-37微调

37微调 import os import torch import torchvision from torch import nn import liliPytorch as lp import matplotlib.pyplot as plt from d2l import torch as d2l# 获取数据集 d2l.DATA_HUB[hotdog] (d2l.DATA_URL hotdog.zip,fba480ffa8aa7e0febbb511d181409f899b9baa5…...

视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享

目录 一、视频监控平台介绍 (一)概述 (二)视频接入能力介绍 (三)功能介绍 二、JT/T905协议介绍 (一)概述 (二)主要内容 1、设备要求 2、业务功能要求…...

【jenkins1】gitlab与jenkins集成

文章目录 1.Jenkins-docker配置:运行在8080端口上,机器只要安装docker就能装载image并运行容器2.Jenkins与GitLab配置:docker ps查看正在运行,浏览器访问http://10....:8080/2.1 GitLab与Jenkins的Access Token配置:不…...

边缘计算设备有哪些

边缘设备是指那些位于数据源附近,能够执行数据处理、分析和决策的计算设备。这些设备通常具有一定的计算能力、存储能力和网络连接能力,能够减少数据传输到云端的需要,从而降低延迟、节省带宽并提高数据处理的效率。以下是一些常见的边缘设备…...

C++初学者指南第一步---7.控制流(基础)

C初学者指南第一步—7.控制流(基础) 文章目录 C初学者指南第一步---7.控制流(基础)1.术语:表达式/语句Expressions表达式Statements语句 2.条件分支3.Switching(切换):基于值的分支4.三元条件运算符5.循环迭代基于范围的循环   C…...

MFC学习--CListCtrl复选框以及选择

如何展示复选框 //LVS_EX_CHECKBOXES每一行的最前面带个复选框//LVS_EX_FULLROWSELECT整行选中//LVS_EX_GRIDLINES网格线//LVS_EX_HEADERDRAGDROP列表头可以拖动m_listctl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES); 全选,全…...

如何与PM探讨项目

我曾在2020年撰写过一篇名为对产品经理的一些思考的文章,紧接着在2021年,我又写了一篇对如何分析项目的思考。在这两篇文章中,我提出了一个核心观点:“船长需要把控所有事情,但最核心的是:需要知道目标是什…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...