![]() |
||
---|---|---|
acme4j-client | ||
acme4j-example | ||
acme4j-utils | ||
src/site | ||
.gitignore | ||
.project | ||
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.
Alpha Release!
Please note that even though acme4j is already usable, it is currently in an early alpha state. This means that:
- acme4j is not feature complete yet (see the "Missing" section below).
- The API is not stable. It may change in a manner not compatible to previous versions and without prior notice.
- acme4j could still have major bugs.
As Let's Encrypt is currently in public beta, some of the ACME services may be restricted or not yet available.
The ACME specifications are in draft status and subject to change.
Features
- Easy to use Java API
- Requires JRE 7 or higher
- Built with maven (package will be made available at Maven Central as soon as beta state is reached)
- Small, only requires jose4j and slf4j as dependencies
- Extensive unit tests
Usage
See the online documentation for how to use acme4j. Or just have a look at the source code of an example.
Missing
The following features are planned to be completed for the first beta release, but are still missing:
- Support of account recovery and certificate revocation.
proofOfPossession-01
andtls-sni-01
challenge support.- Better error handling.
- Some hardening (like plausibility checks).
License
acme4j is open source software. The source code can be found at GitHub and is distributed under the terms of Apache License 2.0.
Feel free to send in pull requests!