Linux基础入门--网络工具--openssl

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.ext

v3.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 

温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

猜你喜欢

转载自blog.csdn.net/qq_20677327/article/details/105584512