首页主机资讯ubuntu上openssl证书怎么管理

ubuntu上openssl证书怎么管理

时间2025-11-21 10:11:04发布访客分类主机资讯浏览1015
导读:Ubuntu 上 OpenSSL 证书管理实操指南 一 安装与目录准备 安装工具与依赖: sudo apt-get update && sudo apt-get install -y openssl 准备 CA 工作...

Ubuntu 上 OpenSSL 证书管理实操指南

一 安装与目录准备

  • 安装工具与依赖:
    • sudo apt-get update & & sudo apt-get install -y openssl
  • 准备 CA 工作目录与数据库(示例使用 /etc/ssl/CA,可按需调整):
    • sudo mkdir -p /etc/ssl/CA/{ private,newcerts}
    • sudo chmod 700 /etc/ssl/CA/private
    • echo 01 | sudo tee /etc/ssl/CA/serial
    • sudo touch /etc/ssl/CA/index.txt
    • 说明:后续签发与吊销会用到该目录结构及数据库文件。

二 生成密钥与证书

  • 生成私钥(推荐 2048 位或更高):
    • openssl genpkey -algorithm RSA -out server.key -aes256
  • 生成 CSR(证书签名请求):
    • openssl req -new -key server.key -out server.csr
  • 自签名证书(测试/内部可用,有效期 365 天):
    • openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • 使用现有 CA 签发服务器证书(需编辑 /etc/ssl/openssl.cnf 的 [CA_default] 指向你的 CA 目录,如 /etc/ssl/CA):
    • openssl ca -in server.csr -out server.crt -config /etc/ssl/openssl.cnf
  • 查看证书信息:
    • openssl x509 -in server.crt -noout -text

三 验证与信任链管理

  • 验证证书有效性(单向,使用指定 CA 证书):
    • openssl verify -CAfile ca_bundle.crt server.crt
  • 验证证书是否被吊销(CRL 检查):
    • 先更新 CRL:openssl ca -config /etc/ssl/openssl.cnf -gencrl -out crl.pem
    • 再验证:openssl verify -CAfile ca_bundle.crt -untrusted crl.pem server.crt
  • 证书链与中间证书:
    • 部署时将服务器证书与中间证书按顺序拼接为 fullchain(例如:cat server.crt intermediate.crt > fullchain.crt),客户端按链逐级验证。

四 吊销与 CRL 运维

  • 获取待吊销证书的序列号:
    • openssl x509 -in server.crt -noout -serial
  • 执行吊销(更新 CA 数据库状态):
    • openssl ca -config /etc/ssl/openssl.cnf -revoke server.crt
  • 生成/更新 CRL(建议设置合理过期时间,如 7 天):
    • openssl ca -config /etc/ssl/openssl.cnf -gencrl -out crl.pem -crldays 7
  • 发布与分发 CRL:
    • crl.pem 通过 HTTP/HTTPS 对外提供,并在服务器/客户端验证时引用
  • 自动化更新(示例定时任务,每 7 天 更新并热重载 Nginx):
    • 0 3 * * * cd /etc/ssl/CA & & openssl ca -gencrl -out crl.pem -crldays 7 & & systemctl reload nginx
  • 提示:若未定期更新 CRL,依赖 CRL 的验证可能会失败或被拒绝。

五 格式转换与服务器部署

  • 常用格式转换:
    • PEM ↔ DER:
      • openssl x509 -in cert.pem -outform DER -out cert.der
      • openssl x509 -in cert.der -inform DER -out cert.pem
    • PKCS#12(.pfx/.p12,含私钥与证书,适合导入浏览器/Windows):
      • 导出:openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name myserver
      • 分解:
        • 仅证书:openssl pkcs12 -in server.p12 -clcerts -nokeys -out cert.pem
        • 仅私钥:openssl pkcs12 -in server.p12 -nocerts -nodes -out key.pem
  • Nginx 配置示例(单向 TLS):
    • ssl_certificate /path/to/fullchain.crt;
    • ssl_certificate_key /path/to/server.key;
    • 生产环境建议使用受信任 CA(如 Let’s Encrypt)并配合 certbot 自动续期。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu上openssl证书怎么管理
本文地址: https://pptw.com/jishu/753041.html
如何用ubuntu的openssl生成密钥 Debian与vsftp的权限管理技巧

游客 回复需填写必要信息