![]() |
||
---|---|---|
.github | ||
acme4j-client | ||
acme4j-example | ||
acme4j-utils | ||
src/site | ||
.gitignore | ||
.gitlab-ci.yml | ||
.project | ||
CONTRIBUTING.md | ||
LICENSE-APL.txt | ||
README.md | ||
pom.xml |
README.md
ACME Java Client 
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
- See the online documentation about how to use acme4j.
- For a quick start, have a look at the source code of an example.
Contribute
- Fork the Source code at GitHub. Feel free to send pull requests.
- Found a bug? File a bug report!. Please add a note that you are referring to the old ACMEv1 implementation!
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.