]> WPIA git - gigi.git/commitdiff
Extract certificate Display to template
authorFelix Dörre <felix@dogcraft.de>
Fri, 1 Aug 2014 15:08:35 +0000 (17:08 +0200)
committerFelix Dörre <felix@dogcraft.de>
Fri, 1 Aug 2014 19:17:38 +0000 (21:17 +0200)
src/org/cacert/gigi/pages/account/CertificateDisplay.templ [new file with mode: 0644]
src/org/cacert/gigi/pages/account/MailCertificates.java

diff --git a/src/org/cacert/gigi/pages/account/CertificateDisplay.templ b/src/org/cacert/gigi/pages/account/CertificateDisplay.templ
new file mode 100644 (file)
index 0000000..ace4be5
--- /dev/null
@@ -0,0 +1,6 @@
+<a href='<?=$serial?>.crt'><?=_PEM encoded Certificate?></a><br/>
+<a href='<?=$serial?>.cer'><?=_DER encoded Certificate?></a><br/>
+<a href='<?=$serial?>.cer?install'><?=_Install into browser.?></a><br/>
+<pre>
+<?=$cert?>
+</pre>
index ed8661708464bff6696e5b469688fefd9b2e7dfa..775f527d993989b27d6653e9eab5bcc50c17cefb 100644 (file)
@@ -2,6 +2,7 @@ package org.cacert.gigi.pages.account;
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.net.URLEncoder;
 import java.security.GeneralSecurityException;
 import java.security.cert.X509Certificate;
 import java.sql.PreparedStatement;
@@ -17,6 +18,7 @@ import org.cacert.gigi.Certificate;
 import org.cacert.gigi.User;
 import org.cacert.gigi.database.DatabaseConnection;
 import org.cacert.gigi.output.CertificateTable;
+import org.cacert.gigi.output.template.Template;
 import org.cacert.gigi.pages.LoginPage;
 import org.cacert.gigi.pages.Page;
 import org.cacert.gigi.util.PEM;
@@ -25,6 +27,8 @@ public class MailCertificates extends Page {
 
     CertificateTable myTable = new CertificateTable("mailcerts");
 
+    Template certDisplay = new Template(MailCertificates.class.getResource("CertificateDisplay.templ"));
+
     public static final String PATH = "/account/certs/email";
 
     public MailCertificates() {
@@ -99,33 +103,17 @@ public class MailCertificates extends Page {
                 resp.sendError(404);
                 return;
             }
-            out.print("<a href='");
-            out.print(serial);
-            out.print(".crt'>");
-            out.print(translate(req, "PEM encoded Certificate"));
-            out.println("</a><br/>");
-
-            out.print("<a href='");
-            out.print(serial);
-            out.print(".cer'>");
-            out.print(translate(req, "DER encoded Certificate"));
-            out.println("</a><br/>");
-            out.print("<a href='");
-            out.print(serial);
-            out.print(".cer?install'>");
-            out.print(translate(req, "Install into browser."));
-            out.println("</a><br/>");
-
-            out.println("<pre>");
+            HashMap<String, Object> vars = new HashMap<>();
+            vars.put("serial", URLEncoder.encode(serial, "UTF-8"));
             try {
-                X509Certificate cert = c.cert();
-                out.print(cert);
+                vars.put("cert", c.cert());
             } catch (GeneralSecurityException e) {
                 e.printStackTrace();
             } catch (SQLException e) {
                 e.printStackTrace();
             }
-            out.println("</pre>");
+            certDisplay.output(out, getLanguage(req), vars);
+
             return;
         }