diff options
-rw-r--r-- | img/uml.all.pdf | bin | 35510 -> 35348 bytes | |||
-rw-r--r-- | img/uml.assoc.pdf | bin | 31783 -> 31896 bytes | |||
-rw-r--r-- | img/uml.assoc.xopp | bin | 0 -> 41944 bytes | |||
-rw-r--r-- | img/uml.assoc0.pdf | bin | 0 -> 31783 bytes | |||
-rw-r--r-- | img/uml.type.pdf | bin | 24371 -> 24347 bytes | |||
-rw-r--r-- | img/uml.type.xopp | bin | 0 -> 14533 bytes | |||
-rw-r--r-- | src/main/model/ca/AuditLogEntry.java | 3 | ||||
-rw-r--r-- | src/main/model/ca/CertificationAuthority.java | 6 | ||||
-rw-r--r-- | src/main/model/pki/AlgorithmIdentifier.java | 6 | ||||
-rw-r--r-- | src/main/model/pki/cert/Extension.java | 2 | ||||
-rw-r--r-- | src/main/model/pki/cert/TbsCertificate.java | 2 | ||||
-rw-r--r-- | src/main/model/pki/crl/CertificateListContent.java | 3 |
12 files changed, 15 insertions, 7 deletions
diff --git a/img/uml.all.pdf b/img/uml.all.pdf Binary files differindex 5cd8cd5..432be13 100644 --- a/img/uml.all.pdf +++ b/img/uml.all.pdf diff --git a/img/uml.assoc.pdf b/img/uml.assoc.pdf Binary files differindex 39d5908..db947a9 100644 --- a/img/uml.assoc.pdf +++ b/img/uml.assoc.pdf diff --git a/img/uml.assoc.xopp b/img/uml.assoc.xopp Binary files differnew file mode 100644 index 0000000..115894d --- /dev/null +++ b/img/uml.assoc.xopp diff --git a/img/uml.assoc0.pdf b/img/uml.assoc0.pdf Binary files differnew file mode 100644 index 0000000..39d5908 --- /dev/null +++ b/img/uml.assoc0.pdf diff --git a/img/uml.type.pdf b/img/uml.type.pdf Binary files differindex 75855bf..1d6bda6 100644 --- a/img/uml.type.pdf +++ b/img/uml.type.pdf diff --git a/img/uml.type.xopp b/img/uml.type.xopp Binary files differnew file mode 100644 index 0000000..b1ced62 --- /dev/null +++ b/img/uml.type.xopp 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; |