com.mindbright.ssh2
Class SSH2AuthHostBased

java.lang.Object
  extended by com.mindbright.ssh2.SSH2AuthHostBased
All Implemented Interfaces:
SSH2AuthModule

public class SSH2AuthHostBased
extends java.lang.Object
implements SSH2AuthModule

This class implements a module for publickey authentication as defined in the userauth protocol spec. It uses the interface SSH2PKISigner to access an abstract PKI signing mechanism (e.g. implemented with simple file based public/private keys without certificates).

See Also:
SSH2AuthModule, SSH2PKISigner

Field Summary
static java.lang.String STANDARD_NAME
           
 
Constructor Summary
SSH2AuthHostBased(SSH2PKISigner signer)
           
 
Method Summary
 void clearSensitiveData()
          Clean up any sensitive data in this authentication module.
protected  SSH2PKISigner getSigner()
           
 java.lang.String getStandardName()
          Should give the standard name of this module as used in the userauth protocol.
 SSH2TransportPDU processMethodMessage(SSH2UserAuth userAuth, SSH2TransportPDU pdu)
          Processes the given method specific packet and returns a new packet which will be sent to peer to continue the authentication.
 boolean retryPointless()
          Returns true if there is not any point in trying this method again after it has failed once.
 SSH2TransportPDU startAuthentication(SSH2UserAuth userAuth)
          Starts the execution of this module, called from the given SSH2UserAuth.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STANDARD_NAME

public static final java.lang.String STANDARD_NAME
See Also:
Constant Field Values
Constructor Detail

SSH2AuthHostBased

public SSH2AuthHostBased(SSH2PKISigner signer)
Method Detail

getSigner

protected SSH2PKISigner getSigner()

getStandardName

public java.lang.String getStandardName()
Description copied from interface: SSH2AuthModule
Should give the standard name of this module as used in the userauth protocol.

Specified by:
getStandardName in interface SSH2AuthModule
Returns:
the standard name of the module

processMethodMessage

public SSH2TransportPDU processMethodMessage(SSH2UserAuth userAuth,
                                             SSH2TransportPDU pdu)
                                      throws SSH2Exception
Description copied from interface: SSH2AuthModule
Processes the given method specific packet and returns a new packet which will be sent to peer to continue the authentication.

Specified by:
processMethodMessage in interface SSH2AuthModule
Parameters:
userAuth - the authentication layer responsible
pdu - the method specific packet
Returns:
the new packet to send to peer, or null if no packet should be sent.
Throws:
SSH2Exception - if an error occurs

startAuthentication

public SSH2TransportPDU startAuthentication(SSH2UserAuth userAuth)
                                     throws SSH2SignatureException
Description copied from interface: SSH2AuthModule
Starts the execution of this module, called from the given SSH2UserAuth.

Specified by:
startAuthentication in interface SSH2AuthModule
Parameters:
userAuth - the authentication layer responsible
Returns:
the packet which starts this authentication method (i.e. when sent to peer)
Throws:
SSH2SignatureException

clearSensitiveData

public void clearSensitiveData()
Description copied from interface: SSH2AuthModule
Clean up any sensitive data in this authentication module. This should be called once the authentication is done.

Specified by:
clearSensitiveData in interface SSH2AuthModule

retryPointless

public boolean retryPointless()
Description copied from interface: SSH2AuthModule
Returns true if there is not any point in trying this method again after it has failed once.

Specified by:
retryPointless in interface SSH2AuthModule