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
All Methods Instance Methods Concrete Methods 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 Detail
-
_context
protected final RouterContext _context
-
-
Constructor Detail
-
RouterPasswordManager
public 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 Detail
-
migrate
protected boolean migrate()
Migrate from plaintext to salt/hash- Returns:
- success or nothing to migrate
-
save
public boolean save(String realm, String user, String pw)
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
public boolean savePlain(String realm, String user, String pw)
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
public boolean saveB64(String realm, String user, String pw)
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
public boolean saveHash(String realm, String user, String pw)
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
-
-