温馨提示×

linux openssl怎样续签证书

小樊
61
2026-09-10 13:20:22
栏目: 云计算

在 Linux 上使用 OpenSSL 续签( renew )证书,常见有 两种场景:

  1. 你自己的 CA 签发的证书(私有 CA)
  2. 使用 Let’s Encrypt 等免费 CA(通常用 certbot)

下面分别说明。


一、使用 OpenSSL 自建 CA 续签证书

1. 准备原信息

续签通常 重新生成 CSR,而不是“延长原证书”。

已有文件示例:

  • server.key(私钥)
  • server.csr(原请求,可选)
  • ca.crt / ca.key(CA 证书和私钥)

2. 生成新的 CSR(推荐保留原私钥或新建)

openssl req -new -key server.key -out server.csr

或新建私钥:

openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr

3. 用 CA 重新签发证书

openssl x509 -req \
  -in server.csr \
  -CA ca.crt \
  -CAkey ca.key \
  -CAcreateserial \
  -days 365 \
  -sha256 \
  -out server.crt

✅ 这样就完成了“续签”。


4. 验证证书

openssl x509 -in server.crt -noout -dates
openssl verify -CAfile ca.crt server.crt

二、使用 Let’s Encrypt(推荐方式)

如果你用的是 Let’s Encrypt:

1. 使用 certbot 续签

sudo certbot renew

2. 强制续签(测试)

sudo certbot renew --force-renewal

3. 查看证书信息

sudo certbot certificates

Let’s Encrypt 证书有效期 90 天,建议用 cron 自动续签


三、Nginx / Apache 使用后注意事项

续签后通常需要:

# Nginx
sudo nginx -s reload

# Apache
sudo systemctl reload apache2

四、常见误区

❌ OpenSSL 不能直接“延长”已有证书
✅ 正确做法是 重新签发

❌ 不更新 CA
✅ 私有 CA 证书不变,只重签终端证书


如果你愿意,可以告诉我:

  • 是 私有 CA 还是 Let’s Encrypt
  • 用在 Nginx / Apache / 其他
  • 当前证书文件结构

我可以给你一套 可直接复制执行的命令。

0 踩