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 Summary
Constructors Constructor Description DigestUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static char[]getTwoWayPasswordChars(TwoWayPassword password, Supplier<Provider[]> providers, ElytronMessages log)Get array of password chars from TwoWayPassword.static HashMap<String,byte[]>parseResponse(byte[] challenge, Charset charset, boolean multiRealm, ElytronMessages log)Client side method to parse challenge sent by server.static byte[]userRealmPasswordDigest(MessageDigest messageDigest, String username, String realm, char[] password)Digests the concatenated username, realm and password.
-
-
-
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-trueif there are multiple realms in the challenge,falseotherwiselog- 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.
-
-