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


  • 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.