aboutsummaryrefslogtreecommitdiff
path: root/src/main/model/csr
diff options
context:
space:
mode:
authorYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 21:08:03 -0800
committerYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 21:08:03 -0800
commitf8e05e4376e1d5f00c93307605eb768281ad240b (patch)
tree5683cfe5c5c612452723f44d3eee114f27498fcf /src/main/model/csr
parent2a9c2e3abf57a5d92e311c07679ff62be7275f02 (diff)
downloadjca-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.java3
-rw-r--r--src/main/model/csr/Attributes.java2
-rw-r--r--src/main/model/csr/CertificationRequest.java4
-rw-r--r--src/main/model/csr/CertificationRequestInfo.java8
-rw-r--r--src/main/model/csr/Values.java5
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;
/**