aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-29 14:47:14 -0800
committerYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-29 14:47:14 -0800
commit9f897f3e0351a7db7016d22b864b8b88dfd5ce06 (patch)
treef0843bdced5697c47f9552b585577a725a639f97
parent8db775e4a4e85b55218435a1a989461f62f31f36 (diff)
downloadjca-9f897f3e0351a7db7016d22b864b8b88dfd5ce06.tar
jca-9f897f3e0351a7db7016d22b864b8b88dfd5ce06.tar.gz
jca-9f897f3e0351a7db7016d22b864b8b88dfd5ce06.tar.bz2
jca-9f897f3e0351a7db7016d22b864b8b88dfd5ce06.zip
Fix association taggings
Signed-off-by: Yuuta Liang <yuutaw@student.cs.ubc.ca>
-rw-r--r--img/uml.all.pdfbin35510 -> 35348 bytes
-rw-r--r--img/uml.assoc.pdfbin31783 -> 31896 bytes
-rw-r--r--img/uml.assoc.xoppbin0 -> 41944 bytes
-rw-r--r--img/uml.assoc0.pdfbin0 -> 31783 bytes
-rw-r--r--img/uml.type.pdfbin24371 -> 24347 bytes
-rw-r--r--img/uml.type.xoppbin0 -> 14533 bytes
-rw-r--r--src/main/model/ca/AuditLogEntry.java3
-rw-r--r--src/main/model/ca/CertificationAuthority.java6
-rw-r--r--src/main/model/pki/AlgorithmIdentifier.java6
-rw-r--r--src/main/model/pki/cert/Extension.java2
-rw-r--r--src/main/model/pki/cert/TbsCertificate.java2
-rw-r--r--src/main/model/pki/crl/CertificateListContent.java3
12 files changed, 15 insertions, 7 deletions
diff --git a/img/uml.all.pdf b/img/uml.all.pdf
index 5cd8cd5..432be13 100644
--- a/img/uml.all.pdf
+++ b/img/uml.all.pdf
Binary files differ
diff --git a/img/uml.assoc.pdf b/img/uml.assoc.pdf
index 39d5908..db947a9 100644
--- a/img/uml.assoc.pdf
+++ b/img/uml.assoc.pdf
Binary files differ
diff --git a/img/uml.assoc.xopp b/img/uml.assoc.xopp
new file mode 100644
index 0000000..115894d
--- /dev/null
+++ b/img/uml.assoc.xopp
Binary files differ
diff --git a/img/uml.assoc0.pdf b/img/uml.assoc0.pdf
new file mode 100644
index 0000000..39d5908
--- /dev/null
+++ b/img/uml.assoc0.pdf
Binary files differ
diff --git a/img/uml.type.pdf b/img/uml.type.pdf
index 75855bf..1d6bda6 100644
--- a/img/uml.type.pdf
+++ b/img/uml.type.pdf
Binary files differ
diff --git a/img/uml.type.xopp b/img/uml.type.xopp
new file mode 100644
index 0000000..b1ced62
--- /dev/null
+++ b/img/uml.type.xopp
Binary files differ
diff --git a/src/main/model/ca/AuditLogEntry.java b/src/main/model/ca/AuditLogEntry.java
index a8d1929..673055a 100644
--- a/src/main/model/ca/AuditLogEntry.java
+++ b/src/main/model/ca/AuditLogEntry.java
@@ -20,6 +20,9 @@ public class AuditLogEntry {
this.action = action;
}
+ /**
+ * EFFECTS: Format log in the time\tuser\taction format.
+ */
@Override
public String toString() {
return String.format("%s\t%s\t%s", time, user, action);
diff --git a/src/main/model/ca/CertificationAuthority.java b/src/main/model/ca/CertificationAuthority.java
index b724e83..0246ff2 100644
--- a/src/main/model/ca/CertificationAuthority.java
+++ b/src/main/model/ca/CertificationAuthority.java
@@ -55,7 +55,7 @@ public class CertificationAuthority {
private RSAPublicKey publicKey;
/**
- * The signed certificate.
+ * The CA certificate.
*/
@Assoc(partOf = true, lowerBond = 0)
private Certificate certificate;
@@ -323,6 +323,10 @@ public class CertificationAuthority {
}))}));
}
+ /**
+ * EFFECTS: Encode the public key into ASN.1 bit string, including public exponent and modules.
+ * REQUIRES: getPublicKey() != null
+ */
private Byte[] getPubKeyBitStream() {
final RSAPublicKey pub = getPublicKey();
final BigInteger exponent = pub.getPublicExponent();
diff --git a/src/main/model/pki/AlgorithmIdentifier.java b/src/main/model/pki/AlgorithmIdentifier.java
index 4e4fab3..c098846 100644
--- a/src/main/model/pki/AlgorithmIdentifier.java
+++ b/src/main/model/pki/AlgorithmIdentifier.java
@@ -15,9 +15,9 @@ import java.util.stream.Stream;
/**
* Implements the following:
* <pre>
- * AttributeTypeAndValue ::= SEQUENCE {
- * type ATTRIBUTE.&id({SupportedAttributes}),
- * value ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
+ * AlgorithmIdentifier{ALGORITHM:SupportedAlgorithms} ::= SEQUENCE {
+ * algorithm ALGORITHM.&id({SupportedAlgorithms}),
+ * parameters ALGORITHM.&Type({SupportedAlgorithms}{@algorithm}) OPTIONAL,
* ... }
* </pre>
*/
diff --git a/src/main/model/pki/cert/Extension.java b/src/main/model/pki/cert/Extension.java
index a856086..b7d1818 100644
--- a/src/main/model/pki/cert/Extension.java
+++ b/src/main/model/pki/cert/Extension.java
@@ -39,7 +39,7 @@ public class Extension extends ASN1Object {
* behaviour is undefined.
* Marking an extension critical reduces compatibility.
*/
- @Assoc(partOf = true)
+ @Assoc(partOf = true, lowerBond = 0)
private final Bool critical;
/**
diff --git a/src/main/model/pki/cert/TbsCertificate.java b/src/main/model/pki/cert/TbsCertificate.java
index 6ad15e7..6a6c199 100644
--- a/src/main/model/pki/cert/TbsCertificate.java
+++ b/src/main/model/pki/cert/TbsCertificate.java
@@ -64,7 +64,7 @@ public class TbsCertificate extends ASN1Object {
* [0] Version DEFAULT v1
* </pre>
*/
- @Assoc(partOf = true)
+ @Assoc(partOf = true, lowerBond = 0)
private final Int version;
/**
diff --git a/src/main/model/pki/crl/CertificateListContent.java b/src/main/model/pki/crl/CertificateListContent.java
index 80d8fc1..e582623 100644
--- a/src/main/model/pki/crl/CertificateListContent.java
+++ b/src/main/model/pki/crl/CertificateListContent.java
@@ -39,6 +39,7 @@ import java.util.stream.Stream;
* Because the CA will only generate CRLs, this object won't be parsed.
*/
public class CertificateListContent extends ASN1Object {
+ @Assoc(partOf = true)
private final Int version = new Int(Int.TAG, null, 1);
@Assoc(partOf = true)
private final Name issuer;
@@ -46,7 +47,7 @@ public class CertificateListContent extends ASN1Object {
private final AlgorithmIdentifier signature;
@Assoc(partOf = true)
private final ASN1Time thisUpdate;
- @Assoc(partOf = true)
+ @Assoc(partOf = true, lowerBond = 0)
private final ASN1Time nextUpdate;
@Assoc(partOf = true, lowerBond = 0)
private final RevokedCertificate[] revokedCertificates;