← 返回文章列表

什麼是 ACME?安全憑證自動化更新協定完整指南

目錄

  1. ACME 協定是什麼?
  2. ACME 制定的目的與背景
  3. 支援 ACME 的憑證授權機構
  4. ACME 客戶端軟體比較
  5. Google Trust Services ACME 設定教學
  6. ACME 自動化更新優勢

ACME 協定是什麼?

ACME(Automated Certificate Management Environment,自動化證書管理環境)是一種由 IETF 制定的開放協議(RFC 8555),用於自動化 TLS/SSL 證書的申請、驗證、更新和撤銷流程。透過 ACME 協定,系統管理師無需手動操作即可實現證書的完全自動化管理,大幅降低人為錯誤和證書過期風險。

在現代網站架構中,ACME 自動化憑證更新已成為標準實踐,讓 HTTPS 加密變得更加普及和可靠。

ACME 制定的目的與背景

傳統證書管理的痛點

在 ACME 出現之前,SSL/TLS 證書管理存在諸多問題:

  • 手動申請流程繁瑣:需透過網頁表單提交申請、驗證域名所有權
  • 容易忘記續期:證書過期導致網站無法訪問,造成業務中斷
  • 人為錯誤風險:手動操作可能導致證書配置錯誤或安全漏洞
  • 規模化困難:管理數百個域名證書幾乎不可能

ACME 的解決方案

ACME 協議於 2015 年由 Let’s Encrypt 推動标准化,主要解決以下問題:

  1. 自動化驗證:透過 HTTP-01、DNS-01 等挑戰機制自動證明域名控制權
  2. 自動續期:客戶端可定時檢查並自動更新即將到期的證書
  3. 標準化接口:統一的 API 規範,不同 CA 和客戶端可互操作
  4. 降低門檻:讓 HTTPS 加密變得簡單、免費、普及

支援 ACME 的憑證授權機構

🆓 免費 ACME 服務商

供應商 證書有效期 特色 ACME 端點
Let's Encrypt 90 天 最廣泛支援,非營利組織 acme-v02.api.letsencrypt.org
ZeroSSL 90 天 無速率限制,需註冊帳號 acme.zerossl.com
BuyPass 365 天 免費 1 年憑證,挪威供應商 api.buypass.com
Google Trust Services 90 天 GCP 整合,需 EAB 金鑰 dv.acme-v02.api.pki.goog

💰 付費 ACME 服務商

供應商 證書類型 適用場景
SSL.com DV/OV/EV 企業級自動化需求
Sectigo DV/OV/EV 支援 InCommon 教育機構
DigiCert DV/OV/EV CertCentral 平台整合
GlobalSign DV/OV/EV 大型企業解決方案
Entrust OV/EV 金融、政府機構

ACME 客戶端軟體比較

主流 ACME 客戶端

軟體名稱 語言 特色 支援 EAB
Certbot Python 最廣泛使用,官方推薦
acme.sh Shell 輕量級,純腳本實現
Win-ACME .NET Windows IIS 整合
Lego Go 開發者友好,API 完整
acme4j Java Java 應用整合

Google Trust Services 特別要求

Google Public CA 要求 ACME 客戶端必須支援 EAB(External Account Binding) 功能,用於將 ACME 帳號綁定到 Google Cloud 專案。

支援 EAB 的客戶端

  • ✅ Certbot(推薦)
  • acme.sh
  • ✅ Lego
  • ✅ 大多數現代 ACME 客戶端

不支援 EAB 的客戶端

  • ❌ 舊版 ACME 軟體
  • ❌ 部分簡化版客戶端

Google Trust Services ACME 設定教學

前置準備

# 1. 安裝 gcloud CLI
gcloud init

# 2. 建立或選擇專案
gcloud projects create your-project-id
gcloud config set project your-project-id

# 3. 授予 IAM 權限
gcloud projects add-iam-policy-binding your-project-id \
  --member=user:[email protected] \
  --role=roles/publicca.externalAccountKeyCreator

# 4. 啟用 Public CA API
gcloud services enable publicca.googleapis.com

申請 EAB 金鑰

# 生成 EAB Key ID 和 HMAC Key
gcloud publicca external-account-keys create

回應包含:

  • keyId → EAB_KID
  • b64MacKey → EAB_HMAC_KEY

⚠️ 注意:EAB 金鑰有效期僅 7 天,需在此期限內完成帳號註冊

使用 Certbot 註冊帳號

certbot register \
    --email "[email protected]" \
    --no-eff-email \
    --server "https://dv.acme-v02.api.pki.goog/directory" \
    --eab-kid "YOUR_EAB_KID" \
    --eab-hmac-key "YOUR_EAB_HMAC_KEY"

申請證書(DNS-01 挑戰)

certbot certonly \
    --manual \
    --preferred-challenges "dns-01" \
    --server "https://dv.acme-v02.api.pki.goog/directory" \
    --domains "example.com,www.example.com"

自動化續期設定

# 加入 crontab(每 60 天自動續期)
0 0 1,15 * * certbot renew --quiet

ACME 自動化更新優勢

🎯 核心優勢

  1. 零停機更新:證書在背景自動更新,無需中斷服務
  2. 降低人力成本:無需手動跟蹤證書到期日
  3. 提升安全性:縮短證書有效期,減少洩漏風險
  4. 規模化支援:可同時管理數千個域名證書

📊 與傳統流程比較

項目 傳統手動流程 ACME 自動化
申請時間 30-60 分鐘/證書 1-2 分鐘/證書
續期提醒 需自行追蹤 自動檢查
人為錯誤 高風險 幾乎為零
證書有效期 1-2 年 90 天(更安全)
管理成本 極低

🔒 安全最佳實踐

  • 使用 DNS-01 挑戰:適合通配符證書和自動化部署
  • 定期輪替 EAB 金鑰:建議每 90 天重新生成
  • 監控證書狀態:設定失敗通知機制
  • 測試環境驗證:先使用 Staging 端點測試流程

結語

ACME 協議徹底改變了 SSL/TLS 證書的管理方式,讓 HTTPS 加密變得更加普及和安全。無論您是管理單一網站還是大型企業基礎設施,採用 ACME 自動化更新都能顯著降低運維負擔並提升安全水準。

Google Trust Services 等現代 CA 提供免費且可靠的 ACME 服務,配合 Certbot 等成熟客戶端,讓證書管理變得前所未有的簡單。


作者:LinkPortal 編輯團隊
分類:資訊安全
更新日期:2026-05-12