public abstract class DigestCredentialHandlerBase extends java.lang.Object implements CredentialHandler
CredentialHandler
s.Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_SALT_LENGTH |
protected static StringManager |
sm |
Constructor and Description |
---|
DigestCredentialHandlerBase() |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.String |
getAlgorithm() |
protected abstract int |
getDefaultIterations() |
protected int |
getDefaultSaltLength() |
int |
getIterations() |
protected abstract Log |
getLog() |
boolean |
getLogInvalidStoredCredentials()
When checking input credentials against stored credentials will a warning
message be logged if invalid stored credentials are discovered?
|
int |
getSaltLength() |
protected boolean |
matchesSaltIterationsEncoded(java.lang.String inputCredentials,
java.lang.String storedCredentials)
Checks whether the provided credential matches the stored credential when
the stored credential is in the form salt$iteration-count$credential
|
java.lang.String |
mutate(java.lang.String userCredential)
Generates the equivalent stored credentials for the given input
credentials.
|
protected abstract java.lang.String |
mutate(java.lang.String inputCredentials,
byte[] salt,
int iterations)
Generates the equivalent stored credentials for the given input
credentials, salt and iterations.
|
protected java.lang.String |
mutate(java.lang.String inputCredentials,
byte[] salt,
int iterations,
int keyLength)
Generates the equivalent stored credentials for the given input
credentials, salt, iterations and key length.
|
abstract void |
setAlgorithm(java.lang.String algorithm)
Set the algorithm used to convert input credentials to stored
credentials.
|
void |
setIterations(int iterations)
Set the number of iterations of the associated algorithm that will be
used when creating a new stored credential for a given input credential.
|
void |
setLogInvalidStoredCredentials(boolean logInvalidStoredCredentials)
Set whether a warning message will be logged if invalid stored
credentials are discovered while checking input credentials against
stored credentials?
|
void |
setSaltLength(int saltLength)
Set the salt length that will be used when creating a new stored
credential for a given input credential.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
matches
protected static final StringManager sm
public static final int DEFAULT_SALT_LENGTH
public int getIterations()
public void setIterations(int iterations)
iterations
- the iterations countpublic int getSaltLength()
public void setSaltLength(int saltLength)
saltLength
- the salt lengthpublic boolean getLogInvalidStoredCredentials()
true
if logging will occurpublic void setLogInvalidStoredCredentials(boolean logInvalidStoredCredentials)
logInvalidStoredCredentials
- true
to log, the
default value is false
public java.lang.String mutate(java.lang.String userCredential)
CredentialHandler
mutate
in interface CredentialHandler
userCredential
- User provided credentialsprotected boolean matchesSaltIterationsEncoded(java.lang.String inputCredentials, java.lang.String storedCredentials)
inputCredentials
- The input credentialstoredCredentials
- The stored credentialtrue
if they match, otherwise false
protected int getDefaultSaltLength()
CredentialHandler
.protected abstract java.lang.String mutate(java.lang.String inputCredentials, byte[] salt, int iterations)
inputCredentials
- User provided credentialssalt
- Salt, if anyiterations
- Number of iterations of the algorithm associated
with this CredentialHandler applied to the
inputCredentials to generate the equivalent
stored credentialsnull
if the generation failsprotected java.lang.String mutate(java.lang.String inputCredentials, byte[] salt, int iterations, int keyLength)
mutate(String, byte[], int)
. Sub-classes that use the key length
should override this method.inputCredentials
- User provided credentialssalt
- Salt, if anyiterations
- Number of iterations of the algorithm associated
with this CredentialHandler applied to the
inputCredentials to generate the equivalent
stored credentialskeyLength
- Length of the produced digest in bits for
implementations where it's applicablenull
if the generation failspublic abstract void setAlgorithm(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException
algorithm
- the algorithmjava.security.NoSuchAlgorithmException
- if the specified algorithm
is not supportedpublic abstract java.lang.String getAlgorithm()
protected abstract int getDefaultIterations()
CredentialHandler
.protected abstract Log getLog()
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.