| java.lang.Object jcifs.smb.NtlmPasswordAuthentication
NtlmPasswordAuthentication | final public class NtlmPasswordAuthentication implements Principal,Serializable(Code) | | This class stores and encrypts NTLM user credentials. The default
credentials are retrieved from the jcifs.smb.client.domain,
jcifs.smb.client.username, and jcifs.smb.client.password
properties.
Read jCIFS Exceptions and
NtlmAuthenticator for related information.
|
Method Summary | |
public boolean | equals(Object obj) Compares two NtlmPasswordAuthentication objects for
equality. | public byte[] | getAnsiHash(byte[] challenge) Computes the 24 byte ANSI password hash given the 8 byte server challenge. | public String | getDomain() Returns the domain. | public static byte[] | getLMv2Response(String domain, String user, String password, byte[] challenge, byte[] clientChallenge) Creates the LMv2 response for the supplied information.
Parameters: domain - The domain in which the username exists. Parameters: user - The username. Parameters: password - The user's password. Parameters: challenge - The server challenge. Parameters: clientChallenge - The client challenge (nonce). | public static byte[] | getNTLMResponse(String password, byte[] challenge) Generate the Unicode MD4 hash for the password associated with these credentials. | public String | getName() Return the domain and username in the format:
domain\\username. | public String | getPassword() Returns the password in plain text or null if the raw password
hashes were used to construct this NtlmPasswordAuthentication
object which will be the case when NTLM HTTP Authentication is
used. | public static byte[] | getPreNTLMResponse(String password, byte[] challenge) Generate the ANSI DES hash for the password associated with these credentials. | public byte[] | getUnicodeHash(byte[] challenge) Computes the 24 byte Unicode password hash given the 8 byte server challenge. | public byte[] | getUserSessionKey(byte[] challenge) Returns the effective user session key.
Parameters: challenge - The server challenge. | void | getUserSessionKey(byte[] challenge, byte[] dest, int offset) Calculates the effective user session key. | public String | getUsername() Returns the username. | public int | hashCode() Return the upcased username hash code. | public String | toString() Return the domain and username in the format:
domain\\username. |
ansiHash | byte[] ansiHash(Code) | | |
challenge | byte[] challenge(Code) | | |
clientChallenge | byte[] clientChallenge(Code) | | |
hashesExternal | boolean hashesExternal(Code) | | |
unicodeHash | byte[] unicodeHash(Code) | | |
NtlmPasswordAuthentication | public NtlmPasswordAuthentication(String userInfo)(Code) | | Create an NtlmPasswordAuthentication object from the userinfo
component of an SMB URL like "domain;user:pass". This constructor
is used internally be jCIFS when parsing SMB URLs.
|
NtlmPasswordAuthentication | public NtlmPasswordAuthentication(String domain, String username, String password)(Code) | | Create an NtlmPasswordAuthentication object from a
domain, username, and password. Parameters that are null
will be substituted with jcifs.smb.client.domain,
jcifs.smb.client.username, jcifs.smb.client.password
property values.
|
NtlmPasswordAuthentication | public NtlmPasswordAuthentication(String domain, String username, byte[] challenge, byte[] ansiHash, byte[] unicodeHash)(Code) | | Create an NtlmPasswordAuthentication object with raw password
hashes. This is used exclusively by the jcifs.http.NtlmSsp
class which is in turn used by NTLM HTTP authentication functionality.
|
equals | public boolean equals(Object obj)(Code) | | Compares two NtlmPasswordAuthentication objects for
equality. Two NtlmPasswordAuthentication objects are equal if
their caseless domain and username fields are equal and either both hashes are external and they are equal or both internally supplied passwords are equal. If one NtlmPasswordAuthentication object has external hashes (meaning negotiated via NTLM HTTP Authentication) and the other does not they will not be equal. This is technically not correct however the server 8 byte challage would be required to compute and compare the password hashes but that it not available with this method.
|
getAnsiHash | public byte[] getAnsiHash(byte[] challenge)(Code) | | Computes the 24 byte ANSI password hash given the 8 byte server challenge.
|
getDomain | public String getDomain()(Code) | | Returns the domain.
|
getLMv2Response | public static byte[] getLMv2Response(String domain, String user, String password, byte[] challenge, byte[] clientChallenge)(Code) | | Creates the LMv2 response for the supplied information.
Parameters: domain - The domain in which the username exists. Parameters: user - The username. Parameters: password - The user's password. Parameters: challenge - The server challenge. Parameters: clientChallenge - The client challenge (nonce). |
getNTLMResponse | public static byte[] getNTLMResponse(String password, byte[] challenge)(Code) | | Generate the Unicode MD4 hash for the password associated with these credentials.
|
getName | public String getName()(Code) | | Return the domain and username in the format:
domain\\username. This is equivalent to toString().
|
getPassword | public String getPassword()(Code) | | Returns the password in plain text or null if the raw password
hashes were used to construct this NtlmPasswordAuthentication
object which will be the case when NTLM HTTP Authentication is
used. There is no way to retrieve a users password in plain text unless
it is supplied by the user at runtime.
|
getPreNTLMResponse | public static byte[] getPreNTLMResponse(String password, byte[] challenge)(Code) | | Generate the ANSI DES hash for the password associated with these credentials.
|
getUnicodeHash | public byte[] getUnicodeHash(byte[] challenge)(Code) | | Computes the 24 byte Unicode password hash given the 8 byte server challenge.
|
getUserSessionKey | public byte[] getUserSessionKey(byte[] challenge)(Code) | | Returns the effective user session key.
Parameters: challenge - The server challenge. A byte[] containing the effective user session key,used in SMB MAC signing and NTLMSSP signing and sealing. |
getUserSessionKey | void getUserSessionKey(byte[] challenge, byte[] dest, int offset) throws Exception(Code) | | Calculates the effective user session key.
Parameters: challenge - The server challenge. Parameters: dest - The destination array in which the user session key will beplaced. Parameters: offset - The offset in the destination array at which thesession key will start. |
getUsername | public String getUsername()(Code) | | Returns the username.
|
hashCode | public int hashCode()(Code) | | Return the upcased username hash code.
|
toString | public String toString()(Code) | | Return the domain and username in the format:
domain\\username. This is equivalent to getName().
|
|
|