最終更新日: | すべてのドキュメントを読む
Let’s Encrypt は、与えられたドメインを制御する権限があなたにあることを検証し、証明書を発行するために、ACME プロトコルを使用しています。 Let’s Encrypt の証明書を取得するためには、使用する ACME クライアントを1つ選ぶ必要があります。
以下に示す ACME クライアントはサードパーティにより提供されているものです。 サードパーティ製クライアントは Let’s Encrypt の制御下にはなく、レビューを行っているわけではないので、安全性や信頼性に対する保証をすることはできません。
ブラウザ内で動作する ACME クライアントがいくつか存在しますが、以下のリストには掲載していません。その理由は、手動で更新するワークフローを推奨しているためです。手動での更新はユーザーエクスペリエンスを悪化させる原因であり、更新を忘れるリスクが高まります。
おすすめのクライアント: Certbot
Let’s Encrypt では、ほとんどの人にCertbotクライアントをおすすめしています。 Certbot を使えば、証明書が簡単に取得でき、ユーザーの希望に応じてインストール作業も行ってくれるからです。 使用するのが簡単で、多数のオペレーティングシステムで動作し、ドキュメントも充実しています
Certbot があなたが求める要件を満たさない場合や、単に他のクライアントを試してみたい場合でも、選択できるクライアントは以下に挙げるようにたくさんあります。リストは、実装言語や実行環境によってクループ分けをしています。
その他のクライアントの選択肢
以下のクライアントはすべて ACMEv2 API (RFC 8555) をサポートしています。 まもなく phasing out support for ACMEv1 のサポートは完全に終了する予定です。 すでに以下のクライアントのいずれかを使用しているなら、最新バージョンにアップグレードするようにしてください。 あなたが使用しているクライアントが以下のリストにない場合、ACMEv2 をサポートしていない可能性があります。もしその場合、プロジェクトのメンテナに連絡するか、他のクライアントに切り替えることをおすすめします。
Bash
- GetSSL (bash, also automates certs on remote hosts via ssh)
- acme.sh (Compatible to bash, dash and sh)
- dehydrated (Compatible to bash and zsh)
- ght-acme.sh (batch update of http-01 and dns-01 challenges is available)
- bacme (simple yet complete scripting of certificate generation)
- wdfcert.sh (Only supports DNS-01 challenges and ECDSA-384 bit keys for both accounts and certificates, native Joker DNS support including wildcard plus roor domain support for single-TXT-record DNS providers)
C
- OpenBSD acme-client
- uacme
- acme-client-portable
- Apache httpd Support via the module mod_md.
- mod_md Separate, more frequent releases of the Apache module.
- CycloneACME (client implementation of ACME dedicated to microcontrollers)
C++
- acme-lw
- esp32-acme-client allows IoT devices to get certificates
Clojure
Configuration management tools
- Ansible acme_certificate module
- Terraform ACME Provider
- Ansible collection: acme (ACME V2 integration with acme_certificate module. Supports multiple providers for challenges)
D
Domino
- CertMatica (ACME certificate installation and renewals for HCL Domino™ servers)
- HCL Domino (Full ACME V2 flow integration for HCL Domino™ servers)
Docker
Go
- Caddy
- Lego
- acmetool
- Lets-proxy2 (Reverse proxy to handle https/tls)
- autocert
- Traefik
- ACMEz
- Step CLI
- J8a (Reverse proxy for JSON APIs with auto-renewing TLS 1.3)
- certmanager (Supports certificate sharing across instances/pods and split-horizon DNS with acme-proxy)
HAProxy
Java
Kubernetes
Lua
- Mako Server's ACME Plugin The plugin’s main objective is to provide certificates for servers on private networks.
Microsoft Azure
- Azure WebApp SSL Manager (Serverless, Compatible with any App Service, requires Azure DNS)
- App Service Acmebot (Compatible to Azure Web Apps / Functions / Web App for Containers)
- Key Vault Acmebot (Work with Azure Key Vault Certificates)
- Az-Acme (The simplest ACME Issuer for Azure Key Vault)
nginx
Node.js
- Greenlock for Express.js
- acme-http-01-azure-key-vault-middleware (Express middleware for storing certificates securely on Azure Key Vault)
OpenShift
Perl
- acme (Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
- Crypt::LE
PHP
- kelunik/acme-client
- Hiawatha
- FreeSSL.tech Auto
- Yet another ACME client
- itr-acme-client PHP library
- Acme PHP
- RW ACME client
Python
- ACME Tiny
- simp_le
- acmebot
- sewer
- acme-dns-tiny (Python 3)
- Automatoes ACME V2 ManuaLE replacement with new features
- acertmgr
- acme-cert-tool
- serverPKI PKI for internet server infrastructure, supporting distribution of certs, FreeBSD jails, DNS DANE support
- acmetk acmetk is an ACMEv2 proxy to centralize certificate requests and challenges within an organisation and direct them using a single account to Let’s Encrypt or other ACMEv2 capable CA’s.
Ruby
- unixcharles/acme-client
- acme-distributed
- Combine-acme: Generate and upload crt to CloudFlare(enterprise) and GCP.
Rust
Windows / IIS
- Crypt::LE (previously ZeroSSL project)
- win-acme (.NET)
- Posh-ACME (PowerShell)
- Certes
- ACME-PS (PowerShell)
- kelunik/acme-client (PHP)
- Certify The Web (Windows)
- WinCertes Windows client
- GetCert2 (simple GUI - .Net, C#, WPF, WCF)
- TekCERT (GUI, CLI)
Server
- Certera (Crossplatform PKI to centrally manage keys and certificates)
ライブラリ
4D
- acme component ACME Client v2 for 4D v18+
C++
- acme-lw
- esp32-acme-client allows IoT devices to get certificates
D
Delphi
- DelphiACME (Embarcadero Delphi)
Go
- Lego
- acmetool
- eggsampler/acme
- ACMEz
- certmanager (Supports certificate sharing across instances/pods and split-horizon DNS with acme-proxy)
Java
.NET
- Certes (.NET Standard)
- PKISharp/ACMESharpCore (.NET Standard)
Node.js
Perl
- acme (Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
- Crypt::LE
- Net::ACME2
- wdfcert.sh (Only supports DNS-01 challenges and ECDSA-384 bit keys for both accounts and certificates, native Joker DNS support including wildcard plus roor domain support for single-TXT-record DNS providers)
PHP
- kelunik/acme
- ACMECert PHP library
- LEClient PHP library
- le-acme2-php library
- stonemax/acme2 PHP client
- Acme PHP Library
Python
- Python の acme モジュールは、Certbot tree の一部として含まれているものですが、スタンドアローンのパッケージとしても公開されています。PyPI や Debian、Ubuntu、Fedora などのディストリビューションでも配布されており、他の多数のクライアントでも利用されています。
Ruby
Rust
Let's Encrypt と連携できるプロジェクト
- Aegir
- Aerys
- Apache HTTP Server
- ApisCP
- Caddy
- CentminMod LEMP Stack
- Certhub
- Cloudfleet
- Cloudron
- cPanel
- Froxlor Server Management Panel
- Gitlab
- ISPConfig
- LiveConfig Hosting Control Panel
- Mail-in-a-Box
- Own-Mailbox
- pfSense
- Plesk Web Hosting Control Panel
- Ponzu CMS
- ruxy
- SWAG - Secure Web Application Gateway
- Synchronet BBS System
- Vesta Control Panel
- Virtualmin Web Hosting Control Panel
- WildFly Application Server
- Zappa
クライアントやプロジェクトを追加する
もし上のリストに掲載されていない Let’s Encrypt と連携できる ACME クライアントやプロジェクトを知っていたら、Let’s Encrypt のウェブサイトリポジトリにある data/clients.json
ファイルを更新して、プルリクエストを送ってください。
プルリクエストを送る前に、以下の点を確認してください。
- クライアントは Let’s Encrypt trademark policy を遵守しているか。
- クライアントは、ブラウザベースのものではなく、自動更新に対応しているか。
- あなたのコミットは、関連するセクションの一番最後に追加するものであるか (もし対応する場合は、「acme_v2」セクションの記入を忘れないでください!)。
- あなたのコミットは、
clients.json
のヘッダのlastmod
の日付を更新しているか。