public class CmsDefaultPasswordHandler extends java.lang.Object implements I_CmsPasswordHandler, I_CmsPasswordSecurityEvaluator, I_CmsPasswordGenerator
I_CmsPasswordSecurityEvaluator.SecurityLevel| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
PARAM_SCRYPT_FALLBACK
Parameter for SCrypt fall back.
|
static java.lang.String |
PARAM_SCRYPT_SETTINGS
Parameter for SCrypt settings.
|
static int |
PASSWORD_MIN_LENGTH
The minimum length of a password.
|
static int |
PASSWORD_SECURE_LENGTH
The password length that is considered to be secure.
|
CONVERT_DIGEST_ENCODING, DIGEST_TYPE_MD5, DIGEST_TYPE_PLAIN, DIGEST_TYPE_SCRYPT, DIGEST_TYPE_SHA, DIGEST_TYPE_SSHAADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD| Constructor and Description |
|---|
CmsDefaultPasswordHandler()
The constructor does not perform any operation.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addConfigurationParameter(java.lang.String paramName,
java.lang.String paramValue)
Adds a configuration parameter to this parameter configurable class instance.
|
boolean |
checkPassword(java.lang.String plainPassword,
java.lang.String digestedPassword,
boolean useFallback)
This method checks if the given plain text password is equal to the given
digested password.
|
java.lang.String |
digest(java.lang.String password)
Creates an OpenCms password digest according to the default setting for method/encodings.
|
java.lang.String |
digest(java.lang.String password,
java.lang.String digestType,
java.lang.String inputEncoding)
Creates an OpenCms password digest.
|
I_CmsPasswordSecurityEvaluator.SecurityLevel |
evaluatePasswordSecurity(java.lang.String password)
Evaluates the given password security.
|
CmsParameterConfiguration |
getConfiguration()
Returns the parameters of this configurable class instance,
or
null if the class does not need any parameters. |
java.lang.String |
getDigestType()
Returns the digestType.
|
java.lang.String |
getInputEncoding()
Returns the input encoding.
|
java.lang.String |
getPasswordSecurityHint(java.util.Locale locale)
Returns a hint describing how to set a secure password.
|
java.lang.String |
getRandomPassword()
Returns random password.
|
void |
initConfiguration()
Initializes a configuration after all parameters have been added.
|
void |
setDigestType(java.lang.String digestType)
Sets the digestType.
|
void |
setInputEncoding(java.lang.String inputEncoding)
Sets the input encoding.
|
void |
validatePassword(java.lang.String password)
This method checks if a new password follows the rules for
new passwords, which are defined by a Class configured in
the opencms.properties file.
|
public static java.lang.String PARAM_SCRYPT_FALLBACK
public static java.lang.String PARAM_SCRYPT_SETTINGS
public static final int PASSWORD_MIN_LENGTH
public static final int PASSWORD_SECURE_LENGTH
public CmsDefaultPasswordHandler()
public void addConfigurationParameter(java.lang.String paramName, java.lang.String paramValue)
I_CmsConfigurationParameterHandleraddConfigurationParameter in interface I_CmsConfigurationParameterHandlerparamName - the name of the parameterparamValue - the value for the parameterI_CmsConfigurationParameterHandler.addConfigurationParameter(java.lang.String, java.lang.String)public boolean checkPassword(java.lang.String plainPassword, java.lang.String digestedPassword, boolean useFallback)
I_CmsPasswordHandlerUse this to check salted passwords. If the password is salted, it needs to be checked with the salt (and possible other parameters) stored in the digested password. Just digesting the password again and comparing the result to a previous digest won't work because the salt will usually be different.
checkPassword in interface I_CmsPasswordHandlerplainPassword - the plain text password to checkdigestedPassword - the digested password to compare with the plain passworduseFallback - if true, then use a fall back hashing algorithm in case first validation failsfalse if the validation of the password failedI_CmsPasswordHandler.checkPassword(String, String, boolean)public java.lang.String digest(java.lang.String password) throws CmsPasswordEncryptionException
I_CmsPasswordHandlerdigest in interface I_CmsPasswordHandlerpassword - the password to encryptCmsPasswordEncryptionException - if something goes wrongI_CmsPasswordHandler.digest(java.lang.String)public java.lang.String digest(java.lang.String password, java.lang.String digestType, java.lang.String inputEncoding) throws CmsPasswordEncryptionException
I_CmsPasswordHandlerdigest in interface I_CmsPasswordHandlerpassword - the password to encryptdigestType - the algorithm used for encryption (i.e. MD5, SHA ...)inputEncoding - the encoding used when converting the password to bytes (i.e. UTF-8)CmsPasswordEncryptionException - if something goes wrongI_CmsPasswordHandler.digest(java.lang.String, java.lang.String, java.lang.String)public I_CmsPasswordSecurityEvaluator.SecurityLevel evaluatePasswordSecurity(java.lang.String password)
I_CmsPasswordSecurityEvaluatorevaluatePasswordSecurity in interface I_CmsPasswordSecurityEvaluatorpassword - the passwordI_CmsPasswordSecurityEvaluator.evaluatePasswordSecurity(java.lang.String)public CmsParameterConfiguration getConfiguration()
I_CmsConfigurationParameterHandlernull if the class does not need any parameters.getConfiguration in interface I_CmsConfigurationParameterHandlernull if the class does not need any parametersI_CmsConfigurationParameterHandler.getConfiguration()public java.lang.String getDigestType()
getDigestType in interface I_CmsPasswordHandlerpublic java.lang.String getInputEncoding()
getInputEncoding in interface I_CmsPasswordHandlerpublic java.lang.String getPasswordSecurityHint(java.util.Locale locale)
I_CmsPasswordSecurityEvaluatorgetPasswordSecurityHint in interface I_CmsPasswordSecurityEvaluatorlocale - the localeI_CmsPasswordSecurityEvaluator.getPasswordSecurityHint(java.util.Locale)public java.lang.String getRandomPassword()
I_CmsPasswordGeneratorgetRandomPassword in interface I_CmsPasswordGeneratorI_CmsPasswordGenerator.getRandomPassword()public void initConfiguration()
I_CmsConfigurationParameterHandlerinitConfiguration in interface I_CmsConfigurationParameterHandlerI_CmsConfigurationParameterHandler.initConfiguration()public void setDigestType(java.lang.String digestType)
setDigestType in interface I_CmsPasswordHandlerdigestType - the digestType to setpublic void setInputEncoding(java.lang.String inputEncoding)
setInputEncoding in interface I_CmsPasswordHandlerinputEncoding - the input encoding to setpublic void validatePassword(java.lang.String password) throws CmsSecurityException
I_CmsPasswordHandlerIf this method throws no exception the password is valid.
validatePassword in interface I_CmsPasswordHandlerpassword - the password to checkCmsSecurityException - if validation of the password failedI_CmsPasswordHandler.validatePassword(java.lang.String)