diff options
author | Andrew Wnuk <awnuk@redhat.com> | 2013-11-15 18:35:01 -0800 |
---|---|---|
committer | Andrew Wnuk <awnuk@redhat.com> | 2013-11-18 14:29:22 -0800 |
commit | 3e413200912690b4680f65efc2c9dc11f3a18fab (patch) | |
tree | be4ade39c3f3ba5370fabd2dfaf63228c9007d14 /base/common/src/com/netscape/certsrv/kra | |
parent | 7893dac9736701f4e6bd518328e24c0fa5e83ef3 (diff) | |
download | pki-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.java | 22 |
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; + } } |