public interface CRAMMD5SASLBindRequest extends SASLBindRequest
The CRAM-MD5 mechanism is intended to have limited use on the Internet. The mechanism offers inadequate protection against common attacks against application-level protocols and is prone to interoperability problems.
The authentication identity is specified using an authorization ID, or
authzId
, as defined in RFC 4513 section 5.2.1.8.
Modifier and Type | Field and Description |
---|---|
static String |
SASL_MECHANISM_NAME
The name of the SASL mechanism based on CRAM-MD5 authentication.
|
AUTHENTICATION_TYPE_SASL, AUTHENTICATION_TYPE_SIMPLE, OBFUSCATED_PASSWORD
Modifier and Type | Method and Description |
---|---|
CRAMMD5SASLBindRequest |
addControl(Control control)
Adds the provided control to this request.
|
BindClient |
createBindClient(String serverName)
Creates a new bind client which can be used to perform the authentication
process.
|
String |
getAuthenticationID()
Returns the authentication ID of the user.
|
byte |
getAuthenticationType()
Returns the authentication mechanism identifier for this SASL bind
request as defined by the LDAP protocol, which is always
0xA3 . |
<C extends Control> |
getControl(ControlDecoder<C> decoder,
DecodeOptions options)
Decodes and returns the first control in this request having an OID
corresponding to the provided control decoder.
|
List<Control> |
getControls()
Returns a
List containing the controls included with this
request. |
String |
getName()
Returns the name of the Directory object that the client wishes to bind
as, which is always the empty string for SASL authentication.
|
byte[] |
getPassword()
Returns the password of the user that the client wishes to bind as.
|
String |
getSASLMechanism()
Returns the SASL mechanism for this SASL bind request.
|
CRAMMD5SASLBindRequest |
setAuthenticationID(String authenticationID)
Sets the authentication ID of the user.
|
CRAMMD5SASLBindRequest |
setPassword(byte[] password)
Sets the password of the user that the client wishes to bind as.
|
CRAMMD5SASLBindRequest |
setPassword(char[] password)
Sets the password of the user that the client wishes to bind as.
|
containsControl
static final String SASL_MECHANISM_NAME
CRAMMD5SASLBindRequest addControl(Control control)
Request
addControl
in interface BindRequest
addControl
in interface Request
addControl
in interface SASLBindRequest
control
- The control to be added to this request.BindClient createBindClient(String serverName) throws LdapException
BindRequest
createBindClient
in interface BindRequest
createBindClient
in interface SASLBindRequest
serverName
- The non-null fully-qualified host name of the server to
authenticate to.LdapException
- If an error occurred while creating the bind client context.String getAuthenticationID()
byte getAuthenticationType()
0xA3
.getAuthenticationType
in interface BindRequest
getAuthenticationType
in interface SASLBindRequest
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
Request
getControl
in interface BindRequest
getControl
in interface Request
getControl
in interface SASLBindRequest
C
- The type of control to be decoded and returned.decoder
- The control decoder.options
- The set of decode options which should be used when decoding
the control.null
if the control is not
included with this request.DecodeException
- If the control could not be decoded because it was malformed
in some way (e.g. the control value was missing, or its
content could not be decoded).List<Control> getControls()
Request
List
containing the controls included with this
request. The returned List
may be modified if permitted by this
request.getControls
in interface BindRequest
getControls
in interface Request
getControls
in interface SASLBindRequest
List
containing the controls.String getName()
getName
in interface BindRequest
getName
in interface SASLBindRequest
byte[] getPassword()
Unless otherwise indicated, implementations will store a reference to the returned password byte array, allowing applications to overwrite the password after it has been used.
String getSASLMechanism()
SASLBindRequest
getSASLMechanism
in interface SASLBindRequest
CRAMMD5SASLBindRequest setAuthenticationID(String authenticationID)
authenticationID
- The authentication ID of the user.UnsupportedOperationException
- If this bind request does not permit the authentication ID to
be set..LocalizedIllegalArgumentException
- If authenticationID
was non-empty and did not contain
a valid authorization ID type.NullPointerException
- If authenticationID
was null
.CRAMMD5SASLBindRequest setPassword(byte[] password)
Unless otherwise indicated, implementations will store a reference to the provided password byte array, allowing applications to overwrite the password after it has been used.
password
- The password of the user that the client wishes to bind as,
which may be empty.UnsupportedOperationException
- If this bind request does not permit the password to be set.NullPointerException
- If password
was null
.CRAMMD5SASLBindRequest setPassword(char[] password)
password
- The password of the user that the client wishes to bind as.UnsupportedOperationException
- If this bind request does not permit the password to be set.NullPointerException
- If password
was null
.Copyright 2010-2017 ForgeRock AS.