X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailCertificateAdd.java;h=97038898e8e704619dead0ded5b15f57eee6f66b;hp=7d8a8777c2bae818dd39df90e9b3200d06a3efa5;hb=ab88602bac4ff5c5540765a85a2013ecadb070df;hpb=7f22ccdc95d968a3f8a5affcab74687c22823d74 diff --git a/src/org/cacert/gigi/pages/account/MailCertificateAdd.java b/src/org/cacert/gigi/pages/account/MailCertificateAdd.java index 7d8a8777..97038898 100644 --- a/src/org/cacert/gigi/pages/account/MailCertificateAdd.java +++ b/src/org/cacert/gigi/pages/account/MailCertificateAdd.java @@ -1,11 +1,16 @@ package org.cacert.gigi.pages.account; import java.io.IOException; +import java.io.PrintWriter; +import java.security.GeneralSecurityException; +import java.sql.SQLException; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.cacert.gigi.Certificate; +import org.cacert.gigi.output.ClientCSRGenerate; import org.cacert.gigi.pages.Page; public class MailCertificateAdd extends Page { @@ -19,7 +24,38 @@ public class MailCertificateAdd extends Page { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { HashMap vars = new HashMap(); + vars.put("CCA", + "CCA"); getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } + @Override + public void doPost(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + PrintWriter out = resp.getWriter(); + if (req.getParameter("optionalCSR") == null + || req.getParameter("optionalCSR").equals("")) { + out.println("csr missing"); + ClientCSRGenerate.output(req, resp); + } + String csr = req.getParameter("optionalCSR"); + if (!"on".equals(req.getParameter("CCA"))) { + // Error. + return; + } + Certificate c = new Certificate("/commonName=felix@dogcraft.de", + "sha256", csr); + c.issue(); + try { + c.waitFor(60000); + out.println(c.getStatus()); + out.println(c.cert()); + } catch (SQLException e1) { + e1.printStackTrace(); + } catch (GeneralSecurityException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } }