上次更新: | 查看所有文档
Let's Encrypt 使用 ACME 协议来验证您是否控制了给定的域名,并为您颁发证书。要获得 Let's Encrypt 证书,您需要选择一个要使用的 ACME 客户端软件。
以下 ACME 客户端由第三方提供。Let's Encrypt 不控制或审核第三方客户端,无法保证其安全性或可靠性。
一些浏览器内的 ACME 客户端可用,但我们没有在此列出它们,因为它们鼓励手动续订工作流程,这会导致糟糕的用户体验并增加错过续订的风险。
推荐:Certbot
我们建议大多数人从 Certbot 客户端开始。它可以简单地为您获取证书,或者根据您的偏好帮助您安装。它易于使用,适用于许多操作系统,并拥有出色的文档。
如果 Certbot 无法满足您的需求,或者您只是想尝试其他东西,那么下面还有许多其他客户端可供选择,按它们运行的语言或环境分组。
其他客户端选项
以下所有客户端都支持 ACMEv2 API (RFC 8555)。2021 年 6 月,我们 逐步停止了对 ACMEv1 的支持。如果您已经在使用以下客户端中的一个,请确保升级到最新版本。如果您使用的客户端未列出在下面,它可能不支持 ACMEv2,在这种情况下,我们建议您联系项目维护者或切换到另一个客户端。
Bash
- GetSSL(bash,还通过 ssh 自动化远程主机上的证书)
- acme.sh(兼容 bash、dash 和 sh)
- dehydrated(兼容 bash 和 zsh)
- ght-acme.sh(批处理更新 http-01 和 dns-01 挑战可用)
- bacme(简单但完整的证书生成脚本)
- wdfcert.sh(仅支持 DNS-01 挑战和 ECDSA-384 位密钥,用于帐户和证书,原生 Joker DNS 支持,包括单一 TXT 记录 DNS 提供商的通配符加根域支持)
C
- OpenBSD acme-client
- uacme
- acme-client-portable
- Apache httpd 通过模块 mod_md 支持。
- mod_md Apache 模块的独立、更频繁的发布。
- CycloneACME(专用于微控制器的 ACME 客户端实现)
C++
- acme-lw
- esp32-acme-client 允许物联网设备获取证书
Clojure
配置管理工具
- Ansible acme_certificate 模块
- Terraform ACME Provider
- Ansible collection: acme(ACME V2 集成与 acme_certificate 模块。支持多种挑战提供商)
D
Domino
- CertMatica(适用于 HCL Domino™ 服务器的 ACME 证书安装和续订)
- HCL Domino(适用于 HCL Domino™ 服务器的完整 ACME V2 流程集成)
Docker
Go
- Caddy
- Lego
- acmetool
- Lets-proxy2(反向代理,处理 https/tls)
- autocert
- Traefik
- ACMEz
- Step CLI
- J8a(具有自动续订 TLS 1.3 的 JSON API 反向代理)
- certmanager(支持跨实例/Pod 共享证书,并使用 acme-proxy 拆分水平 DNS)
HAProxy
Java
Kubernetes
Lua
- Mako Server 的 ACME 插件 插件的主要目标是为私有网络上的服务器提供证书。
Microsoft Azure
- Azure WebApp SSL Manager(无服务器,兼容任何应用服务,需要 Azure DNS)
- App Service Acmebot(兼容 Azure Web Apps / Functions / Web App for Containers)
- Key Vault Acmebot(与 Azure Key Vault 证书配合使用)
- Az-Acme(Azure Key Vault 的最简单 ACME 发行者)
nginx
- njs-acme 与 'ngx_http_js_module' 运行时 (NJS) 兼容的 JavaScript 库,允许在无需重启 NGINX 的情况下自动为 NGINX 颁发 TLS/SSL 证书
- lua-resty-auto-ssl
- Nginx ACME
- lua-resty-acme
Node.js
- Greenlock for Express.js
- acme-http-01-azure-key-vault-middleware(用于将证书安全存储在 Azure Key Vault 上的 Express 中间件)
OpenShift
Perl
PHP
- kelunik/acme-client
- AcmePHP
- FreeSSL.tech Auto
- Yet another ACME client
- itr-acme-client PHP 库
- Acme PHP
- RW ACME 客户端
Python
- ACME Tiny
- simp_le
- acmebot
- sewer
- acme-dns-tiny(Python 3)
- Automatoes ACME V2 ManuaLE 替代品,具有新功能
- acertmgr
- acme-cert-tool
- serverPKI 互联网服务器基础设施的 PKI,支持证书分发、FreeBSD 监狱、DNS DANE 支持
- acmetk acmetk 是一个 ACMEv2 代理,用于在一个组织内集中证书请求和挑战,并使用单个帐户将其定向到 Let's Encrypt 或其他支持 ACMEv2 的 CA。
Ruby
Rust
Windows / IIS
- Crypt::LE(以前称为 ZeroSSL 项目)
- win-acme(.NET)
- Posh-ACME(PowerShell)
- Certes
- ACME-PS(PowerShell)
- kelunik/acme-client(PHP)
- Certify The Web(Windows)
- WinCertes Windows 客户端
- GetCert2(简单的 GUI - .Net、C#、WPF、WCF)
- TekCERT(GUI、CLI)
服务器
- Certera(跨平台 PKI,用于集中管理密钥和证书)
库
4D
- acme component 适用于 4D v18+ 的 ACME 客户端 v2
C++
- acme-lw
- esp32-acme-client 允许物联网设备获取证书
D
Delphi
- DelphiACME(Embarcadero Delphi)
Go
- Lego
- acmetool
- eggsampler/acme
- ACMEz
- certmanager(支持跨实例/Pod 共享证书,并使用 acme-proxy 拆分水平 DNS)
Java
.NET
- Certes(.NET Standard)
- PKISharp/ACMESharpCore(.NET Standard)
Node.js
Perl
- acme(简单的 json 配置,自动生成密钥,颁发证书,刷新证书,Apache/Nginx 集成)
- Crypt::LE
- Net::ACME2
- wdfcert.sh(仅支持 DNS-01 挑战和 ECDSA-384 位密钥,用于帐户和证书,原生 Joker DNS 支持,包括单一 TXT 记录 DNS 提供商的通配符加根域支持)
PHP
Python
- Python 的 acme 模块是 Certbot 的一部分,但也被许多其他客户端使用,并作为独立包通过 PyPI、Debian、Ubuntu、Fedora 和其他发行版提供。
- txacme(适用于 Python 2 / 3 的 Twisted 客户端)
Ruby
Rust
- instant-acme 是一个异步的纯 Rust ACME (RFC 8555) 客户端,依赖于 Tokio
- rustls-acme 使用 rustls 提供 TLS 证书管理和服务
- tokio-rustls-acme 是一个易于使用的异步 ACME 客户端库,用于 rustls
与 Let's Encrypt 集成的项目
- Aegir
- Aerys
- Apache HTTP Server
- ApisCP
- Caddy
- CentminMod LEMP 堆栈
- Certhub
- Cloudfleet
- Cloudron
- cPanel
- Froxlor 服务器管理面板
- Gitlab
- ISPConfig
- LiveConfig 托管控制面板
- Mail-in-a-Box
- Own-Mailbox
- pfSense
- Plesk 网站托管控制面板
- Ponzu CMS
- ruxy
- SWAG - 安全 Web 应用网关
- Synchronet BBS 系统
- Vesta 控制面板
- Virtualmin 网站托管控制面板
- WildFly 应用服务器
- Zappa
- Proxmox 虚拟环境
添加客户端/项目
如果您知道任何 ACME 客户端或已与 Let's Encrypt 的 ACMEv2 API 集成的项目,但上面页面中没有列出,请向我们 网站仓库 在 GitHub 上提交一个拉取请求,更新 data/clients.json
文件。
在提交拉取请求之前,请确保
- 客户端尊重 Let's Encrypt 商标政策。
- 客户端不是基于浏览器的,并支持自动续订。
- 客户端执行 在随机时间进行例行续订,或鼓励进行此配置。
- 您的提交将您的客户端添加到相关部分的末尾(如果适用,请不要忘记 "acme_v2"!)。
- 您的提交更新了
clients.json
顶部lastmod
日期戳。