com.sshtools.j2ssh.transport.kex
Class SshKeyExchange

java.lang.Object
  extended bycom.sshtools.j2ssh.transport.kex.SshKeyExchange
Direct Known Subclasses:
DhGroup1Sha1

public abstract class SshKeyExchange
extends java.lang.Object

DOCUMENT ME!


Field Summary
protected  byte[] exchangeHash
          DOCUMENT ME!
protected  byte[] hostKey
          DOCUMENT ME!
protected  SshMessageStore messageStore
          DOCUMENT ME!
protected  java.math.BigInteger secret
          DOCUMENT ME!
protected  byte[] signature
          DOCUMENT ME!
protected  TransportProtocol transport
          DOCUMENT ME!
 
Constructor Summary
SshKeyExchange()
          Creates a new SshKeyExchange object.
 
Method Summary
 byte[] getExchangeHash()
          DOCUMENT ME!
 byte[] getHostKey()
          DOCUMENT ME!
 java.math.BigInteger getSecret()
          DOCUMENT ME!
 byte[] getSignature()
          DOCUMENT ME!
 void init(TransportProtocol transport)
          DOCUMENT ME!
protected abstract  void onInit()
          DOCUMENT ME!
abstract  void performClientExchange(java.lang.String clientId, java.lang.String serverId, byte[] clientKexInit, byte[] serverKexInit)
          DOCUMENT ME!
abstract  void performServerExchange(java.lang.String clientId, java.lang.String serverId, byte[] clientKexInit, byte[] serverKexInit, SshPrivateKey prvkey)
          DOCUMENT ME!
 void reset()
          DOCUMENT ME!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

secret

protected java.math.BigInteger secret
DOCUMENT ME!


messageStore

protected SshMessageStore messageStore
DOCUMENT ME!


exchangeHash

protected byte[] exchangeHash
DOCUMENT ME!


hostKey

protected byte[] hostKey
DOCUMENT ME!


signature

protected byte[] signature
DOCUMENT ME!


transport

protected TransportProtocol transport
DOCUMENT ME!

Constructor Detail

SshKeyExchange

public SshKeyExchange()
Creates a new SshKeyExchange object.

Method Detail

getExchangeHash

public byte[] getExchangeHash()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getHostKey

public byte[] getHostKey()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getSecret

public java.math.BigInteger getSecret()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getSignature

public byte[] getSignature()
DOCUMENT ME!

Returns:
DOCUMENT ME!

init

public void init(TransportProtocol transport)
          throws java.io.IOException
DOCUMENT ME!

Parameters:
transport - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!

onInit

protected abstract void onInit()
                        throws java.io.IOException
DOCUMENT ME!

Throws:
java.io.IOException - DOCUMENT ME!

performClientExchange

public abstract void performClientExchange(java.lang.String clientId,
                                           java.lang.String serverId,
                                           byte[] clientKexInit,
                                           byte[] serverKexInit)
                                    throws java.io.IOException
DOCUMENT ME!

Parameters:
clientId - DOCUMENT ME!
serverId - DOCUMENT ME!
clientKexInit - DOCUMENT ME!
serverKexInit - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!

performServerExchange

public abstract void performServerExchange(java.lang.String clientId,
                                           java.lang.String serverId,
                                           byte[] clientKexInit,
                                           byte[] serverKexInit,
                                           SshPrivateKey prvkey)
                                    throws java.io.IOException
DOCUMENT ME!

Parameters:
clientId - DOCUMENT ME!
serverId - DOCUMENT ME!
clientKexInit - DOCUMENT ME!
serverKexInit - DOCUMENT ME!
prvkey - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!

reset

public void reset()
DOCUMENT ME!