自動證書管理環境(英語: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.