Package de.willuhn.jameica.security
Class Wallet
- java.lang.Object
-
- 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 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");
-
-
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.
-
-
-
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 odernull
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 Prefixnull
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. Wirdnull
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.
-
-