com.sshtools.jce
Class DiffieHellmanGroup14Sha1
java.lang.Object
com.maverick.ssh2.SshKeyExchange
com.sshtools.jce.DiffieHellmanGroup14Sha1
- public class DiffieHellmanGroup14Sha1
- extends SshKeyExchange
An implementation of the diffie-hellman-group1-sha1 key exchange mechanism that
uses JCE provider for DH agreement and Digest.
- Author:
- Lee David Painter
Method Summary |
protected void |
calculateExchangeHash()
Calculates the exchange hash as an SHA1 hash of the following data. |
java.lang.String |
getAlgorithm()
Get the key exchange algorithm name. |
boolean |
isKeyExchangeMessage(int messageid)
|
void |
performClientExchange(java.lang.String clientIdentification,
java.lang.String serverIdentification,
byte[] clientKexInit,
byte[] serverKexInit)
Overide to perform the client side key exchange. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DIFFIE_HELLMAN_GROUP14_SHA1
public static final java.lang.String DIFFIE_HELLMAN_GROUP14_SHA1
- See Also:
- Constant Field Values
DiffieHellmanGroup14Sha1
public DiffieHellmanGroup14Sha1()
performClientExchange
public void performClientExchange(java.lang.String clientIdentification,
java.lang.String serverIdentification,
byte[] clientKexInit,
byte[] serverKexInit)
throws SshException
- Description copied from class:
SshKeyExchange
- Overide to perform the client side key exchange. The implementation should
not return until all messages have been sent.
- Specified by:
performClientExchange
in class SshKeyExchange
- Parameters:
clientIdentification
- serverIdentification
- clientKexInit
- serverKexInit
-
- Throws:
SshException
calculateExchangeHash
protected void calculateExchangeHash()
throws SshException
Calculates the exchange hash as an SHA1 hash of the following data.
String the client's version string (CR and NL excluded)
String the server's version string (CR and NL excluded)
String the payload of the client's SSH_MSG_KEXINIT
String the payload of the server's SSH_MSG_KEXINIT
String the host key
BigInteger e, exchange value sent by the client
BigInteger f, exchange value sent by the server
BigInteger K, the shared secret
- Throws:
java.io.IOException
SshException
getAlgorithm
public java.lang.String getAlgorithm()
- Description copied from class:
SshKeyExchange
- Get the key exchange algorithm name.
- Specified by:
getAlgorithm
in class SshKeyExchange
- Returns:
- the key exchange algorithm.
isKeyExchangeMessage
public boolean isKeyExchangeMessage(int messageid)
- Specified by:
isKeyExchangeMessage
in class SshKeyExchange
Copyright © 2003 3SP LTD. All Rights Reserved.