erik777 / acme4j

Java client for ACME (Let's Encrypt)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ACME Java Client build status maven central

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.

Features

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

Usage

Future Compatibility

This version of acme4j is tailor-made for Let's Encrypt and other CAs that use the Boulder server and the "ACME v1" protocol.

ACME v1 is deprecated and will be replaced by ACME v2 in the near future. Let's Encrypt has announced to offer an ACME v2 API endpoint by January 2018. There is no end of life date for ACME v1 at the moment.

To prepare your software for ACME v2, you can use acme4j available in the "draft" branch, which fully supports the ACME v2 protocol, but is not downward compatible to ACME v1. A first release of this branch will be available at Maven Central in due time.

Make sure to set the correct major version in your dependencies:

  • acme4j version 0.xx → ACME v1 protocol. This is what you want for production code at the moment.
  • acme4j version 1.xx → ACME v2 protocol. The "draft" branch. Not meant for production yet.

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.

About

Java client for ACME (Let's Encrypt)

License:Apache License 2.0


Languages

Language:Java 100.0%