]> WPIA git - gigi.git/blob - src/org/cacert/gigi/output/CertificateIterable.java
UPD: Added issued and expires date to certificates display
[gigi.git] / src / org / cacert / gigi / output / CertificateIterable.java
1 package org.cacert.gigi.output;
2
3 import java.io.IOException;
4 import java.security.GeneralSecurityException;
5 import java.security.cert.X509Certificate;
6 import java.util.Map;
7
8 import org.cacert.gigi.dbObjects.Certificate;
9 import org.cacert.gigi.localisation.Language;
10 import org.cacert.gigi.output.template.IterableDataset;
11
12 public class CertificateIterable implements IterableDataset {
13
14     private Certificate[] certificates;
15
16     public CertificateIterable(Certificate[] certificates) {
17         this.certificates = certificates;
18     }
19
20     private int i = 0;
21
22     @Override
23     public boolean next(Language l, Map<String, Object> vars) {
24         if (i >= certificates.length) {
25             return false;
26         }
27         Certificate c = certificates[i++];
28         vars.put("state", l.getTranslation(c.getStatus().toString().toLowerCase()));
29         vars.put("CN", c.getDistinguishedName());
30         vars.put("serial", c.getSerial());
31         vars.put("digest", c.getMessageDigest());
32         vars.put("profile", c.getProfile().getVisibleName());
33         X509Certificate cert;
34         try {
35             cert = c.cert();
36             vars.put("issued", DateSelector.getDateFormat().format(cert.getNotBefore()));
37             vars.put("expire", DateSelector.getDateFormat().format(cert.getNotAfter()));
38         } catch (IOException e) {
39             e.printStackTrace();
40         } catch (GeneralSecurityException e) {
41             e.printStackTrace();
42         }
43         vars.put("revoked", "TODO");// TODO output date
44         return true;
45     }
46 }