Class Wallet

java.lang.Object
de.willuhn.jameica.security.Wallet

public final class Wallet extends Object
Liefert eine Art Brieftasche, ueber die andere Klassen Daten verschluesselt abspeichern koennen.

HINWEIS: Das Wallet verwendet zum Verschluesseln per Default den asymmetrischen RSA-Algorithmus (es sei denn, es wurde explizit eine andere Engine angegeben). Es ist im Default-Fall also nicht fuer groessere Daten (Dateien, Streams, etc.) geeignet sondern typischerweise fuer Passwoerter.

Will zum Beispiel ein Plugin irgendwelche Passwort-Informationen sicher speichern, dann kann es mittels folgenden Codes ein Wallet erzeugen:


   // erzeugt eine neue Wallet-Datei in ~/.jameica/cfg mit dem
   // Dateinamen "beliebige.Klasse.wallet2"
   Wallet wallet = new Wallet(beliebige.Klasse.class);
   // Speichern des Passwortes "geheim" unter dem Alias "passwort".
   wallet.set("passwort","geheim");
   // Auslesen des Passwortes "geheim".
   String password = wallet.getString("passwort");
 
  • Constructor Details

    • Wallet

      public Wallet(Class clazz) throws Exception
      ct.
      Parameters:
      clazz - Klasse, fuer die das Wallet gilt.
      Throws:
      Exception
    • Wallet

      public Wallet(Class clazz, Engine engine) throws Exception
      ct.
      Parameters:
      clazz - Klasse, fuer die das Wallet gilt.
      engine - die zu verwendende Crypto-Engine.
      Throws:
      Exception
  • Method Details

    • setEngine

      public void setEngine(Engine engine)
      Legt fest, mit welcher Crypto-Engine die Speicherung erfolgen soll.
      Parameters:
      engine - die zu verwendende Engine.
    • set

      public void set(String alias, Serializable data) throws Exception
      Speichert einen Datensatz verschluesselt in dem Wallet.
      Parameters:
      alias - Alias-Name.
      data - Nutzdaten, die verschluesselt gespeichert werden sollen oder null wenn der Wert geloescht werden soll.
      Throws:
      Exception
    • delete

      public Serializable delete(String alias) throws Exception
      Loescht den genanten Alias.
      Parameters:
      alias - Name des zu loeschenden Alias.
      Returns:
      der geloeschte Wert hinter dem Alias.
      Throws:
      Exception
    • deleteAll

      public void deleteAll(String aliasPrefix) throws Exception
      Loescht alle Nutzdaten, deren Alias-Name mit dem angegebenen beginnt. Wird als Prefix null oder ein Leerstring angegeben, wird das komplette Wallet geleert.
      Parameters:
      aliasPrefix - Alias-Prefix.
      Throws:
      Exception
    • getAll

      public String[] getAll(String aliasPrefix) throws Exception
      Liefert alle Keys, deren Name mit dem Prefix beginnt. Wird null uebergeben, werden alle Keys zurueckgeliefert.
      Parameters:
      aliasPrefix - Alias-Prefix.
      Returns:
      Liste der gefundenen Keys. Die Funktion liefert nie null sondern hoechstens ein leeres Array.
      Throws:
      Exception
    • getKeys

      public Enumeration<String> getKeys()
      Liefert eine Liste aller Aliases in diesem Wallet.
      Returns:
      Liste der Aliases.
    • get

      public Serializable get(String alias)
      Liefert den Wert des genannten Alias-Namen entschluesselt.
      Parameters:
      alias - Alias-Name.
      Returns:
      Nutzdaten.