CredentialHandler
MessageDigestCredentialHandler
, SecretKeyCredentialHandler
public abstract class DigestCredentialHandlerBase extends java.lang.Object implements CredentialHandler
CredentialHandler
s.Modifier and Type | Field | Description |
---|---|---|
static int |
DEFAULT_SALT_LENGTH |
|
protected static StringManager |
sm |
Constructor | Description |
---|---|
DigestCredentialHandlerBase() |
Modifier and Type | Method | 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.
|
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.