Linux基础入门--网络工具--openssl
- 1.作用
- 2.语法
- 3.命令
- 3.1 标准命令
- 3.2 Digest命令
- 3.3 编码和密码命令
- 4.例子
1.作用
OpenSSL命令行工具,OpenSSL是一个实现安全套接字层(SSL v2/v3)和传输层安全性(TLS v1)所需的网络协议和相关加密标准的密码技术工具包。openssl程序是一个命令行工具,用于从外壳中使用openssl的加密库的各种加密功能。它可以用来:
a.私钥、公钥和参数的创建和管理
b.公钥加密操作
c.创建X.509证书、CSRs和CRLs
d.计算消息摘要
e.用密码加密和解密
f.SSL/TLS客户端和服务器测试
g.处理S/MIME签名或加密的邮件
h.时间戳请求、生成和验证
2.语法
openssl command [ command_opts ] [ command_args ]
openssl list [ standard-commands | digest-commands | cipher-commands | cipher-algorithms | digest-algorithms | public-key-algorithms]
openssl no-XXX [ arbitrary options ]
3.命令
3.1 标准命令
命令 |
含义 |
asn1parse |
解析ASN.1序列 |
ca |
证书颁发机构(CA)管理 |
ciphers |
密码套件描述的确定 |
cms |
CMS(加密消息语法)实用程序 |
crl |
证书撤销列表(CRL)管理 |
crl2pkcs7 |
CRL到pkcs# 7的转换 |
dgst |
计算消息摘要 |
dh |
Diffie-Hellman参数管理 |
dhparam |
生成和管理Diffie-Hellman参数 |
dsa |
DSA数据管理 |
dsaparam |
DSA参数的生成和管理 |
ec |
EC椭圆曲线键处理 |
ecparam |
EC参数的操作和生成 |
enc |
编码与密码 |
engine |
引擎(可加载模块)信息和操作 |
errstr |
错误编号到错误字符串的转换 |
gendh |
生成Diffie-Hellman参数 |
gendsa |
从参数生成DSA私钥 |
genpkey |
生成私钥或参数 |
genrsa |
生成RSA私钥 |
hseq |
创建或检查Netscape证书序列 |
ocsp |
在线证书状态协议实用程序 |
passwd |
生成哈希密码 |
pkcs12 |
PKCS # 12的数据管理 |
pkcs7 |
PKCS # 7的数据管理 |
pkcs8 |
PKCS # 8的数据管理 |
pkey |
公钥和私钥管理 |
pkeyparam |
公钥算法参数管理 |
pkeyutl |
公钥算法加密操作实用程序 |
prime |
计算素数 |
rand |
生成伪随机字节 |
rehash |
创建指向由哈希值命名的证书和CRL文件的符号链接 |
req |
PKCS#10 X.509证书签名请求(CSR)管理 |
rsa |
RSA密钥管理 |
rsautl |
用于签名、验证、加密和解密的RSA实用程序 |
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打印和生成实用程序 |
srp |
维护SRP密码文件 |
storeutl |
用于列出和显示证书、密钥、CRLs等的实用程序 |
ts |
时间加盖印花工具(客户端/伺服器) |
verify |
X.509证书验证 |
version |
OpenSSL版本信息 |
x509 |
X.509证书数据管理 |
3.2 Digest命令
命令 |
含义 |
blake2b512 |
BLAKE2b-512 Digest |
blake2s256 |
BLAKE2s-256 Digest |
md2 |
MD2 Digest |
md4 |
MD4 Digest |
md5 |
MD5 Digest |
mdc2 |
MDC2 Digest |
rmd160 |
RMD-160 Digest |
sha1 |
SHA-1 Digest |
sha224 |
SHA-2 224 Digest |
sha256 |
SHA-2 256 Digest |
sha384 |
SHA-2 384 Digest |
sha512 |
SHA-2 512 Digest |
sha3-224 |
SHA-3 224 Digest |
sha3-256 |
SHA-3 256 Digest |
sha3-384 |
SHA-3 384 Digest |
sha3-512 |
SHA-3 512 Digest |
shake128 |
SHA-3 SHAKE128 Digest |
shake256 |
SHA-3 SHAKE256 Digest |
sm3 |
SM3 Digest |
3.3 编码和密码命令
命令 |
含义 |
base64 |
Base64 Encoding |
bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb |
Blowfish Cipher |
cast, cast-cbc |
CAST Cipher |
cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb |
CAST5 Cipher |
des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ofb |
DES Cipher |
des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb |
Triple-DES Cipher |
idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb |
IDEA Cipher |
rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb |
RC2 Cipher |
rc4 |
RC4 Cipher |
rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb |
RC5 Cipher |
4.例子
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
openssl req -new -nodes -out server.csr -newkey rsa:2048 -keyout server.key
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.extv3.ext:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names[alt_names]
DNS.1 = www.baidu.com
IP.1 = 192.168.2.254
温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!