summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/certsrv/cert
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2013-08-28 13:01:44 -0400
committerAde Lee <alee@redhat.com>2013-09-03 01:04:11 -0400
commit4afa12c4321f08de115bad85db561a3e5b5853c0 (patch)
treee9378113b6da87d2803a94232b5bf748cb27ca58 /base/common/src/com/netscape/certsrv/cert
parent9c7e89d813b640619d02f9076eaa90829f4395ef (diff)
downloadpki-4afa12c4321f08de115bad85db561a3e5b5853c0.tar.gz
pki-4afa12c4321f08de115bad85db561a3e5b5853c0.tar.xz
pki-4afa12c4321f08de115bad85db561a3e5b5853c0.zip
Provide enrollment template per profile
This adds an API call to get a template which can be used to generate an enrollment request which can be passed into the REST API. The template is simply a CertRequest with the relevant inputs for that profile added in. Per code review comments, have added the templates interface to CertRequestResource instead. This patch now includes /certrequests/profiles and /certrequests/profiles/{id}. In a subsequent patch, all calls in ProfileResource will be restricted to admins and agents.
Diffstat (limited to 'base/common/src/com/netscape/certsrv/cert')
-rw-r--r--base/common/src/com/netscape/certsrv/cert/CertClient.java9
-rw-r--r--base/common/src/com/netscape/certsrv/cert/CertRequestResource.java12
2 files changed, 21 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/certsrv/cert/CertClient.java b/base/common/src/com/netscape/certsrv/cert/CertClient.java
index 7bd75caea..7ff6af397 100644
--- a/base/common/src/com/netscape/certsrv/cert/CertClient.java
+++ b/base/common/src/com/netscape/certsrv/cert/CertClient.java
@@ -22,6 +22,7 @@ import java.net.URISyntaxException;
import com.netscape.certsrv.client.Client;
import com.netscape.certsrv.client.PKIClient;
import com.netscape.certsrv.dbs.certdb.CertId;
+import com.netscape.certsrv.profile.ProfileDataInfos;
import com.netscape.certsrv.request.RequestId;
/**
@@ -115,4 +116,12 @@ public class CertClient extends Client {
return certRequestResource.listRequests(requestState, requestType, start, pageSize, maxResults, maxTime);
}
+ public CertEnrollmentRequest getEnrollmentTemplate(String id) {
+ return certRequestResource.getEnrollmentTemplate(id);
+ }
+
+ public ProfileDataInfos listEnrollmentTemplates() {
+ return certRequestResource.listEnrollmentTemplates();
+ }
+
}
diff --git a/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java b/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java
index 2c103f729..0d58be282 100644
--- a/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java
+++ b/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java
@@ -29,6 +29,7 @@ import javax.ws.rs.core.MultivaluedMap;
import com.netscape.certsrv.acls.ACLMapping;
import com.netscape.certsrv.authentication.AuthMethodMapping;
+import com.netscape.certsrv.profile.ProfileDataInfos;
import com.netscape.certsrv.request.RequestId;
@Path("")
@@ -77,6 +78,16 @@ public interface CertRequestResource {
@AuthMethodMapping("agent")
public CertReviewResponse reviewRequest(@PathParam("id") RequestId id);
+ @GET
+ @Path("certrequests/profiles")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public ProfileDataInfos listEnrollmentTemplates();
+
+ @GET
+ @Path("certrequests/profiles/{id}")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public CertEnrollmentRequest getEnrollmentTemplate(@PathParam("id") String id);
+
@POST
@Path("agent/certrequests/{id}/approve")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -125,4 +136,5 @@ public interface CertRequestResource {
@ACLMapping("agent.certrequests")
@AuthMethodMapping("agent")
public void assignRequest(@PathParam("id") RequestId id, CertReviewResponse data);
+
}