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) {