Interface ScramDigestPassword
-
- All Superinterfaces:
Cloneable
,Key
,OneWayPassword
,Password
,Serializable
- All Known Implementing Classes:
RawScramDigestPassword
,ScramDigestPasswordImpl
public interface ScramDigestPassword extends OneWayPassword
A SCRAM-digest password, used by the SCRAM family of SASL mechanisms.- Author:
- David M. Lloyd
-
-
Field Summary
Fields Modifier and Type Field Description static String
ALGORITHM_SCRAM_SHA_1
The algorithm "scram-sha-1".static String
ALGORITHM_SCRAM_SHA_256
The algorithm "scram-sha-256".static String
ALGORITHM_SCRAM_SHA_384
The algorithm "scram-sha-384".static String
ALGORITHM_SCRAM_SHA_512
The algorithm "scram-sha-512".static int
DEFAULT_ITERATION_COUNT
The default iteration count for this password type.static int
DEFAULT_SALT_SIZE
The default salt size for this password type.-
Fields inherited from interface java.security.Key
serialVersionUID
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ScramDigestPassword
clone()
Creates and returns a copy of thisPassword
.static ScramDigestPassword
createRaw(String algorithm, byte[] digest, byte[] salt, int iterationCount)
Create a raw implementation of this password type.byte[]
getDigest()
Get the digest represented by this password.int
getIterationCount()
Get the iteration count used to generate the digest.default IteratedSaltedPasswordAlgorithmSpec
getParameterSpec()
Get the applicable algorithm parameter specification for this password type.byte[]
getSalt()
Get the salt used to generate the digest.default boolean
impliesParameters(AlgorithmParameterSpec parameterSpec)
Determine if this password is matched by the given parameter specification.-
Methods inherited from interface java.security.Key
getAlgorithm, getEncoded, getFormat
-
Methods inherited from interface org.wildfly.security.password.Password
castAndApply, castAndApply, castAs, castAs
-
-
-
-
Field Detail
-
ALGORITHM_SCRAM_SHA_1
static final String ALGORITHM_SCRAM_SHA_1
The algorithm "scram-sha-1".- See Also:
- Constant Field Values
-
ALGORITHM_SCRAM_SHA_256
static final String ALGORITHM_SCRAM_SHA_256
The algorithm "scram-sha-256".- See Also:
- Constant Field Values
-
ALGORITHM_SCRAM_SHA_384
static final String ALGORITHM_SCRAM_SHA_384
The algorithm "scram-sha-384".- See Also:
- Constant Field Values
-
ALGORITHM_SCRAM_SHA_512
static final String ALGORITHM_SCRAM_SHA_512
The algorithm "scram-sha-512".- See Also:
- Constant Field Values
-
DEFAULT_SALT_SIZE
static final int DEFAULT_SALT_SIZE
The default salt size for this password type.- See Also:
- Constant Field Values
-
DEFAULT_ITERATION_COUNT
static final int DEFAULT_ITERATION_COUNT
The default iteration count for this password type.- See Also:
- Constant Field Values
-
-
Method Detail
-
getDigest
byte[] getDigest()
Get the digest represented by this password.- Returns:
- the digest represented by this password
-
getSalt
byte[] getSalt()
Get the salt used to generate the digest.- Returns:
- the salt used to generate the digest
-
getIterationCount
int getIterationCount()
Get the iteration count used to generate the digest.- Returns:
- the iteration count used to generate the digest
-
getParameterSpec
default IteratedSaltedPasswordAlgorithmSpec getParameterSpec()
Description copied from interface:Password
Get the applicable algorithm parameter specification for this password type.- Specified by:
getParameterSpec
in interfacePassword
- Returns:
- the algorithm parameter specification, or
null
if this password type does not support algorithms
-
impliesParameters
default boolean impliesParameters(AlgorithmParameterSpec parameterSpec)
Description copied from interface:Password
Determine if this password is matched by the given parameter specification.- Specified by:
impliesParameters
in interfacePassword
- Parameters:
parameterSpec
- the parameter specification (must not benull
)- Returns:
true
if the password is matched by the parameters,false
otherwise
-
clone
ScramDigestPassword clone()
Creates and returns a copy of thisPassword
.- Specified by:
clone
in interfaceOneWayPassword
- Specified by:
clone
in interfacePassword
- Returns:
- a copy of this
Password
.
-
createRaw
static ScramDigestPassword createRaw(String algorithm, byte[] digest, byte[] salt, int iterationCount)
Create a raw implementation of this password type. No validation of the content is performed, and the password must be "adopted" in to aPasswordFactory
(via thePasswordFactory.translate(Password)
method) before it can be validated and used to verify guesses.- Parameters:
algorithm
- the algorithm namedigest
- the digestsalt
- the saltiterationCount
- the iteration count- Returns:
- the raw password implementation
-
-