openssl

常用子命令 分类 子命令 作用 摘要与校验 dgst 生成 MD5/SHA 系列摘要、HMAC 对称加密 enc AES, DES, Camellia 等对称算法加解密、Base64 编码 非对称密钥操作 genpkey/genrsa、rsa、pkey 生成 RSA/EC 私钥,导出公钥,与私钥格式转换 证书请求与签发 req、ca 生成 CSR(证书签名请求),用自签或 CA 签发证书 证书管理 x509 查看、验证、格式转换 X.509 证书 PKCS#12 容器 pkcs12 在 .p12/.pfx 容器中打包/拆包证书与私钥 网络测试 s_client、s_server 测试 SSL/TLS 客户端/服务器连接 格式转换 asn1parse、cms、pkcs7、crl ASN.1 解析,CMS/PKCS7 消息处理,CRL 列表 随机数 rand 生成随机字节 加密算法列表 list -cipher-algorithms 列出可用对称加密算法 范例 对称加密 加密 echo -n "你好啊" \ | openssl enc -aes-256-cbc -salt -pbkdf2 -iter 100000 -base64 \ -pass pass:MyPass 解密 echo "U2FsdGVkX1+…" \ | openssl enc -aes-256-cbc -d -salt -pbkdf2 -iter 100000 -base64 \ -pass pass:MyPass 加密文件 openssl enc -aes-256-cbc -salt -pbkdf2 -iter 100000 \ -in plain.txt -out cipher.bin -pass pass:MyPass 解密文件 openssl enc -aes-256-cbc -d -salt -pbkdf2 -iter 100000 \ -in cipher.bin -out plain.txt -pass pass:MyPass 非对称密钥与证书 生成 RSA 私钥与公钥 # 生成 2048 位 私钥 openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out key.pem # 从私钥中导出公钥 openssl pkey -in key.pem -pubout -out pub.pem 生成 CSR(证书签名请求) openssl req -new -key key.pem -out req.csr \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Example/OU=IT/CN=example.com" 自签证书 openssl req -x509 -days 365 -key key.pem -in req.csr -out cert.pem 测试SSL/TLS连接 客户端 openssl s_client -connect example.com:443 服务器 openssl s_server -cert cert.pem -key key.pem -accept 8443

April 30, 2025 · 1 min · 188 words