@NotThreadSafe public class DigestScheme extends RFC2617Scheme
Since the digest username is included as clear text in the generated Authentication header, the charset of the username must be compatible with the HTTP element charset used by the connection.
challengeState
Constructor and Description |
---|
DigestScheme() |
DigestScheme(ChallengeState challengeState)
Deprecated.
(4.3) do not use.
|
DigestScheme(java.nio.charset.Charset credentialsCharset) |
Modifier and Type | Method and Description |
---|---|
Header |
authenticate(Credentials credentials,
HttpRequest request)
|
Header |
authenticate(Credentials credentials,
HttpRequest request,
HttpContext context)
Produces a digest authorization string for the given set of
Credentials , method name and URI. |
static java.lang.String |
createCnonce()
Creates a random cnonce value based on the current time.
|
(package private) static java.lang.String |
encode(byte[] binaryData)
Encodes the 128 bit (16 bytes) MD5 digest into a 32 characters long
String according to RFC 2617. |
(package private) java.lang.String |
getA1() |
(package private) java.lang.String |
getA2() |
(package private) java.lang.String |
getCnonce() |
java.lang.String |
getSchemeName()
Returns textual designation of the digest authentication scheme.
|
boolean |
isComplete()
Tests if the Digest authentication process has been completed.
|
boolean |
isConnectionBased()
Returns
false . |
void |
overrideParamter(java.lang.String name,
java.lang.String value) |
void |
processChallenge(Header header)
Processes the Digest challenge.
|
java.lang.String |
toString() |
getCredentialsCharset, getCredentialsCharset, getParameter, getParameters, getRealm, parseChallenge
getChallengeState, isProxy
public DigestScheme(java.nio.charset.Charset credentialsCharset)
@Deprecated public DigestScheme(ChallengeState challengeState)
DigestScheme
with the given challenge
state.public DigestScheme()
public void processChallenge(Header header) throws MalformedChallengeException
processChallenge
in interface AuthScheme
processChallenge
in class AuthSchemeBase
header
- the challenge headerMalformedChallengeException
- is thrown if the authentication challenge
is malformedpublic boolean isComplete()
true
if Digest authorization has been processed,
false
otherwise.public java.lang.String getSchemeName()
digest
public boolean isConnectionBased()
false
. Digest authentication scheme is request based.false
.public void overrideParamter(java.lang.String name, java.lang.String value)
@Deprecated public Header authenticate(Credentials credentials, HttpRequest request) throws AuthenticationException
ContextAwareAuthScheme.authenticate(
Credentials, HttpRequest, org.apache.http.protocol.HttpContext)
AuthScheme
Credentials
.credentials
- The set of credentials to be used for athenticationrequest
- The request being authenticatedAuthenticationException
- if authorization string cannot
be generated due to an authentication failurepublic Header authenticate(Credentials credentials, HttpRequest request, HttpContext context) throws AuthenticationException
Credentials
, method name and URI.authenticate
in interface ContextAwareAuthScheme
authenticate
in class AuthSchemeBase
credentials
- A set of credentials to be used for athenticationrequest
- The request being authenticatedcontext
- HTTP contextInvalidCredentialsException
- if authentication credentials
are not valid or not applicable for this authentication schemeAuthenticationException
- if authorization string cannot
be generated due to an authentication failurejava.lang.String getCnonce()
java.lang.String getA1()
java.lang.String getA2()
static java.lang.String encode(byte[] binaryData)
String
according to RFC 2617.binaryData
- array containing the digestnull
if encoding failedpublic static java.lang.String createCnonce()
public java.lang.String toString()
toString
in class AuthSchemeBase