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 Ionos
Joker Joohoi's ACME-DNS Linode (v4) Liquid Web
Loopia 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
Package acme contains all objects related the ACME endpoints.
Package acme contains all objects related the ACME endpoints.
api
cmd
lego
Let's Encrypt client to go! CLI application for generating Let's Encrypt certificates using the ACME package.
Let's Encrypt client to go! CLI application for generating Let's Encrypt certificates using the ACME package.
e2e
platform
providers
dns
dns/acmedns
Package acmedns implements a DNS provider for solving DNS-01 challenges using Joohoi's acme-dns project.
Package acmedns implements a DNS provider for solving DNS-01 challenges using Joohoi's acme-dns project.
dns/alidns
Package alidns implements a DNS provider for solving the DNS-01 challenge using Alibaba Cloud DNS.
Package alidns implements a DNS provider for solving the DNS-01 challenge using Alibaba Cloud DNS.
dns/arvancloud
Package arvancloud implements a DNS provider for solving the DNS-01 challenge using ArvanCloud DNS.
Package arvancloud implements a DNS provider for solving the DNS-01 challenge using ArvanCloud DNS.
dns/auroradns
Package auroradns implements a DNS provider for solving the DNS-01 challenge using Aurora DNS.
Package auroradns implements a DNS provider for solving the DNS-01 challenge using Aurora DNS.
dns/autodns
Package autodns implements a DNS provider for solving the DNS-01 challenge using auto DNS.
Package autodns implements a DNS provider for solving the DNS-01 challenge using auto DNS.
dns/azure
Package azure implements a DNS provider for solving the DNS-01 challenge using azure DNS.
Package azure implements a DNS provider for solving the DNS-01 challenge using azure DNS.
dns/bindman
Package bindman implements a DNS provider for solving the DNS-01 challenge.
Package bindman implements a DNS provider for solving the DNS-01 challenge.
dns/bluecat
Package bluecat implements a DNS provider for solving the DNS-01 challenge using a self-hosted Bluecat Address Manager.
Package bluecat implements a DNS provider for solving the DNS-01 challenge using a self-hosted Bluecat Address Manager.
dns/checkdomain
Package checkdomain implements a DNS provider for solving the DNS-01 challenge using CheckDomain DNS.
Package checkdomain implements a DNS provider for solving the DNS-01 challenge using CheckDomain DNS.
dns/clouddns
Package clouddns implements a DNS provider for solving the DNS-01 challenge using CloudDNS API.
Package clouddns implements a DNS provider for solving the DNS-01 challenge using CloudDNS API.
dns/cloudflare
Package cloudflare implements a DNS provider for solving the DNS-01 challenge using cloudflare DNS.
Package cloudflare implements a DNS provider for solving the DNS-01 challenge using cloudflare DNS.
dns/cloudns
Package cloudns implements a DNS provider for solving the DNS-01 challenge using ClouDNS DNS.
Package cloudns implements a DNS provider for solving the DNS-01 challenge using ClouDNS DNS.
dns/cloudxns
Package cloudxns implements a DNS provider for solving the DNS-01 challenge using CloudXNS DNS.
Package cloudxns implements a DNS provider for solving the DNS-01 challenge using CloudXNS DNS.
dns/conoha
Package conoha implements a DNS provider for solving the DNS-01 challenge using ConoHa DNS.
Package conoha implements a DNS provider for solving the DNS-01 challenge using ConoHa DNS.
dns/constellix
Package constellix implements a DNS provider for solving the DNS-01 challenge using Constellix DNS.
Package constellix implements a DNS provider for solving the DNS-01 challenge using Constellix DNS.
dns/desec
Package desec implements a DNS provider for solving the DNS-01 challenge using deSEC DNS.
Package desec implements a DNS provider for solving the DNS-01 challenge using deSEC DNS.
dns/designate
Package designate implements a DNS provider for solving the DNS-01 challenge using the Designate DNSaaS for Openstack.
Package designate implements a DNS provider for solving the DNS-01 challenge using the Designate DNSaaS for Openstack.
dns/digitalocean
Package digitalocean implements a DNS provider for solving the DNS-01 challenge using digitalocean DNS.
Package digitalocean implements a DNS provider for solving the DNS-01 challenge using digitalocean DNS.
dns/dnsimple
Package dnsimple implements a DNS provider for solving the DNS-01 challenge using dnsimple DNS.
Package dnsimple implements a DNS provider for solving the DNS-01 challenge using dnsimple DNS.
dns/dnsmadeeasy
Package dnsmadeeasy implements a DNS provider for solving the DNS-01 challenge using DNS Made Easy.
Package dnsmadeeasy implements a DNS provider for solving the DNS-01 challenge using DNS Made Easy.
dns/dnspod
Package dnspod implements a DNS provider for solving the DNS-01 challenge using dnspod DNS.
Package dnspod implements a DNS provider for solving the DNS-01 challenge using dnspod DNS.
dns/dode
Package dode implements a DNS provider for solving the DNS-01 challenge using do.de.
Package dode implements a DNS provider for solving the DNS-01 challenge using do.de.
dns/dreamhost
Package dreamhost implements a DNS provider for solving the DNS-01 challenge using DreamHost.
Package dreamhost implements a DNS provider for solving the DNS-01 challenge using DreamHost.
dns/duckdns
Package duckdns implements a DNS provider for solving the DNS-01 challenge using DuckDNS.
Package duckdns implements a DNS provider for solving the DNS-01 challenge using DuckDNS.
dns/dyn
Package dyn implements a DNS provider for solving the DNS-01 challenge using Dyn Managed DNS.
Package dyn implements a DNS provider for solving the DNS-01 challenge using Dyn Managed DNS.
dns/dynu
Package dynu implements a DNS provider for solving the DNS-01 challenge using Dynu DNS.
Package dynu implements a DNS provider for solving the DNS-01 challenge using Dynu DNS.
dns/easydns
Package easydns implements a DNS provider for solving the DNS-01 challenge using EasyDNS API.
Package easydns implements a DNS provider for solving the DNS-01 challenge using EasyDNS API.
dns/edgedns
Package edgedns replaces fastdns, implementing a DNS provider for solving the DNS-01 challenge using Akamai EdgeDNS.
Package edgedns replaces fastdns, implementing a DNS provider for solving the DNS-01 challenge using Akamai EdgeDNS.
dns/exec
Package exec implements a DNS provider which runs a program for adding/removing the DNS record.
Package exec implements a DNS provider which runs a program for adding/removing the DNS record.
dns/exoscale
Package exoscale implements a DNS provider for solving the DNS-01 challenge using exoscale DNS.
Package exoscale implements a DNS provider for solving the DNS-01 challenge using exoscale DNS.
dns/gandi
Package gandi implements a DNS provider for solving the DNS-01 challenge using Gandi DNS.
Package gandi implements a DNS provider for solving the DNS-01 challenge using Gandi DNS.
dns/gandiv5
Package gandiv5 implements a DNS provider for solving the DNS-01 challenge using Gandi LiveDNS api.
Package gandiv5 implements a DNS provider for solving the DNS-01 challenge using Gandi LiveDNS api.
dns/gcloud
Package gcloud implements a DNS provider for solving the DNS-01 challenge using Google Cloud DNS.
Package gcloud implements a DNS provider for solving the DNS-01 challenge using Google Cloud DNS.
dns/glesys
Package glesys implements a DNS provider for solving the DNS-01 challenge using GleSYS api.
Package glesys implements a DNS provider for solving the DNS-01 challenge using GleSYS api.
dns/godaddy
Package godaddy implements a DNS provider for solving the DNS-01 challenge using godaddy DNS.
Package godaddy implements a DNS provider for solving the DNS-01 challenge using godaddy DNS.
dns/hetzner
Package hetzner implements a DNS provider for solving the DNS-01 challenge using Hetzner DNS.
Package hetzner implements a DNS provider for solving the DNS-01 challenge using Hetzner DNS.
dns/hostingde
Package hostingde implements a DNS provider for solving the DNS-01 challenge using hosting.de.
Package hostingde implements a DNS provider for solving the DNS-01 challenge using hosting.de.
dns/httpreq
Package httpreq implements a DNS provider for solving the DNS-01 challenge through a HTTP server.
Package httpreq implements a DNS provider for solving the DNS-01 challenge through a HTTP server.
dns/hyperone
Package hyperone implements a DNS provider for solving the DNS-01 challenge using HyperOne.
Package hyperone implements a DNS provider for solving the DNS-01 challenge using HyperOne.
dns/iij
Package iij implements a DNS provider for solving the DNS-01 challenge using IIJ DNS.
Package iij implements a DNS provider for solving the DNS-01 challenge using IIJ DNS.
dns/infomaniak
Package infomaniak implements a DNS provider for solving the DNS-01 challenge using Infomaniak DNS.
Package infomaniak implements a DNS provider for solving the DNS-01 challenge using Infomaniak DNS.
dns/inwx
Package inwx implements a DNS provider for solving the DNS-01 challenge using inwx dom robot
Package inwx implements a DNS provider for solving the DNS-01 challenge using inwx dom robot
dns/ionos
Package ionos implements a DNS provider for solving the DNS-01 challenge using Ionos/1&1.
Package ionos implements a DNS provider for solving the DNS-01 challenge using Ionos/1&1.
dns/joker
Package joker implements a DNS provider for solving the DNS-01 challenge using joker.com.
Package joker implements a DNS provider for solving the DNS-01 challenge using joker.com.
dns/lightsail
Package lightsail implements a DNS provider for solving the DNS-01 challenge using AWS Lightsail DNS.
Package lightsail implements a DNS provider for solving the DNS-01 challenge using AWS Lightsail DNS.
dns/linode
Package linode implements a DNS provider for solving the DNS-01 challenge using Linode DNS and Linode's APIv4
Package linode implements a DNS provider for solving the DNS-01 challenge using Linode DNS and Linode's APIv4
dns/liquidweb
Package liquidweb implements a DNS provider for solving the DNS-01 challenge using Liquid Web.
Package liquidweb implements a DNS provider for solving the DNS-01 challenge using Liquid Web.
dns/loopia
Package loopia implements a DNS provider for solving the DNS-01 challenge using loopia DNS.
Package loopia implements a DNS provider for solving the DNS-01 challenge using loopia DNS.
dns/luadns
Package luadns implements a DNS provider for solving the DNS-01 challenge using LuaDNS.
Package luadns implements a DNS provider for solving the DNS-01 challenge using LuaDNS.
dns/mydnsjp
Package mydnsjp implements a DNS provider for solving the DNS-01 challenge using MyDNS.jp.
Package mydnsjp implements a DNS provider for solving the DNS-01 challenge using MyDNS.jp.
dns/mythicbeasts
Package mythicbeasts implements a DNS provider for solving the DNS-01 challenge using Mythic Beasts API.
Package mythicbeasts implements a DNS provider for solving the DNS-01 challenge using Mythic Beasts API.
dns/namecheap
Package namecheap implements a DNS provider for solving the DNS-01 challenge using namecheap DNS.
Package namecheap implements a DNS provider for solving the DNS-01 challenge using namecheap DNS.
dns/namedotcom
Package namedotcom implements a DNS provider for solving the DNS-01 challenge using Name.com's DNS service.
Package namedotcom implements a DNS provider for solving the DNS-01 challenge using Name.com's DNS service.
dns/namesilo
Package namesilo implements a DNS provider for solving the DNS-01 challenge using namesilo DNS.
Package namesilo implements a DNS provider for solving the DNS-01 challenge using namesilo DNS.
dns/netcup
Package netcup implements a DNS Provider for solving the DNS-01 challenge using the netcup DNS API.
Package netcup implements a DNS Provider for solving the DNS-01 challenge using the netcup DNS API.
dns/netlify
Package netlify implements a DNS provider for solving the DNS-01 challenge using Netlify.
Package netlify implements a DNS provider for solving the DNS-01 challenge using Netlify.
dns/nifcloud
Package nifcloud implements a DNS provider for solving the DNS-01 challenge using NIFCLOUD DNS.
Package nifcloud implements a DNS provider for solving the DNS-01 challenge using NIFCLOUD DNS.
dns/ns1
Package ns1 implements a DNS provider for solving the DNS-01 challenge using NS1 DNS.
Package ns1 implements a DNS provider for solving the DNS-01 challenge using NS1 DNS.
dns/oraclecloud
Package oraclecloud implements a DNS provider for solving the DNS-01 challenge using Oracle Cloud DNS.
Package oraclecloud implements a DNS provider for solving the DNS-01 challenge using Oracle Cloud DNS.
dns/otc
Package otc implements a DNS provider for solving the DNS-01 challenge using Open Telekom Cloud Managed DNS.
Package otc implements a DNS provider for solving the DNS-01 challenge using Open Telekom Cloud Managed DNS.
dns/ovh
Package ovh implements a DNS provider for solving the DNS-01 challenge using OVH DNS.
Package ovh implements a DNS provider for solving the DNS-01 challenge using OVH DNS.
dns/pdns
Package pdns implements a DNS provider for solving the DNS-01 challenge using PowerDNS nameserver.
Package pdns implements a DNS provider for solving the DNS-01 challenge using PowerDNS nameserver.
dns/rackspace
Package rackspace implements a DNS provider for solving the DNS-01 challenge using rackspace DNS.
Package rackspace implements a DNS provider for solving the DNS-01 challenge using rackspace DNS.
dns/regru
Package regru implements a DNS provider for solving the DNS-01 challenge using reg.ru DNS.
Package regru implements a DNS provider for solving the DNS-01 challenge using reg.ru DNS.
dns/rfc2136
Package rfc2136 implements a DNS provider for solving the DNS-01 challenge using the rfc2136 dynamic update.
Package rfc2136 implements a DNS provider for solving the DNS-01 challenge using the rfc2136 dynamic update.
dns/rimuhosting
Package rimuhosting implements a DNS provider for solving the DNS-01 challenge using RimuHosting DNS.
Package rimuhosting implements a DNS provider for solving the DNS-01 challenge using RimuHosting DNS.
dns/route53
Package route53 implements a DNS provider for solving the DNS-01 challenge using AWS Route 53 DNS.
Package route53 implements a DNS provider for solving the DNS-01 challenge using AWS Route 53 DNS.
dns/sakuracloud
Package sakuracloud implements a DNS provider for solving the DNS-01 challenge using SakuraCloud DNS.
Package sakuracloud implements a DNS provider for solving the DNS-01 challenge using SakuraCloud DNS.
dns/scaleway
Package scaleway implements a DNS provider for solving the DNS-01 challenge using Scaleway Domains API.
Package scaleway implements a DNS provider for solving the DNS-01 challenge using Scaleway Domains API.
dns/selectel
Package selectel implements a DNS provider for solving the DNS-01 challenge using Selectel Domains API.
Package selectel implements a DNS provider for solving the DNS-01 challenge using Selectel Domains API.
dns/servercow
Package servercow implements a DNS provider for solving the DNS-01 challenge using Servercow DNS.
Package servercow implements a DNS provider for solving the DNS-01 challenge using Servercow DNS.
dns/stackpath
Package stackpath implements a DNS provider for solving the DNS-01 challenge using Stackpath DNS.
Package stackpath implements a DNS provider for solving the DNS-01 challenge using Stackpath DNS.
dns/transip
Package transip implements a DNS provider for solving the DNS-01 challenge using TransIP.
Package transip implements a DNS provider for solving the DNS-01 challenge using TransIP.
dns/vegadns
Package vegadns implements a DNS provider for solving the DNS-01 challenge using VegaDNS.
Package vegadns implements a DNS provider for solving the DNS-01 challenge using VegaDNS.
dns/versio
Package versio implements a DNS provider for solving the DNS-01 challenge using versio DNS.
Package versio implements a DNS provider for solving the DNS-01 challenge using versio DNS.
dns/vscale
Package vscale implements a DNS provider for solving the DNS-01 challenge using Vscale Domains API.
Package vscale implements a DNS provider for solving the DNS-01 challenge using Vscale Domains API.
dns/vultr
Package vultr implements a DNS provider for solving the DNS-01 challenge using the Vultr DNS.
Package vultr implements a DNS provider for solving the DNS-01 challenge using the Vultr DNS.
dns/yandex
Package yandex implements a DNS provider for solving the DNS-01 challenge using Yandex.
Package yandex implements a DNS provider for solving the DNS-01 challenge using Yandex.
dns/zoneee
Package zoneee implements a DNS provider for solving the DNS-01 challenge through zone.ee.
Package zoneee implements a DNS provider for solving the DNS-01 challenge through zone.ee.
dns/zonomi
Package zonomi implements a DNS provider for solving the DNS-01 challenge using Zonomi DNS.
Package zonomi implements a DNS provider for solving the DNS-01 challenge using Zonomi DNS.
http/memcached
Package memcached implements a HTTP provider for solving the HTTP-01 challenge using memcached in combination with a webserver.
Package memcached implements a HTTP provider for solving the HTTP-01 challenge using memcached in combination with a webserver.
http/webroot
Package webroot implements a HTTP provider for solving the HTTP-01 challenge using web server's root path.
Package webroot implements a HTTP provider for solving the HTTP-01 challenge using web server's root path.