io.undertow.server.HttpHandler to handle HTTP Digest authentication, both according to RFC-2617 and draft update to allow additional
algorithms to be used.
| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| private class | |
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| private static final byte | |
| private static final String | |
| private static final String | |
| private final String | |
| public static final AuthenticationMechanismFactory | |
| private final IdentityManager | |
| private static final Set | |
| private final String | |
| private final NonceManager | |
| private static final String | |
| private static final int | |
| private final String | |
| private final String | |
| private final List | supportedAlgorithms
The |
| private final List |
| Access | Constructor and Description |
|---|---|
| public | DigestAuthenticationMechanism(final List<DigestAlgorithm> supportedAlgorithms, final List<DigestQop> supportedQops, final String realmName, final String domain, final NonceManager nonceManager)
|
| public | DigestAuthenticationMechanism(final List<DigestAlgorithm> supportedAlgorithms, final List<DigestQop> supportedQops, final String realmName, final String domain, final NonceManager nonceManager, final String mechanismName)
|
| public | DigestAuthenticationMechanism(final List<DigestAlgorithm> supportedAlgorithms, final List<DigestQop> supportedQops, final String realmName, final String domain, final NonceManager nonceManager, final String mechanismName, final IdentityManager identityManager)
|
| public | DigestAuthenticationMechanism(final String realmName, final String domain, final String mechanismName)
|
| public | DigestAuthenticationMechanism(final String realmName, final String domain, final String mechanismName, final IdentityManager identityManager)
|
| COLON | back to summary |
|---|---|
| private static final byte COLON | |
| DEFAULT_NAME | back to summary |
|---|---|
| private static final String DEFAULT_NAME | |
| DIGEST_PREFIX | back to summary |
|---|---|
| private static final String DIGEST_PREFIX | |
| domain | back to summary |
|---|---|
| private final String domain | |
| FACTORY | back to summary |
|---|---|
| public static final AuthenticationMechanismFactory FACTORY | |
| identityManager | back to summary |
|---|---|
| private final IdentityManager identityManager | |
| MANDATORY_REQUEST_TOKENS | back to summary |
|---|---|
| private static final Set<DigestAuthorizationToken> MANDATORY_REQUEST_TOKENS | |
| mechanismName | back to summary |
|---|---|
| private final String mechanismName | |
| nonceManager | back to summary |
|---|---|
| private final NonceManager nonceManager | |
| OPAQUE_VALUE | back to summary |
|---|---|
| private static final String OPAQUE_VALUE | |
| PREFIX_LENGTH | back to summary |
|---|---|
| private static final int PREFIX_LENGTH | |
| qopString | back to summary |
|---|---|
| private final String qopString | |
| realmName | back to summary |
|---|---|
| private final String realmName | |
| supportedAlgorithms | back to summary |
|---|---|
| private final List<DigestAlgorithm> supportedAlgorithms The | |
| supportedQops | back to summary |
|---|---|
| private final List<DigestQop> supportedQops | |
| DigestAuthenticationMechanism | back to summary |
|---|---|
| public DigestAuthenticationMechanism(final List<DigestAlgorithm> supportedAlgorithms, final List<DigestQop> supportedQops, final String realmName, final String domain, final NonceManager nonceManager) | |
| DigestAuthenticationMechanism | back to summary |
|---|---|
| public DigestAuthenticationMechanism(final List<DigestAlgorithm> supportedAlgorithms, final List<DigestQop> supportedQops, final String realmName, final String domain, final NonceManager nonceManager, final String mechanismName) | |
| DigestAuthenticationMechanism | back to summary |
|---|---|
| public DigestAuthenticationMechanism(final List<DigestAlgorithm> supportedAlgorithms, final List<DigestQop> supportedQops, final String realmName, final String domain, final NonceManager nonceManager, final String mechanismName, final IdentityManager identityManager) | |
| DigestAuthenticationMechanism | back to summary |
|---|---|
| public DigestAuthenticationMechanism(final String realmName, final String domain, final String mechanismName) | |
| DigestAuthenticationMechanism | back to summary |
|---|---|
| public DigestAuthenticationMechanism(final String realmName, final String domain, final String mechanismName, final IdentityManager identityManager) | |
| authenticate | back to summary |
|---|---|
| public AuthenticationMechanism. Implements io. Doc from io. Perform authentication of the request. Any potentially blocking work should be performed in the handoff executor provided
| |
| createHA2Auth | back to summary |
|---|---|
| private byte[] createHA2Auth(final DigestAuthenticationMechanism. | |
| createHA2Auth | back to summary |
|---|---|
| private byte[] createHA2Auth(final DigestAuthenticationMechanism. | |
| createHA2AuthInt | back to summary |
|---|---|
| private byte[] createHA2AuthInt() | |
| createRFC2069RequestDigest | back to summary |
|---|---|
| private byte[] createRFC2069RequestDigest(final byte[] ha1, final byte[] ha2, final DigestAuthenticationMechanism. | |
| createRFC2617RequestDigest | back to summary |
|---|---|
| private byte[] createRFC2617RequestDigest(final byte[] ha1, final byte[] ha2, final DigestAuthenticationMechanism. | |
| getIdentityManager | back to summary |
|---|---|
private IdentityManager getIdentityManager(SecurityContext securityContext)
| |
| handleDigestHeader | back to summary |
|---|---|
| private AuthenticationMechanism. | |
| sendAuthenticationInfoHeader | back to summary |
|---|---|
| public void sendAuthenticationInfoHeader(final HttpServerExchange exchange) | |
| sendChallenge | back to summary |
|---|---|
| public AuthenticationMechanism. Implements io. Doc from io. Send an authentication challenge to the remote client.
The individual mechanisms should update the response headers and body of the message as appropriate however they should
not set the response code, instead that should be indicated in the
| |
| validateNonceUse | back to summary |
|---|---|
| private boolean validateNonceUse(DigestAuthenticationMechanism. | |
| validateRequest | back to summary |
|---|---|
| private boolean validateRequest(final DigestAuthenticationMechanism. | |
| Modifier and Type | Field and Description |
|---|---|
| private DigestAlgorithm | |
| pack-priv static final AttachmentKey | |
| private MessageDigest | |
| private byte[] | |
| private String | |
| private String | |
| pack-priv Map | |
| private DigestQop | |
| private boolean |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv DigestAlgorithm | |
| pack-priv MessageDigest | |
| pack-priv byte[] | |
| pack-priv String | |
| pack-priv String | |
| pack-priv Map | |
| pack-priv DigestQop | |
| pack-priv boolean | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void |
| algorithm | back to summary |
|---|---|
| private DigestAlgorithm algorithm | |
| ATTACHMENT_KEY | back to summary |
|---|---|
| pack-priv static final AttachmentKey<DigestAuthenticationMechanism. | |
| digest | back to summary |
|---|---|
| private MessageDigest digest | |
| ha1 | back to summary |
|---|---|
| private byte[] ha1 | |
| method | back to summary |
|---|---|
| private String method | |
| nonce | back to summary |
|---|---|
| private String nonce | |
| parsedHeader | back to summary |
|---|---|
| pack-priv Map<DigestAuthorizationToken, String> parsedHeader | |
| qop | back to summary |
|---|---|
| private DigestQop qop | |
| stale | back to summary |
|---|---|
| private boolean stale | |
| DigestContext | back to summary |
|---|---|
| private DigestContext() | |
| getAlgorithm | back to summary |
|---|---|
| pack-priv DigestAlgorithm getAlgorithm() | |
| getDigest | back to summary |
|---|---|
| pack-priv MessageDigest getDigest() | |
| getHa1 | back to summary |
|---|---|
| pack-priv byte[] getHa1() | |
| getMethod | back to summary |
|---|---|
| pack-priv String getMethod() | |
| getNonce | back to summary |
|---|---|
| pack-priv String getNonce() | |
| getParsedHeader | back to summary |
|---|---|
| pack-priv Map | |
| getQop | back to summary |
|---|---|
| pack-priv DigestQop getQop() | |
| isStale | back to summary |
|---|---|
| pack-priv boolean isStale() | |
| markStale | back to summary |
|---|---|
| pack-priv void markStale() | |
| setAlgorithm | back to summary |
|---|---|
| pack-priv void setAlgorithm(DigestAlgorithm algorithm) throws NoSuchAlgorithmException | |
| setHa1 | back to summary |
|---|---|
| pack-priv void setHa1(byte[] ha1) | |
| setMethod | back to summary |
|---|---|
| pack-priv void setMethod(String method) | |
| setNonce | back to summary |
|---|---|
| pack-priv void setNonce(String nonce) | |
| setParsedHeader | back to summary |
|---|---|
| pack-priv void setParsedHeader(Map<DigestAuthorizationToken, String> parsedHeader) | |
| setQop | back to summary |
|---|---|
| pack-priv void setQop(DigestQop qop) | |
| Modifier and Type | Field and Description |
|---|---|
| private final DigestAuthenticationMechanism. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public DigestAlgorithm | getAlgorithm()
Implements io. Obtain the selected |
| public String | getRealm()
Implements io. Get the realm name the credential is being validated against. |
| public byte[] | getSessionData()
Implements io. If the algorithm is session based return the session data to be included when generating the ha1. |
| public boolean | verifyHA1(byte[]
- The hex encoded a1 value. ha1)Implements io. Called by the |
| context | back to summary |
|---|---|
| private final DigestAuthenticationMechanism. | |
| DigestCredentialImpl | back to summary |
|---|---|
| private DigestCredentialImpl(final DigestAuthenticationMechanism. | |
| getAlgorithm | back to summary |
|---|---|
| public DigestAlgorithm getAlgorithm() Implements io. Doc from io. Obtain the selected
| |
| getRealm | back to summary |
|---|---|
| public String getRealm() Implements io. Doc from io. Get the realm name the credential is being validated against. | |
| getSessionData | back to summary |
|---|---|
| public byte[] getSessionData() Implements io. Doc from io. If the algorithm is session based return the session data to be included when generating the ha1.
| |
| verifyHA1 | back to summary |
|---|---|
| public boolean verifyHA1(byte[] ha1) Implements io. Doc from io. Called by the
| |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public AuthenticationMechanism | create(String
The name under which this factory was registered mechanismName, IdentityManager the IdentityManager instance asscociated with the deployment identityManager, FormParserFactory Parser to create a form data parser for a given request. formParserFactory, Map<String, String> The properties properties)Overrides default io. Creates an authentication mechanism that needs access to the deployment IdentityManager and specified properties |
| Factory | back to summary |
|---|---|
| public Factory(IdentityManager identityManager)
Deprecated
| |
| Factory | back to summary |
|---|---|
| public Factory() | |
| create | back to summary |
|---|---|
| public AuthenticationMechanism create(String mechanismName, IdentityManager identityManager, FormParserFactory formParserFactory, Map<String, String> properties) Overrides default io. Doc from io. Creates an authentication mechanism that needs access to the deployment IdentityManager and specified properties
| |