public class PasswordFileCredentialStore extends Object implements CredentialStore
CredentialStore
.DEFAULT_ALGORITHM, NO_ALGORITHM
Constructor and Description |
---|
PasswordFileCredentialStore(PasswordFile file)
Initiate.
|
Modifier and Type | Method and Description |
---|---|
String |
getAlgorithm()
Obtains the algorithm used to encrypt credentials within this
CredentialStore . |
static PasswordFile |
loadPasswordFile(File rawFile)
Loads the
PasswordFile from the raw file. |
CredentialEntry |
retrieveCredentialEntry(String userId,
String realm)
Retrieves the
CredentialEntry . |
public PasswordFileCredentialStore(PasswordFile file)
file
- PasswordFile
.public static PasswordFile loadPasswordFile(File rawFile) throws IOException
Loads the PasswordFile
from the raw file.
The password file must be of the form:
# comment line algorithm=[algorithm] [UserId]:[Credentials]:[Role],[Role]
where items in brackets, [x], should be replaced with appropriate information.
The algorithm must be specified as first data line. Typically the
[algorithm] value would be MD5
.
The may be many UserId
entry lines with the user having many
Role
's defined separated by commas (,).
The binary credentials must be Base64
encoded.
rawFile
- Raw file containing the password details.PasswordFile
from the raw file.IOException
- If failure reading the password File
.public String getAlgorithm()
CredentialStore
Obtains the algorithm used to encrypt credentials within this
CredentialStore
.
Should the return be null
, blank or CredentialStore.NO_ALGORITHM
then the password is considered to be stored in plain text. This is
however only useful for the BASIC
authentication scheme due
to the nature of the other authentication schemes (such as
DIGEST
).
It is expected that the credentials for DIGEST
will be
stored as the algorithm applied to userId:realm:password
(as
per RFC 2617). This is necessary as the password is never supplied and
therefore for DIGEST
this MUST return an algorithm.
getAlgorithm
in interface CredentialStore
public CredentialEntry retrieveCredentialEntry(String userId, String realm)
CredentialStore
CredentialEntry
.retrieveCredentialEntry
in interface CredentialStore
userId
- User identifier.realm
- Realm. May be null
(especially in the case for
Basic
authentication).CredentialEntry
or null
if no
CredentialEntry
exists for parameters.Copyright © 2005–2016. All rights reserved.