mirror of https://github.com/shred/acme4j
44 lines
2.8 KiB
Markdown
44 lines
2.8 KiB
Markdown
# ACME Java Client  
|
|
|
|
This is a Java client for the _Automatic Certificate Management Environment_ (ACME) protocol as specified in [RFC 8555](https://tools.ietf.org/html/rfc8555).
|
|
|
|
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 [RFC 8555](https://tools.ietf.org/html/rfc8555) compliant
|
|
* Supports the `http-01`, `dns-01` and `tls-alpn-01` challenges
|
|
* Supports the [acme-ip draft](https://tools.ietf.org/html/draft-ietf-acme-ip)
|
|
* Supports the [acme-star draft](https://tools.ietf.org/html/draft-ietf-acme-star) for short-term automatic certificate renewal (experimental)
|
|
* Easy to use Java API
|
|
* Requires JRE 8 (update 101) or higher
|
|
* Built with maven, packages available at [Maven Central](http://search.maven.org/#search|ga|1|g%3A%22org.shredzone.acme4j%22)
|
|
* Requires [jose4j](https://bitbucket.org/b_c/jose4j/wiki/Home), [Bouncy Castle](https://www.bouncycastle.org/) and [slf4j](http://www.slf4j.org/) as dependencies. If you have other means of generating key pairs and CSRs, you can even do without `acme4j-utils` and Bouncy Castle as dependency.
|
|
* Extensive unit and integration tests
|
|
|
|
## Usage
|
|
|
|
* See the [online documentation](https://shredzone.org/maven/acme4j/) about how to use _acme4j_.
|
|
* For a quick start, have a look at [the source code of an example](https://github.com/shred/acme4j/blob/master/acme4j-example/src/main/java/org/shredzone/acme4j/ClientTest.java).
|
|
|
|
## Contribute
|
|
|
|
* Fork the [Source code at GitHub](https://github.com/shred/acme4j). Feel free to send pull requests.
|
|
* Found a bug? [File a bug report!](https://github.com/shred/acme4j/issues)
|
|
|
|
## License
|
|
|
|
_acme4j_ is open source software. The source code is distributed under the terms of [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).
|
|
|
|
## Acknowledgements
|
|
|
|
* I would like to thank Brian Campbell and all the other [jose4j](https://bitbucket.org/b_c/jose4j/wiki/Home) developers. _acme4j_ would not exist without your excellent work.
|
|
* Thanks to [Daniel McCarney](https://github.com/cpu) for his help with the ACME protocol, Pebble, and Boulder.
|
|
* [Ulrich Krause](https://github.com/eknori) for his help to make _acme4j_ run on IBM Java VMs.
|
|
* I also like to thank [everyone who contributed to _acme4j_](https://github.com/shred/acme4j/graphs/contributors).
|
|
* [JetBrains](https://www.jetbrains.com/?from=acme4j) kindly provided a free open source license for IntelliJ IDEA.
|