lego
go-acme.github.io
What it is
lego is an independent, free, open-source ACME client and Go library for obtaining, renewing, and revoking certificates. It supports wildcard and SAN certificates and can work with multiple ACME servers, including Let’s Encrypt and ZeroSSL. Validation choices include DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01. The project lists more than 200 DNS providers, including Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS, with CNAME support enabled by default. Users can run lego from the command line or call it as a Go library. DNS credentials and settings are supplied through environment variables, with file references and dotenv files supported. Installation options include prebuilt binaries, Docker, package managers, and source. The maintainers look after the AUR and Snap packages; other listed packages are community maintained. The project lists support for ACME RFC 8555 and certificate validation and renewal extensions. It is licensed under MIT, and installing from source requires Go 1.25 or later. The project points to GitHub issues and discussions for help.
Spec sheet
- Purpose
- lego is an ACME client and library written in Go for obtaining and renewing certificates.Read 11 Oct 2026 · go-acme.github.io
- Support
- The project links to GitHub issues and discussions for help and community participation.Read 11 Oct 2026 · go-acme.github.io
- License
- The GitHub repository lists the project under the MIT license.Read 11 Oct 2026 · github.com
- ACME servers
- It supports multiple ACME servers, including Let’s Encrypt and ZeroSSL.Read 11 Oct 2026 · go-acme.github.io
- Certificate authorities
- It supports multiple ACME servers, including Let’s Encrypt and ZeroSSL.Read 11 Oct 2026 · go-acme.github.io
- Certificate management
- It can obtain, renew, and revoke certificates.Read 11 Oct 2026 · go-acme.github.io
- Certificate operations
- It can obtain, renew, and revoke certificates, including wildcard and SAN certificates.Read 11 Oct 2026 · go-acme.github.io
- Certificate types
- It supports wildcard and SAN certificates.Read 11 Oct 2026 · go-acme.github.io
- Challenge methods
- Supported validation challenges include DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01.Read 11 Oct 2026 · go-acme.github.io
- Challenges
- It supports DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01 challenges.Read 11 Oct 2026 · go-acme.github.io
- CNAME
- CNAME is supported by default.Read 11 Oct 2026 · go-acme.github.io
- Credential configuration
- DNS provider credentials and configuration are passed through environment variables, including values loaded from files or dotenv files.Read 11 Oct 2026 · go-acme.github.io
- Distribution
- The project provides binaries for operating systems and architectures, a Docker image, and installation instructions for several package managers.Read 11 Oct 2026 · go-acme.github.io
- DNS credentials
- DNS provider credentials and configuration are passed through environment variables, with support for file references and dotenv files.Read 11 Oct 2026 · go-acme.github.io
- DNS integrations
- The project says it supports more than 200 DNS providers, with a provider list in its documentation.Read 11 Oct 2026 · go-acme.github.io
- DNS providers
- The project says it comes with support for more than 200 DNS providers.Read 11 Oct 2026 · go-acme.github.io
- Go library
- lego can be used as a Go library as well as a command-line client.Read 11 Oct 2026 · github.com
- Install options
- The project documents prebuilt binaries, Docker, package managers, and installation from source.Read 11 Oct 2026 · go-acme.github.io
- License and cost
- The project describes itself as independent, free, and open source.Read 11 Oct 2026 · go-acme.github.io
- Package maintenance
- The maintainers maintain the AUR and Snap packages; other listed packages are community maintained.Read 11 Oct 2026 · go-acme.github.io
- Provider integrations
- Listed DNS integrations include Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS.Read 11 Oct 2026 · go-acme.github.io
- Security standard
- The project lists support for ACME RFC 8555 and several certificate validation and renewal extensions.Read 11 Oct 2026 · go-acme.github.io
- Source requirement
- Installing from source requires Go 1.25 or later.Read 11 Oct 2026 · go-acme.github.io
- Ways to use
- lego can be used as a command-line interface or as a Go library.Read 11 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free and open source under MIT
- Supports wildcard and SAN certificates
- More than 200 DNS providers listed
- Available as CLI and Go library
- Prebuilt binaries and Docker image available
Limits
- Building from source requires Go 1.25 or later
- Most listed packages are community maintained
Who it suits
lego suits developers and operators who need to automate certificate issuance, renewal, or revocation through ACME. It offers both a command-line tool and a Go library, with many DNS provider integrations.
Verdict
lego supports several ACME challenges and certificate authorities, with command-line and library options for integrating certificate workflows. Source installation has a Go version requirement, and package maintenance varies by distribution.
Where Specifiction places it
- Certificate Management Software#6 of 318.5