Top Description Fields Constructors Methods
org.apache.hc.client5.http.auth

public Class NTCredentials

extends Object
implements Credentials, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, org.apache.hc.client5.http.auth.Credentials
Annotations
@Deprecated
@Contract
threading:IMMUTABLE
Imports
java.io.Serializable, java.net.InetAddress, .UnknownHostException, java.security.Principal, java.util.Locale, .Objects, org.apache.hc.core5.annotation.Contract, .ThreadingBehavior, org.apache.hc.core5.util.Args, .LangUtils

Deprecated

Do not use. the NTLM authentication scheme is no longer supported. Consider using Basic or Bearer authentication with TLS instead.

Microsoft Windows specific Credentials representation that includes Windows specific attributes such as name of the domain the user belongs to.
Since
4.0
See Also
UsernamePasswordCredentials, BearerToken

Field Summary

Modifier and TypeField and Description
private final String
netbiosDomain

The netbios domain the authentication request is against

private final char[]
password

Password

private final NTUserPrincipal
principal

The user principal

private static final long
private final String
workstation

The netbios hostname the authentication request is originating from.

Constructor Summary

AccessConstructor and Description
public
NTCredentials(final String
The user name. This should not include the domain to authenticate with. For example: "user" is correct whereas "DOMAIN\user" is not.
userName
,
final char[]
The password.
password
,
final String
The workstation the authentication request is originating from. Essentially, the computer name for this machine.
workstation
,
final String
The domain to authenticate within.
domain
)

Constructor.

public
NTCredentials(final String
The user name. This should not include the domain to authenticate with. For example: "user" is correct whereas "DOMAIN\user" is not.
userName
,
final char[]
The password.
password
,
final String
The netbios workstation name that the authentication request is originating from. Essentially, the computer name for this machine.
workstation
,
final String
The domain to authenticate within.
domain
,
final String
The netbios version of the domain name.
netbiosDomain
)

Constructor.

public
NTCredentials(final char[]
The password to use for authentication. Must not be null.
password
,
final String
The user name for authentication. This should not include the domain to authenticate with. For example: "user" is correct whereas "DOMAIN\user" is not. Must not be null.
userName
,
final String
The domain to authenticate within. Can be null.
domain
,
final String
An alternative representation of the domain name in NetBIOS format. Can be null. This parameter is provided to accommodate specific scenarios that require the NetBIOS version of the domain name.

This constructor creates a new instance of NTCredentials, determining the workstation name at runtime using the getWorkstationName() method. The workstation name will be converted to uppercase using the java.util.Locale#ROOT locale.

netbiosDomain
)

Constructor to create an instance of NTCredentials.

Method Summary

Modifier and TypeMethod and Description
private static String
convertDomain(final String domain)

Convert domain to standard form

public boolean
equals(final Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
public String

Returns:

String the domain these credentials are intended to authenticate with.
getDomain
()

Retrieves the name to authenticate with.

public String

Returns:

String the netbios domain name.
getNetbiosDomain
()

Retrieves the netbios domain to authenticate with.

public char[]
public String
public Principal
public String

Returns:

String the netbios workstation the user is logged into.
getWorkstation
()

Retrieves the netbios workstation name of the computer originating the request.

private static String

Returns:

The unqualified workstation name as a String.
getWorkstationName
()

Retrieves the workstation name of the computer originating the request.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for the object.
private static String
stripDotSuffix(final String value)

Strip dot suffix from a name

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

netbiosDomainback to summary
private final String netbiosDomain

The netbios domain the authentication request is against

passwordback to summary
private final char[] password

Password

principalback to summary
private final NTUserPrincipal principal

The user principal

serialVersionUIDback to summary
private static final long serialVersionUID
workstationback to summary
private final String workstation

The netbios hostname the authentication request is originating from.

Constructor Detail

NTCredentialsback to summary
public NTCredentials(final String userName, final char[] password, final String workstation, final String domain)

Constructor.

Parameters
userName:String

The user name. This should not include the domain to authenticate with. For example: "user" is correct whereas "DOMAIN\user" is not.

password:char[]

The password.

workstation:String

The workstation the authentication request is originating from. Essentially, the computer name for this machine.

domain:String

The domain to authenticate within.

NTCredentialsback to summary
public NTCredentials(final String userName, final char[] password, final String workstation, final String domain, final String netbiosDomain)

Constructor.

Parameters
userName:String

The user name. This should not include the domain to authenticate with. For example: "user" is correct whereas "DOMAIN\user" is not.

password:char[]

The password.

workstation:String

The netbios workstation name that the authentication request is originating from. Essentially, the computer name for this machine.

domain:String

The domain to authenticate within.

netbiosDomain:String

The netbios version of the domain name.

NTCredentialsback to summary
public NTCredentials(final char[] password, final String userName, final String domain, final String netbiosDomain)

Constructor to create an instance of NTCredentials.

Parameters
password:char[]

The password to use for authentication. Must not be null.

userName:String

The user name for authentication. This should not include the domain to authenticate with. For example: "user" is correct whereas "DOMAIN\user" is not. Must not be null.

domain:String

The domain to authenticate within. Can be null.

netbiosDomain:String

An alternative representation of the domain name in NetBIOS format. Can be null. This parameter is provided to accommodate specific scenarios that require the NetBIOS version of the domain name.

This constructor creates a new instance of NTCredentials, determining the workstation name at runtime using the getWorkstationName() method. The workstation name will be converted to uppercase using the java.util.Locale#ROOT locale.

Method Detail

convertDomainback to summary
private static String convertDomain(final String domain)

Convert domain to standard form

equalsback to summary
public boolean equals(final Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getDomainback to summary
public String getDomain()

Retrieves the name to authenticate with.

Returns:String

String the domain these credentials are intended to authenticate with.

getNetbiosDomainback to summary
public String getNetbiosDomain()

Retrieves the netbios domain to authenticate with.

Returns:String

String the netbios domain name.

getPasswordback to summary
public char[] getPassword()

Implements org.apache.hc.client5.http.auth.Credentials.getPassword.

Annotations
@Override
getUserNameback to summary
public String getUserName()
getUserPrincipalback to summary
public Principal getUserPrincipal()

Implements org.apache.hc.client5.http.auth.Credentials.getUserPrincipal.

Annotations
@Override
getWorkstationback to summary
public String getWorkstation()

Retrieves the netbios workstation name of the computer originating the request.

Returns:String

String the netbios workstation the user is logged into.

getWorkstationNameback to summary
private static String getWorkstationName()

Retrieves the workstation name of the computer originating the request. This method attempts to get the local host name using the InetAddress class. If it fails to retrieve the host name due to an UnknownHostException, it returns "localhost" as a fallback.

Returns:String

The unqualified workstation name as a String.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

Annotations
@Override
stripDotSuffixback to summary
private static String stripDotSuffix(final String value)

Strip dot suffix from a name

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override