/acme

Go client library implementation for ACME v2

Primary LanguageGoMIT LicenseMIT

eggsampler/acme

GoDoc Build Status codecov.io

About

eggsampler/acme is a Go client library implementation for ACME, specifically for use with the Let's Encrypt service.

The library is designed to provide a wrapper over exposed directory endpoints and provide objects in easy to use structures.

Example

A simple certbot-like example is provided in the examples/certbot directory. This code demonstrates account registation, new order submission, fulfilling challenges, finalising an order and fetching the issued certificate chain.

An example of how to use the autocert package is also provided in examples/autocert.

Tests

The tests can be run against an instance of boulder (running the config-next configuration) or pebble.

Challenge fulfilment is designed to use the new challtestsrv server present inside boulder and pebble which responds to dns queries and challenges as required.

To run tests against an already running instance of boulder or pebble, use the test target in the Makefile.

Some convenience targets for launching pebble/boulder using their respective docker compose files have also been included in the Makefile.