com.sshtools.j2ssh.agent
Class SshAgentConnection

java.lang.Object
  extended by com.sshtools.j2ssh.agent.SshAgentConnection
All Implemented Interfaces:
java.lang.Runnable

public class SshAgentConnection
extends java.lang.Object
implements java.lang.Runnable

This class provides a connection using the SSH agent protocol.

Version:
$Revision: 1.14 $
Author:
$author$

Method Summary
protected  void onAddKey(com.sshtools.j2ssh.agent.SshAgentAddKey msg)
          Called when the remote side adds a key the agent.
protected  void onDeleteAllKeys(com.sshtools.j2ssh.agent.SshAgentDeleteAllKeys msg)
          Called when the remote side requests that all keys be removed from the agent.
protected  void onDeleteKey(com.sshtools.j2ssh.agent.SshAgentDeleteKey msg)
          Called by the remote side to delete a key from the agent
protected  void onForwardingNotice(com.sshtools.j2ssh.agent.SshAgentForwardingNotice msg)
          Called when a forwarding notice is recceived from the remote side.
protected  void onListKeys(com.sshtools.j2ssh.agent.SshAgentListKeys msg)
          Called by the remote side when a list of the agents keys is required
protected  void onLock(com.sshtools.j2ssh.agent.SshAgentLock msg)
          Called by the remote side when the agent is to be locked
protected  void onMessageReceived(byte[] msgdata)
          Process a message and route to the handler method
protected  void onPing(com.sshtools.j2ssh.agent.SshAgentPing msg)
          Called when a ping message is received
protected  void onPrivateKeyOp(com.sshtools.j2ssh.agent.SshAgentPrivateKeyOp msg)
          Called by the remote side to initiate a private key operation.
protected  void onRandom(com.sshtools.j2ssh.agent.SshAgentRandom msg)
          Called when the remote side sends a random message
protected  void onRequestVersion(com.sshtools.j2ssh.agent.SshAgentRequestVersion msg)
          Called when the remote side requests the version number of this protocol.
protected  void onUnlock(com.sshtools.j2ssh.agent.SshAgentUnlock msg)
          Called by the remote side when the agent is to be unlocked
 void run()
          The connection thread
protected  void sendAgentAlive(byte[] padding)
          Send the agent alive message.
protected  void sendAgentFailure(int errorcode)
          Send a failure message
protected  void sendAgentKeyList()
          Send the agents key list to the remote side.
protected  void sendAgentSuccess()
          Send a success message.
protected  void sendMessage(SubsystemMessage msg)
          Sends a subsystem message.
protected  void sendOperationComplete(byte[] data)
          Send the completed signing operation data.
protected  void sendRandomData(byte[] data)
          Send some random data to the remote side.
protected  void sendVersionResponse()
          Send the version response; this class currently implements version 2
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

sendAgentSuccess

protected void sendAgentSuccess()
                         throws java.io.IOException
Send a success message.

Throws:
java.io.IOException - if an IO error occurs

sendAgentFailure

protected void sendAgentFailure(int errorcode)
                         throws java.io.IOException
Send a failure message

Parameters:
errorcode - the error code of the failure
Throws:
java.io.IOException - if an IO error occurs

sendVersionResponse

protected void sendVersionResponse()
                            throws java.io.IOException
Send the version response; this class currently implements version 2

Throws:
java.io.IOException - if an IO error occurs

sendAgentKeyList

protected void sendAgentKeyList()
                         throws java.io.IOException
Send the agents key list to the remote side. This supplies all the public keys.

Throws:
java.io.IOException - if an IO error occurs

sendOperationComplete

protected void sendOperationComplete(byte[] data)
                              throws java.io.IOException
Send the completed signing operation data.

Parameters:
data - the data generating from the signing operation
Throws:
java.io.IOException - if an IO error occurs

sendRandomData

protected void sendRandomData(byte[] data)
                       throws java.io.IOException
Send some random data to the remote side.

Parameters:
data - some random data
Throws:
java.io.IOException - if an IO error occurs

sendAgentAlive

protected void sendAgentAlive(byte[] padding)
                       throws java.io.IOException
Send the agent alive message. This is sent to test whether the agent is still active

Parameters:
padding - some random padding for the message
Throws:
java.io.IOException - if an IO error occurs

sendMessage

protected void sendMessage(SubsystemMessage msg)
                    throws java.io.IOException
Sends a subsystem message.

Parameters:
msg - the subsystem message to send
Throws:
java.io.IOException - if an IO error occurs

onForwardingNotice

protected void onForwardingNotice(com.sshtools.j2ssh.agent.SshAgentForwardingNotice msg)
Called when a forwarding notice is recceived from the remote side.

Parameters:
msg - the forwarding notice

onRequestVersion

protected void onRequestVersion(com.sshtools.j2ssh.agent.SshAgentRequestVersion msg)
                         throws java.io.IOException
Called when the remote side requests the version number of this protocol.

Parameters:
msg - the version request message
Throws:
java.io.IOException - if an IO error occurs

onAddKey

protected void onAddKey(com.sshtools.j2ssh.agent.SshAgentAddKey msg)
                 throws java.io.IOException
Called when the remote side adds a key the agent.

Parameters:
msg - the message containing the key
Throws:
java.io.IOException - if an IO error occurs

onDeleteAllKeys

protected void onDeleteAllKeys(com.sshtools.j2ssh.agent.SshAgentDeleteAllKeys msg)
                        throws java.io.IOException
Called when the remote side requests that all keys be removed from the agent.

Parameters:
msg - the delete all keys message
Throws:
java.io.IOException - if an IO error occurs

onListKeys

protected void onListKeys(com.sshtools.j2ssh.agent.SshAgentListKeys msg)
                   throws java.io.IOException
Called by the remote side when a list of the agents keys is required

Parameters:
msg - the list all keys message
Throws:
java.io.IOException - if an IO error occurs

onPrivateKeyOp

protected void onPrivateKeyOp(com.sshtools.j2ssh.agent.SshAgentPrivateKeyOp msg)
                       throws java.io.IOException
Called by the remote side to initiate a private key operation.

Parameters:
msg - the private key operation message
Throws:
java.io.IOException - if an IO error occurs

onDeleteKey

protected void onDeleteKey(com.sshtools.j2ssh.agent.SshAgentDeleteKey msg)
                    throws java.io.IOException
Called by the remote side to delete a key from the agent

Parameters:
msg - the message containin the key to delete
Throws:
java.io.IOException - if an IO error occurs

onLock

protected void onLock(com.sshtools.j2ssh.agent.SshAgentLock msg)
               throws java.io.IOException
Called by the remote side when the agent is to be locked

Parameters:
msg - the message containing a password
Throws:
java.io.IOException - if an IO error occurs

onUnlock

protected void onUnlock(com.sshtools.j2ssh.agent.SshAgentUnlock msg)
                 throws java.io.IOException
Called by the remote side when the agent is to be unlocked

Parameters:
msg - the message containin the password
Throws:
java.io.IOException - if an IO error occurs

onPing

protected void onPing(com.sshtools.j2ssh.agent.SshAgentPing msg)
               throws java.io.IOException
Called when a ping message is received

Parameters:
msg - the ping message containing some padding
Throws:
java.io.IOException - if an IO error occurs

onRandom

protected void onRandom(com.sshtools.j2ssh.agent.SshAgentRandom msg)
                 throws java.io.IOException
Called when the remote side sends a random message

Parameters:
msg - the random message
Throws:
java.io.IOException - if an IO error occurs

run

public void run()
The connection thread

Specified by:
run in interface java.lang.Runnable

onMessageReceived

protected void onMessageReceived(byte[] msgdata)
                          throws java.io.IOException
Process a message and route to the handler method

Parameters:
msgdata - the raw message received
Throws:
java.io.IOException - if an IO error occurs


Copyright © 2002-2003 Lee David Painter & Contributors. All Rights Reserved.