Package com.netscape.cms.authentication
Class HashAuthentication
- java.lang.Object
-
- com.netscape.cms.authentication.HashAuthentication
-
- All Implemented Interfaces:
IExtendedPluginInfo
,IAuthManager
public class HashAuthentication extends java.lang.Object implements IAuthManager, IExtendedPluginInfo
Hash uid/pwd directory based authentication manager- Version:
- $Revision$, $Date$
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CRED_FINGERPRINT
static java.lang.String
CRED_HOST
static java.lang.String
CRED_PAGEID
static java.lang.String
CRED_UID
static long
DEFAULT_TIMEOUT
static org.slf4j.Logger
logger
protected static java.lang.String[]
mRequiredCreds
static java.lang.String
SALT
-
Fields inherited from interface org.dogtagpki.server.authentication.IAuthManager
CRED_CERT_SERIAL_TO_REVOKE, CRED_CMC_SELF_SIGNED, CRED_CMC_SIGNING_CERT, CRED_HOST_NAME, CRED_SESSION_ID, CRED_SSL_CLIENT_CERT
-
Fields inherited from interface com.netscape.certsrv.base.IExtendedPluginInfo
HELP_TEXT, HELP_TOKEN
-
-
Constructor Summary
Constructors Constructor Description HashAuthentication()
Default constructor, initialization must follow.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAuthToken(java.lang.String pageID, IAuthToken token)
IAuthToken
authenticate(IAuthCredentials authCreds)
Authenticates a user based on uid, pwd in the directory.void
createEntry(java.lang.String host, java.lang.String dn, long timeout, java.lang.String secret, long lastLogin)
void
deleteToken(java.lang.String pageID)
void
disable(java.lang.String hostname)
java.lang.String
getAgentName(java.lang.String hostname)
IAuthToken
getAuthToken(java.lang.String key)
java.lang.String[]
getConfigParams()
Returns a list of configuration parameter names.AuthManagerConfig
getConfigStore()
Gets the configuration substore used by this authentication managerHashAuthData
getData()
java.lang.String[]
getExtendedPluginInfo(java.util.Locale locale)
This method returns an array of strings.java.util.Enumeration<java.lang.String>
getHosts()
java.lang.String
getImplName()
gets the plugin name of this authentication manager.long
getLastLogin(java.lang.String hostname)
java.lang.String
getName()
gets the name of this authentication manager instancelong
getPageID()
java.lang.String[]
getRequiredCreds()
Returns array of required credentials for this authentication manager.java.lang.String
getSecret(java.lang.String hostname)
long
getTimeout(java.lang.String hostname)
java.lang.String
hashFingerprint(java.lang.String host, java.lang.String pageID, java.lang.String uid)
void
init(java.lang.String name, java.lang.String implName, AuthManagerConfig config)
Initialize this authentication manager.boolean
isEnable(java.lang.String hostname)
void
setAgentName(java.lang.String hostname, java.lang.String agentName)
void
setLastLogin(java.lang.String hostname, long lastlogin)
void
setSecret(java.lang.String hostname, java.lang.String secret)
void
setTimeout(java.lang.String hostname, long timeout)
void
shutdown()
Prepare this authentication manager for a shutdown.boolean
validFingerprint(java.lang.String host, java.lang.String pageID, java.lang.String uid, java.lang.String fingerprint)
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
SALT
public static final java.lang.String SALT
- See Also:
- Constant Field Values
-
CRED_UID
public static final java.lang.String CRED_UID
- See Also:
- Constant Field Values
-
CRED_FINGERPRINT
public static final java.lang.String CRED_FINGERPRINT
- See Also:
- Constant Field Values
-
CRED_PAGEID
public static final java.lang.String CRED_PAGEID
- See Also:
- Constant Field Values
-
CRED_HOST
public static final java.lang.String CRED_HOST
- See Also:
- Constant Field Values
-
mRequiredCreds
protected static java.lang.String[] mRequiredCreds
-
DEFAULT_TIMEOUT
public static final long DEFAULT_TIMEOUT
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(java.lang.String name, java.lang.String implName, AuthManagerConfig config) throws EBaseException
Description copied from interface:IAuthManager
Initialize this authentication manager.- Specified by:
init
in interfaceIAuthManager
- Parameters:
name
- The name of this authentication manager instance.implName
- The name of the authentication manager plugin.config
- The configuration store for this authentication manager.- Throws:
EBaseException
- If an initialization error occurred.
-
getAuthToken
public IAuthToken getAuthToken(java.lang.String key)
-
addAuthToken
public void addAuthToken(java.lang.String pageID, IAuthToken token)
-
deleteToken
public void deleteToken(java.lang.String pageID)
-
getData
public HashAuthData getData()
-
createEntry
public void createEntry(java.lang.String host, java.lang.String dn, long timeout, java.lang.String secret, long lastLogin)
-
disable
public void disable(java.lang.String hostname)
-
getAgentName
public java.lang.String getAgentName(java.lang.String hostname)
-
setAgentName
public void setAgentName(java.lang.String hostname, java.lang.String agentName)
-
isEnable
public boolean isEnable(java.lang.String hostname)
-
getTimeout
public long getTimeout(java.lang.String hostname)
-
setTimeout
public void setTimeout(java.lang.String hostname, long timeout)
-
getSecret
public java.lang.String getSecret(java.lang.String hostname)
-
setSecret
public void setSecret(java.lang.String hostname, java.lang.String secret)
-
getLastLogin
public long getLastLogin(java.lang.String hostname)
-
setLastLogin
public void setLastLogin(java.lang.String hostname, long lastlogin)
-
getPageID
public long getPageID()
-
validFingerprint
public boolean validFingerprint(java.lang.String host, java.lang.String pageID, java.lang.String uid, java.lang.String fingerprint)
-
getHosts
public java.util.Enumeration<java.lang.String> getHosts()
-
hashFingerprint
public java.lang.String hashFingerprint(java.lang.String host, java.lang.String pageID, java.lang.String uid)
-
shutdown
public void shutdown()
Description copied from interface:IAuthManager
Prepare this authentication manager for a shutdown. Called when the server is exiting for any cleanup needed.- Specified by:
shutdown
in interfaceIAuthManager
-
authenticate
public IAuthToken authenticate(IAuthCredentials authCreds) throws EBaseException
Authenticates a user based on uid, pwd in the directory.- Specified by:
authenticate
in interfaceIAuthManager
- Parameters:
authCreds
- The authentication credentials.- Returns:
- The user's ldap entry dn.
- Throws:
EInvalidCredentials
- If the uid and password are not validEBaseException
- If an internal error occurs.
-
getRequiredCreds
public java.lang.String[] getRequiredCreds()
Returns array of required credentials for this authentication manager.- Specified by:
getRequiredCreds
in interfaceIAuthManager
- Returns:
- Array of required credentials.
-
getConfigStore
public AuthManagerConfig getConfigStore()
Gets the configuration substore used by this authentication manager- Specified by:
getConfigStore
in interfaceIAuthManager
- Returns:
- configuration store
-
getName
public java.lang.String getName()
gets the name of this authentication manager instance- Specified by:
getName
in interfaceIAuthManager
- Returns:
- the name of this authentication manager.
-
getImplName
public java.lang.String getImplName()
gets the plugin name of this authentication manager.- Specified by:
getImplName
in interfaceIAuthManager
- Returns:
- the name of the authentication manager plugin.
-
getExtendedPluginInfo
public java.lang.String[] getExtendedPluginInfo(java.util.Locale locale)
Description copied from interface:IExtendedPluginInfo
This method returns an array of strings. Each element of the array represents a configurable parameter, or some other meta-info (such as help-token) there is an entry indexed on that parameter name; [,required]; ;... Where: type_info is either 'string', 'number', 'boolean', 'password' or 'choice(ch1,ch2,ch3,...)' If the marker 'required' is included after the type_info, the parameter will has some visually distinctive marking in the UI. 'description' is a short sentence describing the parameter 'choice' is rendered as a drop-down list. The first parameter in the list will be activated by default 'boolean' is rendered as a checkbox. The resulting parameter will be either 'true' or 'false' 'string' allows any characters 'number' allows only numbers 'password' is rendered as a password field (the characters are replaced with *'s when being types. This parameter is not passed through to the plugin. It is instead inserted directly into the password cache keyed on the instance name. The value of the parameter 'bindPWPrompt' (see example below) is set to the key. In addition to the configurable parameters, the following magic parameters may be defined: HELP_TOKEN;helptoken - a pointer to the online manual section for this plugin HELP_TEXT;helptext - a general help string describing the plugin For example: "username;string;The username you wish to login as" "bindPWPrompt;password;Enter password to bind as above user with" "algorithm;choice(RSA,DSA);Which algorithm do you want to use" "enable;boolean;Do you want to run this plugin" "port;number;Which port number do you want to use" - Specified by:
getExtendedPluginInfo
in interfaceIExtendedPluginInfo
-
getConfigParams
public java.lang.String[] getConfigParams()
Returns a list of configuration parameter names. The list is passed to the configuration console so instances of this implementation can be configured through the console.- Specified by:
getConfigParams
in interfaceIAuthManager
- Returns:
- String array of configuration parameter names.
-
-