Go to file
Richard Körber 050f1633ae
Bump to version 1.0
2018-01-13 14:19:36 +01:00
.github Add issue template and contribution rules 2018-01-07 14:21:46 +01:00
acme4j-client Bump to version 1.0 2018-01-13 14:19:36 +01:00
acme4j-example Bump to version 1.0 2018-01-13 14:19:36 +01:00
acme4j-utils Bump to version 1.0 2018-01-13 14:19:36 +01:00
src/site Deprecate oob-01 challenge 2018-01-13 14:03:07 +01:00
.gitignore Initial commit 2015-12-04 21:28:12 +01:00
.gitlab-ci.yml Gitlab CI: Use jacoco and sonar 2016-12-16 00:38:37 +01:00
.project Project start 2015-12-09 01:24:03 +01:00
CONTRIBUTING.md Add issue template and contribution rules 2018-01-07 14:21:46 +01:00
LICENSE-APL.txt Initial commit 2015-12-04 21:28:12 +01:00
README.md Move ACMEv1 support into separate branch 2018-01-07 16:32:55 +01:00
pom.xml Bump to version 1.0 2018-01-13 14:19:36 +01:00

README.md

ACME Java Client build status

This is a Java client for the Automatic Certificate Management Environment (ACME) protocol.

ACME is a protocol that a certificate authority (CA) and an applicant can use to automate the process of verification and certificate issuance.

This Java client helps connecting to an ACME server, and performing all necessary steps to manage certificates.

It is an independent open source implementation that is not affiliated with or endorsed by Let's Encrypt.

ACME v1

This acme4j branch implements the deprecated ACME v1 protocol. It should only be used for existing code, and for connecting to CAs that do not provide an ACME v2 service.

For new projects, it is recommended to use acme4j version 2, which fully implements the current ACME v2 protocol.

Existing code should be migrated to acme4j version 2 (see the migration guide). Let's Encrypt has not yet announced a sunset date for ACME v1, so there seems to be plenty of time for migration at the moment.

Important

In order to connect to the Let's Encrypt servers, acme4j has used a local truststore containing their SSL certificate. Native support of IdenTrust certificates was added to Java 8u101 in July 2016. Since then, the local truststore was not necessary any more. It has been disabled in acme4j v0.12.

If you are still using acme4j < v0.12, you should update to a later version soon. The certificate in the local truststore expires on June 2018 (or maybe earlier, at the discretion of Let's Encrypt).

Features

  • Supports the "ACME v1" protocol that is used by Let's Encrypt
  • Easy to use Java API
  • Requires JRE 8u101 or higher
  • Built with maven, packages available at Maven Central
  • Small: acme4j-client only requires jose4j and slf4j as dependencies
  • Only the optional acme4j-utils module requires Bouncy Castle
  • Extensive unit tests

Usage

Contribute

License

acme4j is open source software. The source code is distributed under the terms of Apache License 2.0.

Acknowledgements

  • I would like to thank Brian Campbell and all the other jose4j developers. acme4j would not exist without your excellent work.
  • I also like to thank everyone who contributed to acme4j.