summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/certsrv/kra
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/common/src/com/netscape/certsrv/kra
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/common/src/com/netscape/certsrv/kra')
-rw-r--r--base/common/src/com/netscape/certsrv/kra/KRAClient.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/certsrv/kra/KRAClient.java b/base/common/src/com/netscape/certsrv/kra/KRAClient.java
index 21f1a957d..81d600c33 100644
--- a/base/common/src/com/netscape/certsrv/kra/KRAClient.java
+++ b/base/common/src/com/netscape/certsrv/kra/KRAClient.java
@@ -144,4 +144,26 @@ public class KRAClient extends SubsystemClient {
public KeyRequestInfo getRequest(RequestId id) {
return keyRequestClient.getRequestInfo(id);
}
+
+ public RequestId 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>)
+ keyRequestClient.recoverKey(data);
+ return client.getEntity(response).getRequestId();
+ }
+
+ public KeyData recoverKey(RequestId requestId, String passphrase) {
+ // recover key based on approved request
+ KeyRecoveryRequest data = new KeyRecoveryRequest();
+ data.setRequestId(requestId);
+ data.setPassphrase(passphrase);
+
+ KeyData key = keyClient.retrieveKey(data);
+ return key;
+ }
}