|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.unboundid.ldap.sdk.LDAPRequest
com.unboundid.ldap.sdk.BindRequest
com.unboundid.ldap.sdk.SASLBindRequest
com.unboundid.ldap.sdk.CRAMMD5BindRequest
@NotMutable @ThreadSafety(level=NOT_THREADSAFE) public final class CRAMMD5BindRequest
This class provides a SASL CRAM-MD5 bind request implementation as described
in draft-ietf-sasl-crammd5. The CRAM-MD5 mechanism can be used to
authenticate over an insecure channel without exposing the credentials
(although it requires that the server have access to the clear-text
password). It is similar to DIGEST-MD5, but does not provide as many
options, and provides slightly weaker protection because the client does not
contribute any of the random data used during bind processing.
Elements included in a CRAM-MD5 bind request include:
CRAMMD5BindRequest bindRequest = new CRAMMD5BindRequest("u:john.doe", "password"); BindResult bindResult; try { bindResult = connection.bind(bindRequest); // If we get here, then the bind was successful. } catch (LDAPException le) { // The bind failed for some reason. bindResult = new BindResult(le.toLDAPResult()); ResultCode resultCode = le.getResultCode(); String errorMessageFromServer = le.getDiagnosticMessage(); }
Field Summary | |
---|---|
static java.lang.String |
CRAMMD5_MECHANISM_NAME
The name for the CRAM-MD5 SASL mechanism. |
Fields inherited from class com.unboundid.ldap.sdk.SASLBindRequest |
---|
CRED_TYPE_SASL |
Fields inherited from class com.unboundid.ldap.sdk.BindRequest |
---|
VERSION_ELEMENT |
Constructor Summary | |
---|---|
CRAMMD5BindRequest(java.lang.String authenticationID,
ASN1OctetString password)
Creates a new SASL CRAM-MD5 bind request with the provided authentication ID and password. |
|
CRAMMD5BindRequest(java.lang.String authenticationID,
ASN1OctetString password,
Control... controls)
Creates a new SASL CRAM-MD5 bind request with the provided authentication ID, password, and set of controls. |
|
CRAMMD5BindRequest(java.lang.String authenticationID,
byte[] password)
Creates a new SASL CRAM-MD5 bind request with the provided authentication ID and password. |
|
CRAMMD5BindRequest(java.lang.String authenticationID,
byte[] password,
Control... controls)
Creates a new SASL CRAM-MD5 bind request with the provided authentication ID, password, and set of controls. |
|
CRAMMD5BindRequest(java.lang.String authenticationID,
java.lang.String password)
Creates a new SASL CRAM-MD5 bind request with the provided authentication ID and password. |
|
CRAMMD5BindRequest(java.lang.String authenticationID,
java.lang.String password,
Control... controls)
Creates a new SASL CRAM-MD5 bind request with the provided authentication ID, password, and set of controls. |
Method Summary | |
---|---|
CRAMMD5BindRequest |
duplicate()
Creates a new instance of this LDAP request that may be modified without impacting this request. |
CRAMMD5BindRequest |
duplicate(Control[] controls)
Creates a new instance of this LDAP request that may be modified without impacting this request. |
java.lang.String |
getAuthenticationID()
Retrieves the authentication ID for this bind request. |
int |
getLastMessageID()
Retrieves the message ID for the last LDAP message sent using this request. |
byte[] |
getPasswordBytes()
Retrieves the bytes that comprise the the password for this bind request. |
java.lang.String |
getPasswordString()
Retrieves the string representation of the password for this bind request. |
CRAMMD5BindRequest |
getRebindRequest(java.lang.String host,
int port)
Retrieves a bind request that may be used to re-bind using the same credentials authentication type and credentials as previously used to perform the initial bind. |
java.lang.String |
getSASLMechanismName()
Retrieves the name of the SASL mechanism used in this SASL bind request. |
void |
handle(javax.security.auth.callback.Callback[] callbacks)
Handles any necessary callbacks required for SASL authentication. |
protected BindResult |
process(LDAPConnection connection,
int depth)
Sends this bind request to the target server over the provided connection and returns the corresponding response. |
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this request to the provided buffer. |
Methods inherited from class com.unboundid.ldap.sdk.SASLBindRequest |
---|
getBindType, responseReceived, sendBindRequest, sendMessage |
Methods inherited from class com.unboundid.ldap.sdk.BindRequest |
---|
getOperationType |
Methods inherited from class com.unboundid.ldap.sdk.LDAPRequest |
---|
followReferrals, getControl, getControlList, getControls, getIntermediateResponseListener, getResponseTimeoutMillis, hasControl, hasControl, setFollowReferrals, setIntermediateResponseListener, setResponseTimeoutMillis, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CRAMMD5_MECHANISM_NAME
Constructor Detail |
---|
public CRAMMD5BindRequest(java.lang.String authenticationID, java.lang.String password)
authenticationID
- The authentication ID for this bind request. It
must not be null
.password
- The password for this bind request. It must not
be null
.public CRAMMD5BindRequest(java.lang.String authenticationID, byte[] password)
authenticationID
- The authentication ID for this bind request. It
must not be null
.password
- The password for this bind request. It must not
be null
.public CRAMMD5BindRequest(java.lang.String authenticationID, ASN1OctetString password)
authenticationID
- The authentication ID for this bind request. It
must not be null
.password
- The password for this bind request. It must not
be null
.public CRAMMD5BindRequest(java.lang.String authenticationID, java.lang.String password, Control... controls)
authenticationID
- The authentication ID for this bind request. It
must not be null
.password
- The password for this bind request. It must not
be null
.controls
- The set of controls to include in the request.public CRAMMD5BindRequest(java.lang.String authenticationID, byte[] password, Control... controls)
authenticationID
- The authentication ID for this bind request. It
must not be null
.password
- The password for this bind request. It must not
be null
.controls
- The set of controls to include in the request.public CRAMMD5BindRequest(java.lang.String authenticationID, ASN1OctetString password, Control... controls)
authenticationID
- The authentication ID for this bind request. It
must not be null
.password
- The password for this bind request. It must not
be null
.controls
- The set of controls to include in the request.Method Detail |
---|
public java.lang.String getSASLMechanismName()
getSASLMechanismName
in class SASLBindRequest
public java.lang.String getAuthenticationID()
public java.lang.String getPasswordString()
public byte[] getPasswordBytes()
protected BindResult process(LDAPConnection connection, int depth) throws LDAPException
process
in class BindRequest
connection
- The connection to use to send this bind request to the
server and read the associated response.depth
- The current referral depth for this request. It should
always be one for the initial request, and should only
be incremented when following referrals.
LDAPException
- If a problem occurs while sending the request or
reading the response.public CRAMMD5BindRequest getRebindRequest(java.lang.String host, int port)
getRebindRequest
in class BindRequest
host
- The address of the directory server to which the connection
is established.port
- The port of the directory server to which the connection is
established.
null
to indicate that automatic
re-binding is not supported for this type of bind request.@InternalUseOnly public void handle(javax.security.auth.callback.Callback[] callbacks)
handle
in interface javax.security.auth.callback.CallbackHandler
callbacks
- The set of callbacks to be handled.public int getLastMessageID()
getLastMessageID
in class SASLBindRequest
public CRAMMD5BindRequest duplicate()
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class BindRequest
public CRAMMD5BindRequest duplicate(Control[] controls)
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class BindRequest
controls
- The set of controls to include in the duplicate request.
public void toString(java.lang.StringBuilder buffer)
toString
in interface ReadOnlyLDAPRequest
toString
in class LDAPRequest
buffer
- The buffer to which to append a string representation of
this request.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |