de.willuhn.jameica.security
Class Wallet

java.lang.Object
  extended by de.willuhn.jameica.security.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 den asymmetrischen RSA-Algorithmus. Es ist aufgrund des Rechenaufwandes 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
Wallet(java.lang.Class clazz)
          ct.
 
Method Summary
 void 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 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.
 
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
Method Detail

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 Wet geloescht werden soll.
Throws:
java.lang.Exception

delete

public void delete(java.lang.String alias)
            throws java.lang.Exception
Loescht den genanten Alias.

Parameters:
alias - Name des zu loeschenden 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. Die Funktion liefert nie null sondern hoechstens ein leeres Array.

Parameters:
aliasPrefix - Alias-Prefix.
Returns:
Liste der gefundenen Keys.
Throws:
java.lang.Exception

getKeys

public java.util.Enumeration 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.