OpenSSL 是一款功能强大的开源加密套件,集成了多种加密算法、证书管理模块以及 SSL/TLS 协议的实现。作为 Linux 系统中处理加密操作的标准工具,它被广泛应用于各类安全任务中。
OpenSSL 的核心功能涵盖:
openssl 命令的通用格式如下:
openssl command [command_options] [command_args]
说明:
command:指定要运行的 OpenSSL 子命令(例如 genrsa、req、x509 等)
command_options:子命令的选项参数
command_args:子命令所需的输入参数
生成 2048 位长度的 RSA 私钥文件:
openssl genrsa -out private.key 2048
从私钥中导出对应的公钥:
openssl rsa -in private.key -pubout -out public.key
关键参数解释:
-out:设置输出文件路径
2048:表示密钥位数
-pubout:启用公钥输出模式
生成 CSR 请求文件:
openssl req -new -key private.key -out cert.csr
创建有效期为一年的自签名证书:
openssl req -x509 -new -key private.key -days 365 -out cert.crt
主要参数含义:
-new:新建请求
-key:关联私钥文件
-days:设定证书有效天数
-x509:生成 X.509 格式证书
AES-256-CBC 模式加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.enc
使用相同密钥进行解密:
openssl enc -d -aes-256-cbc -in encrypted.enc -out decrypted.txt
参数解析:
-aes-256-cbc:采用 AES-256-CBC 加密方式
-salt:加入随机盐值增强安全性
-in:源文件路径
-out:目标文件路径
-d:启动解密流程
SHA-256 哈希计算:
openssl dgst -sha256 filename.txt
MD5 哈希计算:
openssl dgst -md5 filename.txt
查看远程服务器 SSL 证书详情:
openssl s_client -connect example.com:443 -showcerts
参数说明:
-connect:定义目标主机地址和端口
-showcerts:显示完整的证书链信息
将证书和私钥打包成 P12 文件:
openssl pkcs12 -export -in cert.crt -inkey private.key -out cert.p12
展示证书详细信息:
openssl x509 -in cert.crt -text -noout
执行证书链验证:
openssl verify -CAfile ca.crt cert.crt
openssl version
openssl ecparam -genkey -name secp384r1 -out ecc.key
PEM 转 DER 格式示例:
openssl x509 -in cert.pem -outform der -out cert.der
站的 SSL 证书详情熟练掌握 openssl 命令能够帮助你高效完成各类加密和安全相关操作,为系统安全运维提供有力支持。