Interface OneTimePassword
- All Superinterfaces:
Cloneable,Key,OneWayPassword,Password,Serializable
A one-time password, used by the OTP SASL mechanism.
- Author:
- Farah Juma
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe algorithm name "otp-md5".static final StringThe algorithm name "otp-sha256".static final StringThe algorithm name "otp-sha384".static final StringThe algorithm name "otp-sha512".static final StringThe algorithm name "otp-sha1".static final intThe constant size of the hash, in bytes.Fields inherited from interface java.security.Key
serialVersionUID -
Method Summary
Modifier and TypeMethodDescriptionclone()Creates and returns a copy of thisPassword.static OneTimePasswordCreate a raw implementation of this password type.byte[]getHash()Get the hash represented by this password.default OneTimePasswordAlgorithmSpecGet the applicable algorithm parameter specification for this password type.getSeed()Get the seed used to generate the hash.intGet the sequence number used to generate the hash.default booleanimpliesParameters(AlgorithmParameterSpec parameterSpec) Determine if this password is matched by the given parameter specification.Methods inherited from interface java.security.Key
getAlgorithm, getEncoded, getFormatMethods inherited from interface org.wildfly.security.password.Password
castAndApply, castAndApply, castAs, castAs
-
Field Details
-
ALGORITHM_OTP_MD5
The algorithm name "otp-md5".- See Also:
-
ALGORITHM_OTP_SHA1
The algorithm name "otp-sha1".- See Also:
-
ALGORITHM_OTP_SHA_256
The algorithm name "otp-sha256".- See Also:
-
ALGORITHM_OTP_SHA_384
The algorithm name "otp-sha384".- See Also:
-
ALGORITHM_OTP_SHA_512
The algorithm name "otp-sha512".- See Also:
-
OTP_HASH_SIZE
static final int OTP_HASH_SIZEThe constant size of the hash, in bytes.- See Also:
-
-
Method Details
-
getHash
byte[] getHash()Get the hash represented by this password.- Returns:
- the hash represented by this password
-
getSeed
String getSeed()Get the seed used to generate the hash.- Returns:
- the seed used to generate the hash
-
getSequenceNumber
int getSequenceNumber()Get the sequence number used to generate the hash.- Returns:
- the sequence number used to generate the hash
-
getParameterSpec
Description copied from interface:PasswordGet the applicable algorithm parameter specification for this password type.- Specified by:
getParameterSpecin interfacePassword- Returns:
- the algorithm parameter specification, or
nullif this password type does not support algorithms
-
impliesParameters
Description copied from interface:PasswordDetermine if this password is matched by the given parameter specification.- Specified by:
impliesParametersin interfacePassword- Parameters:
parameterSpec- the parameter specification (must not benull)- Returns:
trueif the password is matched by the parameters,falseotherwise
-
clone
OneTimePassword clone()Creates and returns a copy of thisPassword.- Specified by:
clonein interfaceOneWayPassword- Specified by:
clonein interfacePassword- Returns:
- a copy of this
Password.
-
createRaw
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 namehash- the hashseed- the seedsequenceNumber- the sequence number- Returns:
- the raw password implementation
-