From b1ac68181ca2f8baf5d0a104c4c8f30e43f140da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20K=C3=B6rber?= Date: Wed, 21 Feb 2018 19:58:29 +0100 Subject: [PATCH] Skip challenge if authorization is already valid --- .../src/main/java/org/shredzone/acme4j/ClientTest.java | 5 +++++ .../test/java/org/shredzone/acme4j/it/pebble/OrderIT.java | 4 ++++ .../java/org/shredzone/acme4j/it/pebble/OrderWildcardIT.java | 4 ++++ 3 files changed, 13 insertions(+) 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()));