diff options
author | Ade Lee <alee@redhat.com> | 2013-08-28 13:01:44 -0400 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2013-09-03 01:04:11 -0400 |
commit | 4afa12c4321f08de115bad85db561a3e5b5853c0 (patch) | |
tree | e9378113b6da87d2803a94232b5bf748cb27ca58 /base/common/src/com/netscape/certsrv/cert | |
parent | 9c7e89d813b640619d02f9076eaa90829f4395ef (diff) | |
download | pki-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.java | 9 | ||||
-rw-r--r-- | base/common/src/com/netscape/certsrv/cert/CertRequestResource.java | 12 |
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); + } |