Debian 上 OpenSSL 证书管理实操指南
一 安装与基础检查
sudo apt update && sudo apt install openssl libssl-devsudo apt install --only-upgrade ca-certificatessudo update-ca-certificatesopenssl versionopenssl x509 -in server.crt -noout -datesopenssl s_client -connect example.com:443 -servername example.com -showcerts二 生成密钥与证书
openssl genpkey -algorithm RSA -out private.key -aes256openssl genpkey -algorithm RSA -out private.key -aes256 -pkeyopt rsa_keygen_bits:4096openssl req -new -key private.key -out server.csropenssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crtopenssl x509 -in server.crt -text -nooutopenssl verify -CAfile ca_bundle.crt server.crt三 部署到 Web 服务器
sudo cp server.crt /etc/ssl/certs/sudo cp private.key /etc/ssl/private/ssl_certificate /etc/ssl/certs/server.crt;ssl_certificate_key /etc/ssl/private/private.key;sudo nginx -t && sudo systemctl restart nginxSSLEngine onSSLCertificateFile /path/to/server.crtSSLCertificateKeyFile /path/to/private.keySSLCACertificateFile /path/to/intermediate.crtsudo a2ensite default-ssl && sudo systemctl restart apache2cat server.crt intermediate.crt > server_chain.crtssl_certificate /path/to/server_chain.crt;四 更新与续期
sudo apt update && sudo apt install --only-upgrade ca-certificates && sudo update-ca-certificatessudo systemctl restart nginx apache2sudo certbot renew --dry-runsudo certbot renewsudo systemctl restart nginx apache2openssl x509 -in server.crt -noout -datesopenssl s_client -connect example.com:443 -servername example.com -showcerts五 吊销与内部 CA 管理
sudo cp /usr/share/doc/openssl/openssl.cnf /root/ssl.cnf[ CA_default ] 路径(如 dir = /root/CA)mkdir -p /root/CA/{certs,crl,newcerts,private} && touch /root/CA/index.txt && echo 1000 > /root/CA/serialopenssl genpkey -algorithm RSA -out /root/CA/private/ca.key -aes256 与 openssl req -new -x509 -key /root/CA/private/ca.key -out /root/CA/ca.crt -days 3650openssl ca -config /root/ssl.cnf -in server.csr -out server.crt -batchopenssl ca -config /root/ssl.cnf -revoke /root/CA/newcerts/1000.pemopenssl ca -config /root/ssl.cnf -gencrl -out /root/CA/crl/ca.crlopenssl verify -CAfile /root/CA/ca.crt server.crt