AuthScheme
public class DigestScheme extends RFC2617Scheme
Digest authentication scheme as defined in RFC 2617. Both MD5 (default) and MD5-sess are supported. Currently only qop=auth or no qop is supported. qop=auth-int is unsupported. If auth and auth-int are provided, auth is used.
Credential charset is configured via the
credential
charset
parameter. 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
.
Constructor | Description |
---|---|
DigestScheme() |
Default constructor for the digest authetication scheme.
|
DigestScheme(java.lang.String challenge) |
Deprecated.
Use parameterless constructor and
AuthScheme.processChallenge(String)
method |
Modifier and Type | Method | Description |
---|---|---|
java.lang.String |
authenticate(Credentials credentials,
java.lang.String method,
java.lang.String uri) |
Deprecated.
|
java.lang.String |
authenticate(Credentials credentials,
HttpMethod method) |
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.
|
java.lang.String |
getID() |
Deprecated.
no longer used
|
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 |
processChallenge(java.lang.String challenge) |
Processes the Digest challenge.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameter, getParameters, getRealm
public DigestScheme()
public DigestScheme(java.lang.String challenge) throws MalformedChallengeException
AuthScheme.processChallenge(String)
methodchallenge
- authentication challengeMalformedChallengeException
- is thrown if the authentication challenge
is malformedpublic java.lang.String getID()
getID
in interface AuthScheme
getID
in class RFC2617Scheme
public void processChallenge(java.lang.String challenge) throws MalformedChallengeException
processChallenge
in interface AuthScheme
processChallenge
in class RFC2617Scheme
challenge
- the challenge stringMalformedChallengeException
- is thrown if the authentication challenge
is malformedpublic boolean isComplete()
public java.lang.String getSchemeName()
digest
public boolean isConnectionBased()
public java.lang.String authenticate(Credentials credentials, java.lang.String method, java.lang.String uri) throws AuthenticationException
Credentials
, method name and URI.credentials
- A set of credentials to be used for athenticationmethod
- the name of the method that requires authorization.uri
- The URI for which authorization is needed.InvalidCredentialsException
- if authentication credentials
are not valid or not applicable for this authentication schemeAuthenticationException
- if authorization string cannot
be generated due to an authentication failureHttpMethod.getName()
,
HttpMethod.getPath()
public java.lang.String authenticate(Credentials credentials, HttpMethod method) throws AuthenticationException
Credentials
, method name and URI.credentials
- A set of credentials to be used for athenticationmethod
- The method being authenticatedInvalidCredentialsException
- if authentication credentials
are not valid or not applicable for this authentication schemeAuthenticationException
- if authorization string cannot
be generated due to an authentication failurepublic static java.lang.String createCnonce()
HttpClientError
- if MD5 algorithm is not supported.Copyright (c) 1999-2005 - Apache Software Foundation