]> WPIA git - gigi.git/commitdiff
UPD: make certificate table worked when there are "DRAFT" certificates.
authorFelix Dörre <felix@dogcraft.de>
Fri, 16 Jan 2015 15:43:27 +0000 (16:43 +0100)
committerJanis Streib <janis@dogcraft.de>
Wed, 21 Jan 2015 00:28:18 +0000 (01:28 +0100)
src/org/cacert/gigi/dbObjects/Certificate.java
src/org/cacert/gigi/output/CertificateIterable.java

index 6971b5e9f528d6fe6ee36490eba6697913a0c8d6..df940dbc06816cf33eaaf5151dbe343705e6af62 100644 (file)
@@ -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;
index 431b1c6ea4b924d4497ff8553012d1b699fa4fcc..e4ba804eeec16dbd3d2fb9192513dea0510a5da8 100644 (file)
@@ -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) {