diff options
author | Yuuta Liang <yuutaw@student.cs.ubc.ca> | 2023-11-28 21:08:03 -0800 |
---|---|---|
committer | Yuuta Liang <yuutaw@student.cs.ubc.ca> | 2023-11-28 21:08:03 -0800 |
commit | f8e05e4376e1d5f00c93307605eb768281ad240b (patch) | |
tree | 5683cfe5c5c612452723f44d3eee114f27498fcf /src/main/model/csr | |
parent | 2a9c2e3abf57a5d92e311c07679ff62be7275f02 (diff) | |
download | jca-f8e05e4376e1d5f00c93307605eb768281ad240b.tar jca-f8e05e4376e1d5f00c93307605eb768281ad240b.tar.gz jca-f8e05e4376e1d5f00c93307605eb768281ad240b.tar.bz2 jca-f8e05e4376e1d5f00c93307605eb768281ad240b.zip |
Add association tags and generate UML
Signed-off-by: Yuuta Liang <yuutaw@student.cs.ubc.ca>
Diffstat (limited to 'src/main/model/csr')
-rw-r--r-- | src/main/model/csr/Attribute.java | 3 | ||||
-rw-r--r-- | src/main/model/csr/Attributes.java | 2 | ||||
-rw-r--r-- | src/main/model/csr/CertificationRequest.java | 4 | ||||
-rw-r--r-- | src/main/model/csr/CertificationRequestInfo.java | 8 | ||||
-rw-r--r-- | src/main/model/csr/Values.java | 5 |
5 files changed, 22 insertions, 0 deletions
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, <pre>2.5.29.14</pre> 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; * </pre> */ 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 <pre>signature</pre>. */ + @Assoc(partOf = true) private final CertificationRequestInfo certificationRequestInfo; /** * The algorithm used for <pre>signature</pre>. */ + @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; /** |