jcifs.ntlmssp

Class Type3Message

Implemented Interfaces:
NtlmFlags

public class Type3Message
extends NtlmMessage

Represents an NTLMSSP Type-3 message.

Field Summary

Fields inherited from class jcifs.ntlmssp.NtlmMessage

NTLMSSP_SIGNATURE

Fields inherited from interface jcifs.ntlmssp.NtlmFlags

NTLMSSP_NEGOTIATE_128, NTLMSSP_NEGOTIATE_56, NTLMSSP_NEGOTIATE_ALWAYS_SIGN, NTLMSSP_NEGOTIATE_DATAGRAM_STYLE, NTLMSSP_NEGOTIATE_KEY_EXCH, NTLMSSP_NEGOTIATE_LM_KEY, NTLMSSP_NEGOTIATE_LOCAL_CALL, NTLMSSP_NEGOTIATE_NETWARE, NTLMSSP_NEGOTIATE_NTLM, NTLMSSP_NEGOTIATE_NTLM2, NTLMSSP_NEGOTIATE_OEM, NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED, NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED, NTLMSSP_NEGOTIATE_SEAL, NTLMSSP_NEGOTIATE_SIGN, NTLMSSP_NEGOTIATE_TARGET_INFO, NTLMSSP_NEGOTIATE_UNICODE, NTLMSSP_REQUEST_ACCEPT_RESPONSE, NTLMSSP_REQUEST_INIT_RESPONSE, NTLMSSP_REQUEST_NON_NT_SESSION_KEY, NTLMSSP_REQUEST_TARGET, NTLMSSP_TARGET_TYPE_DOMAIN, NTLMSSP_TARGET_TYPE_SERVER, NTLMSSP_TARGET_TYPE_SHARE

Constructor Summary

Type3Message()
Creates a Type-3 message using default values from the current environment.
Type3Message(byte[] material)
Creates a Type-3 message using the given raw Type-3 material.
Type3Message(int flags, byte[] lmResponse, byte[] ntResponse, String domain, String user, String workstation)
Creates a Type-3 message with the specified parameters.
Type3Message(Type2Message type2)
Creates a Type-3 message in response to the given Type-2 message using default values from the current environment.
Type3Message(Type2Message type2, String password, String domain, String user, String workstation)
Creates a Type-3 message in response to the given Type-2 message.

Method Summary

static String
getDefaultDomain()
Returns the default domain from the current environment.
static int
getDefaultFlags()
Returns the default flags for a generic Type-3 message in the current environment.
static int
getDefaultFlags(Type2Message type2)
Returns the default flags for a Type-3 message created in response to the given Type-2 message in the current environment.
static String
getDefaultPassword()
Returns the default password from the current environment.
static String
getDefaultUser()
Returns the default user from the current environment.
static String
getDefaultWorkstation()
Returns the default workstation from the current environment.
String
getDomain()
Returns the domain in which the user has an account.
byte[]
getLMResponse()
Returns the LanManager/LMv2 response.
static byte[]
getLMResponse(Type2Message type2, String password)
Constructs the LanManager response to the given Type-2 message using the supplied password.
static byte[]
getLMv2Response(Type2Message type2, String domain, String user, String password, byte[] clientChallenge)
byte[]
getNTResponse()
Returns the NT/NTLMv2 response.
static byte[]
getNTResponse(Type2Message type2, String password)
Constructs the NT response to the given Type-2 message using the supplied password.
byte[]
getSessionKey()
Returns the session key.
String
getUser()
Returns the username for the authenticating user.
String
getWorkstation()
Returns the workstation from which authentication is being performed.
void
setDomain(String domain)
Sets the domain for this message.
void
setLMResponse(byte[] lmResponse)
Sets the LanManager/LMv2 response for this message.
void
setNTResponse(byte[] ntResponse)
Sets the NT/NTLMv2 response for this message.
void
setSessionKey(byte[] sessionKey)
Sets the session key.
void
setUser(String user)
Sets the user for this message.
void
setWorkstation(String workstation)
Sets the workstation for this message.
byte[]
toByteArray()
String
toString()

Methods inherited from class jcifs.ntlmssp.NtlmMessage

getFlag, getFlags, setFlag, setFlags, toByteArray

Constructor Details

Type3Message

public Type3Message()
Creates a Type-3 message using default values from the current environment.

Type3Message

public Type3Message(byte[] material)
            throws IOException
Creates a Type-3 message using the given raw Type-3 material.
Parameters:
material - The raw Type-3 material used to construct this message.

Type3Message

public Type3Message(int flags,
                    byte[] lmResponse,
                    byte[] ntResponse,
                    String domain,
                    String user,
                    String workstation)
Creates a Type-3 message with the specified parameters.
Parameters:
flags - The flags to apply to this message.
lmResponse - The LanManager/LMv2 response.
ntResponse - The NT/NTLMv2 response.
domain - The domain in which the user has an account.
user - The username for the authenticating user.
workstation - The workstation from which authentication is taking place.

Type3Message

public Type3Message(Type2Message type2)
Creates a Type-3 message in response to the given Type-2 message using default values from the current environment.
Parameters:
type2 - The Type-2 message which this represents a response to.

Type3Message

public Type3Message(Type2Message type2,
                    String password,
                    String domain,
                    String user,
                    String workstation)
Creates a Type-3 message in response to the given Type-2 message.
Parameters:
type2 - The Type-2 message which this represents a response to.
password - The password to use when constructing the response.
domain - The domain in which the user has an account.
user - The username for the authenticating user.
workstation - The workstation from which authentication is taking place.

Method Details

getDefaultDomain

public static String getDefaultDomain()
Returns the default domain from the current environment.
Returns:
The default domain.

getDefaultFlags

public static int getDefaultFlags()
Returns the default flags for a generic Type-3 message in the current environment.
Returns:
An int containing the default flags.

getDefaultFlags

public static int getDefaultFlags(Type2Message type2)
Returns the default flags for a Type-3 message created in response to the given Type-2 message in the current environment.
Returns:
An int containing the default flags.

getDefaultPassword

public static String getDefaultPassword()
Returns the default password from the current environment.
Returns:
The default password.

getDefaultUser

public static String getDefaultUser()
Returns the default user from the current environment.
Returns:
The default user.

getDefaultWorkstation

public static String getDefaultWorkstation()
Returns the default workstation from the current environment.
Returns:
The default workstation.

getDomain

public String getDomain()
Returns the domain in which the user has an account.
Returns:
A String containing the domain for the user.

getLMResponse

public byte[] getLMResponse()
Returns the LanManager/LMv2 response.
Returns:
A byte[] containing the LanManager response.

getLMResponse

public static byte[] getLMResponse(Type2Message type2,
                                   String password)
Constructs the LanManager response to the given Type-2 message using the supplied password.
Parameters:
type2 - The Type-2 message.
password - The password.
Returns:
A byte[] containing the LanManager response.

getLMv2Response

public static byte[] getLMv2Response(Type2Message type2,
                                     String domain,
                                     String user,
                                     String password,
                                     byte[] clientChallenge)

getNTResponse

public byte[] getNTResponse()
Returns the NT/NTLMv2 response.
Returns:
A byte[] containing the NT/NTLMv2 response.

getNTResponse

public static byte[] getNTResponse(Type2Message type2,
                                   String password)
Constructs the NT response to the given Type-2 message using the supplied password.
Parameters:
type2 - The Type-2 message.
password - The password.
Returns:
A byte[] containing the NT response.

getSessionKey

public byte[] getSessionKey()
Returns the session key.
Returns:
A byte[] containing the session key.

getUser

public String getUser()
Returns the username for the authenticating user.
Returns:
A String containing the user for this message.

getWorkstation

public String getWorkstation()
Returns the workstation from which authentication is being performed.
Returns:
A String containing the workstation.

setDomain

public void setDomain(String domain)
Sets the domain for this message.
Parameters:
domain - The domain.

setLMResponse

public void setLMResponse(byte[] lmResponse)
Sets the LanManager/LMv2 response for this message.
Parameters:
lmResponse - The LanManager response.

setNTResponse

public void setNTResponse(byte[] ntResponse)
Sets the NT/NTLMv2 response for this message.
Parameters:
ntResponse - The NT/NTLMv2 response.

setSessionKey

public void setSessionKey(byte[] sessionKey)
Sets the session key.
Parameters:
sessionKey - The session key.

setUser

public void setUser(String user)
Sets the user for this message.
Parameters:
user - The user.

setWorkstation

public void setWorkstation(String workstation)
Sets the workstation for this message.
Parameters:
workstation - The workstation.

toByteArray

public byte[] toByteArray()
Overrides:
toByteArray in interface NtlmMessage

toString

public String toString()