aboutsummaryrefslogtreecommitdiff
path: root/src/main/model/asn1
diff options
context:
space:
mode:
authorYuuta Liang <yuutaw@students.cs.ubc.ca>2023-10-14 05:12:06 +0800
committerYuuta Liang <yuutaw@students.cs.ubc.ca>2023-10-14 05:12:06 +0800
commit0bcc057e741af3fbc108f42b75f9d42f48f6a51e (patch)
treed638c81c0778554a8902efc59000e61db74060be /src/main/model/asn1
parentf369da34cf9aca151df0150d90e651e6a88ee700 (diff)
downloadjca-0bcc057e741af3fbc108f42b75f9d42f48f6a51e.tar
jca-0bcc057e741af3fbc108f42b75f9d42f48f6a51e.tar.gz
jca-0bcc057e741af3fbc108f42b75f9d42f48f6a51e.tar.bz2
jca-0bcc057e741af3fbc108f42b75f9d42f48f6a51e.zip
Implement the CA
Signed-off-by: Yuuta Liang <yuutaw@students.cs.ubc.ca>
Diffstat (limited to 'src/main/model/asn1')
-rw-r--r--src/main/model/asn1/ASN1Object.java2
-rw-r--r--src/main/model/asn1/Int.java13
2 files changed, 12 insertions, 3 deletions
diff --git a/src/main/model/asn1/ASN1Object.java b/src/main/model/asn1/ASN1Object.java
index d1bce06..9b4a98c 100644
--- a/src/main/model/asn1/ASN1Object.java
+++ b/src/main/model/asn1/ASN1Object.java
@@ -159,7 +159,7 @@ public class ASN1Object implements Encodable {
list.addAll(Arrays.asList(tag.encodeDER()));
list.addAll(Arrays.asList(new ASN1Length(val.length).encodeDER()));
- list.addAll(Arrays.asList(encodeValueDER()));
+ list.addAll(Arrays.asList(val));
if (parentTag != null) { // Explicit
final List<Byte> newList = new ArrayList<>(list.size() + 3);
diff --git a/src/main/model/asn1/Int.java b/src/main/model/asn1/Int.java
index 5b75a73..4eeeedf 100644
--- a/src/main/model/asn1/Int.java
+++ b/src/main/model/asn1/Int.java
@@ -25,9 +25,18 @@ public class Int extends ASN1Object {
* encoding. For more information, consult {@link ASN1Object}.
* REQUIRES: Consult {@link ASN1Object}.
*/
- public Int(Tag tag, Tag parentTag, long value) {
+ public Int(Tag tag, Tag parentTag, BigInteger value) {
super(tag, parentTag);
- this.value = BigInteger.valueOf(value);
+ this.value = value;
+ }
+
+ /**
+ * EFFECTS: Initiate the INTEGER object with the given tag and an optional context-specific tag number for explicit
+ * encoding. For more information, consult {@link ASN1Object}.
+ * REQUIRES: Consult {@link ASN1Object}.
+ */
+ public Int(Tag tag, Tag parentTag, long value) {
+ this(tag, parentTag, BigInteger.valueOf(value));
}
/**