Stress that acme4j <2.5 will stop working on Nov 1st, 2019

pull/81/head
Richard Körber 2019-03-20 00:26:07 +01:00
parent 4dbc979f04
commit 242e94bb2c
No known key found for this signature in database
GPG Key ID: AAB9FD19C78AA3E0
3 changed files with 14 additions and 8 deletions

View File

@ -8,7 +8,7 @@ This Java client helps connecting to an ACME server, and performing all necessar
It is an independent open source implementation that is not affiliated with or endorsed by _Let's Encrypt_.
**Note:** Make sure to use _acme4j_ 2.5 or higher, before November 1st 2019. Due to a change in the ACME protocol, _acme4j_ < 2.5 will fail to connect to servers after that date. _acme4j_ v1 is not affected. See [here](https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380) for details.
**IMPORTANT: Starting November 1st, 2019, all _acme4j_ versions before v2.5 will not work properly any more.** Make sure to update to the latest _acme4j_ version in time. See [here](https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380) and [here](https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430) for details. You will find help for migrating your code in the [migration guide](https://shredzone.org/maven/acme4j/migration.html).
## Features
@ -26,7 +26,6 @@ It is an independent open source implementation that is not affiliated with or e
* 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).
* The previous ACME v1 protocol is still supported by [_acme4j_ version 1](https://shredzone.org/maven/acme4j-acmev1/index.html).
## Contribute

View File

@ -2,6 +2,13 @@
This document will help you migrate your code to the latest _acme4j_ version.
<div class="alert alert-info" role="alert">
**Starting on November 1st, 2019, all _acme4j_ versions before 2.5 will not work properly any more.**
I recommend to update at least to this _acme4j_ version as soon as possible! _Let's Encrypt_ has [announced a sunset date for GET requests](https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380) on November 1st, 2019. On the same day [access to the ACMEv1 servers](https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430) will be restricted.
</div>
## Migration to Version 2.7
- Note that _acme4j_ has an `Automatic-Module-Name` set in the acme-client and acme-utils modules now. If you have added _acme4j_ to your Java 9+ module dependencies, you'll need to fix your dependency declaration to `org.shredzone.acme4j` (acme-client) and `org.shredzone.acme4j.utils` (acme-utils).
@ -18,11 +25,6 @@ This document will help you migrate your code to the latest _acme4j_ version.
- The GET compatibility mode has been removed. It also means that the `postasget=false` parameter is ignored from now on. If you need it to connect to your ACME server, do not update to this version until your ACME server has been fixed to support ACME draft 15.
<div class="alert alert-info" role="alert">
I recommend to update to this _acme4j_ version as soon as possible! _Let's Encrypt_ has [announced a sunset date for GET requests](https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380) on November 1st, 2019. _acme4j_ v2.4 and older will break after that date!
</div>
## Migration to Version 2.4
- There was a major change in ACME draft 15. If you use _acme4j_ in a common way, it will transparently take care of everything in the background, so you won't even notice the change.
@ -35,6 +37,10 @@ I recommend to update to this _acme4j_ version as soon as possible! _Let's Encry
- `Authorization.getDomain()`, `Order.getDomains()` and `Problem.getDomain()` are deprecated now, and will be removed in version 2.4. If you use these methods, use `getIdentifier()` (or `getIdentifiers()`) to get an `Identifier` object, then invoke `Identifier.getDomain()` to get the domain name.
## Migration to Version 2.2
- No migration steps are necessary.
## Migration to Version 2.1
- This version adds [JSR 305](https://jcp.org/en/jsr/detail?id=305) annotations. If you use a null-safe language like Kotlin, or tools like SpotBugs, your code may fail to compile because of detected possible null pointer dereferences and unclosed streams. These are potential bugs that need to be resolved.
@ -47,6 +53,8 @@ _acme4j_ 2.0 fully supports the ACMEv2 protocol. Sadly, the ACMEv2 protocol is a
There is no easy recipe to migrate your code to _acme4j_ 2.0. I recommend to have a look at the example, and read this documentation. Altogether, it shouldn't be too much work to update your code, though.
ACMEv1 support will stop on November 1st, 2019!
### "Malformed account ID in KeyID header"
If you try to use your old ACME v1 account location URL in ACME v2, you will get a "Malformed account ID in KeyID header" error. The easiest way to fix this is to register a new account **with your existing account key pair**. You will get your migrated account location URL in return.

View File

@ -24,7 +24,6 @@
<![CDATA[<script type="text/javascript">$(document).ready(function(){$(".source").addClass("prettyprint");prettyPrint();});</script>]]>
</head>
<links>
<item name="ACME v1" href="https://shredzone.org/maven/acme4j-acmev1/index.html"/>
<item name="API javadoc" href="./apidocs/index.html"/>
<item name="GitHub" href="https://github.com/shred/acme4j"/>
</links>