Giter Club home page Giter Club logo

acme4j's Introduction

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

  • Fully supports the ACME v2 protocol up to draft 09
  • Easy to use Java API
  • Requires JRE 8 (update 101) or higher
  • Built with maven, packages available at Maven Central
  • Small, only requires jose4j and slf4j as dependencies
  • Extensive unit and integration tests

Work in Progress!

There are two versions of the ACME specification, ACME v1 and ACME v2.

ACME v1 is currently in production. It is supported by acme4j < 2.0, so use acme4j < 2.0 for production purposes!

At the moment, Let's Encrypt only provides an ACME v2 staging server for testing purposes. An ACME v2 production server is planned to be launched on Feburary 27th, 2018. acme4j >= 2.0 supports the ACME v2 protocol.

Let's Encrypt has not announced a sunset date for ACME v1 yet, so there is plenty of time for migration. acme4j < 2.0 will be maintained in the acmev1 branch until sunset of the ACME v1 protocol.

Known Issues

  • Let's Encrypt does not support the tls-sni-02 challenge yet, while acme4j does not provide tls-sni-01 support any more. If you use tls-sni, do not upgrade to acme4j v2 yet!
  • The acme4j v2 API is still subject to change.
  • Integration tests do not fully cover all functions. The standard methods for creating an account, ordering, and downloading a certificate are tested. Other methods are not tested yet, and may not work as expected.

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.
  • Thanks to Daniel McCarney for his help with the ACME protocol, Pebble, and Boulder.
  • I also like to thank everyone who contributed to acme4j.

acme4j's People

Contributors

shred avatar xkr47 avatar doom369 avatar zosocanuck avatar ulfsauer0815 avatar

Watchers

James Cloos avatar MulticolorWorld avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.