X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2FCertificateIterable.java;h=e4ba804eeec16dbd3d2fb9192513dea0510a5da8;hb=133b7fedbff3ce8d5f4eb6d150e204f615862476;hp=62e7f7057541a474389960c3028d357260156cf1;hpb=3a82aeb3af3e15430268cc1aeb57de66f3dd9b29;p=gigi.git diff --git a/src/org/cacert/gigi/output/CertificateIterable.java b/src/org/cacert/gigi/output/CertificateIterable.java index 62e7f705..e4ba804e 100644 --- a/src/org/cacert/gigi/output/CertificateIterable.java +++ b/src/org/cacert/gigi/output/CertificateIterable.java @@ -1,21 +1,24 @@ package org.cacert.gigi.output; -import java.sql.SQLException; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.security.cert.X509Certificate; import java.util.Map; -import org.cacert.gigi.Certificate; +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; public class CertificateIterable implements IterableDataset { - Certificate[] certificates; + private Certificate[] certificates; public CertificateIterable(Certificate[] certificates) { this.certificates = certificates; } - int i = 0; + private int i = 0; @Override public boolean next(Language l, Map vars) { @@ -23,20 +26,27 @@ public class CertificateIterable implements IterableDataset { return false; } Certificate c = certificates[i++]; - try { - vars.put("state", l.getTranslation(c.getStatus().toString().toLowerCase())); - } catch (SQLException e) { - vars.put("state", "Failed"); - e.printStackTrace(); - } + vars.put("state", l.getTranslation(c.getStatus().toString().toLowerCase())); vars.put("CN", c.getDistinguishedName()); vars.put("serial", c.getSerial()); vars.put("digest", c.getMessageDigest()); vars.put("profile", c.getProfile().getVisibleName()); - - vars.put("issued", "TODO"); // TODO output dates - vars.put("revoked", "TODO"); - vars.put("expire", "TODO"); + try { + 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) { + e.printStackTrace(); + } + vars.put("revoked", "TODO");// TODO output date return true; } }