GetHTTPSとacme.shはどちらもLet’s Encryptから無料のSSL証明書を発行します。GetHTTPSはインストール不要でブラウザ内で動作します。acme.shは一般ユーザーとして実行できる(root不要)軽量なシェルスクリプトで、cronによる自動更新に対応しています。
比較表
| GetHTTPS | acme.sh | |
|---|---|---|
| 実行環境 | ブラウザ | シェル(bash/sh/zsh) |
| インストール | 不要 | curl ... | sh またはgit clone |
| root/sudo | 不要 | 不要(Certbotに対する独自の優位点) |
| 自動更新 | なし | あり(cronジョブ) |
| 秘密鍵の生成 | ブラウザ(Web Crypto API) | サーバー(openssl) |
| チャレンジタイプ | HTTP-01、DNS-01 | HTTP-01、DNS-01、TLS-ALPN-01、DNSエイリアス |
| DNS APIプラグイン | なし(手動DNS) | 150以上のDNSプロバイダー |
| 事前チェック検証 | ✅ | ❌ |
| マルチCA対応 | Let’s Encryptのみ | Let’s Encrypt、ZeroSSL、Buypass、Googleなど |
| 設定ファイル | なし | ~/.acme.sh/ |
| 依存関係 | モダンブラウザ | openssl、curl/wget、cron |
| オープンソース | いいえ | はい(GPL v3) |
GetHTTPSを使うべき場合
- ゼロインストール — サーバーにインストール、設定、メンテナンスするものがない
- コマンドライン不要 — ブラウザのUIは非技術者にもアクセスしやすい
- プライバシー — 秘密鍵がブラウザ内で生成され、サーバーに保存されない
- 一回限りの証明書 — ステージング、テスト、他者のサポート
acme.shを使うべき場合
- 自動更新 — root権限なしのcronベース更新
- DNS API統合 — 150以上のプロバイダー(Cloudflare、Route 53など)での自動DNS-01チャレンジ
- root不要 — Certbotと異なり、acme.shは一般ユーザーとして実行可能
- マルチCA — Let’s Encrypt、ZeroSSL、Buypass、Google Trust Servicesから発行可能
- 高度な機能 — DNSエイリアスモード、通知フック、デプロイフック
判断
| あなたの状況 | 使用ツール |
|---|---|
| サーバーアクセスなし / 一回限りの証明書 | GetHTTPS |
| root不要の自動更新 | acme.sh |
| 非技術者 / GUIが好み | GetHTTPS |
| DNS API自動化が必要 | acme.sh |
| 秘密鍵の最大プライバシー | GetHTTPS |
| 本番サーバー、長期運用 | acme.sh または Certbot |
どちらも優れたツールです。GetHTTPSはシンプルさとプライバシーで勝ります。acme.shは自動化とDNS統合で勝ります。発行される証明書は同じLet’s Encrypt証明書です。
インストール比較
GetHTTPS
ブラウザでgethttps.com/app/setupを開く。
完了。
acme.sh
# インストール(root不要)
curl https://get.acme.sh | sh -s email=you@example.com
# 証明書の発行
~/.acme.sh/acme.sh --issue -d example.com -w /var/www/html
# 自動更新はcron経由で自動的にセットアップ
crontab -l | grep acme.sh
acme.shはホームディレクトリの ~/.acme.sh/ にインストールされます。1日2回更新をチェックするcronエントリを追加します。システムレベルの変更は必要ありません。
DNS-01自動化:acme.shの最大の特徴
acme.shには150以上のDNSプロバイダーのAPI統合が組み込まれています。これにより、手動でDNSを変更せずに完全自動のワイルドカード証明書の発行が可能です:
# Cloudflareの例
export CF_Token="your-api-token"
~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_cf
# AWS Route 53の例
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_aws
GetHTTPSではワイルドカード証明書のDNS TXTレコードを手動で追加する必要があります。一回限りのワイルドカード証明書であれば問題ありませんが、多くのドメインで頻繁に更新する場合、acme.shのDNS API自動化で大幅な時間節約ができます。
プライバシー比較
| 側面 | GetHTTPS | acme.sh |
|---|---|---|
| 鍵の生成 | ブラウザ(Web Crypto API) | サーバー(openssl) |
| 鍵の保存 | ダウンロードフォルダ | サーバーの ~/.acme.sh/ |
| 鍵の露出 | どのサーバーにも存在しない | acme.sh実行サーバー上 |
| テレメトリ | なし | なし |
GetHTTPSには厳格なプライバシー上の優位性があります:鍵はブラウザ内にのみ存在します。acme.shでは、鍵はサーバー上に存在します。これはサーバー管理の証明書としては通常ですが、そのユーザーアカウントにアクセスできる人は誰でも鍵を読み取れることを意味します。
よくある質問
acme.shはCertbotより優れていますか?
異なるツール、異なる強み。acme.shはrootが不要で、150以上のDNSプラグインが組み込まれ、単一のシェルスクリプト(約7000行のbash)です。CertbotにはNginx/Apache自動設定がありますが、snap/pipと通常はrootが必要です。ほとんどのCLIユーザーにはどちらでも問題ありません。Certbot比較を参照 →
両方使えますか?
はい。最初の証明書にはGetHTTPS(セットアップ時間ゼロ)を使い、その後acme.shをインストールして自動更新を行えます。PEMファイルは標準フォーマットです。acme.shはGetHTTPSで最初に作成された同じドメインの証明書を更新できます。
acme.shはmacOSで動作しますか?
はい。acme.shはbash/sh、curl、opensslがある任意のUnix系システムで動作するピュアシェルスクリプトです。macOS、Linux、FreeBSD、さらにはWindows WSLでも動作します。