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/common/src/com/netscape/certsrv | |
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/common/src/com/netscape/certsrv')
4 files changed, 60 insertions, 12 deletions
diff --git a/base/common/src/com/netscape/certsrv/key/KeyClient.java b/base/common/src/com/netscape/certsrv/key/KeyClient.java index 280b10c49..1a5dd50aa 100644 --- a/base/common/src/com/netscape/certsrv/key/KeyClient.java +++ b/base/common/src/com/netscape/certsrv/key/KeyClient.java @@ -71,9 +71,9 @@ public class KeyClient extends Client { maxTime); } - public KeyRequestInfo createRequest(ResourceMessage data) { + public KeyRequestResponse createRequest(ResourceMessage data) { @SuppressWarnings("unchecked") - ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) keyRequestClient.createRequest(data); + ClientResponse<KeyRequestResponse> response = (ClientResponse<KeyRequestResponse>) keyRequestClient.createRequest(data); return response.getEntity(); } diff --git a/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java b/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java index 81cca7b41..e6e6c2e70 100644 --- a/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java +++ b/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java @@ -50,13 +50,13 @@ public interface KeyRequestResource { @QueryParam("maxTime") Integer maxTime); @POST - @ClientResponseType(entityType=KeyRequestInfo.class) + @ClientResponseType(entityType=KeyRequestResponse.class) @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_FORM_URLENCODED}) public Response createRequest(MultivaluedMap<String, String> form); @POST - @ClientResponseType(entityType=KeyRequestInfo.class) + @ClientResponseType(entityType=KeyRequestResponse.class) @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public Response createRequest(ResourceMessage data); diff --git a/base/common/src/com/netscape/certsrv/key/KeyRequestResponse.java b/base/common/src/com/netscape/certsrv/key/KeyRequestResponse.java new file mode 100644 index 000000000..1d21b4cec --- /dev/null +++ b/base/common/src/com/netscape/certsrv/key/KeyRequestResponse.java @@ -0,0 +1,46 @@ +// --- BEGIN COPYRIGHT BLOCK --- +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// (C) 2014 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- + +package com.netscape.certsrv.key; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "KeyRequestResponse") +public class KeyRequestResponse { + KeyRequestInfo requestInfo; + KeyData keyData; + + @XmlElement(name="RequestInfo") + public KeyRequestInfo getRequestInfo() { + return requestInfo; + } + + public void setRequestInfo(KeyRequestInfo requestInfo) { + this.requestInfo = requestInfo; + } + + @XmlElement(name="KeyData") + public KeyData getKeyData() { + return keyData; + } + + public void setKeyData(KeyData keyData) { + this.keyData = keyData; + } +} diff --git a/base/common/src/com/netscape/certsrv/kra/KRAClient.java b/base/common/src/com/netscape/certsrv/kra/KRAClient.java index 76e321ac8..5473b9c73 100644 --- a/base/common/src/com/netscape/certsrv/kra/KRAClient.java +++ b/base/common/src/com/netscape/certsrv/kra/KRAClient.java @@ -20,6 +20,7 @@ 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.logging.AuditClient; @@ -69,7 +70,7 @@ public class KRAClient extends SubsystemClient { return list; } - public KeyRequestInfo archiveSecurityData(byte[] encoded, String clientId, String dataType, String algorithm, int strength) { + public KeyRequestResponse archiveSecurityData(byte[] encoded, String clientId, String dataType, String algorithm, int strength) { // create archival request KeyArchivalRequest data = new KeyArchivalRequest(); String req1 = Utils.base64encode(encoded); @@ -80,7 +81,7 @@ public class KRAClient extends SubsystemClient { data.setKeyStrength(strength); @SuppressWarnings("unchecked") - ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) + ClientResponse<KeyRequestResponse> response = (ClientResponse<KeyRequestResponse>) keyRequestClient.createRequest(data); return client.getEntity(response); } @@ -100,7 +101,7 @@ public class KRAClient extends SubsystemClient { return null; } - public KeyRequestInfo requestRecovery(KeyId keyId, byte[] rpwd, byte[] rkey, byte[] nonceData) { + public KeyRequestResponse requestRecovery(KeyId keyId, byte[] rpwd, byte[] rkey, byte[] nonceData) { // create recovery request KeyRecoveryRequest data = new KeyRecoveryRequest(); data.setKeyId(keyId); @@ -116,7 +117,7 @@ public class KRAClient extends SubsystemClient { } @SuppressWarnings("unchecked") - ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) + ClientResponse<KeyRequestResponse> response = (ClientResponse<KeyRequestResponse>) keyRequestClient.createRequest(data); return client.getEntity(response); } @@ -149,14 +150,14 @@ public class KRAClient extends SubsystemClient { return keyRequestClient.getRequestInfo(id); } - public KeyRequestInfo requestKeyRecovery(String keyId, String b64Certificate) { + public KeyRequestResponse requestKeyRecovery(String keyId, String b64Certificate) { // create key recovery request KeyRecoveryRequest data = new KeyRecoveryRequest(); data.setKeyId(new KeyId(keyId)); data.setCertificate(b64Certificate); @SuppressWarnings("unchecked") - ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) + ClientResponse<KeyRequestResponse> response = (ClientResponse<KeyRequestResponse>) keyRequestClient.createRequest(data); return client.getEntity(response); } @@ -171,7 +172,7 @@ public class KRAClient extends SubsystemClient { return key; } - public KeyRequestInfo generateKey(String clientId, String keyAlgorithm, int keySize, List<String> usages) { + public KeyRequestResponse generateKey(String clientId, String keyAlgorithm, int keySize, List<String> usages) { SymKeyGenerationRequest data = new SymKeyGenerationRequest(); data.setClientId(clientId); data.setKeyAlgorithm(keyAlgorithm); @@ -179,7 +180,8 @@ public class KRAClient extends SubsystemClient { data.setUsages(usages); @SuppressWarnings("unchecked") - ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) keyRequestClient.createRequest(data); + ClientResponse<KeyRequestResponse> response = (ClientResponse<KeyRequestResponse>) + keyRequestClient.createRequest(data); return response.getEntity(); } } |