diff options
Diffstat (limited to 'lib/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java')
-rw-r--r-- | lib/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/lib/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java b/lib/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java index d5bb112..3acde25 100644 --- a/lib/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java +++ b/lib/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java @@ -1,10 +1,10 @@ /** * */ -package com.trilead.ssh2.crypto.dh;
-
+package com.trilead.ssh2.crypto.dh; + import java.io.IOException; -import java.math.BigInteger;
+import java.math.BigInteger; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.KeyFactory; @@ -18,15 +18,15 @@ import javax.crypto.interfaces.DHPrivateKey; import javax.crypto.interfaces.DHPublicKey; import javax.crypto.spec.DHParameterSpec; import javax.crypto.spec.DHPublicKeySpec; -
-/**
+ +/** * @author kenny * - */
+ */ public class DhExchange extends GenericDhExchange { -
- /* Given by the standard */
-
+ + /* Given by the standard */ + private static final BigInteger P1 = new BigInteger( "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" @@ -49,14 +49,14 @@ public class DhExchange extends GenericDhExchange { + "15728E5A8AACAA68FFFFFFFFFFFFFFFF", 16); private static final BigInteger G = BigInteger.valueOf(2); -
- /* Client public and private */
-
+ + /* Client public and private */ + private DHPrivateKey clientPrivate; private DHPublicKey clientPublic; -
- /* Server public */
-
+ + /* Server public */ + private DHPublicKey serverPublic; @Override @@ -81,24 +81,24 @@ public class DhExchange extends GenericDhExchange { } catch (InvalidAlgorithmParameterException e) { throw (IOException) new IOException("Invalid DH parameters").initCause(e); } - }
-
+ } + @Override public byte[] getE() { if (clientPublic == null) throw new IllegalStateException("DhExchange not initialized!"); -
+ return clientPublic.getY().toByteArray(); - }
-
+ } + @Override protected byte[] getServerE() { if (serverPublic == null) throw new IllegalStateException("DhExchange not initialized!"); -
+ return serverPublic.getY().toByteArray(); - }
-
+ } + @Override public void setF(byte[] f) throws IOException { if (clientPublic == null) @@ -120,13 +120,13 @@ public class DhExchange extends GenericDhExchange { throw (IOException) new IOException("Invalid DH key").initCause(e); } catch (InvalidKeySpecException e) { throw (IOException) new IOException("Invalid DH key").initCause(e); - }
-
+ } + sharedSecret = new BigInteger(ka.generateSecret()); } -
+ @Override public String getHashAlgo() { return "SHA1"; - }
-}
+ } +} |