通过 `acme-client(1)` 从 Let's Encrypt 获取通配符证书

通过 `acme-client(1)` 从 Let's Encrypt 获取通配符证书

我有一个有效的 Let's Encrypt 证书,它涵盖foo.barwww.foo.bar。我想wiki.foo.bar在将来添加和可能还有很多其他证书,因此通配符证书听起来很合适。

我的 Web 服务器运行httpd(8)在 OpenBSD 6.8 上,因此,我曾经acme-client(1)设置过当前的 Let's Encrypt 证书。问题是,大多数可用的 Let's Encrypt 文档都是专门针对的certbot,而不是acme-client(1)(这并不奇怪)。

当我将wiki.foo.bar子域添加到我的/etc/acme-client.conf配置中,然后运行 ​​时sudo acme-client -vv foo.bar,它会抱怨acme-client: /etc/ssl/foo.bar.crt: domain not listed: wiki.foo.bar。执行任何类型的撤销似乎也不合适。

假设这是有可能的,如何使用 从 Let's Encrypt 获取通配符证书acme-client(1)否则,如何将子域添加到现有的 Let's Encrypt 证书?

答案1

Let's Encrypt 通配符证书需要 DNS-01 质询类型。OpenBSDacme-client仅支持 http-01 质询类型。如果您想要 Let's Encrypt 的通配符证书,一种简单的方法是使用acme.sh

要使用 支持附加子域acme-client,您可以按照创建上一个证书的方式仅使用子域创建新证书,或者使用域和所有子域创建新证书,然后删除上一个证书。

相关内容