From 2e16852d80b547b9c84109fda2d5b96cd674c2a0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Fri, 16 Jan 2015 16:43:27 +0100 Subject: [PATCH] UPD: make certificate table worked when there are "DRAFT" certificates. --- src/org/cacert/gigi/dbObjects/Certificate.java | 2 +- .../cacert/gigi/output/CertificateIterable.java | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/Certificate.java b/src/org/cacert/gigi/dbObjects/Certificate.java index 6971b5e9..df940dbc 100644 --- a/src/org/cacert/gigi/dbObjects/Certificate.java +++ b/src/org/cacert/gigi/dbObjects/Certificate.java @@ -295,7 +295,7 @@ public class Certificate { public X509Certificate cert() throws IOException, GeneralSecurityException { CertificateStatus status = getStatus(); - if (status != CertificateStatus.ISSUED) { + if (status != CertificateStatus.REVOKED && status != CertificateStatus.ISSUED) { throw new IllegalStateException(status + " is not wanted here."); } InputStream is = null; diff --git a/src/org/cacert/gigi/output/CertificateIterable.java b/src/org/cacert/gigi/output/CertificateIterable.java index 431b1c6e..e4ba804e 100644 --- a/src/org/cacert/gigi/output/CertificateIterable.java +++ b/src/org/cacert/gigi/output/CertificateIterable.java @@ -6,6 +6,7 @@ import java.security.cert.X509Certificate; import java.util.Map; import org.cacert.gigi.dbObjects.Certificate; +import org.cacert.gigi.dbObjects.Certificate.CertificateStatus; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.IterableDataset; @@ -30,11 +31,16 @@ public class CertificateIterable implements IterableDataset { vars.put("serial", c.getSerial()); vars.put("digest", c.getMessageDigest()); vars.put("profile", c.getProfile().getVisibleName()); - X509Certificate cert; try { - cert = c.cert(); - vars.put("issued", DateSelector.getDateFormat().format(cert.getNotBefore())); - vars.put("expire", DateSelector.getDateFormat().format(cert.getNotAfter())); + CertificateStatus st = c.getStatus(); + if (st == CertificateStatus.ISSUED || st == CertificateStatus.REVOKED) { + X509Certificate cert = c.cert(); + vars.put("issued", DateSelector.getDateFormat().format(cert.getNotBefore())); + vars.put("expire", DateSelector.getDateFormat().format(cert.getNotAfter())); + } else { + vars.put("issued", l.getTranslation("N/A")); + vars.put("expire", l.getTranslation("N/A")); + } } catch (IOException e) { e.printStackTrace(); } catch (GeneralSecurityException e) { -- 2.39.2