Certmagic — screenshot of github.com

Certmagic

CertMagic provides automatic HTTPS for Go programs using Let's Encrypt, offering a robust, one-line solution for fully managed TLS certificate issuance and renewal without manual certificate handling.

Visit github.com →

Questions & Answers

What is CertMagic?
CertMagic is a Go library that automates TLS certificate management using the ACME protocol, primarily with Let's Encrypt. It enables Go applications to serve securely over HTTPS by handling certificate issuance, renewal, and OCSP stapling.
Who can benefit from using CertMagic?
CertMagic is designed for Go developers who need to add robust, automated HTTPS capabilities to their applications without complex certificate management. It's particularly useful for projects where integrating secure communication is a priority.
How does CertMagic compare to other Go ACME client libraries?
CertMagic is distinguished by its comprehensive support for ACME features, its maturity, and its reliability. It offers robust error handling, distributed challenge solving, and sophisticated mechanisms for retries and rate limit avoidance, which are often lacking in other libraries.
When should I consider integrating CertMagic into my Go application?
You should use CertMagic when your Go application needs to serve secure connections over TLS with minimal operational overhead for certificate management. It's ideal for scenarios requiring automatic HTTPS, HTTP->HTTPS redirects, and ongoing certificate renewal.
What are the core requirements for using CertMagic?
To use CertMagic, your server must have a public DNS name and be reachable from the public internet on ports 80 and/or 443, or you can use the DNS challenge to waive this requirement. It also requires persistent storage, typically the local file system, and Go 1.21 or newer.