自动证书管理环境(英语:Automatic Certificate Management Environment,缩写ACME)是一种通信协议,用于证书颁发机构与其用户的Web伺服器之间的自动化交互,允许以极低成本自动化部署公钥基础设施。[1][2]该协议由互联网安全研究小组(ISRG)为Let's Encrypt服务设计。[1]
该协议通过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]
客户端 | 类型 | 组织和/或主要赞助商 | 操作系统 | 开源 | 商业使用 |
---|---|---|---|---|---|
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 | 是 | 否 |
ACME服务提供商
支持基于ACME的免费或低成本的证书服务提供商包括Let's Encrypt、BuyPass Go SSL (页面存档备份,存于互联网档案馆)、ZeroSSL (页面存档备份,存于互联网档案馆)和SSL.com (页面存档备份,存于互联网档案馆)。其他许多证书颁发机构和程序供应商将ACME服务作为付费PKI解决方案的一部分,例如Entrust和DigiCert。
API版本
API v1规范于2016年4月12日发布。该版本支持为完整域名颁发证书,例如example.com
或cluster.example.com
,但不支持例如*.example.com
的通用证书。Let's Encrypt于2021年6月1日结束了API v1的支持。[12]
API v2在多次推迟后于2018年3月13日发布。ACME v2不向下兼容v1。版本2支持通用域名证书,例如*.example.com
,允许单个域下的专用网络中的大量子域用一个共享的“万用字元”证书获得受信任的TLS,例如https://cluster01.example.com
、https://cluster02.example.com
、https://example.com
。[13]v2中的一个主要的新要求是请求通用域名证书需要修改域名服务的TXT记录,以验证域名所有权。
自v1以来对ACME v2协议的更改包括:[14]
参见
- 简单证书注册协议,自动证书部署协议的前身。
参考文献
外部链接
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.