aboutsummaryrefslogtreecommitdiffstats
path: root/sshlib/src/main/java/com/trilead/ssh2/transport
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2016-01-23 15:44:40 -0800
committerKenny Root <kenny@the-b.org>2016-01-24 11:09:00 -0800
commit0bcb82c407b334b6c3dd0e243cabcfa2913a2f5a (patch)
tree0917dd41541f03cb604933d4504a6f87302d0a15 /sshlib/src/main/java/com/trilead/ssh2/transport
parenta905a351a1480f121e75e065549ad7b1b5b4c862 (diff)
downloadsshlib-0bcb82c407b334b6c3dd0e243cabcfa2913a2f5a.tar.gz
sshlib-0bcb82c407b334b6c3dd0e243cabcfa2913a2f5a.tar.bz2
sshlib-0bcb82c407b334b6c3dd0e243cabcfa2913a2f5a.zip
Add curve25519-sha256@libssh.org exchange method
Diffstat (limited to 'sshlib/src/main/java/com/trilead/ssh2/transport')
-rw-r--r--sshlib/src/main/java/com/trilead/ssh2/transport/KexManager.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/sshlib/src/main/java/com/trilead/ssh2/transport/KexManager.java b/sshlib/src/main/java/com/trilead/ssh2/transport/KexManager.java
index ee0784a..741268b 100644
--- a/sshlib/src/main/java/com/trilead/ssh2/transport/KexManager.java
+++ b/sshlib/src/main/java/com/trilead/ssh2/transport/KexManager.java
@@ -21,6 +21,7 @@ import com.trilead.ssh2.crypto.CryptoWishList;
import com.trilead.ssh2.crypto.KeyMaterial;
import com.trilead.ssh2.crypto.cipher.BlockCipher;
import com.trilead.ssh2.crypto.cipher.BlockCipherFactory;
+import com.trilead.ssh2.crypto.dh.Curve25519Exchange;
import com.trilead.ssh2.crypto.dh.DhGroupExchange;
import com.trilead.ssh2.crypto.dh.GenericDhExchange;
import com.trilead.ssh2.crypto.digest.MAC;
@@ -75,6 +76,7 @@ public class KexManager
private static final Set<String> KEX_ALGS = new LinkedHashSet<String>();
static {
+ KEX_ALGS.add(Curve25519Exchange.NAME);
if (supportsEc) {
KEX_ALGS.add("ecdh-sha2-nistp256");
KEX_ALGS.add("ecdh-sha2-nistp384");
@@ -495,7 +497,8 @@ public class KexManager
|| kxs.np.kex_algo.equals("diffie-hellman-group14-sha1")
|| kxs.np.kex_algo.equals("ecdh-sha2-nistp256")
|| kxs.np.kex_algo.equals("ecdh-sha2-nistp384")
- || kxs.np.kex_algo.equals("ecdh-sha2-nistp521")) {
+ || kxs.np.kex_algo.equals("ecdh-sha2-nistp521")
+ || kxs.np.kex_algo.equals(Curve25519Exchange.NAME)) {
kxs.dhx = GenericDhExchange.getInstance(kxs.np.kex_algo);
kxs.dhx.init(kxs.np.kex_algo);
@@ -633,7 +636,8 @@ public class KexManager
|| kxs.np.kex_algo.equals("diffie-hellman-group14-sha1")
|| kxs.np.kex_algo.equals("ecdh-sha2-nistp256")
|| kxs.np.kex_algo.equals("ecdh-sha2-nistp384")
- || kxs.np.kex_algo.equals("ecdh-sha2-nistp521"))
+ || kxs.np.kex_algo.equals("ecdh-sha2-nistp521")
+ || kxs.np.kex_algo.equals(Curve25519Exchange.NAME))
{
if (kxs.state == 1)
{