From a9382a75cbaecf0ec90feab3cd8e2bec28df0f8a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Thu, 31 Mar 2016 14:59:04 +0200 Subject: [PATCH] add: api, allow specifying a certificate profile. --- src/org/cacert/gigi/api/CreateCertificate.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/org/cacert/gigi/api/CreateCertificate.java b/src/org/cacert/gigi/api/CreateCertificate.java index 03cc3572..a8462857 100644 --- a/src/org/cacert/gigi/api/CreateCertificate.java +++ b/src/org/cacert/gigi/api/CreateCertificate.java @@ -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); -- 2.39.2