正文共:999 字 10 图,预估阅读时间:1 分钟
我们前面编译安装了OpenSSL命令工具(CentOS编译安装OpenSSL 3.3.1),这是一个强大的安全套接字层密码库,可以用于实现各种加密和认证协议,如 SSL/TLS;当然也可以生成证书。
要使用openssl命令行工具,我们就得了解一下相关命令,使用man命令,我们可以看到命令指导,但是是基于2019年8月9日发版的1.0.2k版本的,也就是CentOS自带的版本,针对我们最新的3.3.1版本,还没有找到命令手册。
简介
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 ]
说明
OpenSSL是一个加密工具包,用于实现安全套接字层(Secure Sockets Layer:SSL v2/v3)和传输层安全性(Transport Layer Security:TLS v1)网络协议及其所需的相关加密标准。
openssl程序是一个命令行工具,用于从shell中使用openssl加密库的各种加密函数。它可以用于:
*私钥、公钥和相关参数的创建和管理。
*公钥加密操作。
*X.509证书、CSR和CRL的创建。
*消息挖掘的计算。
*密码的加解密。
*SSL/TLS客户端和服务器测试。
*S/MIME签名或加密邮件的处理。
*时间戳请求、生成和验证。
命令摘要
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本身。)
标准命令
asn1parse:解析ASN.1序列。
ca:证书颁发机构(Certificate Authority,CA)管理。
ciphers:加密套件描述确定。
cms:CMS(Cryptographic Message Syntax,加密消息语法)实用程序。
crl:证书吊销列表(Certificate Revocation List,CRL)管理。
dgst:消息摘要计算(Message Digest Calculation)。
dh:Diffie-Hellman参数管理,已被dhparam淘汰。
dhparam:Diffie-Hellman参数的生成和管理。被genpkey和pkeyparam取代。
dsa:DSA数据管理。
dsaparam:DSA参数生成和管理,被genpkey和pkeyparam取代。
ec:EC(Elliptic curve,椭圆曲线)密钥处理。
ecparam:EC参数操作和生成。
enc:使用加密套件进行编码。
engine:引擎(可装载模块)信息和操作。
errstr:错误编号到错误字符串的转换。
gendh:Diffie-Hellman参数的生成,已被dhparam淘汰。
gendsa:根据参数生成DSA私钥。被genpkey和pkey取代。
genpkey:私钥或参数的生成。
genrsa:RSA私钥的生成。被genpkey取代。
nseq:创建或检查netscape证书序列。
ocsp:联机证书状态协议实用程序。
passwd:生成哈希密码。
pkcs12:PKCS#12数据管理。
pkcs7:PKCS#7数据管理。
pkey:公钥和私钥管理。
pkeyparam:公钥算法参数管理。
pkeyutl:公钥算法加密操作实用程序。
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:算法速度测量。
spkac:SPKAC打印和生成实用程序。
ts:时间戳权威工具(客户端/服务器)。
verify:X.509证书验证。
版本:OpenSSL版本信息。
x509:X.509证书数据管理。
消息摘要命令
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摘要。
编码和加密命令
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加密。
PASS短语参数
有几个命令接受密码参数,通常分别使用-passin和-passout作为输入和输出密码。这些允许从各种来源获取密码。这两个选项都采用一个参数,其格式如下所述。如果没有给出密码参数,并且需要密码,则系统会提示用户输入一个:这通常是在关闭回显的情况下从当前终端读取的。
pass:password,实际的密码是password。由于密码对实用程序是可见的(如Unix下的“ps”),因此只能在安全性不重要的情况下使用此表单。
env:var,从环境变量var中获取密码。由于其他进程的环境在某些平台上是可见的(例如,某些Unix操作系统下的ps),因此应谨慎使用此选项。
file:pathname,路径名的第一行是密码。如果将相同的路径名参数提供给-passin和-passout参数,则第一行将用于输入密码,下一行将用于输出密码。路径名不需要引用常规文件:例如,它可以引用设备或命名管道。
fd:number,从文件描述符编号中读取密码。例如,这可以用于通过管道发送数据。
stdin:从标准输入中读取密码。
相关命令
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
长按二维码
关注我们吧
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配置实现客户端互访