summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cms/servlet
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/servlet')
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java12
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/key/KeysResource.java8
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDAO.java14
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java10
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java10
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java16
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResource.java18
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResourceService.java21
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/ProcessCertReq.java4
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/ProcessReq.java2
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java2
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java32
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java19
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java28
14 files changed, 116 insertions, 80 deletions
diff --git a/pki/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java b/pki/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java
index 4888d609f..79e6ccfdb 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java
@@ -32,8 +32,11 @@ import com.netscape.cms.servlet.request.model.KeyRequestDAO;
import com.netscape.cms.servlet.request.model.KeyRequestInfo;
import com.netscape.cms.servlet.request.model.RecoveryRequestData;
import com.netscape.certsrv.request.IRequest;
+import com.netscape.certsrv.request.RequestId;
import com.netscape.certsrv.request.RequestStatus;
import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.dbs.keydb.KeyId;
+
/**
* @author alee
*
@@ -50,7 +53,7 @@ public class KeyResourceService extends CMSResourceService implements KeyResourc
*/
public KeyData retrieveKey(RecoveryRequestData data) {
// auth and authz
- String keyId = validateRequest(data);
+ KeyId keyId = validateRequest(data);
KeyDAO dao = new KeyDAO();
KeyData keyData;
try {
@@ -73,10 +76,10 @@ public class KeyResourceService extends CMSResourceService implements KeyResourc
return retrieveKey(data);
}
- private String validateRequest(RecoveryRequestData data) {
+ private KeyId validateRequest(RecoveryRequestData data) {
// confirm request exists
- String reqId = data.getRequestId();
+ RequestId reqId = data.getRequestId();
if (reqId == null) {
// log error
throw new WebApplicationException(Response.Status.BAD_REQUEST);
@@ -120,8 +123,7 @@ public class KeyResourceService extends CMSResourceService implements KeyResourc
throw new WebApplicationException(Response.Status.UNAUTHORIZED);
}
- String keyURL = reqInfo.getKeyURL();
- return keyURL.substring(keyURL.lastIndexOf("/") + 1);
+ return reqInfo.getKeyId();
}
}
diff --git a/pki/base/common/src/com/netscape/cms/servlet/key/KeysResource.java b/pki/base/common/src/com/netscape/cms/servlet/key/KeysResource.java
index 35cd5ccbe..c93ffa4c9 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/key/KeysResource.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/key/KeysResource.java
@@ -10,14 +10,14 @@ import com.netscape.cms.servlet.key.model.KeyDataInfos;
@Path("/keys")
public interface KeysResource {
- public static final String DEFAULT_MAXTIME = "10";
- public static final String DEFAULT_MAXRESULTS = "100";
+ public static final int DEFAULT_MAXTIME = 10;
+ public static final int DEFAULT_MAXRESULTS = 100;
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.TEXT_XML })
public KeyDataInfos listKeys(@QueryParam("clientID") String clientID,
@QueryParam("status") String status,
- @DefaultValue(DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults,
- @DefaultValue(DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime);
+ @DefaultValue(""+DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults,
+ @DefaultValue(""+DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime);
}
diff --git a/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDAO.java b/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDAO.java
index f2ee46c66..f479c6f0d 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDAO.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDAO.java
@@ -30,6 +30,7 @@ import com.netscape.certsrv.apps.CMS;
import com.netscape.certsrv.base.EBaseException;
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.kra.IKeyRecoveryAuthority;
import com.netscape.certsrv.request.IRequest;
import com.netscape.certsrv.request.IRequestQueue;
@@ -87,23 +88,22 @@ public class KeyDAO {
return ret;
}
- public KeyData getKey(String keyId, RecoveryRequestData data) throws EBaseException {
+ public KeyData getKey(KeyId keyId, RecoveryRequestData data) throws EBaseException {
KeyData keyData;
- BigInteger serial = new BigInteger(keyId);
-
- String rId = data.getRequestId();
+
+ RequestId rId = data.getRequestId();
String transWrappedSessionKey;
String sessionWrappedPassphrase;
- IRequest request = queue.findRequest(new RequestId(rId));
+ IRequest request = queue.findRequest(rId);
if (request == null) {
return null;
}
// get wrapped key
- IKeyRecord rec = repo.readKeyRecord(serial);
+ IKeyRecord rec = repo.readKeyRecord(keyId.toBigInteger());
if (rec == null) {
return null;
}
@@ -133,7 +133,7 @@ public class KeyDAO {
sessionWrappedPassphrase = data.getSessionWrappedPassphrase();
nonceData = data.getNonceData();
- if(transWrappedSessionKey == null) {
+ if (transWrappedSessionKey == null) {
//There must be at least a transWrappedSessionKey input provided.
//The command AND the request have provided insufficient data, end of the line.
throw new EBaseException("Can't retrieve key, insufficient input data!");
diff --git a/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java b/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java
index 46843ba90..88b31b4d1 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java
@@ -26,6 +26,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAccessorType;
+import com.netscape.certsrv.dbs.keydb.KeyId;
+
/**
* @author alee
*
@@ -59,6 +61,14 @@ public class KeyDataInfo {
}
/**
+ * @return the key ID in the keyURL
+ */
+ public KeyId getKeyId() {
+ String id = keyURL.substring(keyURL.lastIndexOf("/") + 1);
+ return new KeyId(id);
+ }
+
+ /**
* @return the clientID
*/
public String getClientID() {
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java
index 656768f02..cd08f46bb 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java
@@ -8,6 +8,8 @@ import javax.ws.rs.Produces;
import javax.ws.rs.Consumes;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
+
+import com.netscape.certsrv.request.RequestId;
import com.netscape.cms.servlet.request.model.ArchivalRequestData;
import com.netscape.cms.servlet.request.model.KeyRequestInfo;
import com.netscape.cms.servlet.request.model.RecoveryRequestData;
@@ -24,7 +26,7 @@ public interface KeyRequestResource {
@GET
@Path("{id}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.TEXT_XML })
- public KeyRequestInfo getRequestInfo(@PathParam("id") String id);
+ public KeyRequestInfo getRequestInfo(@PathParam("id") RequestId id);
// Archiving - used to test integration with a browser
@POST
@@ -54,14 +56,14 @@ public interface KeyRequestResource {
@POST
@Path("approve/{id}")
- public void approveRequest(@PathParam("id") String id);
+ public void approveRequest(@PathParam("id") RequestId id);
@POST
@Path("reject/{id}")
- public void rejectRequest(@PathParam("id") String id);
+ public void rejectRequest(@PathParam("id") RequestId id);
@POST
@Path("cancel/{id}")
- public void cancelRequest(@PathParam("id") String id);
+ public void cancelRequest(@PathParam("id") RequestId id);
}
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java
index e18407727..43e58bbdc 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java
@@ -18,13 +18,13 @@
package com.netscape.cms.servlet.request;
-import javax.ws.rs.PathParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.request.RequestId;
import com.netscape.cms.servlet.base.CMSResourceService;
import com.netscape.cms.servlet.request.model.ArchivalRequestData;
import com.netscape.cms.servlet.request.model.KeyRequestDAO;
@@ -43,7 +43,7 @@ public class KeyRequestResourceService extends CMSResourceService implements Key
/**
* Used to retrieve key request info for a specific request
*/
- public KeyRequestInfo getRequestInfo(String id) {
+ public KeyRequestInfo getRequestInfo(RequestId id) {
// auth and authz
KeyRequestDAO dao = new KeyRequestDAO();
KeyRequestInfo info;
@@ -118,8 +118,8 @@ public class KeyRequestResourceService extends CMSResourceService implements Key
return info;
}
- public void approveRequest(@PathParam("id") String id) {
- if ( id == null) {
+ public void approveRequest(RequestId id) {
+ if (id == null) {
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
// auth and authz
@@ -133,8 +133,8 @@ public class KeyRequestResourceService extends CMSResourceService implements Key
}
}
- public void rejectRequest(@PathParam("id") String id) {
- if ( id == null) {
+ public void rejectRequest(RequestId id) {
+ if (id == null) {
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
// auth and authz
@@ -148,8 +148,8 @@ public class KeyRequestResourceService extends CMSResourceService implements Key
}
}
- public void cancelRequest(@PathParam("id") String id) {
- if ( id == null) {
+ public void cancelRequest(RequestId id) {
+ if (id == null) {
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
// auth and authz
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResource.java b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResource.java
index 0f8fbc78f..fd6bc4c27 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResource.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResource.java
@@ -6,15 +6,17 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+
+import com.netscape.certsrv.request.RequestId;
import com.netscape.cms.servlet.request.model.KeyRequestInfos;
@Path("/keyrequests")
public interface KeyRequestsResource {
- public static final String DEFAULT_START = "0";
- public static final String DEFAULT_PAGESIZE = "20";
- public static final String DEFAULT_MAXRESULTS = "100";
- public static final String DEFAULT_MAXTIME = "10";
+ public static final int DEFAULT_START = 0;
+ public static final int DEFAULT_PAGESIZE = 20;
+ public static final int DEFAULT_MAXRESULTS = 100;
+ public static final int DEFAULT_MAXTIME = 10;
/**
* Used to generate list of key requests based on the search parameters
@@ -24,9 +26,9 @@ public interface KeyRequestsResource {
public KeyRequestInfos listRequests(@QueryParam("requestState") String requestState,
@QueryParam("requestType") String requestType,
@QueryParam("clientID") String clientID,
- @DefaultValue(DEFAULT_START) @QueryParam("start") String start_s,
- @DefaultValue(DEFAULT_PAGESIZE) @QueryParam("pageSize") int pageSize,
- @DefaultValue(DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults,
- @DefaultValue(DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime);
+ @DefaultValue(""+DEFAULT_START) @QueryParam("start") RequestId start,
+ @DefaultValue(""+DEFAULT_PAGESIZE) @QueryParam("pageSize") int pageSize,
+ @DefaultValue(""+DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults,
+ @DefaultValue(""+DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime);
}
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResourceService.java b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResourceService.java
index 290868ab5..9b11a96d6 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResourceService.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/KeyRequestsResourceService.java
@@ -25,10 +25,11 @@ import javax.ws.rs.core.UriInfo;
import com.netscape.certsrv.apps.CMS;
import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.request.RequestId;
import com.netscape.cms.servlet.base.CMSResourceService;
import com.netscape.cms.servlet.request.model.KeyRequestDAO;
import com.netscape.cms.servlet.request.model.KeyRequestInfos;
-
+
/**
* @author alee
*
@@ -42,28 +43,16 @@ public class KeyRequestsResourceService extends CMSResourceService implements Ke
* Used to generate list of key requests based on the search parameters
*/
public KeyRequestInfos listRequests(String requestState, String requestType, String clientID,
- String start_s, int pageSize, int maxResults,
- int maxTime) {
+ RequestId start, int pageSize, int maxResults, int maxTime) {
// auth and authz
// get ldap filter
String filter = createSearchFilter(requestState, requestType, clientID);
CMS.debug("listRequests: filter is " + filter);
-
// get start marker
- int start = Integer.parseInt(KeyRequestsResource.DEFAULT_START);
- if (start_s != null) {
- try {
- if (start_s.trim().startsWith("0x")) {
- start = Integer.parseInt(start_s.trim().substring(2), 16);
- } else {
- start = Integer.parseInt(start_s.trim());
- }
- } catch (NumberFormatException e) {
- CMS.debug("listRequests: NumberformatException: Invalid value for start " + start_s);
- throw new WebApplicationException(Response.Status.NOT_FOUND);
- }
+ if (start == null) {
+ start = new RequestId(KeyRequestsResource.DEFAULT_START);
}
KeyRequestDAO reqDAO = new KeyRequestDAO();
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/ProcessCertReq.java b/pki/base/common/src/com/netscape/cms/servlet/request/ProcessCertReq.java
index 68328a73c..ee5581a6d 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/ProcessCertReq.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/ProcessCertReq.java
@@ -314,7 +314,7 @@ public class ProcessCertReq extends CMSServlet {
IRequest r = null;
if (seqNum.compareTo(BigInteger.ONE.negate()) > 0) {
- r = mQueue.findRequest(new RequestId(seqNum.toString()));
+ r = mQueue.findRequest(new RequestId(seqNum));
}
if (seqNum.compareTo(BigInteger.ONE.negate()) > 0 && r != null) {
@@ -424,7 +424,7 @@ public class ProcessCertReq extends CMSServlet {
}
try {
- IRequest r = mQueue.findRequest(new RequestId(seqNum.toString()));
+ IRequest r = mQueue.findRequest(new RequestId(seqNum));
if (r != null) {
// overwrite "auditRequesterID" if and only if "id" != null
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/ProcessReq.java b/pki/base/common/src/com/netscape/cms/servlet/request/ProcessReq.java
index 93457a281..a4eb68b19 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/ProcessReq.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/ProcessReq.java
@@ -245,7 +245,7 @@ public class ProcessReq extends CMSServlet {
header.addBigIntegerValue("seqNum", seqNum, 10);
- IRequest r = mQueue.findRequest(new RequestId(seqNum.toString()));
+ IRequest r = mQueue.findRequest(new RequestId(seqNum));
if (r != null) {
if (doAssign != null) {
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java b/pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java
index e580cc9a4..181f9f906 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java
@@ -414,7 +414,7 @@ public class QueryReq extends CMSServlet {
jumptoend = true; // override to '99' during search
}
- RequestId id = new RequestId(marker.toString());
+ RequestId id = new RequestId(marker);
IRequestVirtualList list = mQueue.getPagedRequestsByFilter(
id,
jumptoend,
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java b/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java
index 4da4af6d5..d1f1a27bd 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java
@@ -29,6 +29,7 @@ import javax.ws.rs.core.UriInfo;
import com.netscape.certsrv.apps.CMS;
import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.dbs.keydb.KeyId;
import com.netscape.certsrv.kra.IKeyRecoveryAuthority;
import com.netscape.certsrv.request.IRequest;
import com.netscape.certsrv.request.IRequestList;
@@ -89,7 +90,7 @@ public class KeyRequestDAO {
* @return collection of key request info
* @throws EBaseException
*/
- public KeyRequestInfos listRequests(String filter, int start, int pageSize, int maxResults, int maxTime,
+ public KeyRequestInfos listRequests(String filter, RequestId start, int pageSize, int maxResults, int maxTime,
UriInfo uriInfo) throws EBaseException {
List <KeyRequestInfo> list = new ArrayList<KeyRequestInfo>();
List <Link> links = new ArrayList<Link>();
@@ -97,8 +98,7 @@ public class KeyRequestDAO {
int current = 0;
if (isVLVSearch(filter)) {
- RequestId id = new RequestId(Integer.toString(start));
- IRequestVirtualList vlvlist = queue.getPagedRequestsByFilter(id, false, filter,
+ IRequestVirtualList vlvlist = queue.getPagedRequestsByFilter(start, false, filter,
pageSize +1 , "requestId");
totalSize = vlvlist.getSize();
current = vlvlist.getCurrentIndex();
@@ -120,7 +120,7 @@ public class KeyRequestDAO {
return null;
}
while (requests.hasMoreElements()) {
- RequestId rid = (RequestId) requests.nextElement();
+ RequestId rid = requests.nextElement();
IRequest request = queue.findRequest(rid);
if (request != null) {
list.add(createKeyRequestInfo(request, uriInfo));
@@ -168,8 +168,8 @@ public class KeyRequestDAO {
* @return info for specific request
* @throws EBaseException
*/
- public KeyRequestInfo getRequest(String id, UriInfo uriInfo) throws EBaseException {
- IRequest request = queue.findRequest(new RequestId(id));
+ public KeyRequestInfo getRequest(RequestId id, UriInfo uriInfo) throws EBaseException {
+ IRequest request = queue.findRequest(id);
if (request == null) {
return null;
}
@@ -189,7 +189,7 @@ public class KeyRequestDAO {
boolean keyExists = doesKeyExist(clientId, "active", uriInfo);
- if(keyExists == true) {
+ if (keyExists == true) {
throw new EBaseException("Can not archive already active existing key!");
}
@@ -221,7 +221,7 @@ public class KeyRequestDAO {
IRequest request = queue.newRequest(IRequest.SECURITY_DATA_RECOVERY_REQUEST);
- String keyId = data.getKeyId();
+ KeyId keyId = data.getKeyId();
Hashtable<String, Object> requestParams;
requestParams = kra.createVolatileRequest(request.getRequestId());
@@ -244,27 +244,27 @@ public class KeyRequestDAO {
requestParams.put(IRequest.SECURITY_DATA_IV_STRING_IN, nonceDataStr);
}
- request.setExtData(ATTR_SERIALNO,keyId);
+ request.setExtData(ATTR_SERIALNO, keyId.toString());
queue.processRequest(request);
return createKeyRequestInfo(request, uriInfo);
}
- public void approveRequest(String id) throws EBaseException {
- IRequest request = queue.findRequest(new RequestId(id));
+ public void approveRequest(RequestId id) throws EBaseException {
+ IRequest request = queue.findRequest(id);
request.setRequestStatus(RequestStatus.APPROVED);
queue.updateRequest(request);
}
- public void rejectRequest(String id) throws EBaseException {
- IRequest request = queue.findRequest(new RequestId(id));
+ public void rejectRequest(RequestId id) throws EBaseException {
+ IRequest request = queue.findRequest(id);
request.setRequestStatus(RequestStatus.CANCELED);
queue.updateRequest(request);
}
- public void cancelRequest(String id) throws EBaseException {
- IRequest request = queue.findRequest(new RequestId(id));
+ public void cancelRequest(RequestId id) throws EBaseException {
+ IRequest request = queue.findRequest(id);
request.setRequestStatus(RequestStatus.REJECTED);
queue.updateRequest(request);
}
@@ -276,7 +276,7 @@ public class KeyRequestDAO {
ret.setRequestStatus(request.getRequestStatus().toString());
Path keyRequestPath = KeyRequestResource.class.getAnnotation(Path.class);
- String rid = request.getRequestId().toString();
+ RequestId rid = request.getRequestId();
UriBuilder reqBuilder = uriInfo.getBaseUriBuilder();
reqBuilder.path(keyRequestPath.value() + "/" + rid);
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java b/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java
index d768e2ba9..f07c302dd 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java
@@ -23,6 +23,9 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
+import com.netscape.certsrv.dbs.keydb.KeyId;
+import com.netscape.certsrv.request.RequestId;
+
@XmlRootElement(name="SecurityDataRequestInfo")
@XmlAccessorType(XmlAccessType.FIELD)
public class KeyRequestInfo {
@@ -79,6 +82,14 @@ public class KeyRequestInfo {
}
/**
+ * @return the request ID in the requestURL
+ */
+ public RequestId getRequestId() {
+ String id = requestURL.substring(requestURL.lastIndexOf("/") + 1);
+ return new RequestId(id);
+ }
+
+ /**
* @param requestURL the requestURL to set
*/
public void setRequestURL(String requestURL) {
@@ -93,6 +104,14 @@ public class KeyRequestInfo {
}
/**
+ * @return the key ID in the keyURL
+ */
+ public KeyId getKeyId() {
+ String id = keyURL.substring(keyURL.lastIndexOf("/") + 1);
+ return new KeyId(id);
+ }
+
+ /**
* @param keyURL the keyURL to set
*/
public void setKeyURL(String keyURL) {
diff --git a/pki/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java b/pki/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java
index ae8417542..80ec6d127 100644
--- a/pki/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java
+++ b/pki/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java
@@ -26,6 +26,12 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+import com.netscape.certsrv.dbs.keydb.KeyId;
+import com.netscape.certsrv.dbs.keydb.KeyIdAdapter;
+import com.netscape.certsrv.request.RequestId;
+import com.netscape.certsrv.request.RequestIdAdapter;
/**
* @author alee
@@ -42,10 +48,12 @@ public class RecoveryRequestData {
private static final String NONCE_DATA = "nonceData";
@XmlElement
- protected String keyId;
+ @XmlJavaTypeAdapter(KeyIdAdapter.class)
+ protected KeyId keyId;
@XmlElement
- protected String requestId;
+ @XmlJavaTypeAdapter(RequestIdAdapter.class)
+ protected RequestId requestId;
@XmlElement
protected String transWrappedSessionKey;
@@ -61,8 +69,12 @@ public class RecoveryRequestData {
}
public RecoveryRequestData(MultivaluedMap<String, String> form) {
- keyId = form.getFirst(KEY_ID);
- requestId = form.getFirst(REQUEST_ID);
+ if (form.containsKey(KEY_ID)) {
+ keyId = new KeyId(form.getFirst(KEY_ID));
+ }
+ if (form.containsKey(REQUEST_ID)) {
+ requestId = new RequestId(form.getFirst(REQUEST_ID));
+ }
transWrappedSessionKey = form.getFirst(TRANS_WRAPPED_SESSION_KEY);
sessionWrappedPassphrase = form.getFirst(SESSION_WRAPPED_PASSPHRASE);
nonceData = form.getFirst(NONCE_DATA);
@@ -71,28 +83,28 @@ public class RecoveryRequestData {
/**
* @return the keyId
*/
- public String getKeyId() {
+ public KeyId getKeyId() {
return keyId;
}
/**
* @param keyId the keyId to set
*/
- public void setKeyId(String keyId) {
+ public void setKeyId(KeyId keyId) {
this.keyId = keyId;
}
/**
* @return the requestId
*/
- public String getRequestId() {
+ public RequestId getRequestId() {
return requestId;
}
/**
* @param requestId the requestId to set
*/
- public void setRequestId(String requestId) {
+ public void setRequestId(RequestId requestId) {
this.requestId = requestId;
}