一、安装OpenSSL
sudo apt update
sudo apt install openssl # 安装OpenSSL工具包
# 验证安装
openssl version
二、常用命令
1. 生成密钥对
- 生成RSA私钥
openssl genrsa -out private_key.pem 2048# 2048位私钥 - 提取公钥
openssl rsa -in private_key.pem -pubout -out public_key.pem
2. 证书管理
- 生成证书签名请求(CSR)
openssl req -new -key private_key.pem -out csr.csr# 需输入国家、组织等信息 - 生成自签名证书
openssl req -x509 -new -nodes -key private_key.pem -sha256 -days 365 -out certificate.crt# 有效期365天 - 查看证书信息
openssl x509 -in certificate.crt -text -noout - 格式转换(PEM ↔ DER)
openssl x509 -in cert.pem -outform DER -out cert.der# PEM转DER
openssl x509 -in cert.der -inform DER -out cert.pem# DER转PEM
3. 加密解密
- 对称加密(AES-256-CBC)
openssl enc -aes-256-cbc -e -in plaintext.txt -out encrypted.bin -k password# 加密
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -k password# 解密 - 非对称加密(RSA)
openssl pkeyutl -encrypt -pubin -inkey public_key.pem -in file.txt -out encrypted.bin# 公钥加密
openssl pkeyutl -decrypt -inkey private_key.pem -in encrypted.bin -out file.txt# 私钥解密
4. 其他常用操作
- 生成随机字符串
openssl rand -base64 32# 32字节随机字符串 - 计算文件哈希
openssl dgst -sha256 file.txt - 列出支持的算法
openssl list -cipher-commands# 加密算法
openssl list -message-digest-commands# 摘要算法
三、高级功能
- 创建PKCS#12文件(PFX)
openssl pkcs12 -export -in certificate.crt -inkey private_key.pem -out keystore.pfx -name mycert - 验证证书签名
openssl verify -CAfile ca.crt certificate.crt
四、注意事项
- 命令中的
-k参数直接使用明文密码,生产环境建议用-pass参数指定密码文件或环境变量。 - 详细用法可通过
man openssl或openssl <子命令> -help查看。
以上命令覆盖基础到中级使用场景,可根据实际需求组合使用。