自动证书管理环境(英语:Automatic Certificate Management Environment,缩写ACME)是一种通信协议,用于证书颁发机构与其用户的Web伺服器之间的自动化交互,允许以极低成本自动化部署公钥基础设施[1][2]该协议由互联网安全研究小组英语Internet Security Research Group(ISRG)为Let's Encrypt服务设计。[1]

Thumb
ACME标志

该协议通过HTTPS协议传输JSON格式的资讯[2] [3],并已由专门的IETF工作组在RFC 8555中规范为一个互联网标准[4][5]

客户端实现

ISRG提供了自由且开源的ACME实现软件certbot,它是一个基于Python编写的使用ACME协议的伺服器证书管理软件[6] [7] [8],另有用Go语言编写的证书颁发机构实现boulder[9]。其他ACME客户端实现还包括Smallstep[10]、step-ca和Keyon Enterprise PKI页面存档备份,存于互联网档案馆)。

自2015年以来,各操作系统上已出现众多可供选择的客户端。[11]

More information 客户端, 类型 ...
通用的ACME工具
客户端 类型 组织和/或主要赞助商 操作系统 开源 商业使用
acme.sh页面存档备份,存于互联网档案馆 shell脚本 Neil Pang,ZeroSSL(apilayer) Linux, macOS
Caddy页面存档备份,存于互联网档案馆 网络伺服器 Matt Holt,ArdanLabs,ZeroSSL(apilayer) Linux、macOS、Windows
Certbot页面存档备份,存于互联网档案馆 python脚本 互联网安全研究小组 Linux、macOS、Windows
Certify The Web页面存档备份,存于互联网档案馆 图形界面和后台服务 Webprofusion Windows、Linux
win-acme页面存档备份,存于互联网档案馆 命令行 Wouter Tinus Windows
Close

ACME服务提供商

支持基于ACME的免费或低成本的证书服务提供商包括Let's EncryptBuyPass Go SSL页面存档备份,存于互联网档案馆)、ZeroSSL页面存档备份,存于互联网档案馆)和SSL.com页面存档备份,存于互联网档案馆)。其他许多证书颁发机构和程序供应商将ACME服务作为付费PKI解决方案的一部分,例如EntrustDigiCert

API版本

API v1

API v1规范于2016年4月12日发布。该版本支持为完整域名颁发证书,例如example.comcluster.example.com,但不支持例如*.example.com的通用证书。Let's Encrypt于2021年6月1日结束了API v1的支持。[12]

API v2

API v2在多次推迟后于2018年3月13日发布。ACME v2不向下兼容v1。版本2支持通用域名证书,例如*.example.com,允许单个域下的专用网络中的大量子域用一个共享的“万用字元”证书获得受信任的TLS,例如https://cluster01.example.comhttps://cluster02.example.comhttps://example.com[13]v2中的一个主要的新要求是请求通用域名证书需要修改域名服务的TXT记录英语TXT record,以验证域名所有权。

自v1以来对ACME v2协议的更改包括:[14]

  1. 授权/发行流程已更改。
  2. JWS请求授权已更改。
  3. JWS请求正文的“resource”字段替换为新的JWS标头“url”。
  4. 目录端点/资源重命名。
  5. 验证资源中的URI更名为URL。
  6. 帐户创建和ToS协议从两步变为一步。
  7. 实现一种新的验证类型TLS-ALPN-01。由于安全问题,早期的挑战类型TLS-SNI-01和TLS-SNI-02因安全问题已移除。[15] [16]

参见

参考文献

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.