]> WPIA git - gigi.git/commitdiff
add: api, allow specifying a certificate profile.
authorFelix Dörre <felix@dogcraft.de>
Thu, 31 Mar 2016 12:59:04 +0000 (14:59 +0200)
committerFelix Dörre <felix@dogcraft.de>
Thu, 7 Apr 2016 11:52:05 +0000 (13:52 +0200)
src/org/cacert/gigi/api/CreateCertificate.java

index 03cc3572635625e1126399a27d0f3b77e35297fb..a846285778ed497892e761d98e397100320922a3 100644 (file)
@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse;
 import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.dbObjects.Certificate;
 import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
+import org.cacert.gigi.dbObjects.CertificateProfile;
 import org.cacert.gigi.dbObjects.Job;
 import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.pages.account.certs.CertificateRequest;
@@ -26,8 +27,17 @@ public class CreateCertificate extends APIPoint {
             resp.sendError(500, "Error, no CSR found");
             return;
         }
+        CertificateProfile cp = null;
+        String cpS = req.getParameter("profile");
+        if (cpS != null) {
+            cp = CertificateProfile.getByName(cpS);
+            if (cp == null) {
+                resp.sendError(500, "Error, profile " + cpS + "not found");
+                return;
+            }
+        }
         try {
-            CertificateRequest cr = new CertificateRequest(new AuthorizationContext(u, u), csr);
+            CertificateRequest cr = new CertificateRequest(new AuthorizationContext(u, u), csr, cp);
             Certificate result = cr.draft();
             Job job = result.issue(null, "2y", u);
             job.waitFor(60000);