Package net.i2p.i2pcontrol.security
Class SecurityManager
- java.lang.Object
-
- net.i2p.i2pcontrol.security.SecurityManager
-
public class SecurityManager extends Object
Manage the password storing for I2PControl.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_AUTH_PASSWORD
-
Constructor Summary
Constructors Constructor Description SecurityManager(I2PAppContext ctx, KeyStoreProvider ksp, ConfigurationManager conf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetHash(String string)Hash input one time with SHA-256, return Base64 encdoded string.StringgetPasswdHash(String pwd)Hash pwd with using BCrypt with the default salt.booleanisDefaultPasswordValid()Is this password correct?booleanisValid(String pwd)Is this password correct?booleansetPasswd(String newPasswd)Set new password.voidstopTimedEvents()AuthTokenvalidatePasswd(String pwd)Add a Authentication Token if the provided password is valid.voidverifyToken(String tokenID)Checks whether the AuthToken with the given ID exists and if it does whether is has expired.
-
-
-
Field Detail
-
DEFAULT_AUTH_PASSWORD
public static final String DEFAULT_AUTH_PASSWORD
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SecurityManager
public SecurityManager(I2PAppContext ctx, KeyStoreProvider ksp, ConfigurationManager conf)
- Parameters:
ksp- may be null (if webapp)
-
-
Method Detail
-
stopTimedEvents
public void stopTimedEvents()
-
getPasswdHash
public String getPasswdHash(String pwd)
Hash pwd with using BCrypt with the default salt.- Parameters:
pwd-- Returns:
- BCrypt hash of salt and input string
-
getHash
public String getHash(String string)
Hash input one time with SHA-256, return Base64 encdoded string.- Parameters:
string-- Returns:
- Base64 encoded string
-
isValid
public boolean isValid(String pwd)
Is this password correct?- Returns:
- true if password is valid.
- Since:
- 0.12
-
isDefaultPasswordValid
public boolean isDefaultPasswordValid()
Is this password correct?- Returns:
- true if password is valid.
- Since:
- 0.12
-
validatePasswd
public AuthToken validatePasswd(String pwd)
Add a Authentication Token if the provided password is valid. The token will be valid for one day.- Returns:
- AuthToken if password is valid. If password is invalid null will be returned.
-
setPasswd
public boolean setPasswd(String newPasswd)
Set new password. Old tokens will NOT remain valid, to encourage the new password being tested.- Parameters:
newPasswd-- Returns:
- Returns true if a new password was set.
-
verifyToken
public void verifyToken(String tokenID) throws InvalidAuthTokenException, ExpiredAuthTokenException
Checks whether the AuthToken with the given ID exists and if it does whether is has expired.- Parameters:
tokenID- - The token to validate- Throws:
InvalidAuthTokenExceptionExpiredAuthTokenException
-
-