当我运行时certbot review
,我收到以下错误。
以非交互方式使用手动插件时,必须提供身份验证脚本和 --manual-auth-hook。
根据文档,要自动更新通配符证书,我们需要使用 DNS 插件。
我的问题是为什么?为什么 certbot 不能重用初始设置期间创建的 txt 记录?这还不足以验证所有权吗?
试图了解通配符证书的工作原理。
当我运行时certbot review
,我收到以下错误。
以非交互方式使用手动插件时,必须提供身份验证脚本和 --manual-auth-hook。
根据文档,要自动更新通配符证书,我们需要使用 DNS 插件。
我的问题是为什么?为什么 certbot 不能重用初始设置期间创建的 txt 记录?这还不足以验证所有权吗?
试图了解通配符证书的工作原理。
验证策略取决于证书颁发者 (LE),而不是 Certbot。
使用 Let's Encrypt,域验证不是永久性的——如果已经超过 30 天,那么即使您使用同一个帐户更新同一个证书,也需要重新验证域的所有权。
每个新的验证过程都将使用一个新的挑战,特别是为了避免相同的 DNS 记录被永远重复使用——域验证的目的是证明您现在仍然在它的控制之下。
有关更多信息,请参阅此线程:https ://community.letsencrypt.org/t/will-renewal-always-require-new-dns-acme-challenge-txt/102820/2
看看这实际上是如何工作的,每次发行(无论是否续订)都提出新的挑战是 Let's Encrypt 的政策,以确保域所有者的同意实际上是最新的。
虽然 Let's Encrypt 只能提供域验证证书,但他们对域验证的看法在某些领域似乎比许多传统 CA(销售域验证证书)更强大。
我认为这可能是理想组合的结果(LE 无论如何都不会通过出售更多证书来赚钱,所以我想他们可以负担得起拥有理想),但也表明他们对按顺序进行验证非常认真首先要被接受,然后还要留在所有主要操作系统/浏览器供应商的受信任的根存储中。
也就是说,Let's Encrypt(以及一般基于 ACME 的证书颁发)的整个基础是自动化。按预期使用,初始发行和续订之间没有真正的区别。
整个想法是,如果您使用 eg
certbot
,那么当您第一次请求新证书时,您已经根据需要指定与您相关的 DNS 插件和插件配置。certbot
存储已颁发证书的所有参数,然后您可以根据需要自动更新多次,而无需任何额外的手动工作。特别是关于 DNS 插件,他们有 rfc2136 插件(标准 DNS 动态更新),它涵盖了您将自己运行的典型 DNS 服务器(例如 BIND、PowerDNS、Knot 等)以及许多主要 DNS 服务的 API 插件提供者。
如果其中任何一个是您使用的,它应该是直截了当的。