jcifs.ntlmssp

Class Type2Message

Implemented Interfaces:
NtlmFlags

public class Type2Message
extends NtlmMessage

Represents an NTLMSSP Type-2 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

Type2Message()
Creates a Type-2 message using default values from the current environment.
Type2Message(byte[] material)
Creates a Type-2 message using the given raw Type-2 material.
Type2Message(int flags, byte[] challenge, String target)
Creates a Type-2 message with the specified parameters.
Type2Message(Type1Message type1)
Creates a Type-2 message in response to the given Type-1 message using default values from the current environment.
Type2Message(Type1Message type1, byte[] challenge, String target)
Creates a Type-2 message in response to the given Type-1 message.

Method Summary

byte[]
getChallenge()
Returns the challenge for this message.
byte[]
getContext()
Returns the local security context.
static String
getDefaultDomain()
Returns the default domain from the current environment.
static int
getDefaultFlags()
Returns the default flags for a generic Type-2 message in the current environment.
static int
getDefaultFlags(Type1Message type1)
Returns the default flags for a Type-2 message created in response to the given Type-1 message in the current environment.
static byte[]
getDefaultTargetInformation()
String
getTarget()
Returns the authentication target.
byte[]
getTargetInformation()
Returns the target information block.
void
setChallenge(byte[] challenge)
Sets the challenge for this message.
void
setContext(byte[] context)
Sets the local security context.
void
setTarget(String target)
Sets the authentication target.
void
setTargetInformation(byte[] targetInformation)
Sets the target information block.
byte[]
toByteArray()
Returns the raw byte representation of this message.
String
toString()

Methods inherited from class jcifs.ntlmssp.NtlmMessage

getFlag, getFlags, setFlag, setFlags, toByteArray

Constructor Details

Type2Message

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

Type2Message

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

Type2Message

public Type2Message(int flags,
                    byte[] challenge,
                    String target)
Creates a Type-2 message with the specified parameters.
Parameters:
flags - The flags to apply to this message.
challenge - The challenge from the domain controller/server.
target - The authentication target.

Type2Message

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

Type2Message

public Type2Message(Type1Message type1,
                    byte[] challenge,
                    String target)
Creates a Type-2 message in response to the given Type-1 message.
Parameters:
type1 - The Type-1 message which this represents a response to.
challenge - The challenge from the domain controller/server.
target - The authentication target.

Method Details

getChallenge

public byte[] getChallenge()
Returns the challenge for this message.
Returns:
A byte[] containing the challenge.

getContext

public byte[] getContext()
Returns the local security context.
Returns:
A byte[] containing the local security context. This is used by the client to negotiate local authentication.

getDefaultDomain

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

getDefaultFlags

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

getDefaultFlags

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

getDefaultTargetInformation

public static byte[] getDefaultTargetInformation()

getTarget

public String getTarget()
Returns the authentication target.
Returns:
A String containing the authentication target.

getTargetInformation

public byte[] getTargetInformation()
Returns the target information block.
Returns:
A byte[] containing the target information block. The target information block is used by the client to create an NTLMv2 response.

setChallenge

public void setChallenge(byte[] challenge)
Sets the challenge for this message.
Parameters:
challenge - The challenge from the domain controller/server.

setContext

public void setContext(byte[] context)
Sets the local security context. This is used by the client to negotiate local authentication.
Parameters:
context - The local security context.

setTarget

public void setTarget(String target)
Sets the authentication target.
Parameters:
target - The authentication target.

setTargetInformation

public void setTargetInformation(byte[] targetInformation)
Sets the target information block. The target information block is used by the client to create an NTLMv2 response.
Parameters:
targetInformation - The target information block.

toByteArray

public byte[] toByteArray()
Returns the raw byte representation of this message.
Overrides:
toByteArray in interface NtlmMessage
Returns:
A byte[] containing the raw message material.

toString

public String toString()