Class JAASCallbackHandler

  • All Implemented Interfaces:
    CallbackHandler

    public class JAASCallbackHandler
    extends Object
    implements CallbackHandler

    Implementation of the JAAS CallbackHandler interface, used to negotiate delivery of the username and credentials that were specified to our constructor. No interaction with the user is required (or possible).

    This CallbackHandler will pre-digest the supplied password, if required by the <Realm> element in server.xml.

    At present, JAASCallbackHandler knows how to handle callbacks of type javax.security.auth.callback.NameCallback and javax.security.auth.callback.PasswordCallback.

    Author:
    Craig R. McClanahan, Andrew R. Jaquith
    • Field Detail

      • sm

        protected static final StringManager sm
        The string manager for this package.
      • password

        protected final String password
        The password to be authenticated with.
      • realm

        protected final JAASRealm realm
        The associated JAASRealm instance.
      • username

        protected final String username
        The username to be authenticated with.
      • nonce

        protected final String nonce
        Server generated nonce.
      • nc

        protected final String nc
        Nonce count.
      • cnonce

        protected final String cnonce
        Client generated nonce.
      • qop

        protected final String qop
        Quality of protection applied to the message.
      • realmName

        protected final String realmName
        Realm name.
      • md5a2

        protected final String md5a2
        Second MD5 digest.
      • authMethod

        protected final String authMethod
        The authentication method to be used. If null, assume BASIC/FORM.
    • Constructor Detail

      • JAASCallbackHandler

        public JAASCallbackHandler​(JAASRealm realm,
                                   String username,
                                   String password)
        Construct a callback handler configured with the specified values. Note that if the JAASRealm instance specifies digested passwords, the password parameter will be pre-digested here.
        Parameters:
        realm - Our associated JAASRealm instance
        username - Username to be authenticated with
        password - Password to be authenticated with
      • JAASCallbackHandler

        public JAASCallbackHandler​(JAASRealm realm,
                                   String username,
                                   String password,
                                   String nonce,
                                   String nc,
                                   String cnonce,
                                   String qop,
                                   String realmName,
                                   String md5a2,
                                   String authMethod)
        Construct a callback handler for DIGEST authentication.
        Parameters:
        realm - Our associated JAASRealm instance
        username - Username to be authenticated with
        password - Password to be authenticated with
        nonce - Server generated nonce
        nc - Nonce count
        cnonce - Client generated nonce
        qop - Quality of protection applied to the message
        realmName - Realm name
        md5a2 - Second MD5 digest used to calculate the digest MD5(Method + ":" + uri)
        authMethod - The authentication method in use