com.maverick.sshd
Class KeyboardInteractiveAuthentication

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

public class KeyboardInteractiveAuthentication
extends 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
 String getMethod()
          Return the SSH method name for this authentication.
 AuthenticationProvider getProvider()
           
 byte[] getSessionid()
           
 TransportProtocol getTransport()
           
 void init(TransportProtocol transport, AuthenticationProtocol authentication)
          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(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

getMethod

public 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

getProvider

public AuthenticationProvider getProvider()

init

public void init(TransportProtocol transport,
                 AuthenticationProtocol authentication)
          throws 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
Throws:
IOException

getTransport

public TransportProtocol getTransport()

getSessionid

public byte[] getSessionid()

processMessage

public boolean processMessage(byte[] msg)
                       throws 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:
IOException

startRequest

public boolean startRequest(String username,
                            byte[] msg)
                     throws 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:
IOException


Copyright © 2012. All Rights Reserved.