README
Let's Encrypt client and ACME library written in Go.
Features
- ACME v2 RFC 8555
- Register with CA
- Obtain certificates, both from scratch or with an existing CSR
- Renew certificates
- Revoke certificates
- Robust implementation of all ACME challenges
- HTTP (http-01)
- DNS (dns-01)
- TLS (tls-alpn-01)
- SAN certificate support
- Comes with multiple optional DNS providers
- Custom challenge solvers
- Certificate bundling
- OCSP helper function
lego introduced support for ACME v2 in v1.0.0. If you still need to utilize ACME v1, you can do so by using the v0.5.0 version.
Installation
How to install.
Usage
Documentation
Documentation is hosted live at https://go-acme.github.io/lego/.
DNS providers
Detailed documentation is available here.
Directories
Path | Synopsis |
---|---|
acme | Package acme contains all objects related the ACME endpoints. |
acme/api | |
acme/api/internal/nonces | |
acme/api/internal/secure | |
acme/api/internal/sender | |
certcrypto | |
certificate | |
challenge | |
challenge/dns01 | |
challenge/http01 | |
challenge/resolver | |
challenge/tlsalpn01 | |
cmd | |
cmd/lego | Let's Encrypt client to go! CLI application for generating Let's Encrypt certificates using the ACME package. |
e2e/loader | |
internal | |
internal/dnsdocs | |
lego | |
log | |
platform/config/env | |
platform/tester | |
platform/wait | |
providers/dns | |
providers/dns/acmedns | Package acmedns implements a DNS provider for solving DNS-01 challenges using Joohoi's acme-dns project. |
providers/dns/alidns | Package alidns implements a DNS provider for solving the DNS-01 challenge using Alibaba Cloud DNS. |
providers/dns/arvancloud | Package arvancloud implements a DNS provider for solving the DNS-01 challenge using ArvanCloud DNS. |
providers/dns/arvancloud/internal | |
providers/dns/auroradns | Package auroradns implements a DNS provider for solving the DNS-01 challenge using Aurora DNS. |
providers/dns/autodns | Package autodns implements a DNS provider for solving the DNS-01 challenge using auto DNS. |
providers/dns/azure | Package azure implements a DNS provider for solving the DNS-01 challenge using azure DNS. |
providers/dns/bindman | Package bindman implements a DNS provider for solving the DNS-01 challenge. |
providers/dns/bluecat | Package bluecat implements a DNS provider for solving the DNS-01 challenge using a self-hosted Bluecat Address Manager. |
providers/dns/checkdomain | Package checkdomain implements a DNS provider for solving the DNS-01 challenge using CheckDomain DNS. |
providers/dns/clouddns | Package clouddns implements a DNS provider for solving the DNS-01 challenge using CloudDNS API. |
providers/dns/clouddns/internal | |
providers/dns/cloudflare | Package cloudflare implements a DNS provider for solving the DNS-01 challenge using cloudflare DNS. |
providers/dns/cloudns | Package cloudns implements a DNS provider for solving the DNS-01 challenge using ClouDNS DNS. |
providers/dns/cloudns/internal | |
providers/dns/cloudxns | Package cloudxns implements a DNS provider for solving the DNS-01 challenge using CloudXNS DNS. |
providers/dns/cloudxns/internal | |
providers/dns/conoha | Package conoha implements a DNS provider for solving the DNS-01 challenge using ConoHa DNS. |
providers/dns/conoha/internal | |
providers/dns/constellix | Package constellix implements a DNS provider for solving the DNS-01 challenge using Constellix DNS. |
providers/dns/constellix/internal | |
providers/dns/desec | Package desec implements a DNS provider for solving the DNS-01 challenge using deSEC DNS. |
providers/dns/designate | Package designate implements a DNS provider for solving the DNS-01 challenge using the Designate DNSaaS for Openstack. |
providers/dns/digitalocean | Package digitalocean implements a DNS provider for solving the DNS-01 challenge using digitalocean DNS. |
providers/dns/dnsimple | Package dnsimple implements a DNS provider for solving the DNS-01 challenge using dnsimple DNS. |
providers/dns/dnsmadeeasy | Package dnsmadeeasy implements a DNS provider for solving the DNS-01 challenge using DNS Made Easy. |
providers/dns/dnsmadeeasy/internal | |
providers/dns/dnspod | Package dnspod implements a DNS provider for solving the DNS-01 challenge using dnspod DNS. |
providers/dns/dode | Package dode implements a DNS provider for solving the DNS-01 challenge using do.de. |
providers/dns/dreamhost | Package dreamhost implements a DNS provider for solving the DNS-01 challenge using DreamHost. |
providers/dns/duckdns | Package duckdns implements a DNS provider for solving the DNS-01 challenge using DuckDNS. |
providers/dns/dyn | Package dyn implements a DNS provider for solving the DNS-01 challenge using Dyn Managed DNS. |
providers/dns/dynu | Package dynu implements a DNS provider for solving the DNS-01 challenge using Dynu DNS. |
providers/dns/dynu/internal | |
providers/dns/easydns | Package easydns implements a DNS provider for solving the DNS-01 challenge using EasyDNS API. |
providers/dns/edgedns | Package edgedns replaces fastdns, implementing a DNS provider for solving the DNS-01 challenge using Akamai EdgeDNS. |
providers/dns/exec | Package exec implements a DNS provider which runs a program for adding/removing the DNS record. |
providers/dns/exoscale | Package exoscale implements a DNS provider for solving the DNS-01 challenge using exoscale DNS. |
providers/dns/gandi | Package gandi implements a DNS provider for solving the DNS-01 challenge using Gandi DNS. |
providers/dns/gandiv5 | Package gandiv5 implements a DNS provider for solving the DNS-01 challenge using Gandi LiveDNS api. |
providers/dns/gcloud | Package gcloud implements a DNS provider for solving the DNS-01 challenge using Google Cloud DNS. |
providers/dns/glesys | Package glesys implements a DNS provider for solving the DNS-01 challenge using GleSYS api. |
providers/dns/godaddy | Package godaddy implements a DNS provider for solving the DNS-01 challenge using godaddy DNS. |
providers/dns/hetzner | Package hetzner implements a DNS provider for solving the DNS-01 challenge using Hetzner DNS. |
providers/dns/hetzner/internal | |
providers/dns/hostingde | Package hostingde implements a DNS provider for solving the DNS-01 challenge using hosting.de. |
providers/dns/httpreq | Package httpreq implements a DNS provider for solving the DNS-01 challenge through a HTTP server. |
providers/dns/hyperone | Package hyperone implements a DNS provider for solving the DNS-01 challenge using HyperOne. |
providers/dns/hyperone/internal | |
providers/dns/iij | Package iij implements a DNS provider for solving the DNS-01 challenge using IIJ DNS. |
providers/dns/infomaniak | Package infomaniak implements a DNS provider for solving the DNS-01 challenge using Infomaniak DNS. |
providers/dns/infomaniak/internal | |
providers/dns/internal/rimuhosting | |
providers/dns/internal/selectel | |
providers/dns/inwx | Package inwx implements a DNS provider for solving the DNS-01 challenge using inwx dom robot |
providers/dns/joker | Package joker implements a DNS provider for solving the DNS-01 challenge using joker.com. |
providers/dns/joker/internal/dmapi | Package dmapi Client for DMAPI joker.com. |
providers/dns/joker/internal/svc | Package svc Client for the SVC API. |
providers/dns/lightsail | Package lightsail implements a DNS provider for solving the DNS-01 challenge using AWS Lightsail DNS. |
providers/dns/linode | Package linode implements a DNS provider for solving the DNS-01 challenge using Linode DNS and Linode's APIv4 |
providers/dns/liquidweb | Package liquidweb implements a DNS provider for solving the DNS-01 challenge using Liquid Web. |
providers/dns/luadns | Package luadns implements a DNS provider for solving the DNS-01 challenge using LuaDNS. |
providers/dns/luadns/internal | |
providers/dns/mydnsjp | Package mydnsjp implements a DNS provider for solving the DNS-01 challenge using MyDNS.jp. |
providers/dns/mythicbeasts | Package mythicbeasts implements a DNS provider for solving the DNS-01 challenge using Mythic Beasts API. |
providers/dns/namecheap | Package namecheap implements a DNS provider for solving the DNS-01 challenge using namecheap DNS. |
providers/dns/namedotcom | Package namedotcom implements a DNS provider for solving the DNS-01 challenge using Name.com's DNS service. |
providers/dns/namesilo | Package namesilo implements a DNS provider for solving the DNS-01 challenge using namesilo DNS. |
providers/dns/netcup | Package netcup implements a DNS Provider for solving the DNS-01 challenge using the netcup DNS API. |
providers/dns/netcup/internal | |
providers/dns/netlify | Package netlify implements a DNS provider for solving the DNS-01 challenge using Netlify. |
providers/dns/netlify/internal | |
providers/dns/nifcloud | Package nifcloud implements a DNS provider for solving the DNS-01 challenge using NIFCLOUD DNS. |
providers/dns/nifcloud/internal | |
providers/dns/ns1 | Package ns1 implements a DNS provider for solving the DNS-01 challenge using NS1 DNS. |
providers/dns/oraclecloud | Package oraclecloud implements a DNS provider for solving the DNS-01 challenge using Oracle Cloud DNS. |
providers/dns/otc | Package otc implements a DNS provider for solving the DNS-01 challenge using Open Telekom Cloud Managed DNS. |
providers/dns/ovh | Package ovh implements a DNS provider for solving the DNS-01 challenge using OVH DNS. |
providers/dns/pdns | Package pdns implements a DNS provider for solving the DNS-01 challenge using PowerDNS nameserver. |
providers/dns/rackspace | Package rackspace implements a DNS provider for solving the DNS-01 challenge using rackspace DNS. |
providers/dns/regru | Package regru implements a DNS provider for solving the DNS-01 challenge using reg.ru DNS. |
providers/dns/regru/internal | |
providers/dns/rfc2136 | Package rfc2136 implements a DNS provider for solving the DNS-01 challenge using the rfc2136 dynamic update. |
providers/dns/rimuhosting | Package rimuhosting implements a DNS provider for solving the DNS-01 challenge using RimuHosting DNS. |
providers/dns/route53 | Package route53 implements a DNS provider for solving the DNS-01 challenge using AWS Route 53 DNS. |
providers/dns/sakuracloud | Package sakuracloud implements a DNS provider for solving the DNS-01 challenge using SakuraCloud DNS. |
providers/dns/scaleway | Package scaleway implements a DNS provider for solving the DNS-01 challenge using Scaleway Domains API. |
providers/dns/scaleway/internal | |
providers/dns/selectel | Package selectel implements a DNS provider for solving the DNS-01 challenge using Selectel Domains API. |
providers/dns/servercow | Package servercow implements a DNS provider for solving the DNS-01 challenge using Servercow DNS. |
providers/dns/servercow/internal | |
providers/dns/stackpath | Package stackpath implements a DNS provider for solving the DNS-01 challenge using Stackpath DNS. |
providers/dns/transip | Package transip implements a DNS provider for solving the DNS-01 challenge using TransIP. |
providers/dns/vegadns | Package vegadns implements a DNS provider for solving the DNS-01 challenge using VegaDNS. |
providers/dns/versio | Package versio implements a DNS provider for solving the DNS-01 challenge using versio DNS. |
providers/dns/vscale | Package vscale implements a DNS provider for solving the DNS-01 challenge using Vscale Domains API. |
providers/dns/vultr | Package vultr implements a DNS provider for solving the DNS-01 challenge using the Vultr DNS. |
providers/dns/yandex | Package yandex implements a DNS provider for solving the DNS-01 challenge using Yandex. |
providers/dns/yandex/internal | |
providers/dns/zoneee | Package zoneee implements a DNS provider for solving the DNS-01 challenge through zone.ee. |
providers/dns/zonomi | Package zonomi implements a DNS provider for solving the DNS-01 challenge using Zonomi DNS. |
providers/http/memcached | Package memcached implements a HTTP provider for solving the HTTP-01 challenge using memcached in combination with a webserver. |
providers/http/webroot | Package webroot implements a HTTP provider for solving the HTTP-01 challenge using web server's root path. |
registration |