import java.io.IOException;
import java.io.PrintWriter;
+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;
}
@Override
- public void doGet(HttpServletRequest req, HttpServletResponse resp)
- throws IOException {
+ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
HashMap<String, Object> vars = new HashMap<String, Object>();
+ vars.put("CCA", "<a href='/policy/CAcertCommunityAgreement.html'>CCA</a>");
getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
}
+
@Override
- public void doPost(HttpServletRequest req, HttpServletResponse resp)
- throws IOException {
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
PrintWriter out = resp.getWriter();
- if (req.getParameter("optionalCSR") == null
- || req.getParameter("optionalCSR").equals("")) {
+ if (req.getParameter("optionalCSR") == null || req.getParameter("optionalCSR").equals("")) {
out.println("csr missing");
ClientCSRGenerate.output(req, resp);
}
- out.println("could now start processing the cert request");
+ String csr = req.getParameter("optionalCSR");
+ if (!"on".equals(req.getParameter("CCA"))) {
+ // Error.
+ return;
+ }
+ Certificate c = new Certificate("/commonName=CAcert WoT User", "sha256", csr);
+ c.issue();
+ try {
+ c.waitFor(60000);
+ resp.sendRedirect(MailCertificates.PATH + "/" + c.getId());
+ } catch (SQLException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
}
}