让加密将域添加到现有证书

我只是简单地尝试将域 test.example.com添加到 example.com已经存在的证书中。如何向现有证书添加域并替换旧证书?

我已经试过这几个命令了

./letsencrypt-auto certonly --cert-path /etc/letsencrypt/archive/example.com --expand -d test.example.com


./letsencrypt-auto certonly -d example.com --expand -d test.example.com

结果: 两者都在一个新文件夹 test.example.com-0001中创建了一个全新的证书

./letsencrypt-auto certonly --renew-by-default  --expand -d test.example.com

结果: 错误文件夹 test.example.com 已经存在。

./letsencrypt-auto renew --expand -d orange.fidka.com

结果: 错误,我只能在证书过期的情况下续签。

180846 次浏览

您需要指定所有的名称,包括那些已经注册的名称。

我最初使用以下命令注册一些证书:

/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--email me@example.com \
--expand -d example.com,www.example.com

... 刚才我成功地使用了下面的命令来扩展我的注册,包括一个新的子域名作为 SAN:

/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--expand -d example.com,www.example.com,click.example.com

来自 文件:

展开“如果现有的证书包含所请求名称的某个子集,那么总是展开并用其他名称替换它。”

如果您正在运行 nginx,不要忘记重新启动服务器来加载新的证书。

我是这样注册我的域名的:

sudo letsencrypt --apache -d mydomain.com

然后就可以在其他域中使用相同的命令,并按照说明操作:

sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com

这招对我很管用

 sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
domain.com -d www.domain.com

您可以通过使用 ./certbot-auto certonly再次运行 certbot 来替换证书

如果您尝试为已经由现有证书覆盖的域生成证书,您将收到此消息提示:

-------------------------------------------------------------------------------
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/<domain>.conf)


It contains these names: <domain>


You requested these names for the new certificate: <domain>,
<the domain you want to add to the cert>.


Do you want to expand and replace this existing certificate with the new
certificate?
-------------------------------------------------------------------------------

只是选择了 Expand并替换它。

通过使用 --cert-name--expand选项相结合,我能够为一个域和多个子域设置 SSL 认证。

请参阅 https://certbot.eff.org/docs/using.html的官方 certbot-auto 文档

例如:

certbot-auto certonly --cert-name mydomain.com.br \
--renew-by-default -a webroot -n --expand \
--webroot-path=/usr/share/nginx/html \
-d mydomain.com.br \
-d www.mydomain.com.br \
-d aaa1.com.br \
-d aaa2.com.br \
-d aaa3.com.br

Ubuntu 上的 Apache ,使用 Apache 插件:

sudo certbot certonly --cert-name example.com -d m.example.com,www.m.example.com

上面的命令在 Certbot 更改证书域名用户指南中得到了生动的解释。注意,更改证书域名的命令也适用于添加新域名。

剪辑

如果运行以上命令会给出错误消息

使用当前选定的身份验证器的客户端不支持任何能够满足 CA 的挑战组合。

跟随 这是“让我们加密社区”的指令