Repository: karaf Updated Branches: refs/heads/master 6b160e852 -> d00f282b6
Cache keypair Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/45731559 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/45731559 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/45731559 Branch: refs/heads/master Commit: 45731559f516a3ca759ab5f322c80274f8daf2eb Parents: 6b160e8 Author: Christian Schneider <[email protected]> Authored: Fri Aug 4 17:42:55 2017 +0200 Committer: Christian Schneider <[email protected]> Committed: Fri Aug 4 17:42:55 2017 +0200 ---------------------------------------------------------------------- .../karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java | 5 +++++ 1 file changed, 5 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/45731559/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java ---------------------------------------------------------------------- diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java index 43728a3..df3e025 100644 --- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java +++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java @@ -32,6 +32,7 @@ import org.apache.sshd.common.keyprovider.AbstractKeyPairProvider; public class OpenSSHKeyPairProvider extends AbstractKeyPairProvider { private File keyFile; private String password; + private KeyPair cachedKey; public OpenSSHKeyPairProvider(File keyFile) { this.keyFile = keyFile; @@ -39,8 +40,12 @@ public class OpenSSHKeyPairProvider extends AbstractKeyPairProvider { @Override public Iterable<KeyPair> loadKeys() { + if (cachedKey != null) { + return singleton(cachedKey); + } try (FileInputStream is = new FileInputStream(keyFile)) { KeyPair kp = getKeyPair(is); + cachedKey = kp; return singleton(kp); } catch (Exception e) { throw new RuntimeException(e);
