Go client library implementation for ACME v2
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
autocert
examples FetchCertificate: Use POST-AS-GET mechanism Oct 22, 2018
.gitignore Tests: generate coverage reports and upload to codecov Oct 30, 2018
.travis.yml
LICENSE
Makefile Tests: generate coverage reports and upload to codecov Oct 30, 2018
README.md
THIRD-PARTY
account.go
account_test.go
acme.go
acme_test.go
authorization.go
authorization_test.go
certificate.go
certificate_test.go
challenge.go
challenge_test.go Initial acme draft 15 compatability Sep 26, 2018
jws.go Initial acme draft 15 compatability Sep 26, 2018
jws_test.go
misc_test.go
nonce.go Move fetching new nonces from nonce stack into the client Aug 2, 2018
nonce_test.go
options.go
options_test.go
order.go
order_test.go Initial acme draft 15 compatability Sep 26, 2018
problem.go
problem_test.go
types.go
utility_test.go

README.md

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

Boulder

Tests can be run against a local instance of boulder running the config-next configuration.

This needs to have the chaltestsrv responding to http01 challenges. This is currently disabled by default and can be enabled by editing test/startservers.py and ensure chaltestsrv is running with the flag --http01 :5002 instead of --http01 ""

By default, tests run using the boulder client unless the environment variable ACME_SERVER is set to pebble, eg: ACME_SERVER=boulder go test -v

Pebble

Alternatively, tests can be run against a local instance of pebble running with the PEBBLE_VA_ALWAYS_VALID=1 environment variable.

To run tests using the pebble client the environment variable ACME_SERVER must be set to pebble, eg: ACME_SERVER=pebble go test -v