en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

SSL /TLS ACME证书颁发和吊销

ACME徽标SSL.com客户现在可以使用流行的ACME协议来请求和撤消SSL /TLS 证书。

ACME(自动证书管理环境)是用于自动域验证和X.509证书安装的标准协议,在 IETF RFC 8555。 作为一个文档完善的标准,其中包含许多开源 客户实施,ACME提供了一种轻松的方式来配置网站或 物联网设备 例如带有公共或私人信任的数字证书的调制解调器和路由器,并随着时间的推移使这些证书保持更新。

ACME不仅仅适用于网站! 借助SSL.com上启用ACME的签发CA,物联网供应商可以轻松管理和自动化SSL /的验证,安装,续订和吊销TLS 具有ACME功能的设备上的证书。

了解有关用于物联网的ACME的更多信息

本指南将向您展示如何:

  • 找到并检索使用ACME申请证书所需的凭据。
  • 使用Certbot手动请求SSL /TLS 通过的证书 HTTP-01DNS-01 挑战方法。
  • 使用Certbot吊销证书。
请注意: 您还可以使用许多其他ACME客户端,包括 Kubernetes认证经理,并带有SSL.com的ACME服务。 请参阅软件提供商的文档,以获取非Certbot ACME客户端的说明。

安装Certbot

本指南假定您使用的计算机具有以下功能: Certbot 已安装。 Certbot是由电子前沿基金会(EFF)开发的免费开源工具,可用于请求或撤消SSL /TLS 通过ACME协议从SSL.com获得证书。 Certbot可以在各种平台上运行,包括Linux,macOS和Windows。

  • 如果你有 已安装,您可以使用以下命令进行安装:
    sudo snap install-经典certbot
  • If /snap/bin/ 不在你里面 PATH,您还需要添加它或运行如下命令:
    须藤ln -s / snap / bin / certbot / usr / bin / certbot

如果您需要有关在系统上安装Certbot的更多信息,请参阅EFF的 文件.

检索ACME凭证

在使用ACME申请证书之前,您需要检索您的 帐号密码HMAC密钥 从您的SSL.com帐户。

SSL.com的 经销商和批量购买 合作伙伴可以 生成 ACME 凭证 为他们的客户。 读 这个方法 完整的说明。
  1. 登录到您的SSL.com帐户。 如果您已经登录,请转到 卖家专用后台 标签。
    卖家专用后台
  2. 点击 api凭证,位于 开发人员与整合.
    API凭证链接
  3. 您将需要您的 帐户/ ACME密钥HMAC密钥 请求证书。 点击剪贴板图标(),然后将每个值复制到剪贴板。
    帐户/ ACME密钥和HMAC密钥
  4. 您还可以通过单击剪贴板图标()复制一个预填充了电子邮件地址,帐户/ ACME密钥和HMAC密钥的Certbot命令。) 旁边的 cli命令下面 ACME 证书机器人。 此预格式化的命令将通过HTTP-01质询方法订购证书。复制certbot命令

手动请求SSL /TLS 认证证书

现在,您已经获取了凭据,您可以通过 certbot 命令。 Certbot支持两种域验证(DV)方法:HTTP-01和DNS-01。

HTTP-01挑战方法

HTTP-01 是ACME和Certbot最常用的挑战方法。 当您以这种方式请求证书时,Certbot会生成一个令牌,您可以使用该令牌在您的网站上创建可公开访问的文件。 然后,SSL.com的ACME服务器将通过HTTP验证文件,并在正确的情况下签发签名证书。

要求: HTTP-01方法要求您有权访问Web服务器,并且该站点可通过端口访问 80 通过HTTP。 您还需要 sudo 在计算机上的特权。

要手动获取证书,请使用以下命令。 用您的实际值替换ALL CAPS中的值。 (如上所述,您还可以从门户网站帐户复制并粘贴一个certbot命令来执行此操作):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --同意-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME

分解命令:

  • sudo certbot 跑了 certbot 具有超级用户权限的命令。
  • certonly 请求检索证书,但不安装它。
  • --manual 指定以交互方式运行Certbot。
  • --server https://acme.ssl.com/sslcom-dv-ecc 指定SSL.com的ACME服务器。
  • --config-dir /etc/ssl-com (可选)设置配置目录。
  • --logs-dir /var/log/ssl-com (可选)设置日志目录。
  • --agree-tos (可选)同意ACME订户协议。 如果您想以交互方式达成共识,则可以忽略此设置。
  • --no-eff-email (可选)表示您不想与EFF共享您的电子邮件地址。 如果您省略此选项,则会提示您选择共享您的电子邮件地址。
  • --email EMAIL-ADDRESS 提供注册电子邮件地址。 您可以指定多个地址,以逗号分隔。
  • --eab-hmac-key HMAC-KEY 指定您的HMAC密钥。
  • --eab-kid ACCOUNT-KEY 指定您的帐户密钥。
  • -d DOMAIN.NAME 指定证书将覆盖的域名。 请注意,您可以使用 -d DOMAIN.NAME 在命令中多次选择将域名添加到证书中。 Certbot将要求您为请求的每个域名创建一个质询文件。 请参阅以下部分 证书类型和账单 下面查看不同域名组合如何映射到 SSL.com证书类型 及其相应的定价。
请注意: Certbot 2.0.0 或更新版本默认为新证书生成 ECDSA。 上面的命令将生成一个 ECDSA 密钥对和证书。 要改为使用 RSA 密钥:

  • 更改 --server 命令中的值 https://acme.ssl.com/sslcom-dv-rsa
  • 地址 --key-type rsa 到命令。
当你第一次运行上面的 certbot 命令,ACME 帐户信息将存储在您计算机上的配置目录 (/etc/ssl-com 在上面显示的命令中。 在以后运行 certbot 时,您可以省略 --eab-hmac-key--eab-kid 选项,因为 certbot 将忽略它们而支持本地存储的帐户信息。

如果您需要将计算机的 ACME 证书订单与不同的 SSL.com 帐户相关联,则应使用以下命令从计算机中删除此帐户信息 sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (或者,如果您省略了可选的 --config-dir 选项, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

当您运行上面的命令时,您应该收到创建验证文件的说明:

-----------------------------------创建一个仅包含以下数据的文件:cr1rsRTImVz_s7HHk7biTQ。 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI并将其在您的Web服务器上通过以下URL提供:http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ------------ ---------------------按Enter继续

创建文件并将其保存在Web服务器上的某个位置,可以通过端口通过HTTP访问该文件 80 在显示的网址上,然后按 Enter.

请注意: HTTP-01质询可能需要以破折号(-)字符。 在这种情况下,您可能需要在创建文件时指定目录,以防止Shell解释破折号(例如 vim ./-r1rsRTImVz_s7HHk7biTQ).

如果所有信息正确,您应该收到一条确认消息,其中显示证书链和私钥的位置:

重要提示:-恭喜! 您的证书和链已保存在:/etc/ssl-com/live/DOMAIN.NAME/fullchain.pem。密钥文件已保存在:/etc/ssl-com/live/DOMAIN.NAME/privkey.pem。证书将于2021-10-05到期。 要在将来获得此证书的新版本或调整过的版本,只需再次运行certbot。 要以非交互方式更新所有*证书,请运行“ certbot续订”

现在,您可以配置Web服务器以访问新证书和私钥。

DNS-01质询方法

DNS-01 挑战方法比HTTP-01棘手,但在多个Web服务器上使用时更方便。 在这种方法中,Certbot将提供一个令牌,您可以使用该令牌在证书将要保护的域名下创建DNS TXT记录。

要求: DNS-01方法要求您具有为网站的域名创建DNS记录的能力。

以下命令将通过DNS-01质询方法请求DOMAIN.NAME的证书:

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME

请注意: 您可以使用 -d DOMAIN.NAME 在命令中多次选择将域名添加到证书中。 Certbot将要求您为每个请求的域名创建一个单独的DNS TXT记录。 您无需等待每个TXT记录传播就可以按 Enter 直到您完成最后的挑战。 请参阅以下部分 证书类型和账单 下面查看不同域名组合如何映射到 SSL.com证书类型 及其相应的定价。
当你第一次运行上面的 certbot 命令,ACME 帐户信息将存储在您计算机上的配置目录 (/etc/ssl-com 在上面显示的命令中。 在以后运行 certbot 时,您可以省略 --eab-hmac-key--eab-kid 选项,因为 certbot 将忽略它们而支持本地存储的帐户信息。

如果您需要将计算机的 ACME 证书订单与不同的 SSL.com 帐户相关联,则应使用以下命令从计算机中删除此帐户信息 sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (或者,如果您省略了可选的 --config-dir 选项, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

此命令与HTTP-01部分中的命令相同,但添加了 --preferred-challenges dns 选项。 运行命令时,您将收到有关创建DNS记录的说明:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue

创建DNS TXT记录并等待其传播。 (whatsmydns.net 是检查DNS传播的便捷工具。 请注意,记录名称开头的下划线字符(_)为 必须。 当唱片传播到世界各地时,请按 Enter.

如果您要求使用通配符证书(例如 *.example.com),如果您也想保护基本域名(例如, -d *.example.com -d example.com)。 在这种情况下,您需要创建 具有相同名称的TXT记录(_acme-challenge.example.com).

如果所有信息正确,您应该收到一条确认消息,其中显示证书链和私钥的位置:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"

现在,您可以配置Web服务器以访问新证书和私钥。

证书续订(手动)

对于手动颁发的证书(如本指南中所述),只需重复用于请求证书的命令即可完成证书更新。 Certbot确实提供了 renew 子命令,但在尝试将其与请求的证书一起使用时会产生错误。 --manual 选项​​:

sudo certbot更新--force-renewal将调试日志保存到/var/log/ssl-com/letsencrypt.log-------------------------- --------------处理/etc/ssl-com/renewal/DOMAIN.NAME------------------------ ----------------无法选择适当的插件:手动插件不起作用; 您现有的配置可能存在问题。 错误是:PluginError(“非交互式使用手动插件时,必须为--manual-auth-hook提供身份验证脚本。”,)尝试从/ etc / ssl-com /续订证书(DOMAIN.NAME)。 renewal / DOMAIN.NAME.conf产生意外错误:手动插件不起作用; 您现有的配置可能存在问题。 错误是:PluginError('非交互式使用手动插件时,必须提供--manual-auth-hook身份验证脚本。',)。 正在跳过。 所有续订尝试均失败。 无法更新以下证书:/etc/ssl-com/live/DOMAIN.NAME/fullchain.pem(失败)----------------------- ----------------所有更新尝试均失败。 无法更新以下证书:/etc/ssl-com/live/DOMAIN.NAME/fullchain.pem(失败)----------------------- -----------------1个更新失败,0个解析失败

证书吊销

撤销证书 certbot revoke。 用您的实际值替换ALL CAPS中的证书路径(例如, /etc/ssl-com/live/example.com/cert.pem)。 如果未指定自定义 --config-dir--logs-dir 要求原始证书时,请忽略这些选项。

sudo certbot撤消--server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com

系统将提示您是否还删除已撤销的证书:

------------------------------------是否要删除证书您刚刚撤销了该证书,以及该证书的所有早期和更高版本? ------------------------------------(Y)es(推荐)/(N )o:Y-------------------------------------删除所有与证书有关的文件DOMAIN.NAME。 ----------------------------------------------

注意:某些用户在尝试使用以下命令吊销证书时可能会遇到此错误 SSL.com的 ACME 端点:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

尝试以下操作来解决错误:
a) 指定证书的私钥路径以签署吊销请求。
示例: --key-path /PATH/TO/privkey.pem
b) 如果您使用自定义目录,请指定您在颁发证书时使用的目录: --config-dir

证书类型和计费

所有SSL /TLS SSL.com通过ACME发行的证书为一年证书。 您将收到(并为其付费)的SSL.com证书类型取决于所请求域名的数量和类型:

  • 基本SSL:一个域名,或域名加 www 子域(例如 example.comwww.example.com).
    • 请注意,如果您希望同时保护基本域名和 www,您必须在Certbot命令中同时包含两者(例如 -d example.com -d www.example.com).
  • 通配符SSL:一个通配符域名,或一个通配符域名加基本域名(例如 *.example.comexample.com).
  • 高级SSL:基本域名和一到三个非通配符子域。 (例外:如上所述,基本域加上 www 子域(没有其他域)将记为基本SSL。)例如:
    • example.cominfo.example.com
    • example.comwww.example.cominfo.example.com
    • example.comwww.example.com, info.example.com store.example.com
  • 多域UCC / SAN SSL:域名的任何其他组合。 例如:
    • 基本域名和三个以上的子域
    • 两个或多个通配符和/或非子域域名

SSL.com的参与者 经销商和批量购买计划 将会以与其定价层级相关的折扣价计费。

了解更多信息

使用ACME协议(带有或不带有Certbot),您可以做更多的事情。 请参考以下资源以获取更多信息:

在 SSL.com 帐户方面需要更多帮助?

感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.

Twitter
Facebook
LinkedIn
Reddit
邮箱