Class DigestUtil

java.lang.Object
org.wildfly.security.mechanism.digest.DigestUtil

public class DigestUtil extends Object
Common utility functions used by Digest authentication mechanisms.
Author:
Darran Lofthouse, Peter Skopek.
  • Constructor Details

    • DigestUtil

      public DigestUtil()
  • Method Details

    • 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.