以下是OpenSSL在Debian上的几个典型使用案例:
sudo apt update
sudo apt install openssl
openssl genpkey -algorithm RSA -out private.key -aes256
openssl req -new -key private.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crt
sudo cp private.key /etc/ssl/private/
sudo cp server.crt /etc/ssl/certs/
# 编辑Nginx配置文件,指定证书路径后重启服务
sudo nginx -t && sudo systemctl restart nginx
echo "敏感数据" | openssl enc -aes-256-cbc -a -salt -pbkdf2 -out encrypted.enc
openssl enc -d -aes-256-cbc -a -pbkdf2 -in encrypted.enc -out decrypted.txt
openssl genpkey -algorithm RSA -out rsa_key.pem -aes256 # 私钥
openssl rsa -pubout -in rsa_key.pem -out rsa_pubkey.pem # 公钥
echo "机密信息" | openssl pkeyutl -encrypt -pubin -inkey rsa_pubkey.pem -out encrypted.bin
openssl pkeyutl -decrypt -inkey rsa_key.pem -in encrypted.bin -out decrypted.txt
echo "待签名数据" | openssl dgst -sha256 -sign rsa_key.pem -out signature.bin
openssl dgst -sha256 -verify rsa_pubkey.pem -signature signature.bin -data "待签名数据"
将证书和私钥打包为PKCS#12格式(用于部分服务器):
openssl pkcs12 -export -out cert.p12 -inkey private.key -in server.crt
以上案例覆盖了证书管理、数据加密、签名等常见场景,可根据实际需求选择使用。