1 package org.cacert.gigi.pages.account;
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import java.sql.SQLException;
6 import java.util.HashMap;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
11 import org.cacert.gigi.Certificate;
12 import org.cacert.gigi.output.ClientCSRGenerate;
13 import org.cacert.gigi.pages.Page;
15 public class MailCertificateAdd extends Page {
16 public static final String PATH = "/account/certs/email/new";
18 public MailCertificateAdd() {
19 super("Create Email certificate");
23 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
24 HashMap<String, Object> vars = new HashMap<String, Object>();
25 vars.put("CCA", "<a href='/policy/CAcertCommunityAgreement.html'>CCA</a>");
26 getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
30 public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
31 PrintWriter out = resp.getWriter();
32 if (req.getParameter("optionalCSR") == null || req.getParameter("optionalCSR").equals("")) {
33 out.println("csr missing");
34 ClientCSRGenerate.output(req, resp);
36 String csr = req.getParameter("optionalCSR");
37 if (!"on".equals(req.getParameter("CCA"))) {
41 Certificate c = new Certificate("/commonName=CAcert WoT User", "sha256", csr);
45 resp.sendRedirect(MailCertificates.PATH + "/" + c.getId());
46 } catch (SQLException e) {
48 } catch (InterruptedException e) {