diff options
author | Ade Lee <alee@redhat.com> | 2014-01-29 13:29:23 -0500 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2014-02-04 13:37:15 -0500 |
commit | 3e48a7560406e0f4430bc620e35762bdd00099c0 (patch) | |
tree | 4e7d919a6e55bee3ed3f401abbe571d091a41769 /base/common/src/com/netscape | |
parent | 811b8ace7705f45bfb30aa0d0580e30104fa598e (diff) | |
download | pki-3e48a7560406e0f4430bc620e35762bdd00099c0.tar.gz pki-3e48a7560406e0f4430bc620e35762bdd00099c0.tar.xz pki-3e48a7560406e0f4430bc620e35762bdd00099c0.zip |
Added more client code for DRM tests
Diffstat (limited to 'base/common/src/com/netscape')
4 files changed, 68 insertions, 15 deletions
diff --git a/base/common/src/com/netscape/certsrv/key/KeyClient.java b/base/common/src/com/netscape/certsrv/key/KeyClient.java index 81519509e..5faab6faf 100644 --- a/base/common/src/com/netscape/certsrv/key/KeyClient.java +++ b/base/common/src/com/netscape/certsrv/key/KeyClient.java @@ -19,6 +19,8 @@ package com.netscape.certsrv.key; import java.net.URISyntaxException; +import org.jboss.resteasy.client.ClientResponse; + import com.netscape.certsrv.client.Client; import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.request.RequestId; @@ -67,4 +69,26 @@ public class KeyClient extends Client { maxResults, maxTime); } + + public KeyRequestInfo createRequest(KeyRequest data) { + @SuppressWarnings("unchecked") + ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) keyRequestClient.createRequest(data); + return response.getEntity(); + } + + public KeyRequestInfo getRequestInfo(RequestId id) { + return keyRequestClient.getRequestInfo(id); + } + + public void approveRequest(RequestId id) { + keyRequestClient.approveRequest(id); + } + + public void rejectRequest(RequestId id) { + keyRequestClient.rejectRequest(id); + } + + public void cancelRequest(RequestId id) { + keyRequestClient.cancelRequest(id); + } } diff --git a/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java b/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java index 3f2536100..7531a2425 100644 --- a/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java +++ b/base/common/src/com/netscape/certsrv/key/KeyRequestResource.java @@ -23,14 +23,14 @@ import com.netscape.certsrv.request.RequestId; public interface KeyRequestResource { /* Data types */ - public final String SYMMETRIC_KEY_TYPE = "symmetricKey"; - public final String PASS_PHRASE_TYPE = "passPhrase"; - public final String ASYMMETRIC_KEY_TYPE = "asymmetricKey"; + public static final String SYMMETRIC_KEY_TYPE = "symmetricKey"; + public static final String PASS_PHRASE_TYPE = "passPhrase"; + public static final String ASYMMETRIC_KEY_TYPE = "asymmetricKey"; /* Request types */ - public final String ARCHIVAL_REQUEST = "archival"; - public final String KEY_GENERATION_REQUEST = "keygen"; - public final String RECOVERY_REQUEST = "recovery"; + public static final String ARCHIVAL_REQUEST = "archival"; + public static final String KEY_GENERATION_REQUEST = "keygen"; + public static final String RECOVERY_REQUEST = "recovery"; /** * Used to generate list of key requests based on the search parameters diff --git a/base/common/src/com/netscape/certsrv/key/SymKeyGenerationRequest.java b/base/common/src/com/netscape/certsrv/key/SymKeyGenerationRequest.java index 19e6aa67c..ad6ad6b6a 100644 --- a/base/common/src/com/netscape/certsrv/key/SymKeyGenerationRequest.java +++ b/base/common/src/com/netscape/certsrv/key/SymKeyGenerationRequest.java @@ -2,7 +2,9 @@ package com.netscape.certsrv.key; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.ws.rs.core.MultivaluedMap; import javax.xml.bind.annotation.XmlAccessType; @@ -10,6 +12,7 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import org.apache.commons.lang.StringUtils; +import org.mozilla.jss.crypto.KeyGenAlgorithm; /** * @author alee @@ -24,13 +27,24 @@ public class SymKeyGenerationRequest extends KeyRequest { private static final String KEY_ALGORITHM = "keyAlgorithm"; private static final String KEY_USAGE = "keyUsage"; - // usages - public static final String ENCRYPT_USAGE = "encrypt"; - public static final String DECRYPT_USAGE = "decrypt"; - public static final String SIGN_USAGE = "sign"; - public static final String VERIFY_USAGE = "verify"; - public static final String WRAP_USAGE = "wrap"; + /* Symmetric Key usages */ public static final String UWRAP_USAGE = "unwrap"; + public static final String WRAP_USAGE = "wrap"; + public static final String VERIFY_USAGE = "verify"; + public static final String SIGN_USAGE = "sign"; + public static final String DECRYPT_USAGE = "decrypt"; + public static final String ENCRYPT_USAGE = "encrypt"; + + public static final Map<String, KeyGenAlgorithm> KEYGEN_ALGORITHMS; + static { + KEYGEN_ALGORITHMS = new HashMap<String, KeyGenAlgorithm>(); + KEYGEN_ALGORITHMS.put("DES", KeyGenAlgorithm.DES); + KEYGEN_ALGORITHMS.put("DESede", KeyGenAlgorithm.DESede); + KEYGEN_ALGORITHMS.put("DES3", KeyGenAlgorithm.DES3); + KEYGEN_ALGORITHMS.put("RC2", KeyGenAlgorithm.RC2); + KEYGEN_ALGORITHMS.put("RC4", KeyGenAlgorithm.RC4); + KEYGEN_ALGORITHMS.put("AES", KeyGenAlgorithm.AES); + } public List<String> getUsages() { String usageString = properties.get(KEY_USAGE); @@ -131,7 +145,7 @@ public class SymKeyGenerationRequest extends KeyRequest { SymKeyGenerationRequest before = new SymKeyGenerationRequest(); before.setClientId("vek 12345"); - before.setKeyAlgorithm("aes"); + before.setKeyAlgorithm("AES"); before.setKeySize(128); before.setRequestType(KeyRequestResource.KEY_GENERATION_REQUEST); before.addUsage(SymKeyGenerationRequest.DECRYPT_USAGE); diff --git a/base/common/src/com/netscape/certsrv/kra/KRAClient.java b/base/common/src/com/netscape/certsrv/kra/KRAClient.java index 6ff7ea23e..6330008b5 100644 --- a/base/common/src/com/netscape/certsrv/kra/KRAClient.java +++ b/base/common/src/com/netscape/certsrv/kra/KRAClient.java @@ -3,6 +3,7 @@ package com.netscape.certsrv.kra; import java.net.URISyntaxException; import java.util.Collection; import java.util.Iterator; +import java.util.List; import org.jboss.resteasy.client.ClientResponse; @@ -20,6 +21,7 @@ import com.netscape.certsrv.key.KeyRequestInfo; import com.netscape.certsrv.key.KeyRequestInfoCollection; import com.netscape.certsrv.key.KeyRequestResource; import com.netscape.certsrv.key.KeyResource; +import com.netscape.certsrv.key.SymKeyGenerationRequest; import com.netscape.certsrv.logging.AuditClient; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.selftests.SelfTestClient; @@ -147,7 +149,7 @@ public class KRAClient extends SubsystemClient { return keyRequestClient.getRequestInfo(id); } - public RequestId requestKeyRecovery(String keyId, String b64Certificate) { + public KeyRequestInfo requestKeyRecovery(String keyId, String b64Certificate) { // create key recovery request KeyRecoveryRequest data = new KeyRecoveryRequest(); data.setKeyId(new KeyId(keyId)); @@ -157,7 +159,7 @@ public class KRAClient extends SubsystemClient { @SuppressWarnings("unchecked") ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) keyRequestClient.createRequest(data); - return client.getEntity(response).getRequestId(); + return client.getEntity(response); } public KeyData recoverKey(RequestId requestId, String passphrase) { @@ -169,4 +171,17 @@ public class KRAClient extends SubsystemClient { KeyData key = keyClient.retrieveKey(data); return key; } + + public KeyRequestInfo generateKey(String clientId, String keyAlgorithm, int keySize, List<String> usages) { + SymKeyGenerationRequest data = new SymKeyGenerationRequest(); + data.setClientId(clientId); + data.setKeyAlgorithm(keyAlgorithm); + data.setKeySize(keySize); + data.setRequestType(KeyRequestResource.KEY_GENERATION_REQUEST); + data.setUsages(usages); + + @SuppressWarnings("unchecked") + ClientResponse<KeyRequestInfo> response = (ClientResponse<KeyRequestInfo>) keyRequestClient.createRequest(data); + return response.getEntity(); + } } |