From d7ff9d5e217873609d79efe279f2634e3a3dd8b4 Mon Sep 17 00:00:00 2001 From: Yuuta Liang Date: Wed, 25 Oct 2023 03:30:45 +0800 Subject: Refactor: move all logics into CertificationAuthority Signed-off-by: Yuuta Liang --- src/main/ui/IssueScreen.java | 22 +++---- src/main/ui/JCA.java | 73 ++++------------------- src/main/ui/MainScreen.java | 4 +- src/main/ui/MgmtScreen.java | 117 +++++++++++-------------------------- src/main/ui/TemplateSetScreen.java | 13 ++--- src/main/ui/TemplatesScreen.java | 17 +++--- src/main/ui/Utils.java | 14 ++--- 7 files changed, 73 insertions(+), 187 deletions(-) (limited to 'src/main/ui') diff --git a/src/main/ui/IssueScreen.java b/src/main/ui/IssueScreen.java index 8376146..5e3ad50 100644 --- a/src/main/ui/IssueScreen.java +++ b/src/main/ui/IssueScreen.java @@ -66,7 +66,6 @@ public class IssueScreen implements UIHandler { try { Certificate certificate = session.getCa().signCert(incomingCSR.getCertificationRequestInfo(), template); System.out.println(Utils.toPEM(certificate.encodeDER(), "CERTIFICATE")); - session.log("A certificate was issued."); session.setScreen(Screen.MAIN); } catch (Throwable e) { System.out.println(e.getMessage()); @@ -75,11 +74,11 @@ public class IssueScreen implements UIHandler { /** * EFFECTS: Set or unset the subject. - * MODIFIES: template + * MODIFIES: this */ private void handleIssueSetSubject(String val) { try { - template.setSubject(val); + template = new Template(template.getName(), template.isEnabled(), val, template.getValidity()); } catch (ParseException e) { System.out.println(e.getMessage()); } @@ -87,7 +86,7 @@ public class IssueScreen implements UIHandler { /** * EFFECTS: Set or unset the validity. - * MODIFIES: template + * MODIFIES: this */ private void handleIssueSetValidity(String val) { if (val == null) { @@ -100,7 +99,7 @@ public class IssueScreen implements UIHandler { System.out.println("Invalid validity days"); return; } - template.setValidity(i); + template = new Template(template.getName(), template.isEnabled(), template.getSubject(), i); } catch (NumberFormatException ignored) { System.out.println("Invalid validity days"); } @@ -108,7 +107,7 @@ public class IssueScreen implements UIHandler { /** * EFFECTS: Handle the set command. - * MODIFIES: template + * MODIFIES: this */ private void handleIssueSet(String... args) { if (args.length != 2 && args.length != 3) { @@ -132,13 +131,10 @@ public class IssueScreen implements UIHandler { @Override public void command(String... args) { - switch (args[0]) { - case "set": - handleIssueSet(args); - break; - default: - help(); - break; + if (args[0].equals("set")) { + handleIssueSet(args); + } else { + help(); } } diff --git a/src/main/ui/JCA.java b/src/main/ui/JCA.java index 7892850..882c546 100644 --- a/src/main/ui/JCA.java +++ b/src/main/ui/JCA.java @@ -1,16 +1,11 @@ package ui; import model.asn1.exceptions.ParseException; -import model.ca.AuditLogEntry; -import model.ca.CACertificate; -import model.ca.Template; +import model.ca.CertificationAuthority; import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; -import java.time.ZonedDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; +import java.security.spec.InvalidKeySpecException; import java.util.Scanner; /** @@ -25,32 +20,20 @@ public class JCA { private final UIHandler issueScreen; private final UIHandler templatesScreen; private final UIHandler templateSetScreen; - /** - * Templates - */ - private final List