1 package org.cacert.gigi.output;
3 import java.io.IOException;
4 import java.security.GeneralSecurityException;
5 import java.security.cert.X509Certificate;
8 import org.cacert.gigi.dbObjects.Certificate;
9 import org.cacert.gigi.localisation.Language;
10 import org.cacert.gigi.output.template.IterableDataset;
12 public class CertificateIterable implements IterableDataset {
14 private Certificate[] certificates;
16 public CertificateIterable(Certificate[] certificates) {
17 this.certificates = certificates;
23 public boolean next(Language l, Map<String, Object> vars) {
24 if (i >= certificates.length) {
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());
36 vars.put("issued", DateSelector.getDateFormat().format(cert.getNotBefore()));
37 vars.put("expire", DateSelector.getDateFormat().format(cert.getNotAfter()));
38 } catch (IOException e) {
40 } catch (GeneralSecurityException e) {
43 vars.put("revoked", "TODO");// TODO output date