jcifs.ntlmssp
Class Type2Message

java.lang.Object
  extended byjcifs.ntlmssp.NtlmMessage
      extended byjcifs.ntlmssp.Type2Message
All 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, java.lang.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, java.lang.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 java.lang.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()
           
 java.lang.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(java.lang.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.
 java.lang.String toString()
           
 
Methods inherited from class jcifs.ntlmssp.NtlmMessage
getFlag, getFlags, setFlag, setFlags
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Type2Message

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


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,
                    java.lang.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.

Type2Message

public Type2Message(int flags,
                    byte[] challenge,
                    java.lang.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(byte[] material)
             throws java.io.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.
Throws:
java.io.IOException - If an error occurs while parsing the material.
Method Detail

getChallenge

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

Returns:
A byte[] containing the challenge.

setChallenge

public void setChallenge(byte[] challenge)
Sets the challenge for this message.

Parameters:
challenge - The challenge from the domain controller/server.

getTarget

public java.lang.String getTarget()
Returns the authentication target.

Returns:
A String containing the authentication target.

setTarget

public void setTarget(java.lang.String target)
Sets the authentication target.

Parameters:
target - 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.

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.

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.

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.

toByteArray

public byte[] toByteArray()
Description copied from class: NtlmMessage
Returns the raw byte representation of this message.

Specified by:
toByteArray in class NtlmMessage
Returns:
A byte[] containing the raw message material.

toString

public java.lang.String toString()

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.

getDefaultDomain

public static java.lang.String getDefaultDomain()
Returns the default domain from the current environment.

Returns:
A String containing the domain.

getDefaultTargetInformation

public static byte[] getDefaultTargetInformation()