]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/MailCertificates.java
Show the generated certificate better.
[gigi.git] / src / org / cacert / gigi / pages / account / MailCertificates.java
index 72952d4bb4d9bc516a6068763e42ccc0d7e6d6b0..6eae585a2c787cee2ab2691712e58346713feffc 100644 (file)
@@ -1,6 +1,8 @@
 package org.cacert.gigi.pages.account;
 
 import java.io.IOException;
+import java.io.PrintWriter;
+import java.security.GeneralSecurityException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -9,6 +11,7 @@ import java.util.HashMap;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.cacert.gigi.Certificate;
 import org.cacert.gigi.User;
 import org.cacert.gigi.database.DatabaseConnection;
 import org.cacert.gigi.output.CertificateTable;
@@ -26,6 +29,25 @@ public class MailCertificates extends Page {
        @Override
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
                        throws IOException {
+               PrintWriter out = resp.getWriter();
+               String pi = req.getPathInfo().substring(PATH.length());
+               if (pi.length() != 0) {
+                       pi = pi.substring(1);
+                       int id = Integer.parseInt(pi);
+                       Certificate c = new Certificate(id);
+                       // TODO check ownership
+                       out.println("<pre>");
+                       try {
+                               out.print(c.cert());
+                       } catch (GeneralSecurityException e) {
+                               e.printStackTrace();
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       }
+                       out.println("</pre>");
+                       return;
+               }
+
                HashMap<String, Object> vars = new HashMap<String, Object>();
                User us = LoginPage.getUser(req);
                try {
@@ -36,7 +58,7 @@ public class MailCertificates extends Page {
                        ps.setInt(1, us.getId());
                        ResultSet rs = ps.executeQuery();
                        vars.put("mailcerts", rs);
-                       myTable.output(resp.getWriter(), getLanguage(req), vars);
+                       myTable.output(out, getLanguage(req), vars);
                        rs.close();
                } catch (SQLException e) {
                        e.printStackTrace();