Important Changes
Until now, order finalization (order.execute()
) was started immediately after the domain authorization process was completed. This is working fine for most CAs, but might fail for some CAs that take a while for the order to become READY
for finalization. For this reason, I recommend to generally wait for the order status to become READY
before invoking order.execute()
. If you wait for state changes synchronously, you can use the new order.waitUntilReady()
method for that. The example has been updated accordingly.
Waiting for status changes was expected to be implemented by you. There was a waitForCompletion()
method in the example client that showed how to wait synchronously. With acme4j v3.4.0, there are now new methods waitForCompletion()
and waitUntilReady()
that do the heavy lifting for you. You can replace your own waiting code with these new methods if you like to. The new methods wait synchronously, blocking the current thread for several seconds or even minutes. If you have implemented an asynchronous wait, you should prefer to use your own code.
For further information, please see the migration guide and the example client.
Changelog
- Added
waitForCompletion()
andwaitUntilReady()
methods, which will synchronously wait for a status change. They replace thewaitForCompletion()
boilerplate method in the example implementation, and will make simple acme4j implementations simpler and less bugprone. - Deprecate
update()
andAcmeRetryAfterException
. Usefetch()
instead. - Update to draft-ietf-acme-ari-04. No changes to the code are required.