diff options
author | Ade Lee <alee@redhat.com> | 2014-02-05 13:03:46 -0500 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2014-02-10 11:23:27 -0500 |
commit | 552953c15e8456b0d5e5a33a65da5553d14e6853 (patch) | |
tree | 82078b75785f0833ee5120ded1140265b641b344 /base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java | |
parent | b5cfe1746ca36861a0bf8039681f27275b9b9e59 (diff) | |
download | pki-552953c15e8456b0d5e5a33a65da5553d14e6853.tar.gz pki-552953c15e8456b0d5e5a33a65da5553d14e6853.tar.xz pki-552953c15e8456b0d5e5a33a65da5553d14e6853.zip |
Change the return type for KeyRequest creation operations
We will likely want to extend the REST API to allow the immediate return
of a generated key, and perhaps of a recovered key in a single step.
This change allows us to do that.
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java')
-rw-r--r-- | base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java b/base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java index ac728d593..7a63b113d 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java +++ b/base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java @@ -36,10 +36,12 @@ import com.netscape.certsrv.dbs.keydb.IKeyRecord; import com.netscape.certsrv.dbs.keydb.IKeyRepository; import com.netscape.certsrv.dbs.keydb.KeyId; import com.netscape.certsrv.key.KeyArchivalRequest; +import com.netscape.certsrv.key.KeyData; import com.netscape.certsrv.key.KeyRecoveryRequest; import com.netscape.certsrv.key.KeyRequestInfo; import com.netscape.certsrv.key.KeyRequestInfoCollection; import com.netscape.certsrv.key.KeyRequestResource; +import com.netscape.certsrv.key.KeyRequestResponse; import com.netscape.certsrv.key.KeyResource; import com.netscape.certsrv.key.SymKeyGenerationRequest; import com.netscape.certsrv.kra.IKeyRecoveryAuthority; @@ -133,7 +135,7 @@ public class KeyRequestDAO extends CMSRequestDAO { * @return info for the request submitted. * @throws EBaseException */ - public KeyRequestInfo submitRequest(KeyArchivalRequest data, UriInfo uriInfo) throws EBaseException { + public KeyRequestResponse submitRequest(KeyArchivalRequest data, UriInfo uriInfo) throws EBaseException { String clientId = data.getClientId(); String wrappedSecurityData = data.getWrappedPrivateData(); String dataType = data.getDataType(); @@ -162,7 +164,7 @@ public class KeyRequestDAO extends CMSRequestDAO { queue.markAsServiced(request); - return createKeyRequestInfo(request, uriInfo); + return createKeyRequestResponse(request, uriInfo); } /** @@ -172,7 +174,7 @@ public class KeyRequestDAO extends CMSRequestDAO { * @return info on the recovery request created * @throws EBaseException */ - public KeyRequestInfo submitRequest(KeyRecoveryRequest data, UriInfo uriInfo) throws EBaseException { + public KeyRequestResponse submitRequest(KeyRecoveryRequest data, UriInfo uriInfo) throws EBaseException { // set data using request.setExtData(field, data) String wrappedSessionKeyStr = data.getTransWrappedSessionKey(); @@ -209,10 +211,10 @@ public class KeyRequestDAO extends CMSRequestDAO { queue.processRequest(request); - return createKeyRequestInfo(request, uriInfo); + return createKeyRequestResponse(request, uriInfo); } - public KeyRequestInfo submitRequest(SymKeyGenerationRequest data, UriInfo uriInfo) throws EBaseException { + public KeyRequestResponse submitRequest(SymKeyGenerationRequest data, UriInfo uriInfo) throws EBaseException { String clientId = data.getClientId(); String algName = data.getKeyAlgorithm(); int size = data.getKeySize(); @@ -258,7 +260,7 @@ public class KeyRequestDAO extends CMSRequestDAO { queue.processRequest(request); queue.markAsServiced(request); - return createKeyRequestInfo(request, uriInfo); + return createKeyRequestResponse(request, uriInfo); } public void approveRequest(RequestId id) throws EBaseException { @@ -302,11 +304,28 @@ public class KeyRequestDAO extends CMSRequestDAO { return ret; } + private KeyData createKeyData(IRequest request, UriInfo uriInfo) { + // TODO - to be implemented when we enable one-shot generation and recovery + // with retrieval + return null; + } + + private KeyRequestResponse createKeyRequestResponse(IRequest request, UriInfo uriInfo) { + KeyRequestResponse response = new KeyRequestResponse(); + response.setRequestInfo(createKeyRequestInfo(request, uriInfo)); + response.setKeyData(createKeyData(request, uriInfo)); + return response; + } + @Override public KeyRequestInfo createCMSRequestInfo(IRequest request, UriInfo uriInfo) { return createKeyRequestInfo(request, uriInfo); } + public KeyRequestResponse createCMSRequestResponse(IRequest request, UriInfo uriInfo) { + return createKeyRequestResponse(request, uriInfo); + } + //We only care if the key exists or not private boolean doesKeyExist(String clientId, String keyStatus, UriInfo uriInfo) { String state = "active"; |