]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/account/certs/CertificateAdd.java
upd: for installation send certificate chains as p7 encoded cert set
[gigi.git] / src / org / cacert / gigi / pages / account / certs / CertificateAdd.java
1 package org.cacert.gigi.pages.account.certs;
2
3 import java.io.IOException;
4 import java.util.Collections;
5 import java.util.HashMap;
6
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import org.cacert.gigi.dbObjects.Certificate;
11 import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
12 import org.cacert.gigi.output.template.Form;
13 import org.cacert.gigi.pages.Page;
14
15 public class CertificateAdd extends Page {
16
17     public static final String PATH = "/account/certs/new";
18
19     public CertificateAdd() {
20         super("Create certificate");
21     }
22
23     @Override
24     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
25         new CertificateIssueForm(req).output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
26     }
27
28     @Override
29     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
30         CertificateIssueForm f = Form.getForm(req, CertificateIssueForm.class);
31         if (f.submit(resp.getWriter(), req)) {
32             Certificate c = f.getResult();
33             if (c.getStatus() != CertificateStatus.ISSUED) {
34                 resp.getWriter().println("Timeout while waiting for certificate.");
35                 return;
36             }
37             String ser = c.getSerial();
38             if (ser.isEmpty()) {
39                 resp.getWriter().println("Timeout while waiting for certificate.");
40                 return;
41             }
42             resp.sendRedirect(Certificates.PATH + "/" + ser);
43         }
44         f.output(resp.getWriter(), getLanguage(req), Collections.<String,Object>emptyMap());
45
46     }
47
48 }