aboutsummaryrefslogtreecommitdiff
path: root/src/main/model/pki
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/model/pki')
-rw-r--r--src/main/model/pki/cert/TbsCertificate.java15
-rw-r--r--src/main/model/pki/crl/CertificateListContent.java2
2 files changed, 16 insertions, 1 deletions
diff --git a/src/main/model/pki/cert/TbsCertificate.java b/src/main/model/pki/cert/TbsCertificate.java
index 1175456..ce228af 100644
--- a/src/main/model/pki/cert/TbsCertificate.java
+++ b/src/main/model/pki/cert/TbsCertificate.java
@@ -229,6 +229,21 @@ public class TbsCertificate extends ASN1Object {
.toArray(Byte[]::new);
}
+ /**
+ * EFFECT: Get the extension by ID. If the certificate is V1 or does not have any extensions or does not have the
+ * specified extension, null is returned.
+ * REQUIRES: extnId should be a valid X.509 certificate extension ID.
+ */
+ public Extension getExtension(Integer[] extnId) {
+ if (extensions == null) {
+ return null;
+ }
+ return Arrays.stream(extensions.getExtensions())
+ .filter(extn -> Arrays.equals(extnId, extn.getExtnId().getInts()))
+ .findFirst()
+ .orElse(null);
+ }
+
public Int getVersion() {
return version;
}
diff --git a/src/main/model/pki/crl/CertificateListContent.java b/src/main/model/pki/crl/CertificateListContent.java
index 6f75d71..c7e901d 100644
--- a/src/main/model/pki/crl/CertificateListContent.java
+++ b/src/main/model/pki/crl/CertificateListContent.java
@@ -70,8 +70,8 @@ public class CertificateListContent extends ASN1Object {
.flatMap(Arrays::stream)
.collect(Collectors.toList());
return Stream.of(Arrays.asList(version.encodeDER()),
- Arrays.asList(issuer.encodeDER()),
Arrays.asList(signature.encodeDER()),
+ Arrays.asList(issuer.encodeDER()),
Arrays.asList(thisUpdate.encodeDER()),
nextUpdate == null ? Collections.<Byte>emptyList() : Arrays.asList(nextUpdate.encodeDER()),
Arrays.asList(new Tag(TagClass.UNIVERSAL, true, 0x30).encodeDER()),