Debian系统OpenSSL证书如何管理
导读:Debian 上 OpenSSL 证书管理实操指南 一 安装与基础检查 安装工具与证书包: 安装 OpenSSL 与开发库:sudo apt update && sudo apt install openssl libs...
Debian 上 OpenSSL 证书管理实操指南
一 安装与基础检查
- 安装工具与证书包:
- 安装 OpenSSL 与开发库:
sudo apt update & & sudo apt install openssl libssl-dev - 安装或更新系统根证书集合:
sudo apt install --only-upgrade ca-certificates - 刷新 CA 证书缓存:
sudo update-ca-certificates
- 安装 OpenSSL 与开发库:
- 查看版本与基础信息:
- 查看 OpenSSL 版本:
openssl version - 查看证书有效期:
openssl x509 -in server.crt -noout -dates - 查看证书链与服务器连通性:
openssl s_client -connect example.com:443 -servername example.com -showcerts
- 查看 OpenSSL 版本:
- 权限建议:私钥仅对必要用户可读,推荐权限为 600;证书 644。
二 生成密钥与证书
- 生成私钥(推荐加密保存):
- RSA 2048:
openssl genpkey -algorithm RSA -out private.key -aes256 - 或 RSA 4096:
openssl genpkey -algorithm RSA -out private.key -aes256 -pkeyopt rsa_keygen_bits:4096
- RSA 2048:
- 生成 CSR(证书签名请求):
openssl req -new -key private.key -out server.csr
- 自签名证书(测试/内网可用,默认 365 天):
- 一步法:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 - 两步法:
openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crt
- 一步法:
- 查看证书内容:
openssl x509 -in server.crt -text -noout - 验证证书(需 CA 证书或中间证书链):
openssl verify -CAfile ca_bundle.crt server.crt
三 部署到 Web 服务器
- Nginx
- 放置证书与私钥(示例):
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 nginx
- 放置证书与私钥(示例):
- Apache
- 配置片段:
SSLEngine onSSLCertificateFile /path/to/server.crtSSLCertificateKeyFile /path/to/private.key- 如有中间证书:
SSLCACertificateFile /path/to/intermediate.crt
- 启用站点与生效:
sudo a2ensite default-ssl & & sudo systemctl restart apache2
- 配置片段:
- 证书链
- 将中间证书与服务器证书合并为一个链文件(推荐):
cat server.crt intermediate.crt > server_chain.crt - Nginx 使用:
ssl_certificate /path/to/server_chain.crt;
- 将中间证书与服务器证书合并为一个链文件(推荐):
四 更新与续期
- 系统 CA 证书更新
- 升级包并刷新缓存:
sudo apt update & & sudo apt install --only-upgrade ca-certificates & & sudo update-ca-certificates - 必要时重启依赖服务:
sudo systemctl restart nginx apache2
- 升级包并刷新缓存:
- Let’s Encrypt 证书
- 测试续期:
sudo certbot renew --dry-run - 执行续期:
sudo certbot renew - 续期后重启服务:
sudo systemctl restart nginx apache2
- 测试续期:
- 自签名或手动证书
- 重新生成私钥与证书(参考第二节),替换文件后重启服务
- 验证
- 查看新证书有效期:
openssl x509 -in server.crt -noout -dates - 在线链验证:
openssl s_client -connect example.com:443 -servername example.com -showcerts
- 查看新证书有效期:
五 吊销与内部 CA 管理
- 准备 OpenSSL 配置
- 复制示例配置:
sudo cp /usr/share/doc/openssl/openssl.cnf /root/ssl.cnf - 按需调整
[ CA_default ]路径(如dir = /root/CA)
- 复制示例配置:
- 初始化 CA
- 创建目录结构:
mkdir -p /root/CA/{ certs,crl,newcerts,private}& &touch /root/CA/index.txt& &echo 1000 > /root/CA/serial - 生成 CA 私钥与根证书:
openssl 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 3650
- 创建目录结构:
- 签发服务器证书
- 用 CSR 签发:
openssl ca -config /root/ssl.cnf -in server.csr -out server.crt -batch
- 用 CSR 签发:
- 吊销与 CRL
- 吊销证书:
openssl ca -config /root/ssl.cnf -revoke /root/CA/newcerts/1000.pem - 生成 CRL:
openssl ca -config /root/ssl.cnf -gencrl -out /root/CA/crl/ca.crl - 分发并在服务中配置 CRL 检查(按需)
- 吊销证书:
- 验证
- 校验证书是否被 CA 签发:
openssl verify -CAfile /root/CA/ca.crt server.crt
- 校验证书是否被 CA 签发:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统OpenSSL证书如何管理
本文地址: https://pptw.com/jishu/767375.html
