+
+ if (st == CertificateStatus.ISSUED || st == CertificateStatus.REVOKED) {
+ X509Certificate certx = c.cert();
+ vars.put("issued", certx.getNotBefore());
+ vars.put("expire", certx.getNotAfter());
+ vars.put("cert", PEM.encode("CERTIFICATE", c.cert().getEncoded()));
+ } else {
+ vars.put("issued", l.getTranslation("N/A"));
+ vars.put("expire", l.getTranslation("N/A"));
+ vars.put("cert", l.getTranslation("N/A"));
+ }
+ if (st == CertificateStatus.REVOKED) {
+ vars.put("revoked", c.getRevocationDate());
+ } else {
+ vars.put("revoked", l.getTranslation("N/A"));
+ }
+ if (st == CertificateStatus.ISSUED || st == CertificateStatus.REVOKED) {
+ vars.put("trustchain", new TrustchainIterable(c.getParent()));
+ try {
+ vars.put("cert", PEM.encode("CERTIFICATE", c.cert().getEncoded()));
+ } catch (GeneralSecurityException e) {
+ e.printStackTrace();
+ }
+ } else {
+ vars.put("trustchain", l.getTranslation("N/A"));
+ vars.put("cert", l.getTranslation("N/A"));
+ }
+ final List<SubjectAlternateName> san = c.getSANs();
+ vars.put("san", new IterableDataset() {
+
+ int j = 0;
+
+ @Override
+ public boolean next(Language l, Map<String, Object> vars) {
+ if (j == san.size()) {
+ return false;
+ }
+ vars.put("entry", san.get(j).getName() + (j < san.size() - 1 ? ", " : ""));
+ j++;
+ return true;
+ }
+ });
+ vars.put("login", c.isLoginEnabled());