diff options
author | Bjørn Christian Seime <bjorncs@oath.com> | 2018-03-21 11:07:41 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@oath.com> | 2018-03-22 13:01:09 +0100 |
commit | f370e4c8cb2d2e4b8ce4b8fcf6cb6ecda3c024c9 (patch) | |
tree | 2f08f1424e343d9e4d6bb8db288b4b09c58c94f7 /vespa-athenz | |
parent | 105c3e6fea2ea86c9cb7509b93bf35273965aeac (diff) |
A csr can only contain a single 'extension request' attribute
Diffstat (limited to 'vespa-athenz')
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/tls/Pkcs10Csr.java | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/tls/Pkcs10Csr.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/tls/Pkcs10Csr.java index da603f77980..d9cd3141f19 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/tls/Pkcs10Csr.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/tls/Pkcs10Csr.java @@ -16,10 +16,9 @@ import org.bouncycastle.pkcs.PKCS10CertificationRequest; import javax.security.auth.x500.X500Principal; import java.util.Arrays; import java.util.List; -import java.util.Objects; import java.util.Optional; -import java.util.stream.Stream; +import static java.util.Collections.emptyList; import static java.util.stream.Collectors.toList; /** @@ -44,10 +43,10 @@ public class Pkcs10Csr { public List<String> getSubjectAlternativeNames() { return getExtensions() .map(extensions -> GeneralNames.fromExtensions(extensions, Extension.subjectAlternativeName)) - .filter(Objects::nonNull) - .flatMap(generalNames -> Arrays.stream(generalNames.getNames())) - .map(Pkcs10Csr::toString) - .collect(toList()); + .map(generalNames -> Arrays.stream(generalNames.getNames()) + .map(Pkcs10Csr::toString) + .collect(toList())) + .orElse(emptyList()); } /** @@ -56,21 +55,22 @@ public class Pkcs10Csr { public Optional<Boolean> getBasicConstraints() { return getExtensions() .map(BasicConstraints::fromExtensions) - .findAny() .map(BasicConstraints::isCA); } public List<String> getExtensionOIds() { return getExtensions() - .flatMap(extensions -> Arrays.stream(extensions.getExtensionOIDs())) - .map(ASN1ObjectIdentifier::getId) - .collect(toList()); + .map(extensions -> Arrays.stream(extensions.getExtensionOIDs()) + .map(ASN1ObjectIdentifier::getId) + .collect(toList())) + .orElse(emptyList()); } - private Stream<Extensions> getExtensions() { - return Arrays - .stream(csr.getAttributes(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest)) + private Optional<Extensions> getExtensions() { + return Optional.of(csr.getAttributes(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest)) + .filter(attributes -> attributes.length > 0) + .map(attributes -> attributes[0]) .map(attribute -> Extensions.getInstance(attribute.getAttrValues().getObjectAt(0))); } |