Class Wallet


  • public final class Wallet
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      Wallet​(java.lang.Class clazz)
      ct.
      Wallet​(java.lang.Class clazz, Engine engine)
      ct.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.io.Serializable delete​(java.lang.String alias)
      Loescht den genanten Alias.
      void deleteAll​(java.lang.String aliasPrefix)
      Loescht alle Nutzdaten, deren Alias-Name mit dem angegebenen beginnt.
      java.io.Serializable get​(java.lang.String alias)
      Liefert den Wert des genannten Alias-Namen entschluesselt.
      java.lang.String[] getAll​(java.lang.String aliasPrefix)
      Liefert alle Keys, deren Name mit dem Prefix beginnt.
      java.util.Enumeration<java.lang.String> getKeys()
      Liefert eine Liste aller Aliases in diesem Wallet.
      void set​(java.lang.String alias, java.io.Serializable data)
      Speichert einen Datensatz verschluesselt in dem Wallet.
      void setEngine​(Engine engine)
      Legt fest, mit welcher Crypto-Engine die Speicherung erfolgen soll.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Wallet

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

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

      • 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​(java.lang.String alias,
                        java.io.Serializable data)
                 throws java.lang.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:
        java.lang.Exception
      • delete

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

        public void deleteAll​(java.lang.String aliasPrefix)
                       throws java.lang.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:
        java.lang.Exception
      • getAll

        public java.lang.String[] getAll​(java.lang.String aliasPrefix)
                                  throws java.lang.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:
        java.lang.Exception
      • getKeys

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

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