以下是OpenSSL在Ubuntu中的常用使用技巧:
安装OpenSSL
sudo apt update && sudo apt install openssl libssl-dev # 安装基础库和开发包
openssl version # 验证安装
多版本管理
./config --prefix=/opt/openssl/1.1.1
,再通过环境变量指定路径使用。export PATH=/opt/openssl/1.1.1/bin:$PATH # 仅当前终端生效
生成RSA密钥对
openssl genrsa -out private.key 2048 # 生成私钥
openssl rsa -in private.key -pubout -out public.key # 生成公钥
chmod 600 private.key # 保护私钥权限
生成自签名证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -subj "/CN=localhost"
或简化命令(快速生成测试证书):
openssl req -x509 -nodes -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
对称加密(AES-256-CBC)
openssl enc -aes-256-cbc -salt -in data.txt -out data.enc -pass pass:yourpassword
openssl enc -d -aes-256-cbc -in data.enc -out data.txt -pass pass:yourpassword
非对称加密(RSA)
openssl rsautl -encrypt -pubin -inkey public.key -in message.txt -out encrypted.msg
openssl rsautl -decrypt -inkey private.key -in encrypted.msg -out decrypted.txt
查看证书信息
openssl x509 -in cert.pem -text -noout # 查看证书详情
openssl verify -CAfile cacert.pem cert.pem # 验证证书链
生成密码哈希
openssl passwd -6 "yourpassword" # 生成SHA-512哈希(适用于Linux用户密码)
测试HTTPS服务
openssl s_server -cert cert.pem -key key.pem -www # 启动HTTPS测试服务器
浏览器访问 https://localhost
可查看证书信息。
chmod 600
,避免明文存储或传输。-pass file:password.txt
)。更多高级用法可参考官方文档:man openssl
或访问 OpenSSL官网。