summaryrefslogtreecommitdiffstats
path: root/base/kra/functional
diff options
context:
space:
mode:
authorAndrew Wnuk <awnuk@redhat.com>2013-11-15 18:35:01 -0800
committerAndrew Wnuk <awnuk@redhat.com>2013-11-18 14:29:22 -0800
commit3e413200912690b4680f65efc2c9dc11f3a18fab (patch)
treebe4ade39c3f3ba5370fabd2dfaf63228c9007d14 /base/kra/functional
parent7893dac9736701f4e6bd518328e24c0fa5e83ef3 (diff)
downloadpki-3e413200912690b4680f65efc2c9dc11f3a18fab.tar.gz
pki-3e413200912690b4680f65efc2c9dc11f3a18fab.tar.xz
pki-3e413200912690b4680f65efc2c9dc11f3a18fab.zip
REST interface extension
This patch provides REST interface extension allowing recovery of asymmetric keys. Ticket #439.
Diffstat (limited to 'base/kra/functional')
-rw-r--r--base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java b/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
index 8b254a5e3..06c368e5b 100644
--- a/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
+++ b/base/kra/functional/src/com/netscape/cms/servlet/test/DRMTest.java
@@ -491,6 +491,44 @@ public class DRMTest {
} catch (RequestNotFoundException e) {
log("Success: getting non-existent request throws an exception: "+e.getMessage()+" ("+e.getRequestId().toHexString()+")");
}
+
+ // Test 24: Request x509 key recovery
+ // This test requires to retrieve keyId and matching certificate
+ // from installed instances of CA and DRM
+ String keyID = "1";
+ String b64Certificate = "MIIC+TCCAeGgAwIBAgIBDDANBgkqhkiG9w0BAQsFADBOMSswKQYDVQQKDCJ1c2Vy"+
+ "c3lzLnJlZGhhdC5jb20gU2VjdXJpdHkgRG9tYWluMR8wHQYDVQQDDBZDQSBTaWdu"+
+ "aW5nIENlcnRpZmljYXRlMB4XDTEzMTAyNTE5MzQwM1oXDTE0MDQyMzE5MzQwM1ow"+
+ "EzERMA8GCgmSJomT8ixkAQEMAXgwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB"+
+ "ALhLfGmKvxFsKXPh49q1QsluXU3WlyS1XnpDLgOAhgTNgO4sG6CpPdv6hZYIvQBb"+
+ "ZQ5bhuML+NXK+Q+EIiNk1cUTxgL3a30sPzy6QaFWxwM8i4uXm4nCBYv7T+n4V6/O"+
+ "xHIM2Ch/dviAb3vz+M9trErv9t+d2H8jNXT3sHuDb/kvAgMBAAGjgaAwgZ0wHwYD"+
+ "VR0jBBgwFoAUh1cxWFRY+nMsx4odQQI1GqyFxP8wSwYIKwYBBQUHAQEEPzA9MDsG"+
+ "CCsGAQUFBzABhi9odHRwOi8vZG9ndGFnMjAudXNlcnN5cy5yZWRoYXQuY29tOjgw"+
+ "ODAvY2Evb2NzcDAOBgNVHQ8BAf8EBAMCBSAwHQYDVR0lBBYwFAYIKwYBBQUHAwIG"+
+ "CCsGAQUFBwMEMA0GCSqGSIb3DQEBCwUAA4IBAQCvmbUzQOouE2LgQQcKfmgwwJMJ"+
+ "9tMrPwDUtyFdaIFoPL4uZaujSscaN4IWK2r5vIMJ65jwYCI7sI9En2ZfO28J9dQj"+
+ "lpqu6TaJ+xtaMk7OvXpVB7lJk73HAttMGjETlkoq/6EjxcugmJsDqVD0b2tO7Vd0"+
+ "hroBe2uPDHM2ASewZF415lUcRh0URtmxSazTInbyxpmy1wgSJQ0C6fMCeT+hUFlA"+
+ "0P4k1TIprapGVq7FpKcqlhK2gTBfTSnoO7gmXG/9MxJiYpb/Aph8ptXq6quHz1Mj"+
+ "greWr3xTsy6gF2yphUEkGHh4v22XvK+FLx9Jb6zloMWA2GG9gpUpvMnl1fH4";
+
+ log("Requesting X509 key recovery.");
+ recoveryRequestId = client.requestKeyRecovery(keyID, b64Certificate);
+ log("Requesting X509 key recovery request: " + recoveryRequestId);
+
+ // Test 25: Approve x509 key recovery
+ log("Approving X509 key recovery request: " + recoveryRequestId);
+ client.approveRecovery(recoveryRequestId);
+
+ // Test 26: Recover x509 key
+ log("Recovering X509 key based on request: " + recoveryRequestId);
+ try {
+ KeyData recoveredX509Key = client.recoverKey(recoveryRequestId, "netscape");
+ log("Success: X509Key recovered: "+ recoveredX509Key.getP12Data());
+ } catch (RequestNotFoundException e) {
+ log("Error: recovering X509Key");
+ }
}
private static void log(String string) {