以下是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
以上案例覆蓋了證書管理、數據加密、簽名等常見場景,可根據實際需求選擇使用。