From 55ebba3b688ac42e2ef66d06a1976856e8bb8ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ce=C4=BEuch?= Date: Fri, 12 Jan 2024 12:36:38 +0100 Subject: [PATCH] consider indeterminate TS indication in validity badges --- .../autogram/ui/gui/GUIValidationUtils.java | 24 ++++++++++++------- .../ui/gui/SignatureBadgeFactory.java | 11 +++++++-- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/main/java/digital/slovensko/autogram/ui/gui/GUIValidationUtils.java b/src/main/java/digital/slovensko/autogram/ui/gui/GUIValidationUtils.java index 2c86d21be..3b5f86f75 100644 --- a/src/main/java/digital/slovensko/autogram/ui/gui/GUIValidationUtils.java +++ b/src/main/java/digital/slovensko/autogram/ui/gui/GUIValidationUtils.java @@ -123,10 +123,16 @@ public static VBox createSignatureBox(Reports reports, boolean isValidated, Stri isRevocationValidated = false; var isTimestampInvalid = false; - for (var timestamp : timestamps) - if (timestamp.getIndication().equals(Indication.FAILED)) + var isTimestampIndeterminate = false; + for (var timestamp : timestamps) { + var indication = timestamp.getIndication(); + if (indication.equals(Indication.FAILED) || indication.equals(Indication.TOTAL_FAILED)) isTimestampInvalid = true; + if (indication.equals(Indication.INDETERMINATE)) + isTimestampIndeterminate = true; + } + Node badge = null; if (!isValidated) badge = SignatureBadgeFactory.createInProgressBadge(); @@ -144,8 +150,7 @@ else if (isFailed) createTableRow("Výsledok overenia", isValidated ? validityToString(isValid, isFailed, areTLsLoaded, isRevocationValidated, - signatureQualification, - isTimestampInvalid) + signatureQualification, isTimestampInvalid, isTimestampIndeterminate) : "Prebieha overovanie"), createTableRow("Certifikát", subject), createTableRow("Vydavateľ", issuer), @@ -168,7 +173,9 @@ else if (isFailed) } private static String validityToString(boolean isValid, boolean isFailed, boolean areTLsLoaded, - boolean isRevocationValidated, SignatureQualification signatureQualification, boolean isTimestampInvalid) { + boolean isRevocationValidated, SignatureQualification signatureQualification, boolean isTimestampInvalid, + boolean isTimestampIndeterminate) { + if (isFailed || isTimestampInvalid) return "Neplatný"; @@ -178,13 +185,12 @@ private static String validityToString(boolean isValid, boolean isFailed, boolea if (!isRevocationValidated) return "Nepodarilo sa overiť platnosť certifikátu"; + if (signatureQualification.getReadable().contains("Indeterminate") || isTimestampIndeterminate) + return "Predbežne platný"; + if (isValid) return "Platný"; - if (signatureQualification.getReadable().contains("INDETERMINATE") - || signatureQualification.getReadable().contains("ndeterminate")) - return "Predbežne platný"; - return "Neznámy podpis"; } diff --git a/src/main/java/digital/slovensko/autogram/ui/gui/SignatureBadgeFactory.java b/src/main/java/digital/slovensko/autogram/ui/gui/SignatureBadgeFactory.java index 8d281be24..66b6ac5c8 100644 --- a/src/main/java/digital/slovensko/autogram/ui/gui/SignatureBadgeFactory.java +++ b/src/main/java/digital/slovensko/autogram/ui/gui/SignatureBadgeFactory.java @@ -146,15 +146,22 @@ private static HBox createMultipleBadges(SignatureQualification signatureQualifi var isQualified = timestamp.getQualificationDetails() != null; var isFailed = timestamp.getIndication() == Indication.TOTAL_FAILED || timestamp.getIndication() == Indication.FAILED; + var isIndeterminate = timestamp.getIndication() == Indication.INDETERMINATE; if (isFailed) flowPane.getChildren().add(createInvalidBadge("Neplatná ČP")); + + else if (isIndeterminate) + flowPane.getChildren().add( + createUnknownBadge("Neznáma ČP")); + else if (isQualified) flowPane.getChildren().add( createValidQualifiedBadge(simple.getTimestampQualification(timestamp.getId()).getReadable())); + else - flowPane.getChildren() - .add(createUnknownBadge(simple.getTimestampQualification(timestamp.getId()).getReadable())); + flowPane.getChildren().add( + createUnknownBadge("Neznáma ČP")); } return new HBox(flowPane);