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

openssl证书管理ubuntu怎么做

时间2025-11-19 09:09:05发布访客分类主机资讯浏览592
导读:Ubuntu 上使用 OpenSSL 进行证书管理的实操指南 一 安装与准备 安装 OpenSSL 并检查版本: 命令:sudo apt update && sudo apt install -y openssl 验证:...

Ubuntu 上使用 OpenSSL 进行证书管理的实操指南

一 安装与准备

  • 安装 OpenSSL 并检查版本:
    • 命令:sudo apt update & & sudo apt install -y openssl
    • 验证:openssl version -a
  • 准备目录与 CA 索引(用于自建 CA 时):
    • 建议目录:/usr/lib/ssl/CA(或自建如:/home/ubuntu/pki/demoCA
    • 初始化:
      • mkdir -p CA/{ certs,crl,newcerts,private}
      • touch CA/index.txt
      • echo 01 > CA/serial
  • 配置要点(编辑 /usr/lib/ssl/openssl.cnf[ CA_default ] 段):
    • dir = /usr/lib/ssl/CA
    • copy_extensions = copy(便于把 CSR 中的扩展如 subjectAltName 复制到证书)
    • 按需设置 default_dayscrlDistributionPoints 等。

二 自建根 CA 与签发证书

  • 生成根 CA 私钥与自签名根证书:
    • 私钥:openssl genrsa -out CA/private/cakey.pem 2048
    • 自签名根证书:openssl req -new -x509 -key CA/private/cakey.pem -out CA/cacert.pem -utf8 -days 3650 -subj "/C=CN/ST=省份/L=城市/O=组织/OU=部门/CN=Your-Root-CA"
  • 生成服务器证书(示例):
    • 服务器私钥:openssl genrsa -out server.key 2048
    • 生成 CSR(使用配置文件以加入 SAN):
      • 新建 csr.conf
        [ req ]
        default_bits   = 2048
        prompt        = no
        default_md     = sha256
        req_extensions = req_ext
        distinguished_name = dn
        
        [ dn ]
        C  = CN
        ST = 省份
        L  = 城市
        O  = 组织
        OU = 部门
        CN = your.domain.com
        
        [ req_ext ]
        subjectAltName = @alt_names
        
        [ alt_names ]
        DNS.1 = your.domain.com
        DNS.2 = *.your.domain.com
        IP.1  = 192.168.1.10
        
      • 生成 CSR:openssl req -new -key server.key -out server.csr -config csr.conf
    • 用根 CA 签发服务器证书(使用扩展配置):
      • 新建 cert.conf
        authorityKeyIdentifier = keyid,issuer
        basicConstraints       = CA:FALSE
        keyUsage             = digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment
        subjectAltName         = @alt_names
        
        [ alt_names ]
        DNS.1 = your.domain.com
        DNS.2 = *.your.domain.com
        IP.1  = 192.168.1.10
        
      • 签发:openssl x509 -req -in server.csr -CA CA/cacert.pem -CAkey CA/private/cakey.pem -CAcreateserial -out server.crt -days 365 -sha256 -extfile cert.conf
  • 快速方式(不使用配置文件,仅用于测试):
    • 自签名服务器证书:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

三 常用操作与验证

  • 查看证书信息:openssl x509 -in server.crt -text -noout
  • 验证证书(使用 CA 证书链):openssl verify -CAfile CA/cacert.pem server.crt
  • 转换格式:
    • PEM 转 DER:openssl x509 -outform der -in server.crt -out server.der
    • 导出 PKCS#12(含私钥,供 Windows/IIS 等):openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt
  • 生成客户端证书(与服务器类似):
    • 私钥:openssl genrsa -out client.key 2048
    • CSR:openssl req -new -key client.key -out client.csr
    • 签发:openssl ca -in client.csr -cert CA/cacert.pem -keyfile CA/private/cakey.pem -out client.crt -days 365

四 吊销与 CRL 管理

  • 吊销证书(按序列号或证书文件):
    • 按文件:openssl ca -revoke /path/to/cert.pem
    • 按序列号(先查询):openssl x509 -in cert.pem -noout -serial -subject
  • 初始化 CRL 编号(首次):echo 01 > CA/crlnumber
  • 生成/更新 CRL:
    • openssl ca -gencrl -out CA/crl/crl.pem -crldays 7
  • 查看 CRL:openssl crl -in CA/crl/crl.pem -noout -text
  • 分发:将 CRL 通过 HTTP 对外提供(在 openssl.cnfcrlDistributionPoints 中配置 URL)。

五 在 Nginx 或 Apache 中使用证书

  • Nginx 示例:
    • 配置片段:
      server {
          
        listen 443 ssl;
          
        server_name your.domain.com;
          
        ssl_certificate     /path/to/server.crt;
          
        ssl_certificate_key /path/to/server.key;
          
        ssl_protocols       TLSv1.2 TLSv1.3;
          
        ssl_ciphers         HIGH:!aNULL:!MD5;
      
      }
          
      
    • 启用与重启:
      • 测试:sudo nginx -t
      • 重启:sudo systemctl restart nginx
  • Apache 示例:
    • 启用模块:sudo a2enmod ssl
    • 配置 SSLCertificateFile /path/to/server.crtSSLCertificateKeyFile /path/to/server.key
    • 启用站点并重启:sudo a2ensite default-ssl & & sudo systemctl restart apache2

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


若转载请注明出处: openssl证书管理ubuntu怎么做
本文地址: https://pptw.com/jishu/750856.html
openssl性能优化ubuntu怎么实现 Debian hostname调试技巧

游客 回复需填写必要信息