mirror of https://github.com/shred/acme4j
Add method to get a list of alternate certificates
parent
7ecf12f6cb
commit
3cf73e9f5c
|
@ -24,6 +24,7 @@ import java.security.cert.X509Certificate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import edu.umd.cs.findbugs.annotations.Nullable;
|
import edu.umd.cs.findbugs.annotations.Nullable;
|
||||||
import org.shredzone.acme4j.connector.Connection;
|
import org.shredzone.acme4j.connector.Connection;
|
||||||
|
@ -110,6 +111,19 @@ public class Certificate extends AcmeResource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns alternate certificate chains, if available.
|
||||||
|
*
|
||||||
|
* @return Alternate certificate chains, or empty if there are none.
|
||||||
|
* @since 2.11
|
||||||
|
*/
|
||||||
|
public List<Certificate> getAlternateCertificates() {
|
||||||
|
Login login = getLogin();
|
||||||
|
return getAlternates().stream()
|
||||||
|
.map(login::bindCertificate)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes the certificate to the given writer. It is written in PEM format, with the
|
* Writes the certificate to the given writer. It is written in PEM format, with the
|
||||||
* end-entity cert coming first, followed by the intermediate ceritificates.
|
* end-entity cert coming first, followed by the intermediate ceritificates.
|
||||||
|
|
|
@ -113,6 +113,11 @@ public class CertificateTest {
|
||||||
assertThat(cert.getAlternates().get(0), is(url("https://example.com/acme/alt-cert/1")));
|
assertThat(cert.getAlternates().get(0), is(url("https://example.com/acme/alt-cert/1")));
|
||||||
assertThat(cert.getAlternates().get(1), is(url("https://example.com/acme/alt-cert/2")));
|
assertThat(cert.getAlternates().get(1), is(url("https://example.com/acme/alt-cert/2")));
|
||||||
|
|
||||||
|
assertThat(cert.getAlternateCertificates(), is(notNullValue()));
|
||||||
|
assertThat(cert.getAlternateCertificates().size(), is(2));
|
||||||
|
assertThat(cert.getAlternateCertificates().get(0).getLocation(), is(url("https://example.com/acme/alt-cert/1")));
|
||||||
|
assertThat(cert.getAlternateCertificates().get(1).getLocation(), is(url("https://example.com/acme/alt-cert/2")));
|
||||||
|
|
||||||
provider.close();
|
provider.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue