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 Details

  • Constructor Details

    • 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 Details

    • 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 trimmed
      pw - 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 trimmed
      pw - 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 trimmed
      pw - 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 trimmed
      pw - plain text, already trimmed
      Returns:
      success
    • remove

      public boolean remove(String realm, String user)
      Remove password, any kind.
      Parameters:
      realm - e.g. i2cp, routerconsole, etc.
      user - null or "" for no user, already trimmed
      Returns:
      success