Interface HBCIPassport
-
- All Known Subinterfaces:
HBCIPassportInternal
- All Known Implementing Classes:
AbstractHBCIPassport,PinTanPassport
public interface HBCIPassportPublic 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
HBCIPassportDDVfür Zugang über DDV mit ChipkarteHBCIPassportRDHNewfür Zugang über RDH mit DateiHBCIPassportRDHfür Zugang über RDH mit Datei (bitte nicht mehr benutzen; siehe DateiREADME.RDHNew)HBCIPassportPinTanfür Zugang über das PIN/TAN-VerfahrenHBCIPassportAnonymousfür den anonymen ZugangHBCIPassportSIZRDHFilefü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 kannHBCIPassportRDHXFilefür den Zugang über RDH mit Datei, wobei als Datei eine RDH-2- oder RDH-10-Schlüsseldatei verwendet wird, wie sie z.B. von VR-NetWorld erzeugt wird.
In einem Passport werden alle nutzer- und institutsspezifischen Daten verwaltet. Dazu gehören
- die Zugangsdaten für den HBCI-Server der Bank (IP-Adresse, usw.)
- die nutzerspezifischen Zugangsdaten (Nutzerkennung, System-Kennung, usw.)
- die Schlüsselinformationen für die kryptografischen Operationen
- die gecachten BPD und die UPD
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]decrypt(byte[] cryptedkey, byte[] cryptedstring)voidfillAccountInfo(Konto account)Ausfüllen fehlender Kontoinformationen.List<Konto>getAccounts()Gibt ein Array mit Kontoinformationen zurück.StringgetBLZ()Gibt die Bankleitzahl des Kreditinstitutes zurück.Map<String,String>getBPD()Gibt die gespeicherten BPD zurück.StringgetBPDVersion()Gibt die Versionsnummer der lokal gespeicherten BPD zurück.HBCICallbackgetCallback()StringgetCountry()Gibt den Ländercode der Bank zurück.ObjectgetCryptFunction()StringgetCustomerId()Gibt die Kunden-ID zurück, die von HBCI4Java für die Initialisierung eines Dialoges benutzt wird.StringgetHBCIVersion()Gibt die HBCI-Version zurück, die zuletzt verwendet wurde.StringgetHost()Gibt den Hostnamen des HBCI-Servers für dieses Passport zurück.StringgetInstName()Gibt den Namen des Kreditinstitutes zurück.Map<String,String>getJobRestrictions(String name)intgetMaxGVperMsg()intgetMaxMsgSizeKB()IntegergetPort()Gibt die TCP-Portnummer auf dem HBCI-Server zurück, zu der eine HBCI-Verbindung aufgebaut werden soll.Map<String,String>getProperties()StringgetProxy()StringgetProxyPass()StringgetProxyUser()String[]getSuppVersions()Map<String,String>getUPD()Gibt die gespeicherten UPD (User-Parameter-Daten) zurück.StringgetUPDVersion()Gibt die Versionsnummer der lokal gespeicherten UPD zurück.StringgetUserId()Gibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird.booleanhasInstEncKey()booleanhasInstSigKey()booleanjobSupported(String jobName)voidsetBLZ(String blz)voidsetCountry(String country)voidsetCustomerId(String customerid)Setzen der zu verwendenden Kunden-ID.voidsetHost(String host)voidsetPort(Integer port)voidsetUserId(String userid)
-
-
-
Method Detail
-
getBPD
Map<String,String> getBPD()
Gibt die gespeicherten BPD zurück. Die Auswertung der BPD seitens einer HBCI-Anwendung auf direktem Weg wird nicht empfohlen, da es keine Dokumentation über die Namensgebung der einzelnen Einträge gibt.- Returns:
- die Bankparamterdaten oder
null, falls diese nicht im Passport vorhanden sind
-
getHBCIVersion
String getHBCIVersion()
Gibt die HBCI-Version zurück, die zuletzt verwendet wurde. Der hier zurückgegebene Wert ist der selbe, der bei der Initialisierung desHBCIJobsDialogverwendet 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 mitnew HBCIHandler(passport.getHBCIVersion(),passport)erfolgen (vorausgesetzt,passport.getHBCIVersion()gibt einen nicht-leeren String zurück.- Returns:
- Die zuletzt verwendete HBCI-Version. Ist diese Information nicht verfügbar, so wird ein leerer String zurückgegeben.
-
getUPD
Map<String,String> getUPD()
Gibt die gespeicherten UPD (User-Parameter-Daten) zurück. Eine direkte Auswertung des Inhalts dieses Property-Objektes wird nicht empfohlen, da die Benennung der einzelnen Einträge nicht explizit dokumentiert ist.- Returns:
- die Userparameterdaten oder
null, falls diese nicht im Passport vorhanden sind
-
getBLZ
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.- Returns:
- die BLZ der Bank
-
setBLZ
void setBLZ(String blz)
-
getCountry
String getCountry()
Gibt den Ländercode der Bank zurück. Für deutsche Banken ist das der String "DE".- Returns:
- Ländercode der Bank
-
setCountry
void setCountry(String country)
-
getAccounts
List<Konto> getAccounts()
Gibt ein Array mit Kontoinformationen zurück. Auf die hier zurückgegebenen Konten kann via HBCI zugegriffen werden. Nicht jede Bank unterstützt diese Abfrage, so dass dieses Array u.U. auch leer sein kann, obwohl natürlich via HBCI auf bestimmte Konten zugegriffen werden kann. In diesem Fall müssen die Kontoinformationen anderweitig ermittelt werden (manuelle Eingabe des Anwenders).- Returns:
- Array mit Kontoinformationen über verfügbare HBCI-Konten
-
fillAccountInfo
void fillAccountInfo(Konto account)
Ausfüllen fehlender Kontoinformationen. In der Liste der verfügbaren Konten (siehegetAccounts()) wird nach einem Konto gesucht, welches die gleiche Kontonummer hat wie das übergebene Kontoaccount. Wird ein solches Konto gefunden, so werden die Daten dieses gefundenen Kontos in dasaccount-Objekt übertragen. Diese Methode kann benutzt werden, wenn zu einem Konto nicht alle Daten bekannt sind, wenigstens aber die Kontonummer.- Parameters:
account- unvollständige Konto-Informationen, bei denen die fehlenden Daten nachgetragen werden
-
getHost
String getHost()
Gibt den Hostnamen des HBCI-Servers für dieses Passport zurück. Handelt es sich bei dem Passport-Objekt um ein PIN/TAN-Passport, so enthält dieser String die URL, die für die HTTPS-Kommunikation mit dem HBCI-Server der Bank benutzt wird.- Returns:
- Hostname oder IP-Adresse des HBCI-Servers
-
setHost
void setHost(String host)
-
getPort
Integer getPort()
Gibt die TCP-Portnummer auf dem HBCI-Server zurück, zu der eine HBCI-Verbindung aufgebaut werden soll. In der Regel ist das der Port 3000, für PIN/TAN-Passports wird hier 443 (für HTTPS-Port) zurückgegeben. Der zu benutzende TCP-Port für die Kommunikation kannn mitsetPort(Integer)geändert werden.- Returns:
- TCP-Portnummer auf dem HBCI-Server
-
setPort
void setPort(Integer port)
-
getUserId
String getUserId()
Gibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird.- Returns:
- Benutzerkennung für Authentifikation
-
setUserId
void setUserId(String userid)
-
getCustomerId
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.
- Returns:
- Kunden-ID für die HBCI-Kommunikation
-
setCustomerId
void setCustomerId(String customerid)
Setzen der zu verwendenden Kunden-ID. Durch Aufruf dieser Methode wird die Kunden-ID gesetzt, die beim nächsten Ausführen eines HBCI-Dialoges (AbstractHbciDialog#execute(boolean, boolean)) benutzt wird. Diese neue Kunden-ID wird dann außerdem permanent im jeweiligen Sicherheitsmedium gespeichert (sofern das von dem Medium unterstützt wird).- Parameters:
customerid- die zu verwendende Kunden-ID; wird keine customerid angegeben (nulloder ""), so wird automatisch die User-ID verwendet.- See Also:
getCustomerId()
-
hasInstSigKey
boolean hasInstSigKey()
-
hasInstEncKey
boolean hasInstEncKey()
-
getBPDVersion
String getBPDVersion()
Gibt die Versionsnummer der lokal gespeicherten BPD zurück. Sind keine BPD vorhanden, so wird "0" zurückgegeben. Leider benutzen einige Banken "0" auch als Versionsnummer für die tatsächlich vorhandenen BPD, so dass bei diesen Banken auch dann "0" zurückgegeben wird, wenn in Wirklichkeit BPD vorhanden sind.- Returns:
- Versionsnummer der lokalen BPD
-
getUPDVersion
String getUPDVersion()
Gibt die Versionsnummer der lokal gespeicherten UPD zurück. Sind keine UPD lokal vorhanden, so wird "0" zurückgegeben. Siehe dazu auchgetBPDVersion().- Returns:
- Versionsnummer der lokalen UPD
-
getInstName
String getInstName()
Gibt den Namen des Kreditinstitutes zurück. Diese Information wird aus den BPD ermittelt. Sind keine BPD vorhanden bzw. steht da kein Name drin, so wirdnullzurückgegeben.- Returns:
- Name des Kreditinstitutes
-
getMaxGVperMsg
int getMaxGVperMsg()
-
getMaxMsgSizeKB
int getMaxMsgSizeKB()
-
getSuppVersions
String[] getSuppVersions()
-
getCallback
HBCICallback getCallback()
-
getProxy
String getProxy()
-
getProxyUser
String getProxyUser()
-
getProxyPass
String getProxyPass()
-
getCryptFunction
Object getCryptFunction()
-
decrypt
byte[] decrypt(byte[] cryptedkey, byte[] cryptedstring)
-
jobSupported
boolean jobSupported(String jobName)
-
-