Package net.i2p.router.util
Class RouterPasswordManager
java.lang.Object
net.i2p.util.PasswordManager
net.i2p.router.util.RouterPasswordManager
- Direct Known Subclasses:
ConsolePasswordManager
public class RouterPasswordManager extends PasswordManager
Manage both plaintext and salted/hashed password storage in
router.config.
- Since:
- 0.9.4
-
Field Summary
Fields Modifier and Type Field Description protected RouterContext
_context
Fields inherited from class net.i2p.util.PasswordManager
PROP_B64, PROP_CRYPT, PROP_MD5, PROP_PW, PROP_SHASH, SALT_LENGTH, SHASH_LENGTH
-
Constructor Summary
Constructors Constructor Description RouterPasswordManager(RouterContext ctx)
// migrate these to b64 private static final String[] MIGRATE_FROM = { // This has a separate router.reseedProxy.username prop, // so let's not mess with it "router.reseedProxy.password", // Don't migrate these until we have a console form for them, // which we aren't likely to ever bother with "routerconsole.keyPassword", "routerconsole.keystorePassword", "i2cp.keyPassword", "i2cp.keystorePassword" }; private static final String[] MIGRATE_TO = { "router.reseedProxy.auth", "routerconsole.ssl.key.auth", "routerconsole.ssl.keystore.auth", "i2cp.ssl.key.auth", "i2cp.ssl.keystore.auth" }; -
Method Summary
Modifier and Type Method Description protected boolean
migrate()
Migrate from plaintext to salt/hashboolean
remove(String realm, String user)
Remove password, any kind.boolean
save(String realm, String user, String pw)
Same as saveHash()boolean
saveB64(String realm, String user, String pw)
This will fail if if user contains '#' or '=' or starts with '!'boolean
saveHash(String realm, String user, String pw)
This will fail if user contains '#' or '=' or starts with '!'boolean
savePlain(String realm, String user, String pw)
This will fail if pw contains a '#' or if user contains '#' or '=' or starts with '!'Methods inherited from class net.i2p.util.PasswordManager
check, checkB64, checkHash, checkHash, checkPlain, createHash, get, getB64, getPlain, md5Hex, md5Hex, md5Sum
-
Field Details
-
Constructor Details
-
RouterPasswordManager
// migrate these to b64 private static final String[] MIGRATE_FROM = { // This has a separate router.reseedProxy.username prop, // so let's not mess with it "router.reseedProxy.password", // Don't migrate these until we have a console form for them, // which we aren't likely to ever bother with "routerconsole.keyPassword", "routerconsole.keystorePassword", "i2cp.keyPassword", "i2cp.keystorePassword" }; private static final String[] MIGRATE_TO = { "router.reseedProxy.auth", "routerconsole.ssl.key.auth", "routerconsole.ssl.keystore.auth", "i2cp.ssl.key.auth", "i2cp.ssl.keystore.auth" };
-
-
Method Details
-
migrate
protected boolean migrate()Migrate from plaintext to salt/hash- Returns:
- success or nothing to migrate
-
save
Same as saveHash()- Parameters:
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmed- Returns:
- success
-
savePlain
This will fail if pw contains a '#' or if user contains '#' or '=' or starts with '!'- Parameters:
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmed- Returns:
- success
-
saveB64
This will fail if if user contains '#' or '=' or starts with '!'- Parameters:
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmed- Returns:
- success
-
saveHash
This will fail if user contains '#' or '=' or starts with '!'- Parameters:
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmed- Returns:
- success
-
remove
Remove password, any kind.- Parameters:
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmed- Returns:
- success
-