diff --git a/acme4j-example/src/main/java/org/shredzone/acme4j/ClientTest.java b/acme4j-example/src/main/java/org/shredzone/acme4j/ClientTest.java index cb2efd24..e93d9e7f 100644 --- a/acme4j-example/src/main/java/org/shredzone/acme4j/ClientTest.java +++ b/acme4j-example/src/main/java/org/shredzone/acme4j/ClientTest.java @@ -204,6 +204,11 @@ public class ClientTest { private void authorize(Authorization auth) throws AcmeException { LOG.info("Authorization for domain " + auth.getDomain()); + // The authorization is already valid. No need to process a challenge. + if (auth.getStatus() == Status.VALID) { + return; + } + // Find the desired challenge and prepare it. Challenge challenge = null; switch (CHALLENGE_TYPE) { diff --git a/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderIT.java b/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderIT.java index ca3d199d..1d372cdb 100644 --- a/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderIT.java +++ b/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderIT.java @@ -122,6 +122,10 @@ public class OrderIT extends PebbleITBase { assertThat(auth.getDomain(), is(domain)); assertThat(auth.getStatus(), is(Status.PENDING)); + if (auth.getStatus() == Status.VALID) { + continue; + } + Challenge challenge = validator.prepare(auth); challenge.trigger(); diff --git a/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderWildcardIT.java b/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderWildcardIT.java index 9142e3fe..6a8702a7 100644 --- a/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderWildcardIT.java +++ b/acme4j-it/src/test/java/org/shredzone/acme4j/it/pebble/OrderWildcardIT.java @@ -80,6 +80,10 @@ public class OrderWildcardIT extends PebbleITBase { assertThat(auth.getDomain(), is(TEST_DOMAIN)); assertThat(auth.getStatus(), is(Status.PENDING)); + if (auth.getStatus() == Status.VALID) { + continue; + } + Dns01Challenge challenge = auth.findChallenge(Dns01Challenge.TYPE); assertThat(challenge, is(notNullValue()));