|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Public Interface für HBCI-Passports. Ein HBCI-Passport ist eine Art "Ausweis", der individuell für jeden Nutzer eines HBCI-Zugangs und für jeden Zugangsmechanismus ist. Ein Passport repräsentiert ein HBCI-Sicherheitsmedium und stellt Funktionen bereit, um mit dem jeweiligen Medium zu arbeiten.
Für jede Zugangsart gibt es eine konkrete Passport-Implementation, die dieses Interface implementiert. Dabei handelt es sich um
HBCIPassportDDV
für Zugang über DDV mit ChipkarteHBCIPassportRDHNew
für Zugang über RDH mit DateiHBCIPassportRDH
für Zugang über RDH mit Datei (bitte nicht mehr benutzen;
siehe Datei README.RDHNew
)HBCIPassportPinTan
für Zugang über das PIN/TAN-VerfahrenHBCIPassportAnonymous
für den anonymen ZugangHBCIPassportSIZRDHFile
für den Zugang über RDH mit Datei,
wobei als Datei eine SIZ-Schlüsseldatei, wie sie z.B. von StarMoney oder GENOlite
erzeugt wird, verwendet werden kannHBCIPassportOpenHBCI
für den Zugang über RDH mit Medium "Datei",
wobei als Medium eine Schlüsseldatei verwendet werden kann, die mit
OpenHBCI erstellt wurde.In einem Passport werden alle nutzer- und institutsspezifischen Daten verwaltet. Dazu gehören
Außerdem sind in einem Passport alle Methoden implementiert, die zur Durchführung der kryptografischen Operationen benötigt werden (verschlüsseln, signieren, usw.)
Method Summary | |
void |
changePassphrase()
Ändern des Passwortes für die Schlüsseldatei. |
void |
clearBPD()
Löschen der lokal gespeicherten BPD. |
void |
clearUPD()
Löschen der lokal gespeicherten UPD. |
void |
close()
Schließen eines Passport-Objektes. |
void |
fillAccountInfo(Konto account)
Ausfüllen fehlender Kontoinformationen. |
Konto |
getAccount(java.lang.String number)
Gibt ein Konto-Objekt zu einer bestimmten Kontonummer zurück. |
Konto[] |
getAccounts()
Gibt ein Array mit Kontoinformationen zurück. |
java.lang.String |
getBLZ()
Gibt die Bankleitzahl des Kreditinstitutes zurück. |
java.util.Properties |
getBPD()
Gibt die gespeicherten BPD zurück. |
java.lang.String |
getBPDVersion()
Gibt die Versionsnummer der lokal gespeicherten BPD zurück. |
java.lang.Object |
getClientData(java.lang.String id)
Holen von clientseitig gespeicherten zusätzlichen Daten. |
java.lang.String |
getCountry()
Gibt den Ländercode der Bank zurück. |
java.lang.String |
getCustomerId()
Gibt die Kunden-ID zurück, die von HBCI4Java für die Initialisierung eines Dialoges benutzt wird. |
java.lang.String |
getDefaultLang()
Gibt die Standardsprache des HBCI-Servers zurück. |
java.lang.String |
getFilterType()
Gibt zurück, welcher Datenfilter für die Kommunikation mit dem HBCI-Server verwendet wird. |
java.lang.String |
getHBCIVersion()
Gibt die HBCI-Version zurück, die zuletzt verwendet wurde. |
java.lang.String |
getHost()
Gibt den Hostnamen des HBCI-Servers für dieses Passport zurück. |
java.lang.String |
getInstName()
Gibt den Namen des Kreditinstitutes zurück. |
java.lang.Integer |
getPort()
Gibt die TCP-Portnummer auf dem HBCI-Server zurück, zu der eine HBCI-Verbindung aufgebaut werden soll. |
java.lang.String[] |
getSuppLangs()
Gibt eine Liste aller unterstützten Sprachcodes zurück. |
java.lang.String[][] |
getSuppSecMethods()
Gibt eine Liste der vom HBCI-Server unterstützten Sicherheitsmechanismen zurück. |
java.lang.String[] |
getSuppVersions()
Gibt eine Liste aller unterstützten HBCI-Versionen zurück. |
java.util.Properties |
getUPD()
Gibt die gespeicherten UPD (User-Parameter-Daten) zurück. |
java.lang.String |
getUPDVersion()
Gibt die Versionsnummer der lokal gespeicherten UPD zurück. |
java.lang.String |
getUserId()
Gibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird. |
void |
saveChanges()
Speichern der Änderungen an den Passport-Daten. |
void |
setClientData(java.lang.String id,
java.lang.Object o)
Speichern zusätzlicher Daten im Passport-Objekt. |
void |
setCustomerId(java.lang.String customerid)
Setzen der zu verwendenden Kunden-ID. |
void |
setHost(java.lang.String host)
Manuelles Setzen der Adresse des HBCI-Servers. |
void |
syncSigId()
Synchronisation der Signatur-ID erzwingen (nur für RDH-Passports sinnvoll). |
void |
syncSysId()
Synchronisation der System-ID (nur für RDH-Passports sinnvoll). |
Method Detail |
public java.util.Properties getBPD()
null
, falls diese nicht im
Passport vorhanden sindpublic java.lang.String getHBCIVersion()
HBCIHandlers
verwendet werden kann. Um also
einen HBCIHandler zu erzeugen, der mit der HBCI-Version arbeitet, mit der
ein Passport-Objekt zuletzt benutzt wurde, so kann das mit
new HBCIHandler(passport.getHBCIVersion(),passport)
erfolgen (vorausgesetzt,
passport.getHBCIVersion()
gibt einen nicht-leeren String zurück.
public java.util.Properties getUPD()
null
, falls diese nicht im
Passport vorhanden sindpublic java.lang.String getBLZ()
Gibt die Bankleitzahl des Kreditinstitutes zurück. Bei Verwendung dieser Methode ist Vorsicht geboten, denn hier ist die Bankleitzahl der Bank gemeint, die den HBCI-Server betreibt. I.d.R. deckt sich diese BLZ zwar mit der BLZ der Konten des Bankkunden, es gibt aber auch Fälle, wo die BLZ, die mit dieser Methode ermittelt wird, anders ist als die BLZ bei den Kontoverbindungen des Kunden.
Für die Ermittlung der BLZ für die Kontodaten sollte statt dessen die Methode
getAccounts()
benutzt werden.
public java.lang.String getCountry()
DE
".
public Konto[] getAccounts()
public void fillAccountInfo(Konto account)
getAccounts()
) wird nach einem Konto gesucht, welches die
gleiche Kontonummer hat wie das übergebene Konto account
. Wird ein solches
Konto gefunden, so werden die Daten dieses gefundenen Kontos in das account
-Objekt
übertragen.
Diese Methode kann benutzt werden, wenn zu einem Konto nicht alle Daten bekannt sind, wenigstens
aber die Kontonummer.
account
- unvollständige Konto-Informationen, bei denen die fehlenden Daten nachgetragen
werdenpublic Konto getAccount(java.lang.String number)
getAccounts()
erzeugt wird, nach der Kontonummer durchsucht. Es wird in
jedem Fall ein nicht-leeres Kontoobjekt zurückgegeben. Wird die Kontonummer jedoch nicht in
der Liste gefunden, so enthält das Kontoobjekt auch nur die Kontonummer und keine
weiteren Kontodaten.
number
- die Kontonummer, für die ein Konto-Objekt erzeugt werden soll
public java.lang.String getHost()
public java.lang.Integer getPort()
setPort()
geändert werden.
public java.lang.String getFilterType()
None
" und
"Base64
".
public java.lang.String getUserId()
public java.lang.String getCustomerId()
Gibt die Kunden-ID zurück, die von HBCI4Java für die
Initialisierung eines Dialoges benutzt wird. Zu einer Benutzerkennung
(getUserId()
), welche jeweils an ein bestimmtes Medium
gebunden ist, kann es mehrere Kunden-IDs geben. Die verschiedenen
Kunden-IDs entsprechen verschiedenen Rollen, in denen der Benutzer
auftreten kann.
In den meisten Fällen gibt es zu einer Benutzerkennung nur eine einzige Kunden-ID. Wird von der Bank keine Kunden-ID explizit vergeben, so ist die Kunden-ID identisch mit der Benutzerkennung.
Siehe dazu auch
HBCIHandler.addJob(String,org.kapott.hbci.GV.HBCIJob)
.
public java.lang.String getBPDVersion()
public java.lang.String getUPDVersion()
getBPDVersion()
.
public java.lang.String getInstName()
null
zurückgegeben.
public java.lang.String[] getSuppLangs()
public java.lang.String[] getSuppVersions()
Gibt eine Liste aller unterstützten HBCI-Versionen zurück.
Die einzelnen Strings für die Versionen sind die gleichen, wie sie in der Methode
new HBCIHandler(version,passport)
verwendet werden können.
Zusätzlich zu den hier zurückgegebenen HBCI-Versions-Codes gibt es einige
spezielle Codes. Siehe dazu die Dokumentation zu
new HBCIHandler(version,passport)
public java.lang.String getDefaultLang()
getSuppLangs()
.
public java.lang.String[][] getSuppSecMethods()
Gibt eine Liste der vom HBCI-Server unterstützten Sicherheitsmechanismen
zurück. Gültige Werte für jeden einzelnen String sind RDH
bzw.
DDV
.
Die Unterstützung des PIN/TAN-Verfahrens kann mit dieser Methode nicht ermittelt werden.
public void clearBPD()
public void clearUPD()
public void setHost(java.lang.String host)
Manuelles Setzen der Adresse des HBCI-Servers. Das kann evtl. nötig
sein, wenn sich die Zugangsdaten des Server geändert haben. Die Änderungen
werden permanent gespeichert, nachdem die neuen Werte wenigstens einmal in
einem HBCI-Dialog benutzt wurden oder mit
saveChanges()
explizit gespeichert
werden. Diese permanente Speicherung wird allerdings
nur bei RDH- oder PIN/TAN-Passports durchgeführt. Um die Daten bei DDV-Passports
permanent auf der Chipkarte zu speichern, ist der HBCI-PassportEditor
nötig
(es wäre kein Problem, diese Daten sofort auf der Chipkarte zu speichern, allerdings besteht dann die Gefahr, dass man "aus Versehen" falsche Daten auf der Chipkarte ablegt und die richtigen Daten nicht wieder restaurieren kann, da es bei DDV-Zugängen i.d.R. keine Begleitbriefe von der Bank gibt, in denen die korrekten Zugangsdaten aufgelistet sind).
host
- die neue Adresse, unter der der HBCI-Server zu erreichen istpublic void setCustomerId(java.lang.String customerid)
HBCIHandler.execute()
)
benutzt wird. Diese neue Kunden-ID wird dann außerdem permanent im
jeweiligen Sicherheitsmedium gespeichert (sofern das von dem Medium
unterstützt wird).
customerid
- die zu verwendende Kunden-IDgetCustomerId()
public void saveChanges()
saveChanges
ist nur dann sinnvoll, wenn irgendwelche Passport-Daten manuell verändert
werden (setHost()
,
clearBPD()
usw.) und diese Änderungen
explizit gespeichert werden sollen.
public void close()
Schließen eines Passport-Objektes. Diese Methode wird normalerweise
nicht manuell aufgerufen, da das bereits von
HBCIHandler.close()
erledigt
wird. Wurde jedoch ein Passport-Objekt erzeugt, und das anschließende
Erzeugen eines HBCIHandler-Objektes schlägt fehlt, dann ist das Passport
immer noch geöffnet und sollte mit dieser Methode geschlossen werden, falls
es nicht weiterbenutzt werden soll.
Am Ende eines Programmes sollte also in jedem Fall entweder ein erfolgreiches
HBCIHandler.close()
oder
wenigstens ein HBCIPassport.close()
für jedes erzeugte Passport-Objekt stehen. Das ist vor allem für
Passport-Varianten wichtig, die auf einer Chipkarte basieren, da mit dieser
Methode die entsprechenden Ressourcen wieder freigegeben werden.
public void syncSigId()
HBCIHandler
-Objekt
erzeugt wird. Durch den Aufruf dieser Methode wird veranlasst, dass
beim Erzeugen eines HBCIHandler
-Objektes mit diesem
Passport die Signatur-ID des Passports synchronisiert wird.
public void syncSysId()
HBCIHandler
-Objekt
erzeugt wird. Durch den Aufruf dieser Methode wird veranlasst, dass
beim Erzeugen eines HBCIHandler
-Objektes mit diesem
Passport die System-ID des Passports synchronisiert wird.
public void changePassphrase()
NEED_PASSPHRASE_SAVE
) nach dem neuen Passwort für die
Schlüsseldatei fragt. Anschließend wird das Medium unter Verwendung des
neuen Passwortes automatisch neu gespeichert.
public void setClientData(java.lang.String id, java.lang.Object o)
o
unter dem Identifikations-String
id
gespeichert. Mit getClientData(id)
kann das entsprechende Objekt wieder ausgelesen werden. Die mit dieser Methode
gesetzten Daten werden nicht mit in der Schlüsseldatei (Passport-Datei)
abgelegt, d.h. die Lebensdauer dieser Daten entspricht nur der Lebensdauer
des Passport-Objektes.
id
- Identifikationsstring für das zu speichernde Objekto
- zu speicherndes Objektpublic java.lang.Object getClientData(java.lang.String id)
setClientData()
im Passport gespeichert wurden, wieder ausgelesen werden. Auch das Objekt,
das beim Erzeugen eines Passport-Objektes als init
-Parameter übergeben wurde
(siehe AbstractHBCIPassport.getInstance()
),
kann damit ausgelesen werden (mit id="init"
).
id
- Identifikationsstring des auszulesenden Objektes
setClientData(id,o)
im Passport gespeichert wurde.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |