Class DigestUtil

    • Constructor Detail

      • DigestUtil

        public DigestUtil()
    • Method Detail

      • parseResponse

        public static HashMap<String,​byte[]> parseResponse​(byte[] challenge,
                                                                 Charset charset,
                                                                 boolean multiRealm,
                                                                 ElytronMessages log)
                                                          throws AuthenticationMechanismException
        Client side method to parse challenge sent by server.
        Parameters:
        challenge - the byte array representing the authentication challenge to be parsed.
        charset - the charset to decide which whitespace separator is used.
        multiRealm - true if there are multiple realms in the challenge, false otherwise
        log - the logger to use.
        Returns:
        A new HashMap representing response for the parsed challenge
        Throws:
        AuthenticationMechanismException - if there is an error parsing the challenge
      • userRealmPasswordDigest

        public static byte[] userRealmPasswordDigest​(MessageDigest messageDigest,
                                                     String username,
                                                     String realm,
                                                     char[] password)
        Digests the concatenated username, realm and password.
        Parameters:
        messageDigest - the message digest algorithm to use when computing the digest.
        username - the username to use when concatenating.
        realm - the realm to use when concatenating.
        password - the password in the form of a char array to use when concatenating.
        Returns:
        byte array of the digested password.
      • getTwoWayPasswordChars

        public static char[] getTwoWayPasswordChars​(TwoWayPassword password,
                                                    Supplier<Provider[]> providers,
                                                    ElytronMessages log)
                                             throws AuthenticationMechanismException
        Get array of password chars from TwoWayPassword.
        Parameters:
        password - the TwoWayPassword that needs to be processed.
        providers - the supplier for the providers to be used for processing.
        log - the logger to use.
        Returns:
        encoded password in the form of a char array.
        Throws:
        AuthenticationMechanismException - if there is an error retrieving the encoded password.