From 7f20545e148d6cc8a6c72662ebf351b2f4972dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20K=C3=B6rber?= Date: Sat, 20 May 2023 17:19:12 +0200 Subject: [PATCH] Keep alternate certificate instances --- .../main/java/org/shredzone/acme4j/Certificate.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/Certificate.java b/acme4j-client/src/main/java/org/shredzone/acme4j/Certificate.java index bdfaf658..431041d8 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/Certificate.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/Certificate.java @@ -59,6 +59,7 @@ public class Certificate extends AcmeResource { private @Nullable List certChain; private @Nullable Collection alternates; private transient @Nullable RenewalInfo renewalInfo = null; + private transient @Nullable List alternateCerts = null; protected Certificate(Login login, URL certUrl) { super(login, certUrl); @@ -124,10 +125,13 @@ public class Certificate extends AcmeResource { * @since 2.11 */ public List getAlternateCertificates() { - var login = getLogin(); - return getAlternates().stream() - .map(login::bindCertificate) - .collect(toUnmodifiableList()); + if (alternateCerts == null) { + var login = getLogin(); + alternateCerts = getAlternates().stream() + .map(login::bindCertificate) + .collect(toUnmodifiableList()); + } + return alternateCerts; } /**