README

lego

Let's Encrypt client and ACME library written in Go.

GoDoc Build Status Docker Pulls

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.

Akamai EdgeDNS Alibaba Cloud DNS Amazon Lightsail Amazon Route 53
ArvanCloud Aurora DNS Autodns Azure
Bindman Bluecat Checkdomain CloudDNS
Cloudflare ClouDNS CloudXNS ConoHa
Constellix deSEC.io Designate DNSaaS for Openstack Digital Ocean
DNS Made Easy DNSimple DNSPod Domain Offensive (do.de)
DreamHost Duck DNS Dyn Dynu
EasyDNS Exoscale External program Gandi Live DNS (v5)
Gandi Glesys Go Daddy Google Cloud
Hetzner Hosting.de HTTP request HyperOne
Infomaniak Internet Initiative Japan INWX Joker
Joohoi's ACME-DNS Linode (v4) Liquid Web LuaDNS
Manual MyDNS.jp MythicBeasts Name.com
Namecheap Namesilo Netcup Netlify
NIFCloud NS1 Open Telekom Cloud Oracle Cloud
OVH PowerDNS Rackspace reg.ru
RFC2136 RimuHosting Sakura Cloud Scaleway
Selectel Servercow Stackpath TransIP
VegaDNS Versio.[nl/eu/uk] Vscale Vultr
Yandex Zone.ee Zonomi
Expand ▾ Collapse ▴

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