You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Isaac 1d04d63398 Only use goveralls for boulder test 7 months ago
examples Update certbot example to save/load account key via pem instead of attempting to marshal the key directly. 1 year ago
.gitignore Initial change to coveralls 11 months ago
.travis.yml Only use goveralls for boulder test 7 months ago
LICENSE Initial commit 3 years ago
Makefile Initial change to coveralls 11 months ago
README.md Initial change to coveralls 11 months ago
THIRD-PARTY Remove square/go-jose dependency 2 years ago
account.go Add function for fetching order list from account 1 year ago
account_test.go Add function for fetching order list from account 1 year ago
acme.go Fetch alternative cert chains 1 year ago
acme_test.go Fix for boulder not returning http status no content for post as get to newnonce url 11 months ago
authorization.go Remove explicit references to specific draft acme versions 2 years ago
authorization_test.go Pebble supports deactivating auths 2 years ago
autocert.go golangci-lint fixes 1 year ago
autocert_test.go golangci-lint fixes 1 year ago
certificate.go Fix for fetching alt root certs 11 months ago
certificate_test.go Fix for fetching alt root certs 11 months ago
challenge.go Remove explicit references to specific draft acme versions 2 years ago
challenge_test.go Add extra tests for checking challenge status 1 year ago
go.mod go.mod: bump down go version to version listed in README 1 year ago
jws.go Use latest JWS code from x/crypto/acme 1 year ago
jws_test.go Use latest JWS code from x/crypto/acme 1 year ago
misc_test.go FetchCertificate: Use POST-AS-GET mechanism 2 years ago
nonce.go Move fetching new nonces from nonce stack into the client 2 years ago
nonce_test.go Move fetching new nonces from nonce stack into the client 2 years ago
options.go Add option for custom http client 1 year ago
options_test.go Add option for custom http client 1 year ago
order.go Goimports all files 1 year ago
order_test.go Test order status 1 year ago
problem.go Update problem document to closer match rfc 1 year ago
problem_test.go Update problem document to closer match rfc 1 year ago
types.go Add links to RFC documentation for types 1 year ago
utility_test.go Add function for fetching order list from account 1 year ago

README.md

eggsampler/acme

GoDoc Build Status Coverage Status

About

eggsampler/acme is a Go client library implementation for RFC8555 (previously ACME v2), specifically for use with the Let’s Encrypt™ service.

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

Requirements

A Go version of at least 1.11 is required as this repository is designed to be imported as a Go module.

Usage

Simply import the module into a project,

import "github.com/eggsampler/acme/v3"

Note the /v3 major version at the end. Due to the way modules function, this is the major version as represented in the go.mod file and latest git repo semver tag. All functions are still exported and called using the acme package name.

Examples

A simple certbot-like example is provided in the examples/certbot directory. This code demonstrates account registration, 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 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.