Acme-client

acme-client
Original authorKristaps Dzonsons: AUTHORS 
DeveloperThe OpenBSD Project
ReleaseMay 12, 2016; 10 years ago (2016-05-12)
Written inC
Operating systemOpenBSD
StandardRFC 8555
LicenseISC
Websitekristaps.bsd.lv/acme-client Edit this on Wikidata
Repository

acme-client, originally letskencrypt, is a utility implementing the Automatic Certificate Management Environment protocol to allow Internet servers to retrieve certificates for their domain names, primarily to serve websites over HTTPS.: DESCRIPTION  Originally written as a separate project, it was absorbed into and has been maintained as part of the OpenBSD base system.

History

The initial Git commit to acme-client was made on May 12, 2016, by Kristaps Dzonsons. It was initially named letskencrypt, referencing the popular certificate authority Let's Encrypt. A portable variant of the project was created by Dzonsons on May 18, 2016. The project remained unstable until version 0.1.3 released on May 20, 2016.

With the release of version 0.1.11 on August 31, 2016, the project was renamed to acme-client and imported into the OpenBSD source tree. Dzonsons continued to maintain the project on GitHub, occasionally upstreaming patches from OpenBSD. The project's GitHub repository and portable variant were formally discontinued on December 1, 2018. It continues to be maintained by Dzonsons and other OpenBSD developers in the OpenBSD CVS repository.

Usage

acme-client must be configured in /etc/acme-client.conf to operate. An example configuration file is present at /etc/examples/acme-client.conf. The format of this configuration file follows typical OpenBSD conventions and is documented in acme-client.conf(5). Any certificate authority can be targeted if configured correctly. The validity of the configuration file can be tested by executing acme-client -n.

In addition to implementing the ACME protocol to fetch, renew, and revoke X.509 certificates, the utility properly stores and secures these certificates automatically. Automatic renewal of certificates are done via cron.

Since acme-client is part of the base OpenBSD system, it is designed to work alongside OpenBSD's httpd implementation nearly effortlessly. Various examples of this type of configuration are present in /etc/examples/acme-client.conf and /etc/examples/httpd.conf and their manual pages. Other web servers from ports, such as nginx and Apache, can be configured to work with acme-client.

See also

References

  1. 1 2 acme-client(1) – OpenBSD General Commands Manual. Retrieved November 8, 2026.
  2. 1 2 "acme-client CVS tree". OpenBSD CVSWeb. Retrieved November 8, 2026.
  3. 1 2 "acme-client commit d7bc729". GitHub. Retrieved November 8, 2026.
  4. 1 2 3 Dzonsons, Kristaps. "acme-client". BSD.lv project. Retrieved November 8, 2026.
  5. ↑ "acme-client README". GitHub. Retrieved November 8, 2026.
  6. ↑ "acme-client-portable README". GitHub. Retrieved November 8, 2026.
  7. ↑ "acme-client-portable commit b412bd6". GitHub. Retrieved November 8, 2026.
  8. ↑ "acme-client commit ba153da". GitHub. Retrieved November 8, 2026.
  9. ↑ "acme-client-portable commit c5be7e3". GitHub. Retrieved November 8, 2026.
  10. 1 2 acme-client.conf(5) – OpenBSD File Formats Manual. Retrieved November 8, 2026.
  11. ↑ httpd.conf(5) – OpenBSD File Formats Manual. Retrieved November 8, 2026.