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 1 year ago
examples Update certbot example to save/load account key via pem instead of attempting to marshal the key directly. 2 years ago
.gitignore Initial change to coveralls 2 years ago
.travis.yml Only use goveralls for boulder test 1 year ago
LICENSE Initial commit 4 years ago
Makefile Initial change to coveralls 2 years ago
README.md Initial change to coveralls 2 years ago
THIRD-PARTY Remove square/go-jose dependency 4 years ago
account.go Add function for fetching order list from account 2 years ago
account_test.go Add function for fetching order list from account 2 years ago
acme.go Fetch alternative cert chains 2 years ago
acme_test.go Fix for boulder not returning http status no content for post as get to newnonce url 2 years ago
authorization.go Remove explicit references to specific draft acme versions 3 years ago
authorization_test.go Pebble supports deactivating auths 3 years ago
autocert.go golangci-lint fixes 2 years ago
autocert_test.go golangci-lint fixes 2 years ago
certificate.go Fix for fetching alt root certs 2 years ago
certificate_test.go Fix for fetching alt root certs 2 years ago
challenge.go Remove explicit references to specific draft acme versions 3 years ago
challenge_test.go Add extra tests for checking challenge status 3 years ago
go.mod go.mod: bump down go version to version listed in README 2 years ago
jws.go Use latest JWS code from x/crypto/acme 2 years ago
jws_test.go Use latest JWS code from x/crypto/acme 2 years ago
misc_test.go FetchCertificate: Use POST-AS-GET mechanism 3 years ago
nonce.go Move fetching new nonces from nonce stack into the client 3 years ago
nonce_test.go Move fetching new nonces from nonce stack into the client 3 years ago
options.go Add option for custom http client 3 years ago
options_test.go Add option for custom http client 3 years ago
order.go Goimports all files 2 years ago
order_test.go Test order status 2 years ago
problem.go Update problem document to closer match rfc 2 years ago
problem_test.go Update problem document to closer match rfc 2 years ago
types.go Add links to RFC documentation for types 2 years ago
utility_test.go Add function for fetching order list from account 2 years 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.