acme4j

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.

The source code can be found at GitHub and is distributed under the terms of Apache License 2.0.

Quick Start

acme4j is available at Maven Central. Just add this snippet to your pom.xml:

<dependency>
  <groupId>org.shredzone.acme4j</groupId>
  <artifactId>acme4j-client</artifactId>
  <version>2.1</version>
</dependency>

For Gradle:

dependencies {
    compile 'org.shredzone.acme4j:acme4j-client:2.1'
}

There is also an optional utility module that will help you handling key pairs and certificates (but requires Bouncy Castle):

<dependency>
  <groupId>org.shredzone.acme4j</groupId>
  <artifactId>acme4j-utils</artifactId>
  <version>2.1</version>
</dependency>

For Gradle:

dependencies {
    compile 'org.shredzone.acme4j:acme4j-utils:2.1'
}

Now just have a look at this source code to see an example usage.