Closed rcc13 closed 5 months ago
Good catch, thank you for the report!
OrderBuilder.replaces()
is a part of draft-ietf-acme-ari-03, not RFC 8739, so it makes no sense to set autoRenewal=true
here.
I will provide a fix in the next days.
Fixed in v3.3.1 which is available on maven central in the next hours.
Feel free to reopen this issue if your problem is not solved.
Awesome! Thanks @shred
I am trying to use acme4j to implement Acme Renewal Info (ARI) support.
When I call the
OrderBuilder.replaces(X509Certificate certificate)
to set the certificate to be replaced, it callsOrderBuilder.replaces(String uniqueId)
and that in turns callsautoRenewal()
which setsautoRenewal=true
.When I subsequently call
Order.create()
, it does a meta data check for auto-renewal and fails as the ACME server I am working with supports ARI but not STAR.My work-around was to set
OrderBuilder.autoRenewal=false
using reflection after callingOrderBuilder.replaces()
. This seems to solve the problem asOrder.create()
no longer does a metadata check for STAR.It would be great if OrderBuilder.replaces() does not assume STAR, or at least differentiate between STAR and ARI use cases, so that the above work-around is not necessary.