Class AbstractHBCIPassport
- All Implemented Interfaces:
Serializable
,HBCIPassport
,HBCIPassportInternal
- Direct Known Subclasses:
AbstractDDVPassport
,AbstractPinTanPassport
,AbstractRDHPassport
,HBCIPassportAnonymous
,HBCIPassportRAH10
Diese Klasse stellt die Basisklasse für alle "echten" Passport-Implementationen dar. Hier werden bereits einige Methoden implementiert sowie einige zusätzliche Hilfsmethoden zur Verfügung gestellt.
Aus einer HBCI-Anwendung heraus ist hier nur eine einzige Methode interessant, um eine Instanz eines bestimmtes Passports zu erzeugen
- See Also:
-
Field Summary
Fields inherited from interface org.kapott.hbci.passport.HBCIPassport
ROLE_CON, ROLE_ISS, ROLE_WIT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
askForMissingData
(boolean needCountry, boolean needBLZ, boolean needHost, boolean needPort, boolean needFilter, boolean needUserId, boolean needCustomerId) final boolean
void
Ändern des Passwortes für die Schlüsseldatei.static byte[]
checkForCryptDataSize
(byte[] buffer, int size) final void
clearBPD()
Löschen der lokal gespeicherten BPD.final void
final void
final void
final void
final void
final void
clearUPD()
Löschen der lokal gespeicherten UPD.void
close()
Schließen eines Passport-Objektes.final void
final void
fillAccountInfo
(Konto account) Ausfüllen fehlender Kontoinformationen.HBCIKey[][]
final Konto
getAccount
(String number) Gibt ein Konto-Objekt zu einer bestimmten Kontonummer zurück.final Konto[]
Gibt ein Array mit Kontoinformationen zurück.final String
getBLZ()
Gibt die Bankleitzahl des Kreditinstitutes zurück.final Properties
getBPD()
Gibt die gespeicherten BPD zurück.final String
Gibt die Versionsnummer der lokal gespeicherten BPD zurück.final String
getCID()
final Object
getClientData
(String id) Holen von clientseitig gespeicherten zusätzlichen Daten.final Comm
getComm()
final Filter
abstract Comm
final String
Gibt den Ländercode der Bank zurück.Gibt die Kunden-ID zurück, die von HBCI4Java für die Initialisierung eines Dialoges benutzt wird.final String
getCustomerId
(int idx) final String
Gibt die Standardsprache des HBCI-Servers zurück.final String
Gibt zurück, welcher Datenfilter für die Kommunikation mit dem HBCI-Server verwendet wird.final String
Gibt die HBCI-Version zurück, die zuletzt verwendet wurde.getHost()
Gibt den Hostnamen des HBCI-Servers für dieses Passport zurück.static HBCIPassport
EntsprichtgetInstance((Object)null)
static HBCIPassport
getInstance
(Object init) Erzeugt eine Instanz eines HBCI-Passports.static HBCIPassport
getInstance
(String name) EntsprichtgetInstance(name,null)
static HBCIPassport
getInstance
(String name, Object init) Erzeugt eine Instanz eines HBCIPassports und gibt diese zurück.final String
Gibt den Namen des Kreditinstitutes zurück.getJobRestrictions
(String specname) getJobRestrictions
(String gvname, String version) final String
getLang()
int
int
final int
protected String
final Integer
getPort()
Gibt die TCP-Portnummer auf dem HBCI-Server zurück, zu der eine HBCI-Verbindung aufgebaut werden soll.final Long
getSigId()
final String[][]
final String[]
Gibt eine Liste aller unterstützten Sprachcodes zurück.final String[][]
Gibt eine Liste der vom HBCI-Server unterstützten Sicherheitsmechanismen zurück.final String[]
Gibt eine Liste aller unterstützten HBCI-Versionen zurück.getSysId()
final Properties
getUPD()
Gibt die gespeicherten UPD (User-Parameter-Daten) zurück.final String
Gibt die Versionsnummer der lokal gespeicherten UPD zurück.Gibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird.void
incSigId()
boolean
void
onDialogEvent
(DialogEvent event, DialogContext ctx) Wird bei einem Dialog-Event ausgefuehrt.final boolean
final void
void
setBPD
(Properties bpd) final void
final void
setClientData
(String id, Object o) Speichern zusätzlicher Daten im Passport-Objekt.final void
setCountry
(String country) final void
setCustomerId
(String customerid) Setzen der zu verwendenden Kunden-ID.final void
setFilterType
(String filter) final void
setHBCIVersion
(String hbciversion) final void
Manuelles Setzen der Adresse des HBCI-Servers.protected void
setParamHeader
(String paramHeader) void
setParentHandlerData
(IHandlerData handler) void
setPersistentData
(String id, Object o) final void
Setzen des TCP-Ports, der für HBCI-Verbindungen benutzt wird.void
setProfileMethod
(String method) void
setProfileVersion
(String version) final void
final void
final void
setUPD
(Properties upd) final void
void
Synchronisation der Signatur-ID erzwingen (nur für RDH-Passports sinnvoll).void
Synchronisation der System-ID (nur für RDH-Passports sinnvoll).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.kapott.hbci.passport.HBCIPassport
getInstEncKey, getInstSigKey, getMyPrivateDigKey, getMyPrivateEncKey, getMyPrivateSigKey, getMyPublicDigKey, getMyPublicEncKey, getMyPublicSigKey, hasInstEncKey, hasInstSigKey, hasMyEncKey, hasMySigKey, isSupported, needInstKeys, needUserKeys, saveChanges
Methods inherited from interface org.kapott.hbci.passport.HBCIPassportInternal
decrypt, encrypt, getCryptAlg, getCryptFunction, getCryptKeyType, getCryptMode, getHashAlg, getInstEncKeyName, getInstEncKeyNum, getInstEncKeyVersion, getInstSigKeyName, getInstSigKeyNum, getInstSigKeyVersion, getMyEncKeyName, getMyEncKeyNum, getMyEncKeyVersion, getMySigKeyName, getMySigKeyNum, getMySigKeyVersion, getPassportTypeName, getProfileMethod, getProfileVersion, getSigAlg, getSigFunction, getSigMode, getSysStatus, hash, needUserSig, resetPassphrase, setInstEncKey, setInstSigKey, setMyPrivateDigKey, setMyPrivateEncKey, setMyPrivateSigKey, setMyPublicDigKey, setMyPublicEncKey, setMyPublicSigKey, sign, verify
-
Constructor Details
-
AbstractHBCIPassport
-
-
Method Details
-
askForMissingData
protected boolean askForMissingData(boolean needCountry, boolean needBLZ, boolean needHost, boolean needPort, boolean needFilter, boolean needUserId, boolean needCustomerId) -
getComm
- Specified by:
getComm
in interfaceHBCIPassportInternal
-
getCommInstance
-
getCommFilter
- Specified by:
getCommFilter
in interfaceHBCIPassportInternal
-
closeComm
public final void closeComm()- Specified by:
closeComm
in interfaceHBCIPassportInternal
-
getBPD
Description copied from interface:HBCIPassport
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.- Specified by:
getBPD
in interfaceHBCIPassport
- Returns:
- die Bankparamterdaten oder
null
, falls diese nicht im Passport vorhanden sind
-
setHBCIVersion
- Specified by:
setHBCIVersion
in interfaceHBCIPassportInternal
-
getHBCIVersion
Description copied from interface:HBCIPassport
Gibt die HBCI-Version zurück, die zuletzt verwendet wurde. Der hier zurückgegebene Wert ist der selbe, der bei der Initialisierung desHBCIHandler
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 mitnew HBCIHandler(passport.getHBCIVersion(),passport)
erfolgen (vorausgesetzt,passport.getHBCIVersion()
gibt einen nicht-leeren String zurück.- Specified by:
getHBCIVersion
in interfaceHBCIPassport
- Returns:
- Die zuletzt verwendete HBCI-Version. Ist diese Information nicht verfügbar, so wird ein leerer String zurückgegeben.
-
getUPD
Description copied from interface:HBCIPassport
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.- Specified by:
getUPD
in interfaceHBCIPassport
- Returns:
- die Userparameterdaten oder
null
, falls diese nicht im Passport vorhanden sind
-
getBLZ
Description copied from interface:HBCIPassport
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
HBCIPassport.getAccounts()
benutzt werden.- Specified by:
getBLZ
in interfaceHBCIPassport
- Returns:
- die BLZ der Bank
-
getCountry
Description copied from interface:HBCIPassport
Gibt den Ländercode der Bank zurück. Für deutsche Banken ist das der String "DE
".- Specified by:
getCountry
in interfaceHBCIPassport
- Returns:
- Ländercode der Bank
-
getAccounts
Description copied from interface:HBCIPassport
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).- Specified by:
getAccounts
in interfaceHBCIPassport
- Returns:
- Array mit Kontoinformationen über verfügbare HBCI-Konten
-
fillAccountInfo
Description copied from interface:HBCIPassport
Ausfüllen fehlender Kontoinformationen. In der Liste der verfügbaren Konten (sieheHBCIPassport.getAccounts()
) 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.- Specified by:
fillAccountInfo
in interfaceHBCIPassport
- Parameters:
account
- unvollständige Konto-Informationen, bei denen die fehlenden Daten nachgetragen werden- See Also:
-
getAccount
Description copied from interface:HBCIPassport
Gibt ein Konto-Objekt zu einer bestimmten Kontonummer zurück. Dazu wird die Liste, die viaHBCIPassport.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 wird das Konto-Objekt aus den "allgemeinen" Bank-Daten gebildet: Kontonummer=number
; Länderkennung, BLZ und Kunden-ID aus dem Passport-Objekt; Währung des Kontos hart auf "EUR"; Name=Kunden-ID.- Specified by:
getAccount
in interfaceHBCIPassport
- Parameters:
number
- die Kontonummer, für die ein Konto-Objekt erzeugt werden soll- Returns:
- ein Konto-Objekt, welches mindestens die Kontonummer enthält. Wenn verfügbar, so sind auch die restlichen Informationen über dieses Konto (BLZ, Inhaber, Währung usw.) ausgefüllt
-
getHost
Description copied from interface:HBCIPassport
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.- Specified by:
getHost
in interfaceHBCIPassport
- Returns:
- Hostname oder IP-Adresse des HBCI-Servers
-
getPort
Description copied from interface:HBCIPassport
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 mitHBCIPassport.setPort(Integer)
geändert werden.- Specified by:
getPort
in interfaceHBCIPassport
- Returns:
- TCP-Portnummer auf dem HBCI-Server
-
getFilterType
Description copied from interface:HBCIPassport
Gibt zurück, welcher Datenfilter für die Kommunikation mit dem HBCI-Server verwendet wird. Gültige Bezeichner für Filter sind "None
" und "Base64
".- Specified by:
getFilterType
in interfaceHBCIPassport
-
getUserId
Description copied from interface:HBCIPassport
Gibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird.- Specified by:
getUserId
in interfaceHBCIPassport
- Returns:
- Benutzerkennung für Authentifikation
-
getCustomerId
- Specified by:
getCustomerId
in interfaceHBCIPassport
-
getCustomerId
Description copied from interface:HBCIPassport
Gibt die Kunden-ID zurück, die von HBCI4Java für die Initialisierung eines Dialoges benutzt wird. Zu einer Benutzerkennung (
HBCIPassport.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
HBCIJob.addToQueue(String)
.- Specified by:
getCustomerId
in interfaceHBCIPassport
- Returns:
- Kunden-ID für die HBCI-Kommunikation
-
getStoredCustomerId
-
getSysId
- Specified by:
getSysId
in interfaceHBCIPassportInternal
-
getCID
- Specified by:
getCID
in interfaceHBCIPassportInternal
-
clearInstSigKey
public final void clearInstSigKey()- Specified by:
clearInstSigKey
in interfaceHBCIPassport
-
clearInstEncKey
public final void clearInstEncKey()- Specified by:
clearInstEncKey
in interfaceHBCIPassport
-
clearMySigKey
public final void clearMySigKey()- Specified by:
clearMySigKey
in interfaceHBCIPassportInternal
-
clearMyEncKey
public final void clearMyEncKey()- Specified by:
clearMyEncKey
in interfaceHBCIPassportInternal
-
clearMyDigKey
public final void clearMyDigKey()- Specified by:
clearMyDigKey
in interfaceHBCIPassportInternal
-
getBPDVersion
Description copied from interface:HBCIPassport
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.- Specified by:
getBPDVersion
in interfaceHBCIPassport
- Returns:
- Versionsnummer der lokalen BPD
-
getUPDVersion
Description copied from interface:HBCIPassport
Gibt die Versionsnummer der lokal gespeicherten UPD zurück. Sind keine UPD lokal vorhanden, so wird "0" zurückgegeben. Siehe dazu auchHBCIPassport.getBPDVersion()
.- Specified by:
getUPDVersion
in interfaceHBCIPassport
- Returns:
- Versionsnummer der lokalen UPD
-
getInstName
Description copied from interface:HBCIPassport
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 wirdnull
zurückgegeben.- Specified by:
getInstName
in interfaceHBCIPassport
- Returns:
- Name des Kreditinstitutes
-
getMaxGVperMsg
public int getMaxGVperMsg()- Specified by:
getMaxGVperMsg
in interfaceHBCIPassport
-
getMaxMsgSizeKB
public final int getMaxMsgSizeKB()- Specified by:
getMaxMsgSizeKB
in interfaceHBCIPassport
-
getSuppLangs
Description copied from interface:HBCIPassport
Gibt eine Liste aller unterstützten Sprachcodes zurück. Die einzelnen Codes stehen dabei für folgende Sprachen:- 1 - deutsch
- 2 - englisch
- 3 - französisch
- Specified by:
getSuppLangs
in interfaceHBCIPassport
- Returns:
- Liste aller unterstützten Sprachen (1,2,3)
-
getSuppVersions
Description copied from interface:HBCIPassport
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
HBCIHandler(String,org.kapott.hbci.passport.HBCIPassport)
verwendet werden können.Zusätzlich zu den hier zurückgegebenen HBCI-Versions-Codes gibt es einige spezielle Codes. Siehe dazu die Dokumentation zu
HBCIHandler(String,org.kapott.hbci.passport.HBCIPassport)
- Specified by:
getSuppVersions
in interfaceHBCIPassport
- Returns:
- eine Liste aller von der Bank unterstützten HBCI-Versionen
-
getDefaultLang
Description copied from interface:HBCIPassport
Gibt die Standardsprache des HBCI-Servers zurück. Zu den Bedeutungen der Sprachcodes sieheHBCIPassport.getSuppLangs()
.- Specified by:
getDefaultLang
in interfaceHBCIPassport
- Returns:
- Standardsprache (1,2 oder 3)
-
canMixSecMethods
public final boolean canMixSecMethods()- Specified by:
canMixSecMethods
in interfaceHBCIPassportInternal
-
getSuppSecMethods
Description copied from interface:HBCIPassport
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.
- Specified by:
getSuppSecMethods
in interfaceHBCIPassport
- Returns:
- eine Liste der unterstützten Sicherheitsmechanismen. Jeder Listeneintrag ist wieder ein Stringarray mit zwei Elementen: dem Namen des Mechanismus und der Versionsnummer dieses Mechanismus
-
getSuppCompMethods
- Specified by:
getSuppCompMethods
in interfaceHBCIPassport
-
getLang
- Specified by:
getLang
in interfaceHBCIPassportInternal
-
getSigId
- Specified by:
getSigId
in interfaceHBCIPassportInternal
-
clearBPD
public final void clearBPD()Description copied from interface:HBCIPassport
Löschen der lokal gespeicherten BPD. Damit kann erzwungen werden, dass die BPD beim nächsten HBCI-Dialog erneut abgeholt werden.- Specified by:
clearBPD
in interfaceHBCIPassport
-
setBPD
- Specified by:
setBPD
in interfaceHBCIPassportInternal
-
clearUPD
public final void clearUPD()Description copied from interface:HBCIPassport
Löschen der lokal gespeicherten UPD. Damit kann erzwungen werden, dass die UPD beim nächsten HBCI-Dialog erneut abgeholt werden.- Specified by:
clearUPD
in interfaceHBCIPassport
-
setUPD
- Specified by:
setUPD
in interfaceHBCIPassportInternal
-
setCountry
- Specified by:
setCountry
in interfaceHBCIPassport
-
setBLZ
- Specified by:
setBLZ
in interfaceHBCIPassport
-
setHost
Description copied from interface:HBCIPassport
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
HBCIPassport.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).
Für das HBCI-PIN/TAN-Verfahren wird als
host
die URL angegeben, welche für die Behandlung der HBCI-PIN/TAN-Nachrichten zu benutzen ist (z.B.www.meinebank.de/pintan/PinTanServlet
). Soll ein anderer Port als der normale HTTPS-Port 443 benutzt werden, so darf die neue Portnummer nicht in der URL kodiert werden. Statt dessen muss die MethodeHBCIPassport.setPort(Integer)
benutzt werden, um die Portnummer zu setzen.- Specified by:
setHost
in interfaceHBCIPassport
- Parameters:
host
- die neue Adresse, unter der der HBCI-Server zu erreichen ist
-
setPort
Description copied from interface:HBCIPassport
Setzen des TCP-Ports, der für HBCI-Verbindungen benutzt wird. Bei HBCI-PIN/TAN- Passports wird der Port mit443
vorinitialisiert, für alle anderen "normalen" HBCI-Verbindungstypen mit3000
. Diese Methode kann benutzt werden, wenn eine andere Portnummer als die default-Nummer benutzt werden soll. Die Portnummer für ein Passport kann auch mit dem HBCI4Java Passport Editor geändert werden.- Specified by:
setPort
in interfaceHBCIPassport
- Parameters:
port
- neue TCP-Portnummer, die für ausgehende Verbindungen benutzt werden soll
-
setFilterType
- Specified by:
setFilterType
in interfaceHBCIPassport
-
setUserId
- Specified by:
setUserId
in interfaceHBCIPassport
-
setCustomerId
Description copied from interface:HBCIPassport
Setzen der zu verwendenden Kunden-ID. Durch Aufruf dieser Methode wird die Kunden-ID gesetzt, die beim nächsten Ausführen eines HBCI-Dialoges (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).- Specified by:
setCustomerId
in interfaceHBCIPassport
- Parameters:
customerid
- die zu verwendende Kunden-ID; wird keine customerid angegeben (null
oder ""), so wird automatisch die User-ID verwendet.- See Also:
-
setSigId
- Specified by:
setSigId
in interfaceHBCIPassportInternal
-
setSysId
- Specified by:
setSysId
in interfaceHBCIPassportInternal
-
setCID
- Specified by:
setCID
in interfaceHBCIPassportInternal
-
incSigId
public void incSigId()- Specified by:
incSigId
in interfaceHBCIPassportInternal
-
onlyBPDGVs
public final boolean onlyBPDGVs()- Specified by:
onlyBPDGVs
in interfaceHBCIPassport
-
getInstance
Erzeugt eine Instanz eines HBCIPassports und gibt diese zurück. Der Typ der erzeugten Passport-Instanz wird durch den Parameter
name
bestimmt. Gültige Werte sind zur Zeit- DDV
- RDHNew
- RDH (nicht mehr benutzen!)
- PinTan
- SIZRDHFile
- RDHXFile
- Anonymous
Der zusätzliche Parameter
init
gibt ein Objekt an, welches bereits während der Instanziierung des Passport-Objektes in dessen internenclientData
-Datenstrukturen gespeichert wird (sieheHBCIPassport.setClientData(String,Object)
). Auf dieses Objekt kann dann mitgetClientData("init")
zugegriffen werden. Istinit==null
), wo wirdinit=name
gesetzt.Beim Erzeugen eines Passport-Objektes tritt i.d.R. der
Callback
NEED_PASSPHRASE
auf, um nach dem Passwort für das Einlesen der Schlüsseldatei zu fragen. Von der Callback-Methode eventuell zusätzlich benötigte Daten zu diesem Passport konnten bis zu dieser Stelle noch nicht viasetClientData(...)
gesetzt werden, weil das Passport-Objekt noch gar nicht existierte. Für diesen Zweck gibt es dasinit
-Objekt, welches bereits beim Erzeugen des Passport-Objektes (und vor dem Aufrufen eines Callbacks) zu den zusätzlichen Passport-Daten hinzugefügt wird (mit der id "init
").Eine beispielhafte (wenn auch nicht sehr praxisnahe) Anwendung dieses Features wird im Quelltext des Tools
AnalyzeReportOfTransactions
gezeigt. Zumindest das Prinzip sollte damit jedoch klar werden.- Parameters:
name
- Typ der zu erzeugenden Passport-Instanzinit
- Objekt, welches schon während der Passport-Erzeugung viasetClientData("init",init)
zu den Passport-Daten hinzugefügt wird.- Returns:
- Instanz eines HBCIPassports
-
getInstance
Erzeugt eine Instanz eines HBCI-Passports. Der Typ der erzeugten Passport-Instanz wird hierbei dem Wert des HBCI-Parametersclient.passport.default
entnommen. Gültige Werte für diesen HBCI-Parameter sind die gleichen wie beim Aufruf der MethodegetInstance(String)
.- Parameters:
init
- (siehegetInstance(String,Object)
)- Returns:
- Instanz eines HBCI-Passports
-
getInstance
EntsprichtgetInstance(name,null)
-
getInstance
EntsprichtgetInstance((Object)null)
-
close
public void close()Description copied from interface:HBCIPassport
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 einHBCIPassport.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.- Specified by:
close
in interfaceHBCIPassport
-
getParamSegmentNames
- Specified by:
getParamSegmentNames
in interfaceHBCIPassportInternal
-
getJobRestrictions
- Specified by:
getJobRestrictions
in interfaceHBCIPassportInternal
-
getJobRestrictions
- Specified by:
getJobRestrictions
in interfaceHBCIPassportInternal
-
setPersistentData
- Specified by:
setPersistentData
in interfaceHBCIPassportInternal
-
getPersistentData
- Specified by:
getPersistentData
in interfaceHBCIPassportInternal
-
syncSigId
public void syncSigId()Description copied from interface:HBCIPassport
Synchronisation der Signatur-ID erzwingen (nur für RDH-Passports sinnvoll). Diese Methode kann aufgerufen werden, nachdem ein Passport erzeugt wurde, aber bevor damit ein neuesHBCIHandler
-Objekt erzeugt wird. Durch den Aufruf dieser Methode wird veranlasst, dass beim Erzeugen einesHBCIHandler
-Objektes mit diesem Passport die Signatur-ID des Passports synchronisiert wird.- Specified by:
syncSigId
in interfaceHBCIPassport
-
syncSysId
public void syncSysId()Description copied from interface:HBCIPassport
Synchronisation der System-ID (nur für RDH-Passports sinnvoll). Diese Methode kann aufgerufen werden, nachdem ein Passport erzeugt wurde, aber bevor damit ein neuesHBCIHandler
-Objekt erzeugt wird. Durch den Aufruf dieser Methode wird veranlasst, dass beim Erzeugen einesHBCIHandler
-Objektes mit diesem Passport die System-ID des Passports synchronisiert wird.- Specified by:
syncSysId
in interfaceHBCIPassport
-
changePassphrase
public void changePassphrase()Description copied from interface:HBCIPassport
Ändern des Passwortes für die Schlüsseldatei. Der Aufruf dieser Methode bewirkt, dass HBCI4Java via Callback-Mechanismus (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.- Specified by:
changePassphrase
in interfaceHBCIPassport
-
setClientData
Description copied from interface:HBCIPassport
Speichern zusätzlicher Daten im Passport-Objekt. Diese Methode ermöglicht das Speichern zusätzlicher Informationen (Objekte), die diesem Passport zugeordnet sind. Die Funktionsweise ist analog zur Verwendung einer Hashtable, es wird also ein Objekto
unter dem Identifikations-Stringid
gespeichert. MitHBCIPassport.getClientData(String)
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.- Specified by:
setClientData
in interfaceHBCIPassport
- Parameters:
id
- Identifikationsstring für das zu speichernde Objekto
- zu speicherndes Objekt
-
getClientData
Description copied from interface:HBCIPassport
Holen von clientseitig gespeicherten zusätzlichen Daten. Mit dieser Methode können die zusätzlichen Daten, die viaHBCIPassport.setClientData(String,Object)
im Passport gespeichert wurden, wieder ausgelesen werden. Auch das Objekt, das beim Erzeugen eines Passport-Objektes alsinit
-Parameter übergeben wurde (siehegetInstance(String,Object)
), kann damit ausgelesen werden (mitid="init"
).- Specified by:
getClientData
in interfaceHBCIPassport
- Parameters:
id
- Identifikationsstring des auszulesenden Objektes- Returns:
- Objekt, welches mit
HBCIPassport.setClientData(String,Object)
im Passport gespeichert wurde.
-
isAnonymous
public boolean isAnonymous()- Specified by:
isAnonymous
in interfaceHBCIPassportInternal
-
setParamHeader
-
getParamHeader
-
setParentHandlerData
- Specified by:
setParentHandlerData
in interfaceHBCIPassportInternal
-
getParentHandlerData
- Specified by:
getParentHandlerData
in interfaceHBCIPassportInternal
-
generateNewUserKeys
- Specified by:
generateNewUserKeys
in interfaceHBCIPassportInternal
-
setProfileMethod
- Specified by:
setProfileMethod
in interfaceHBCIPassportInternal
-
setProfileVersion
- Specified by:
setProfileVersion
in interfaceHBCIPassportInternal
-
checkForCryptDataSize
public static byte[] checkForCryptDataSize(byte[] buffer, int size) -
onDialogEvent
Description copied from interface:HBCIPassportInternal
Wird bei einem Dialog-Event ausgefuehrt.- Specified by:
onDialogEvent
in interfaceHBCIPassportInternal
- Parameters:
event
- das Event.ctx
- der Dialog-Kontext.- See Also:
-
getMaxGVSegsPerMsg
public int getMaxGVSegsPerMsg()- Specified by:
getMaxGVSegsPerMsg
in interfaceHBCIPassportInternal
- See Also:
-