summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2014-02-05 13:03:46 -0500
committerAde Lee <alee@redhat.com>2014-02-10 11:23:27 -0500
commit552953c15e8456b0d5e5a33a65da5553d14e6853 (patch)
tree82078b75785f0833ee5120ded1140265b641b344 /base/server/cms/src/com/netscape/cms/servlet/key/KeyRequestDAO.java
parentb5cfe1746ca36861a0bf8039681f27275b9b9e59 (diff)
downloadpki-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.java31
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";