首页主机资讯Debian OpenSSL 证书管理如何操作

Debian OpenSSL 证书管理如何操作

时间2026-01-22 11:29:04发布访客分类主机资讯浏览1248
导读:Debian 上的 OpenSSL 证书管理实操指南 一 安装与准备 检查是否已安装:运行命令查看版本号 命令:openssl version 安装工具与开发库(如未安装) 命令:sudo apt update &&...

Debian 上的 OpenSSL 证书管理实操指南

一 安装与准备

  • 检查是否已安装:运行命令查看版本号
    • 命令:openssl version
  • 安装工具与开发库(如未安装)
    • 命令:sudo apt update & & sudo apt install openssl libssl-dev
  • 说明:libssl-dev 为编译依赖或调用 OpenSSL API 的程序所需,日常签发/部署证书仅需安装 openssl 即可。

二 生成私钥与 CSR

  • 生成受密码保护的 RSA 私钥(2048 位)
    • 命令:openssl genpkey -algorithm RSA -out private.key -aes256
  • 生成 CSR(证书签名请求)
    • 命令:openssl req -new -key private.key -out server.csr
    • 交互填写:C/ST/L/O/OU/CN(CN 建议填域名),可设置 Email 等字段
  • 补充:如需不加密私钥(便于自动化,但安全性更低),可用
    • 命令:openssl genrsa -out private.key 2048
  • 提示:私钥务必严格保护(文件权限建议 600),CSR 可安全提交给 CA。

三 自签名证书与服务器部署

  • 生成 自签名证书(有效期 365 天)
    • 命令:openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crt
  • 部署到 Nginx
    • 建议目录:sudo mkdir -p /etc/nginx/ssl & & sudo chmod 700 /etc/nginx/ssl
    • 复制文件:sudo cp server.crt /etc/ssl/certs/ & & sudo cp private.key /etc/ssl/private/
    • 配置片段:
      server {
          
        listen 443 ssl;
          
        server_name yourdomain.com;
          
        ssl_certificate     /etc/ssl/certs/server.crt;
          
        ssl_certificate_key /etc/ssl/private/private.key;
      
      }
          
      
    • 生效:sudo nginx -t & & sudo systemctl restart nginx
  • 部署到 Apache
    • 配置片段:
      <
          VirtualHost *:443>
          
        SSLEngine on
        SSLCertificateFile      /path/to/server.crt
        SSLCertificateKeyFile   /path/to/private.key
      <
          /VirtualHost>
          
      
    • 生效:sudo a2enmod ssl & & sudo systemctl restart apache2
  • 证书链(如使用中间 CA)
    • 合并顺序:服务器证书在前、中间证书在后
      • 命令:cat server.crt intermediate.crt > server-chain.crt
    • Nginx 使用:ssl_certificate /path/to/server-chain.crt;
    • Apache 使用:SSLCertificateChainFile /path/to/intermediate.crt; (或合并为同一文件)

四 验证与排错

  • 查看证书内容
    • 命令:openssl x509 -in server.crt -text -noout
  • 查看有效期
    • 命令:openssl x509 -in server.crt -noout -dates
  • 验证证书是否由指定 CA 签发
    • 命令:openssl verify -CAfile ca_bundle.crt server.crt
  • 在线连接诊断(SNI 场景)
    • 命令:openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
  • Nginx/Apache 排错
    • 语法检查:sudo nginx -tsudo apache2ctl configtest
    • 日志定位:/var/log/nginx/error.log/var/log/apache2/error.log
    • 权限与路径:证书与私钥路径正确、权限合理(私钥 600)。

五 续期 吊销 与系统 CA 更新

  • 续期
    • Let’s Encrypt 证书:测试续期 sudo certbot renew --dry-run,正式续期 sudo certbot renew
    • 续期后重启依赖服务:sudo systemctl restart nginxsudo systemctl restart apache2
    • 自签名证书:重新执行“生成自签名证书”步骤并替换旧证书,随后重启服务
  • 吊销与 CRL(自建/私有 CA 场景)
    • 撤销证书:openssl ca -config /etc/ssl/openssl.cnf -revoke server.crt
    • 生成/更新 CRL:openssl ca -config /etc/ssl/openssl.cnf -gencrl -out crl.pem
    • 分发 CRL:将 crl.pem 发布到可被客户端/服务器访问的位置
    • 验证是否被吊销:openssl verify -CAfile ca_bundle.crt -untrusted crl.pem server.crt
  • 系统 CA 证书更新(信任链)
    • 命令:sudo apt update & & sudo apt install --only-upgrade ca-certificates & & sudo update-ca-certificates
  • 安全与维护
    • 定期更新 OpenSSL 与相关包:sudo apt update & & sudo apt upgrade libssl-dev
    • 避免使用过时算法与过短密钥长度,优先 RSA 2048+ECC

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


若转载请注明出处: Debian OpenSSL 证书管理如何操作
本文地址: https://pptw.com/jishu/789958.html
如何备份 Debian OpenSSL 数据 如何优化 Debian OpenSSL 性能

游客 回复需填写必要信息