summaryrefslogtreecommitdiffstats
path: root/pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2012-01-20 09:32:39 -0500
committerAde Lee <alee@redhat.com>2012-02-08 16:03:25 -0500
commit0e00119c8947c65997505d36b6732df72867f868 (patch)
tree1471a37e30f5f22fd3ea070143cd755b72976f9f /pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
parent4b474730b874f159ff5af4c897c0fb3d0226508d (diff)
downloadpki-0e00119c8947c65997505d36b6732df72867f868.tar.gz
pki-0e00119c8947c65997505d36b6732df72867f868.tar.xz
pki-0e00119c8947c65997505d36b6732df72867f868.zip
Fix test client errors
Added ClientResponse annotation to SystemCertificateResource. Added Consumes annotation to KeyResource, KeyRequestResource Added checks for empty search results to test client, as well as stripping header, trailer from transport cert.
Diffstat (limited to 'pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java')
-rw-r--r--pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java56
1 files changed, 37 insertions, 19 deletions
diff --git a/pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java b/pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
index dbe7e7d79..a8560dc2e 100644
--- a/pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
+++ b/pki/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
@@ -59,6 +59,8 @@ import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
+
+import com.netscape.cms.servlet.base.CMSResourceService;
import com.netscape.cms.servlet.key.model.KeyData;
import com.netscape.cms.servlet.key.model.KeyDataInfo;
import com.netscape.cms.servlet.request.model.KeyRequestInfo;
@@ -76,12 +78,14 @@ public class DRMTest {
String host = null;
String port = null;
String token_pwd = null;
+ String db_dir = "./";
// parse command line arguments
Options options = new Options();
options.addOption("h", true, "Hostname of the DRM");
options.addOption("p", true, "Port of the DRM");
options.addOption("w", true, "Token password");
+ options.addOption("d", true, "Directory for tokendb");
try {
CommandLineParser parser = new PosixParser();
@@ -108,6 +112,10 @@ public class DRMTest {
usage(options);
}
+ if (cmd.hasOption("d")) {
+ db_dir = cmd.getOptionValue("d");
+ }
+
} catch (ParseException e) {
System.err.println("Error in parsing command line options: " + e.getMessage());
usage(options);
@@ -120,35 +128,34 @@ public class DRMTest {
CryptoManager manager = null;
CryptoToken token = null;
KeyGenerator kg1 = null;
- String db_dir = "./";
-
+
// used for wrapping to send data to DRM
String transportCert = null;
-
+
// Data to be archived
SymmetricKey vek = null;
String passphrase = null;
-
+
// Session keys and passphrases for recovery
SymmetricKey recoveryKey = null;
byte[] wrappedRecoveryKey = null;
String recoveryPassphrase = null;
byte[] wrappedRecoveryPassphrase = null;
-
+
// retrieved data (should match archived data)
String wrappedRecoveredKey = null;
String recoveredKey = null;
-
+
// various ids used in recovery/archival operations
String keyId = null;
String clientId = null;
String recoveryRequestId = null;
-
+
// Variables for data structures from calls
KeyRequestInfo requestInfo = null;
KeyData keyData = null;
KeyDataInfo keyInfo = null;
-
+
// Initialize token
try {
CryptoManager.initialize(db_dir);
@@ -175,31 +182,42 @@ public class DRMTest {
} catch (Exception e) {
log("Exception in logging into token:" + e.toString());
}
-
+
// Set base URI and get client
- String baseUri = "http://" + host + ":" + port + "/pki";
+ String baseUri = "http://" + host + ":" + port + "/kra/pki";
DRMRestClient client = new DRMRestClient(baseUri);
// Test 1: Get transport certificate from DRM
transportCert = client.getTransportCert();
+ transportCert = transportCert.substring(CMSResourceService.HEADER.length(),
+ transportCert.indexOf(CMSResourceService.TRAILER));
+
log("Transport Cert retrieved from DRM: " + transportCert);
// Test 2: Get list of completed key archival requests
log("\n\nList of completed archival requests");
- Collection<KeyRequestInfo> list = client.listRequests("complete", "enrolment");
- Iterator<KeyRequestInfo> iter = list.iterator();
- while (iter.hasNext()) {
- KeyRequestInfo info = iter.next();
- printRequestInfo(info);
+ Collection<KeyRequestInfo> list = client.listRequests("complete", "enrollment");
+ if (list == null) {
+ log("No requests found");
+ } else {
+ Iterator<KeyRequestInfo> iter = list.iterator();
+ while (iter.hasNext()) {
+ KeyRequestInfo info = iter.next();
+ printRequestInfo(info);
+ }
}
// Test 3: Get list of key recovery requests
log("\n\nList of completed recovery requests");
Collection<KeyRequestInfo> list2 = client.listRequests("complete", "recovery");
- Iterator<KeyRequestInfo> iter2 = list2.iterator();
- while (iter2.hasNext()) {
- KeyRequestInfo info = iter2.next();
- printRequestInfo(info);
+ if (list2 == null) {
+ log("No requests found");
+ } else {
+ Iterator<KeyRequestInfo> iter2 = list2.iterator();
+ while (iter2.hasNext()) {
+ KeyRequestInfo info = iter2.next();
+ printRequestInfo(info);
+ }
}
// Test 4: Generate and archive a symmetric key