# HG changeset patch # User Carl Byington # Date 1406762729 25200 # Node ID d85bc45139f2a06476ec536c48a2e9f44d2c3fb7 # Parent 1d400fd78e4aeaedff57c4084d7c245d072a9e5f add ecdsa key support everywhere diff -r 1d400fd78e4a -r d85bc45139f2 src/ch/ethz/ssh2/crypto/dh/GenericDhExchange.java --- a/src/ch/ethz/ssh2/crypto/dh/GenericDhExchange.java Wed Jul 30 16:19:33 2014 -0700 +++ b/src/ch/ethz/ssh2/crypto/dh/GenericDhExchange.java Wed Jul 30 16:25:29 2014 -0700 @@ -42,6 +42,10 @@ */ public abstract byte[] getE(); + public setE(BigInteger e) throws IOException { + throw IOException; + } + /** * @return Returns the server's e (public value) * @throws IllegalStateException diff -r 1d400fd78e4a -r d85bc45139f2 src/ch/ethz/ssh2/transport/ClientKexManager.java --- a/src/ch/ethz/ssh2/transport/ClientKexManager.java Wed Jul 30 16:19:33 2014 -0700 +++ b/src/ch/ethz/ssh2/transport/ClientKexManager.java Wed Jul 30 16:25:29 2014 -0700 @@ -297,7 +297,7 @@ } kxs.dhx.setF(dhr.getF().toByteArray()); try { - kxs.H = kxs.dhx.calculateH(kxs.hashAlgo, csh.getClientString(), csh.getServerString(), kxs.localKEX.getPayload(), + kxs.H = kxs.dhx.calculateH(csh.getClientString(), csh.getServerString(), kxs.localKEX.getPayload(), kxs.remoteKEX.getPayload(), dhr.getHostKey()); } catch(IllegalArgumentException e) { diff -r 1d400fd78e4a -r d85bc45139f2 src/ch/ethz/ssh2/transport/ServerKexManager.java --- a/src/ch/ethz/ssh2/transport/ServerKexManager.java Wed Jul 30 16:19:33 2014 -0700 +++ b/src/ch/ethz/ssh2/transport/ServerKexManager.java Wed Jul 30 16:25:29 2014 -0700 @@ -218,7 +218,7 @@ signature = DSASHA1Verify.encodeSSHDSASignature(ds); } - PacketKexDHReply dhr = new PacketKexDHReply(hostKey, kxs.dhx.getF(), signature); + PacketKexDHReply dhr = new PacketKexDHReply(hostKey, new BigInteger(kxs.dhx.getF()), signature); tm.sendKexMessage(dhr.getPayload()); finishKex(false);