最終更新日: | すべてのドキュメントを読む
Let’s Encrypt は、与えられたドメインを制御する権限があなたにあることを検証し、証明書を発行するために、ACME プロトコルを使用しています。Let’s Encrypt の証明書を取得するためには、使用する ACME クライアントを1つ選ぶ必要があります。
以下に示す ACME クライアントはサードパーティにより提供されているものです。サードパーティ製クライアントは Let’s Encrypt の制御下にはなく、レビューを行っているわけではないので、安全性や信頼性に対する保証をすることはできません。
ブラウザ内で動作する ACME クライアントがいくつか存在しますが、以下のリストには掲載していません。その理由は、手動で更新するワークフローを推奨しているためです。手動での更新はユーザーエクスペリエンスを悪化させる原因であり、更新を忘れるリスクが高まります。
おすすめのクライアント: Certbot
Let’s Encrypt では、ほとんどの人に Certbot クライアントをおすすめしています。Certbot を使えば、証明書が簡単に取得でき、ユーザーの希望に応じてインストール作業も行ってくれるからです。使用するのが簡単で、多数のオペレーティングシステムで動作し、ドキュメントも充実しています。
Certbot があなたが求める要件を満たさない場合や、単に他のクライアントを試してみたい場合でも、選択できるクライアントは以下に挙げるようにたくさんあります。リストは、実装言語や実行環境によってクループ分けをしています。
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)
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
D
Domino
- CertMatica (ACME certificate installation and renewals for HCL Domino™ servers)
Docker
Go
HAProxy
Java
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)
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
- 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
Ruby
- unixcharles/acme-client
- acme-distributed
- Combine-acme: Generate and upload crt to CloudFlare(enterprise) and GCP.
Rust
Windows / IIS
- ZeroSSL project
- win-acme (.NET)
- Posh-ACME (PowerShell)
- Certes
- ACME-PS (PowerShell)
- Certify The Web (Windows)
- WinCertes Windows client
- GetCert2 (simple GUI - .Net, C#, WPF, WCF)
ライブラリ
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
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)
- ZeroSSL project
- Crypt::LE
- Net::ACME2
PHP
- 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 と連携できるプロジェクト
- Ponzu CMS
- Caddy
- cPanel
- Own-Mailbox
- Cloudfleet
- Aerys
- CentminMod LEMP Stack
- Mail-in-a-Box
- Froxlor Server Management Panel
- Virtualmin Web Hosting Control Panel
- Plesk Web Hosting Control Panel
- Zappa
- pfSense
- Cloudron
- Aegir
- Synchronet BBS System
- ruxy
- ISPConfig
- LiveConfig Hosting Control Panel
- WildFly Application Server
- Certhub
- Vesta Control Panel
- Apache HTTP Server
- SWAG - Secure Web Application Gateway
クライアントやプロジェクトを追加する
もし上のリストに掲載されていない Let’s Encrypt と連携できる ACME クライアントやプロジェクトを知っていたら、Let’s Encrypt のウェブサイトリポジトリにある data/clients.json
ファイルを更新して、プルリクエストを送ってください。
プルリクエストを送る前に、以下の点を確認してください。
- クライアントは Let’s Encrypt trademark policy を遵守しているか。
- クライアントは、ブラウザベースのものではなく、自動更新に対応しているか。
- あなたのコミットは、関連するセクションの一番最後に追加するものであるか (もし対応する場合は、「acme_v2」セクションの記入を忘れないでください!)。
- あなたのコミットは、
clients.json
のヘッダのlastmod
の日付を更新しているか。