OpenSSL是一个强大的加密工具包,用于实现安全套接字层(SSL/TLS)和传输层安全性(TLS)网络协议及其所需的相关加密标准。以下是OpenSSL命令的详细列表及其用法:
常用OpenSSL命令及用法
-
生成RSA密钥对
openssl genrsa -out private.key 2048
生成一个2048位的RSA私钥文件
private.key
。 -
生成自签名证书
openssl req -new -x509 -sha256 -key private.key -out certificate.crt -days 365
生成一个自签名的X.509证书文件
certificate.crt
,有效期为365天。 -
生成CSR(证书签名请求)
openssl req -new -key private.key -out csr.csr
生成一个证书签名请求文件
csr.csr
,用于向证书颁发机构申请证书签名。 -
查看证书信息
openssl x509 -in certificate.crt -text -noout
显示证书文件
certificate.crt
的详细信息。 -
对称加密解密数据
openssl enc -e -aes-256-cbc -in plaintext.txt -out ciphertext.bin -k password openssl enc -d -aes-256-cbc -in ciphertext.bin -out plaintext.txt -k password
使用AES-256-CBC算法对文件
plaintext.txt
进行加密生成密文文件ciphertext.bin
,以及对密文文件ciphertext.bin
进行解密生成明文文件plaintext.txt
,加解密时使用的密码为password
。 -
RSA加密解密数据
openssl rsautl -encrypt -pubin -in plaintext.txt -out ciphertext.bin -inkey public.key openssl rsautl -decrypt -in ciphertext.bin -out plaintext.txt -inkey private.key
使用RSA算法对文件
plaintext.txt
进行加密生成密文文件ciphertext.bin
,以及对密文文件ciphertext.bin
进行解密生成明文文件plaintext.txt
,加解密时使用的公钥和私钥分别为public.key
和private.key
。
命令列表
OpenSSL提供了丰富的命令,以下是一些常用的子命令及其功能:
asn1parse
:解析ASN.1序列。ca
:证书颁发机构(CA)管理。ciphers
:加密套件描述确定。cms
:CMS(Cryptographic Message Syntax,加密消息语法)实用程序。crl
:证书吊销列表(CRL)管理。dgst
:消息摘要计算。dh
:Diffie-Hellman参数管理。dsa
:DSA数据管理。ec
:EC(椭圆曲线)密钥处理。enc
:使用加密套件进行编码。engine
:引擎(可装载模块)信息和操作。errstr
:错误编号到错误字符串的转换。
选项说明
-help
:显示帮助信息。-version
:显示OpenSSL的版本信息。-in file
:指定输入文件。-out file
:指定输出文件。-noout
:禁止输出原始文件内容。-text
:以可读的文本格式显示内容。
以上是OpenSSL命令的一部分,更多命令和详细用法可以参考OpenSSL官方文档或相关资源。