com.maverick.sshd
Class KeyboardInteractiveAuthentication

java.lang.Object
  extended by com.maverick.sshd.KeyboardInteractiveAuthentication
All Implemented Interfaces:
AuthenticationMechanism

public class KeyboardInteractiveAuthentication
extends java.lang.Object
implements AuthenticationMechanism


Field Summary
protected  byte[] sessionid
           
static int SSH_MSG_USERAUTH_INFO_REQUEST
           
static int SSH_MSG_USERAUTH_INFO_RESPONSE
           
 
Constructor Summary
KeyboardInteractiveAuthentication()
           
 
Method Summary
 java.lang.String getMethod()
          Return the SSH method name for this authentication.
 AuthenticationProvider getProvider()
           
 byte[] getSessionid()
           
 TransportProtocol getTransport()
           
 void init(TransportProtocol transport, AuthenticationProtocol authentication, byte[] sessionid)
          Initializes the mechanism with variables.
 boolean processMessage(byte[] msg)
          If the SSH protocol authentication method defines additional messages which are sent from the client, they will be passed into your implementation here when received.
 boolean startRequest(java.lang.String username, byte[] msg)
          Start an authentication transaction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SSH_MSG_USERAUTH_INFO_REQUEST

public static final int SSH_MSG_USERAUTH_INFO_REQUEST
See Also:
Constant Field Values

SSH_MSG_USERAUTH_INFO_RESPONSE

public static final int SSH_MSG_USERAUTH_INFO_RESPONSE
See Also:
Constant Field Values

sessionid

protected byte[] sessionid
Constructor Detail

KeyboardInteractiveAuthentication

public KeyboardInteractiveAuthentication()
Method Detail

getProvider

public AuthenticationProvider getProvider()

getMethod

public java.lang.String getMethod()
Description copied from interface: AuthenticationMechanism
Return the SSH method name for this authentication. e.g "password"

Specified by:
getMethod in interface AuthenticationMechanism
Returns:
String

init

public void init(TransportProtocol transport,
                 AuthenticationProtocol authentication,
                 byte[] sessionid)
          throws java.io.IOException
Description copied from interface: AuthenticationMechanism
Initializes the mechanism with variables.

Specified by:
init in interface AuthenticationMechanism
Parameters:
transport - the transport protocol
authentication - the authentication protocol
sessionid - the id of the current session.
Throws:
java.io.IOException

getTransport

public TransportProtocol getTransport()

getSessionid

public byte[] getSessionid()

processMessage

public boolean processMessage(byte[] msg)
                       throws java.io.IOException
Description copied from interface: AuthenticationMechanism
If the SSH protocol authentication method defines additional messages which are sent from the client, they will be passed into your implementation here when received.

Specified by:
processMessage in interface AuthenticationMechanism
Returns:
boolean
Throws:
java.io.IOException

startRequest

public boolean startRequest(java.lang.String username,
                            byte[] msg)
                     throws java.io.IOException
Description copied from interface: AuthenticationMechanism
Start an authentication transaction. If the authentication mechanism is simple and you can determine the result from all information received in the SSH_MSG_USERAUTH_REQUEST message, you should call the approriate completion methods on the AuthenticationProtocol instance that was passed in the initialization process. The request data varies according to the authentication method.
 if (success)
   authentication.completedAuthentication(method, username, service);
 else
   authentication.failedAuthentication(method);
 

Specified by:
startRequest in interface AuthenticationMechanism
msg - the request data from the SSH_MSG_USERAUTH_REQUEST message
Returns:
true if the message was processed, otherwise false
Throws:
java.io.IOException


Copyright © 2003-2008 SSHTools LTD. All Rights Reserved.