From f8e05e4376e1d5f00c93307605eb768281ad240b Mon Sep 17 00:00:00 2001 From: Yuuta Liang Date: Tue, 28 Nov 2023 21:08:03 -0800 Subject: Add association tags and generate UML Signed-off-by: Yuuta Liang --- src/main/model/csr/Attribute.java | 3 +++ src/main/model/csr/Attributes.java | 2 ++ src/main/model/csr/CertificationRequest.java | 4 ++++ src/main/model/csr/CertificationRequestInfo.java | 8 ++++++++ src/main/model/csr/Values.java | 5 +++++ 5 files changed, 22 insertions(+) (limited to 'src/main/model/csr') diff --git a/src/main/model/csr/Attribute.java b/src/main/model/csr/Attribute.java index 2daa000..26c3271 100644 --- a/src/main/model/csr/Attribute.java +++ b/src/main/model/csr/Attribute.java @@ -1,5 +1,6 @@ package model.csr; +import annotations.Assoc; import model.asn1.ASN1Object; import model.asn1.ObjectIdentifier; import model.asn1.Tag; @@ -26,11 +27,13 @@ public class Attribute extends ASN1Object { * The type of that attribute. For example,
2.5.29.14
is subjectKeyIdentifier. * It determines the format of the value. */ + @Assoc(partOf = true) private final ObjectIdentifier type; /** * Value set. */ + @Assoc(partOf = true) private final Values values; /** diff --git a/src/main/model/csr/Attributes.java b/src/main/model/csr/Attributes.java index 302741d..ae64434 100644 --- a/src/main/model/csr/Attributes.java +++ b/src/main/model/csr/Attributes.java @@ -1,5 +1,6 @@ package model.csr; +import annotations.Assoc; import model.asn1.ASN1Object; import model.asn1.Encodable; import model.asn1.Tag; @@ -18,6 +19,7 @@ import java.util.stream.Stream; * */ public class Attributes extends ASN1Object { + @Assoc(partOf = true) private final Attribute[] array; /** diff --git a/src/main/model/csr/CertificationRequest.java b/src/main/model/csr/CertificationRequest.java index 64203f9..fc22228 100644 --- a/src/main/model/csr/CertificationRequest.java +++ b/src/main/model/csr/CertificationRequest.java @@ -1,5 +1,6 @@ package model.csr; +import annotations.Assoc; import model.asn1.ASN1Object; import model.asn1.BitString; import model.asn1.Tag; @@ -36,16 +37,19 @@ public class CertificationRequest extends ASN1Object { * All info of that CSR, excluding the signature. * It will be signed, and the signature is in
signature
. */ + @Assoc(partOf = true) private final CertificationRequestInfo certificationRequestInfo; /** * The algorithm used for
signature
. */ + @Assoc(partOf = true) private final AlgorithmIdentifier signatureAlgorithm; /** * The signature. */ + @Assoc(partOf = true) private final BitString signature; /** diff --git a/src/main/model/csr/CertificationRequestInfo.java b/src/main/model/csr/CertificationRequestInfo.java index 8f68ac8..4834813 100644 --- a/src/main/model/csr/CertificationRequestInfo.java +++ b/src/main/model/csr/CertificationRequestInfo.java @@ -1,5 +1,6 @@ package model.csr; +import annotations.Assoc; import model.asn1.ASN1Object; import model.asn1.Int; import model.asn1.Tag; @@ -38,18 +39,25 @@ public class CertificationRequestInfo extends ASN1Object { /** * Version of the CRL. Always {@link CertificationRequestInfo#VERSION_V1} (0). */ + @Assoc(partOf = true) private final Int version; /** * Subject of the requested certificate */ + @Assoc(partOf = true) private final Name subject; /** * The public key to request. */ + @Assoc(partOf = true) private final SubjectPublicKeyInfo subjectPKInfo; + /** + * The request attributes. + */ + @Assoc(partOf = true) private final Attributes attributes; /** diff --git a/src/main/model/csr/Values.java b/src/main/model/csr/Values.java index f461686..1f9423c 100644 --- a/src/main/model/csr/Values.java +++ b/src/main/model/csr/Values.java @@ -1,5 +1,6 @@ package model.csr; +import annotations.Assoc; import model.asn1.ASN1Object; import model.asn1.Encodable; import model.asn1.Tag; @@ -22,6 +23,10 @@ import java.util.stream.Stream; * Values can be none or any length. Parsing and decoding the values are handled in specific types. */ public class Values extends ASN1Object { + /** + * The values array. + */ + @Assoc(partOf = true, lowerBond = 1) private final ASN1Object[] array; /** -- cgit v1.2.3