From 5a9a7d9c1e3cedffe828bb004e7038de55c8e47f Mon Sep 17 00:00:00 2001 From: Ade Lee Date: Sat, 25 Jan 2014 00:49:41 -0500 Subject: Add new POST endpoint for creating requests --- .../cms/servlet/request/KeyRequestService.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'base/server/cms/src') diff --git a/base/server/cms/src/com/netscape/cms/servlet/request/KeyRequestService.java b/base/server/cms/src/com/netscape/cms/servlet/request/KeyRequestService.java index ada11be7c..3ea92406a 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/request/KeyRequestService.java +++ b/base/server/cms/src/com/netscape/cms/servlet/request/KeyRequestService.java @@ -41,9 +41,11 @@ import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.dbs.keydb.KeyId; import com.netscape.certsrv.key.KeyArchivalRequest; import com.netscape.certsrv.key.KeyRecoveryRequest; +import com.netscape.certsrv.key.KeyRequest; import com.netscape.certsrv.key.KeyRequestInfo; import com.netscape.certsrv.key.KeyRequestInfos; import com.netscape.certsrv.key.KeyRequestResource; +import com.netscape.certsrv.key.SymKeyGenerationRequest; import com.netscape.certsrv.kra.IKeyRecoveryAuthority; import com.netscape.certsrv.kra.IKeyService; import com.netscape.certsrv.logging.ILogger; @@ -377,4 +379,30 @@ public class KeyRequestService extends PKIService implements KeyRequestResource clientId); auditor.log(msg); } + + @Override + public Response createRequest(MultivaluedMap form) { + KeyRequest data = new KeyRequest(form); + return createRequest(data); + } + + @Override + public Response createRequest(KeyRequest data) { + String requestType = data.getRequestType(); + switch(requestType) { + case KeyRequestResource.ARCHIVAL_REQUEST: + return archiveKey((KeyArchivalRequest) data); + case KeyRequestResource.RECOVERY_REQUEST: + return recoverKey((KeyRecoveryRequest) data); + case KeyRequestResource.KEY_GENERATION_REQUEST: + return generateSymKey((SymKeyGenerationRequest) data); + default: + throw new BadRequestException("Invalid request"); + } + } + + public Response generateSymKey(SymKeyGenerationRequest data) { + // TODO Auto-generated method stub + return null; + } } -- cgit