ACME(Automated Certificate Management Environment)は、SSL/TLS 証明書の取得・更新・失効を自動化するために設計された IETF 標準プロトコルです(RFC 8555)。業界標準として急速に普及し、現在では商用認証局でも対応が進んでいます。
- 証明書の申込・認証・取得・インストール・更新を完全自動化するプロトコル
certbotやacme.shなどのクライアントをサーバで動かすだけ- 47日ルール(証明書の有効期間短縮)時代の運用には事実上必須
🔄 従来の取得フロー vs ACME
従来、SSL/TLS 証明書の取得はすべて手作業でした。
従来のフロー
-
CSR 作成
サーバ上で OpenSSL や Web UI を使い CSR(証明書署名要求)と秘密鍵を生成。
-
Web で申込
認証局の Web サイトから注文。CSR を貼り付け、登録情報を入力。
-
ドメイン認証
メール認証 / DNS レコード / HTTP ファイル設置のいずれかで、ドメイン所有を証明。
-
証明書ダウンロード
発行された証明書・中間証明書をダウンロード。
-
サーバへインストール
Apache / Nginx / IIS の設定ファイルを編集し、証明書を配置。リロード。
有効期間が 1〜2 年あった時代はこれで十分でした。しかし有効期間が段階的に短縮され、最終的に 47 日まで縮む現在では、年に 8 回以上この作業を繰り返すことになり、人手による運用は現実的でなくなっています。
ACME のフロー
ACME クライアントをサーバにインストールし、ドメインを指定して 1 コマンド実行するだけです。
# certbot で取得
certbot --nginx -d example.com
# 以降、cron や systemd timer で自動更新
0 0 * * * certbot renew --quiet
申込・認証・取得・インストール・更新まですべてクライアントが自動実行します。手作業ゼロです。
🔧 動作原理
ACME クライアントは認証局の ACME サーバと通信し、定められた手順でドメイン所有を証明します。
1. アカウント作成
クライアントが鍵ペアを生成し、ACME サーバに公開鍵を登録します。以降のリクエストはこの鍵で署名されます。
2. 注文(Order)作成
クライアントが「example.com の証明書が欲しい」と認証局にリクエスト。サーバは認証チャレンジを発行します。
3. ドメイン認証(Challenge)
以下の 3 方式から選択して認証します。
| 方式 | 内容 | 主な用途 |
|---|---|---|
http-01 |
指定 URL(/.well-known/acme-challenge/…)に特定のファイルを配置 |
シングルドメイン・最も一般的 |
dns-01 |
指定の TXT レコードを DNS に追加 |
ワイルドカード・内部サーバ |
tls-alpn-01 |
TLS ハンドシェイクで特定の応答を返す | 80 番ポートが使えない環境 |
4. 証明書発行
認証成功後、クライアントが CSR を送信し、認証局が証明書を発行・配信します。
5. 自動更新
クライアントが定期的に有効期限をチェックし、満了 30 日前などのタイミングで自動的に再取得します。
🛠 主な ACME クライアント
| クライアント | 言語 / 環境 | 特徴 |
|---|---|---|
| certbot | Python / Linux | EFF 公式、最も普及。Apache / Nginx のプラグインで設定自動編集も可能。 |
| acme.sh | Pure Shell | 依存関係ほぼゼロ。共有サーバや組み込み機器に最適。DNS API 100+ 対応。 |
| win-acme | .NET / Windows | Windows / IIS 向けの定番。バインディング設定まで GUI で対応。 |
| Caddy | Go | ACME を内蔵した Web サーバ。HTTPS が起動時から有効。 |
| Traefik | Go | Docker / Kubernetes 向け。コンテナ環境で人気。 |
| cert-manager | Go / Kubernetes | Kubernetes 標準。Custom Resource で証明書を宣言的に管理。 |
🏢 当社の ACME 対応
SSL ストアでは、ACME 対応版の証明書を以下のブランドで取扱っています。
FujiSSL(同社運営)
同グループ運営の認証局 FujiSSL では、DV / OV / ワイルドカード / EV のすべてのシリーズが ACME プロトコルにネイティブ対応しています。特に OV 証明書まで ACME 自動化できる実装は、業界でも稀少です。
- ACME サーバ:
https://acme.fujissl.jp/acme/directory - EAB(External Account Binding)方式で認証局アカウントと紐付け
- 商用利用・法人サイトでも完全自動運用が可能
申込・EAB 認証情報の取得は FujiSSL.jp から行えます。
Sectigo
Sectigo シリーズ(旧 Comodo CA)も ACME 対応。DV / OV / ワイルドカードで利用できます。