温馨提示×

OpenSSL如何管理证书链

小樊
76
2025-02-28 13:54:49
栏目: 云计算

OpenSSL是一个强大的工具,用于管理SSL/TLS证书,包括证书链。以下是使用OpenSSL管理证书链的基本步骤:

生成证书链

  1. 生成根证书

    openssl req -x509 -newkey rsa:4096 -keyout rootCA.key -out rootCA.pem -days 1024 -subj "/C=US/ST=California/L=Mountain View/O=MyCompany/CN=MyRootCA" 
  2. 生成中间证书

    openssl req -newkey rsa:4096 -keyout intermediateCA.key -out intermediateCA.pem -days 1024 -subj "/C=US/ST=California/L=Mountain View/O=MyCompany/CN=MyIntermediateCA" -config openssl.cnf -set_serial 01 openssl x509 -req -in intermediateCA.pem -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out intermediateCA.crt -days 1024 -sha256 
  3. 生成服务器证书

    openssl req -newkey rsa:4096 -keyout server.key -out server.csr -subj "/C=US/ST=California/L=Mountain View/O=MyCompany/CN=www.example.com" openssl x509 -req -in server.csr -CA intermediateCA.pem -CAkey intermediateCA.key -CAcreateserial -out server.crt -days 365 -sha256 
  4. 打包证书链 将服务器证书、中间证书和根证书打包成一个文件:

    cat server.crt intermediateCA.pem rootCA.pem > fullchain.pem 

验证证书链

  1. 使用OpenSSL验证证书链

    openssl verify -CAfile rootCA.pem fullchain.pem 
  2. 查看证书链详细信息

    openssl s_client -connect example.com:443 -showcerts 

安装证书链

  1. 将证书文件复制到服务器fullchain.pemserver.key复制到你的Web服务器配置目录中。

  2. 配置Web服务器 根据你使用的Web服务器(如Apache、Nginx等),配置SSL/TLS证书和密钥。

    • Apache

      SSLCertificateFile /path/to/fullchain.pem SSLCertificateKeyFile /path/to/server.key 
    • Nginx

      ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/server.key; 

更新证书链

如果证书链中的任何证书过期或需要更新,重复上述步骤生成新的证书,并更新服务器配置文件中的证书路径。

注意事项

  • 确保所有证书(根证书、中间证书和服务器证书)都是有效的,并且没有过期。
  • 在生产环境中,建议使用受信任的证书颁发机构(CA)签发的证书。
  • 定期检查和维护证书链,确保其完整性和有效性。

通过以上步骤,你可以使用OpenSSL有效地管理SSL/TLS证书链。

0