You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2015/10/14 06:09:25 UTC

karaf git commit: [KARAF-4062]Karaf client does now work after installing BouncyCastle

Repository: karaf
Updated Branches:
  refs/heads/master d784a9bd1 -> 539540cde


[KARAF-4062]Karaf client does now work after installing BouncyCastle


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/539540cd
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/539540cd
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/539540cd

Branch: refs/heads/master
Commit: 539540cde099aee52fd523a09aca92e36522261c
Parents: d784a9b
Author: Freeman Fang <fr...@gmail.com>
Authored: Wed Oct 14 12:09:09 2015 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Wed Oct 14 12:09:09 2015 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/karaf/client/Main.java | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/539540cd/client/src/main/java/org/apache/karaf/client/Main.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/karaf/client/Main.java b/client/src/main/java/org/apache/karaf/client/Main.java
index 3fe2e1f..31b7c2f 100644
--- a/client/src/main/java/org/apache/karaf/client/Main.java
+++ b/client/src/main/java/org/apache/karaf/client/Main.java
@@ -24,6 +24,7 @@ import java.lang.reflect.Proxy;
 import java.net.URL;
 import java.security.KeyPair;
 import java.nio.charset.Charset;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -38,6 +39,7 @@ import jline.UnixTerminal;
 import jline.internal.TerminalLineSettings;
 import org.apache.sshd.ClientChannel;
 import org.apache.sshd.ClientSession;
+import org.apache.sshd.SshBuilder;
 import org.apache.sshd.SshClient;
 import org.apache.sshd.agent.SshAgent;
 import org.apache.sshd.agent.local.AgentImpl;
@@ -46,6 +48,11 @@ import org.apache.sshd.client.UserInteraction;
 import org.apache.sshd.client.channel.ChannelShell;
 import org.apache.sshd.client.channel.PtyCapableChannelSession;
 import org.apache.sshd.client.future.ConnectFuture;
+import org.apache.sshd.client.kex.ECDHP256;
+import org.apache.sshd.client.kex.ECDHP384;
+import org.apache.sshd.client.kex.ECDHP521;
+import org.apache.sshd.common.KeyExchange;
+import org.apache.sshd.common.NamedFactory;
 import org.apache.sshd.common.PtyMode;
 import org.apache.sshd.common.RuntimeSshException;
 import org.apache.sshd.common.Session;
@@ -90,7 +97,18 @@ public class Main {
         Terminal terminal = null;
         int exitStatus = 0;
         try {
-            client = SshClient.setUpDefaultClient();
+            SshBuilder.ClientBuilder clientBuilder = SshBuilder.client();
+            clientBuilder.keyExchangeFactories(Arrays.<NamedFactory<KeyExchange>>asList(
+                     new ECDHP256.Factory(),
+                     new ECDHP256.Factory(),
+                     new ECDHP384.Factory(),
+                     new ECDHP384.Factory(),
+                     new ECDHP521.Factory(),
+                     new ECDHP521.Factory()
+                     )
+                );
+
+            client = (SshClient)clientBuilder.build();
             setupAgent(config.getUser(), config.getKeyFile(), client);
             final Console console = System.console();
             if (console != null) {