com.mindbright.ssh2
Class SSH2AuthKbdInteract

java.lang.Object
  extended bycom.mindbright.ssh2.SSH2AuthKbdInteract
All Implemented Interfaces:
SSH2AuthModule

public class SSH2AuthKbdInteract
extends java.lang.Object
implements SSH2AuthModule

This class implements a module for keyboard-interactive authentication as defined in the auth-kbdinteract protocol spec. It uses the interface SSH2Interactor for all interactions generated in the authentication process. The keyboard-interactive method is suitable for any authentication mechanism where the user enters authentication data via the keyboard (e.g. SecurID and CryptoCard). No specifics about the authentication mechanism is needed in the authentication module itself making it a very flexible way of authentication.

See Also:
SSH2AuthModule, SSH2Interactor

Field Summary
static java.lang.String STANDARD_NAME
           
 
Constructor Summary
SSH2AuthKbdInteract(SSH2Interactor interactor)
           
SSH2AuthKbdInteract(SSH2Interactor interactor, java.lang.String language, java.lang.String submethods)
           
 
Method Summary
 void clearSensitiveData()
          Clean up any sensitive data in this authentication module.
 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

SSH2AuthKbdInteract

public SSH2AuthKbdInteract(SSH2Interactor interactor)

SSH2AuthKbdInteract

public SSH2AuthKbdInteract(SSH2Interactor interactor,
                           java.lang.String language,
                           java.lang.String submethods)
Method Detail

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 SSH2UserCancelException
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:
SSH2UserCancelException

startAuthentication

public SSH2TransportPDU startAuthentication(SSH2UserAuth userAuth)
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)

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