对于 ACME + CertCentral,使用您首选的 ACME 客户端自动执行 SSL/TLS 证书部署,无需花费时间手动安装证书。
CertCentral ACME 协议支持允许您自动执行 OV 和 EV SSL/TLS 1 年和自定义有效期证书部署。我们的 ACME 协议还支持 Signed HTTP Exchange 证书配置文件选项,使您可以自动执行 Signed HTTP Exchange 证书部署(请参阅 Signed HTTP Exchange 证书 ACME 目录 URL)。
在开始之前,请确保满足以下先决条件:
除了 CertBot 外,DigiCert 也提供证书管理器支持,以帮助您创建和管理 SSL/TLS 证书。请参阅使用 Kubernetes 配置证书管理器和 DigiCert ACME 服务。
首先,在您的 CertCentral 帐户中生成唯一的 ACME 目录 URL。您的 CertBot 证书请求命令中需包含具有外部帐户绑定 (EAB) 的 ACME 目录 URL。
在 CertCentral 帐户的侧栏菜单中,单击自动化 > ACME 目录 URL。
在“ACME 目录 URL”页上,单击添加 ACME 目录 URL。
在“添加 ACME 目录 URL”弹窗中,输入 URL 的友好名称。
在产品下拉列表中,选择您要使用 ACME 颁发的证书。
DigiCert ACME 目前仅支持 OV 和 EV TLS/SSL 证书。
在分区下拉列表中,将分区与 ACME 目录 URL 关联。
从该 URL 颁发的所有证书将附加到所选分区。
在组织下拉列表中,选择您要为其颁发证书的预验证的组织。
(可选)如果您有多年计划帐户,请从下拉列表中选择多年有效期范围。
在有效期下,选择自定义长度,并在天数框中输入数字。
单击添加 ACME 目录 URL。
在“新建 ACME 目录 URL”弹窗中,复制唯一 ACME URL 和外部帐户绑定 (EAB) 信息并保存。
您需要使用此信息请求使用 ACME 颁发证书。
当您生成 ACME 目录 URL 时,URL、KID 和 HMAC 密钥仅显示一次。无法找回丢失的信息。如果丢失了 ACME URL 详情,需吊销丢失的 URL 并生成新 URL。
单击我知道我无法再看到它。
您的新 ACME 目录 URL 已添加到“ACME 目录 URL”页的 URL 列表中(在侧栏菜单中,单击自动化 > ACME 目录 URL)。有关可以通过 ACME 目录 URL 订购的证书的详细信息,请单击 URL 说明旁边的信息图标。
如果您安装了 certbot-auto 脚本,请将命令中的 certbot
替换为 ./certbot-auto
。如果未添加到您的服务器的 PATH 配置,您可能要指定 certbot-auto 的路径。
ACME 错误代码:
ACME 返回的错误和消息与在 CertCentral API 中返回的错误和消息相同。有关错误代码及其含义的列表,请参阅错误。
使用您的首选 ACME 客户端,通过 SSH 连接 Web 服务器。
看到终端提示后,使用 CertBot 和下面的命令申请证书。
YOUR-KEY-IDENTIFIER
替换为外部帐户绑定 KID。YOUR-HMAC-KEY
替换为外部帐户绑定 HMAC 密钥。YOUR-ACME-URL
替换为前面创建的 ACME 目录 URL(请参阅创建 ACME 目录 URL)。FQDN
替换为您希望证书保护的完全限定的域名。对于每个 FQDN,请添加一个额外的 -d
选项。sudo certbot --apache --register-unsafely-without-email --eab-kid “YOUR-KEY-IDENTIFIER” --eab-hmac-key “YOUR-HMAC-KEY” --server “YOUR-ACME-URL” -d FQDN
下面是可用作外部帐户绑定参考的完整命令示例。
sudo certbot --apache --register-unsafely-without-email --eab-kid "zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g" --eab-hmac-key "RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA" --server “https://acme.digicert.com/v2/acme/directory/” -d digicert.com -d www.digicert.com
输入 CertBot 命令,根据需要进行自定义。
有关在这些说明中使用的命令和选项的更多信息,请参阅 ACME 选项。
系统将要求您接受服务条款。键入 "A” 并按 enter。
DigiCert 目前不实施关于 ACME 的任何附加服务条款。
如果您的请求中包括 Cerbot 无法为其找到相匹配的虚拟主机的 FQDN,系统将提示您选择您要在其中安装证书的虚拟主机。
在 Apache 上,在虚拟目录列表上检查与 FQDN 匹配的服务器名称。
选择是否将 HTTP 流量重定向到 HTTPS。
选择重定向将会禁用对您的网站的 HTTP 访问。
完成后,您的服务器将显示一条成功消息:“恭喜!您已成功启用您的域...”
恭喜!您的 ACME 证书请求已完成,新颁发的证书已安装到您的 Web 服务器上。您可以访问您的网站以确认安装成功。
当证书过期或需要续订时,续订证书;当证书被吊销或丢失时,补发证书。
请使用下面的 CertBot 命令进行续订和补发:
sudo certbot --apache --register-unsafely-without-email --eab-kid “YOUR-KEY-IDENTIFIER” --eab-hmac-key “YOUR-HMAC-KEY” --server “YOUR-ACME-URL” -d FQDN
您需要将 orderId
和 action
附加到 URL,如下所示:
下面是可用作续订参考的完整命令示例。
sudo certbot --apache --register-unsafely-without-email --eab-kid "zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g" --eab-hmac-key "RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA" --server “https://acme.digicert.com/v2/acme/directory/?orderId=57718329&action=renew” -d digicert.com -d www.digicert.com
下面是可用作补发参考的完整命令示例。
sudo certbot --apache --register-unsafely-without-email --eab-kid "zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g" --eab-hmac-key "RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA" --server “https://acme.digicert.com/v2/acme/directory/?orderId=57718329&action=reissue” -d digicert.com -d www.digicert.com
对于多年计划帐户:
您的 ACME 证书请求已完成。新颁发的证书已安装到您的 Web 服务器上。请访问您的网站以确认安装成功。
您可以再次使用您的 ACME 目录 URL 为相同的证书产品和预验证的组织提出更多证书请求。
要为不同产品或组织请求证书,请为该产品或组织创建新的唯一 ACME 目录 URL。请参阅创建 ACME 目录 URL。
certbot
:运行 CertBot 可执行文件。certbot-auto
: 如果安装了 certbot-auto 脚本,则在 certbot 的位置使用。如果未添加到您的服务器的 PATH 配置,您可能要指定 certbot-auto 的路径。--apache
: 指定将为您安装证书的 Apache CertBot 插件。可选。--register-unsafely-without-email
: 允许您跳过创建 ACME 帐户。由于您的请求已连接到您的 CertCentral 帐户,因此不需要执行此操作。可选。--server “
URL
”
:指定要完成您的请求的 ACME 服务器。将 ACME 目录 URL 放在此选项后面的双引号中。--eab-kid “YOUR
KID
”
:指定密钥标识符,这是公共 URL 的一部分。--eab-hmac-key “YOUR
HMACKEY
”
:指定用于为响应签名的密钥。-d YOUR
域
:包括在证书中的完全限定的域名。对于证书中的每个 FQDN,包括 –d YOURDOMAIN。如果您不包括此选项,CertBot 将根据您配置的虚拟主机提示您要包括的域。可选。orderId “YOUR
ORDERID
”
:指定现有证书的订单 ID 类型。action “YOUR
ACTION
”
:指定对所请求的证书执行的操作。可以从终端使用 certbot –help 获取 CertBot 命令的完整列表。命令也记载在 CertBot 文档网站上。
相关主题