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
FieldsModifier and TypeFieldDescriptionprivate Stringprivate Propertiesprivate Stringprivate Commprivate Stringprivate Stringprivate Stringprivate Stringprivate Stringprivate Stringprivate IHandlerDataprivate Integerprivate Longprivate Stringprivate Propertiesprivate StringFields inherited from interface org.kapott.hbci.passport.HBCIPassport
ROLE_CON, ROLE_ISS, ROLE_WIT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanaskForMissingData(boolean needCountry, boolean needBLZ, boolean needHost, boolean needPort, boolean needFilter, boolean needUserId, boolean needCustomerId) final booleanvoidÄndern des Passwortes für die Schlüsseldatei.static byte[]checkForCryptDataSize(byte[] buffer, int size) final voidclearBPD()Löschen der lokal gespeicherten BPD.final voidfinal voidfinal voidfinal voidfinal voidfinal voidclearUPD()Löschen der lokal gespeicherten UPD.voidclose()Schließen eines Passport-Objektes.final voidfinal voidfillAccountInfo(Konto account) Ausfüllen fehlender Kontoinformationen.HBCIKey[][]final KontogetAccount(String number) Gibt ein Konto-Objekt zu einer bestimmten Kontonummer zurück.final Konto[]Gibt ein Array mit Kontoinformationen zurück.final StringgetBLZ()Gibt die Bankleitzahl des Kreditinstitutes zurück.final PropertiesgetBPD()Gibt die gespeicherten BPD zurück.final StringGibt die Versionsnummer der lokal gespeicherten BPD zurück.final StringgetCID()final ObjectgetClientData(String id) Holen von clientseitig gespeicherten zusätzlichen Daten.final CommgetComm()final Filterabstract Commfinal StringGibt 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 StringgetCustomerId(int idx) final StringGibt die Standardsprache des HBCI-Servers zurück.final StringGibt zurück, welcher Datenfilter für die Kommunikation mit dem HBCI-Server verwendet wird.final StringGibt die HBCI-Version zurück, die zuletzt verwendet wurde.getHost()Gibt den Hostnamen des HBCI-Servers für dieses Passport zurück.static HBCIPassportEntsprichtgetInstance((Object)null)static HBCIPassportgetInstance(Object init) Erzeugt eine Instanz eines HBCI-Passports.static HBCIPassportgetInstance(String name) EntsprichtgetInstance(name,null)static HBCIPassportgetInstance(String name, Object init) Erzeugt eine Instanz eines HBCIPassports und gibt diese zurück.final StringGibt den Namen des Kreditinstitutes zurück.getJobRestrictions(String specname) getJobRestrictions(String gvname, String version) final StringgetLang()intintfinal intprotected Stringfinal IntegergetPort()Gibt die TCP-Portnummer auf dem HBCI-Server zurück, zu der eine HBCI-Verbindung aufgebaut werden soll.final LonggetSigId()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 PropertiesgetUPD()Gibt die gespeicherten UPD (User-Parameter-Daten) zurück.final StringGibt die Versionsnummer der lokal gespeicherten UPD zurück.Gibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird.voidincSigId()booleanvoidonDialogEvent(DialogEvent event, DialogContext ctx) Wird bei einem Dialog-Event ausgefuehrt.final booleanfinal voidvoidsetBPD(Properties bpd) final voidfinal voidsetClientData(String id, Object o) Speichern zusätzlicher Daten im Passport-Objekt.final voidsetCountry(String country) final voidsetCustomerId(String customerid) Setzen der zu verwendenden Kunden-ID.final voidsetFilterType(String filter) final voidsetHBCIVersion(String hbciversion) final voidManuelles Setzen der Adresse des HBCI-Servers.protected voidsetParamHeader(String paramHeader) voidsetParentHandlerData(IHandlerData handler) voidsetPersistentData(String id, Object o) final voidSetzen des TCP-Ports, der für HBCI-Verbindungen benutzt wird.voidsetProfileMethod(String method) voidsetProfileVersion(String version) final voidfinal voidfinal voidsetUPD(Properties upd) final voidvoidSynchronisation der Signatur-ID erzwingen (nur für RDH-Passports sinnvoll).voidSynchronisation 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, waitMethods inherited from interface org.kapott.hbci.passport.HBCIPassport
getInstEncKey, getInstSigKey, getMyPrivateDigKey, getMyPrivateEncKey, getMyPrivateSigKey, getMyPublicDigKey, getMyPublicEncKey, getMyPublicSigKey, hasInstEncKey, hasInstSigKey, hasMyEncKey, hasMySigKey, isSupported, needInstKeys, needUserKeys, saveChangesMethods 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
-
Field Details
-
paramHeader
-
bpd
-
upd
-
hbciversion
-
country
-
blz
-
host
-
port
-
filterType
-
userid
-
customerid
-
sysid
-
sigid
-
cid
-
comm
-
persistentData
-
parentHandlerData
-
-
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:
getCommin interfaceHBCIPassportInternal
-
getCommInstance
-
getCommFilter
- Specified by:
getCommFilterin interfaceHBCIPassportInternal
-
closeComm
public final void closeComm()- Specified by:
closeCommin interfaceHBCIPassportInternal
-
getBPD
Description copied from interface:HBCIPassportGibt 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:
getBPDin interfaceHBCIPassport- Returns:
- die Bankparamterdaten oder
null, falls diese nicht im Passport vorhanden sind
-
setHBCIVersion
- Specified by:
setHBCIVersionin interfaceHBCIPassportInternal
-
getHBCIVersion
Description copied from interface:HBCIPassportGibt die HBCI-Version zurück, die zuletzt verwendet wurde. Der hier zurückgegebene Wert ist der selbe, der bei der Initialisierung desHBCIHandlerverwendet 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:
getHBCIVersionin 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:HBCIPassportGibt 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:
getUPDin interfaceHBCIPassport- Returns:
- die Userparameterdaten oder
null, falls diese nicht im Passport vorhanden sind
-
getBLZ
Description copied from interface:HBCIPassportGibt 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:
getBLZin interfaceHBCIPassport- Returns:
- die BLZ der Bank
-
getCountry
Description copied from interface:HBCIPassportGibt den Ländercode der Bank zurück. Für deutsche Banken ist das der String "DE".- Specified by:
getCountryin interfaceHBCIPassport- Returns:
- Ländercode der Bank
-
getAccounts
Description copied from interface:HBCIPassportGibt 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:
getAccountsin interfaceHBCIPassport- Returns:
- Array mit Kontoinformationen über verfügbare HBCI-Konten
-
fillAccountInfo
Description copied from interface:HBCIPassportAusfü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:
fillAccountInfoin interfaceHBCIPassport- Parameters:
account- unvollständige Konto-Informationen, bei denen die fehlenden Daten nachgetragen werden- See Also:
-
getAccount
Description copied from interface:HBCIPassportGibt 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:
getAccountin 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:HBCIPassportGibt 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:
getHostin interfaceHBCIPassport- Returns:
- Hostname oder IP-Adresse des HBCI-Servers
-
getPort
Description copied from interface:HBCIPassportGibt 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:
getPortin interfaceHBCIPassport- Returns:
- TCP-Portnummer auf dem HBCI-Server
-
getFilterType
Description copied from interface:HBCIPassportGibt 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:
getFilterTypein interfaceHBCIPassport
-
getUserId
Description copied from interface:HBCIPassportGibt die Benutzerkennung zurück, die zur Authentifikation am HBCI-Server benutzt wird.- Specified by:
getUserIdin interfaceHBCIPassport- Returns:
- Benutzerkennung für Authentifikation
-
getCustomerId
- Specified by:
getCustomerIdin interfaceHBCIPassport
-
getCustomerId
Description copied from interface:HBCIPassportGibt 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:
getCustomerIdin interfaceHBCIPassport- Returns:
- Kunden-ID für die HBCI-Kommunikation
-
getStoredCustomerId
-
getSysId
- Specified by:
getSysIdin interfaceHBCIPassportInternal
-
getCID
- Specified by:
getCIDin interfaceHBCIPassportInternal
-
clearInstSigKey
public final void clearInstSigKey()- Specified by:
clearInstSigKeyin interfaceHBCIPassport
-
clearInstEncKey
public final void clearInstEncKey()- Specified by:
clearInstEncKeyin interfaceHBCIPassport
-
clearMySigKey
public final void clearMySigKey()- Specified by:
clearMySigKeyin interfaceHBCIPassportInternal
-
clearMyEncKey
public final void clearMyEncKey()- Specified by:
clearMyEncKeyin interfaceHBCIPassportInternal
-
clearMyDigKey
public final void clearMyDigKey()- Specified by:
clearMyDigKeyin interfaceHBCIPassportInternal
-
getBPDVersion
Description copied from interface:HBCIPassportGibt 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:
getBPDVersionin interfaceHBCIPassport- Returns:
- Versionsnummer der lokalen BPD
-
getUPDVersion
Description copied from interface:HBCIPassportGibt die Versionsnummer der lokal gespeicherten UPD zurück. Sind keine UPD lokal vorhanden, so wird "0" zurückgegeben. Siehe dazu auchHBCIPassport.getBPDVersion().- Specified by:
getUPDVersionin interfaceHBCIPassport- Returns:
- Versionsnummer der lokalen UPD
-
getInstName
Description copied from interface:HBCIPassportGibt 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.- Specified by:
getInstNamein interfaceHBCIPassport- Returns:
- Name des Kreditinstitutes
-
getMaxGVperMsg
public int getMaxGVperMsg()- Specified by:
getMaxGVperMsgin interfaceHBCIPassport
-
getMaxMsgSizeKB
public final int getMaxMsgSizeKB()- Specified by:
getMaxMsgSizeKBin interfaceHBCIPassport
-
getSuppLangs
Description copied from interface:HBCIPassportGibt 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:
getSuppLangsin interfaceHBCIPassport- Returns:
- Liste aller unterstützten Sprachen (1,2,3)
-
getSuppVersions
Description copied from interface:HBCIPassportGibt 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:
getSuppVersionsin interfaceHBCIPassport- Returns:
- eine Liste aller von der Bank unterstützten HBCI-Versionen
-
getDefaultLang
Description copied from interface:HBCIPassportGibt die Standardsprache des HBCI-Servers zurück. Zu den Bedeutungen der Sprachcodes sieheHBCIPassport.getSuppLangs().- Specified by:
getDefaultLangin interfaceHBCIPassport- Returns:
- Standardsprache (1,2 oder 3)
-
canMixSecMethods
public final boolean canMixSecMethods()- Specified by:
canMixSecMethodsin interfaceHBCIPassportInternal
-
getSuppSecMethods
Description copied from interface:HBCIPassportGibt eine Liste der vom HBCI-Server unterstützten Sicherheitsmechanismen zurück. Gültige Werte für jeden einzelnen String sind
RDHbzw.DDV.Die Unterstützung des PIN/TAN-Verfahrens kann mit dieser Methode nicht ermittelt werden.
- Specified by:
getSuppSecMethodsin 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:
getSuppCompMethodsin interfaceHBCIPassport
-
getLang
- Specified by:
getLangin interfaceHBCIPassportInternal
-
getSigId
- Specified by:
getSigIdin interfaceHBCIPassportInternal
-
clearBPD
public final void clearBPD()Description copied from interface:HBCIPassportLöschen der lokal gespeicherten BPD. Damit kann erzwungen werden, dass die BPD beim nächsten HBCI-Dialog erneut abgeholt werden.- Specified by:
clearBPDin interfaceHBCIPassport
-
setBPD
- Specified by:
setBPDin interfaceHBCIPassportInternal
-
clearUPD
public final void clearUPD()Description copied from interface:HBCIPassportLöschen der lokal gespeicherten UPD. Damit kann erzwungen werden, dass die UPD beim nächsten HBCI-Dialog erneut abgeholt werden.- Specified by:
clearUPDin interfaceHBCIPassport
-
setUPD
- Specified by:
setUPDin interfaceHBCIPassportInternal
-
setCountry
- Specified by:
setCountryin interfaceHBCIPassport
-
setBLZ
- Specified by:
setBLZin interfaceHBCIPassport
-
setHost
Description copied from interface:HBCIPassportManuelles 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
hostdie 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:
setHostin interfaceHBCIPassport- Parameters:
host- die neue Adresse, unter der der HBCI-Server zu erreichen ist
-
setPort
Description copied from interface:HBCIPassportSetzen des TCP-Ports, der für HBCI-Verbindungen benutzt wird. Bei HBCI-PIN/TAN- Passports wird der Port mit443vorinitialisiert, 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:
setPortin interfaceHBCIPassport- Parameters:
port- neue TCP-Portnummer, die für ausgehende Verbindungen benutzt werden soll
-
setFilterType
- Specified by:
setFilterTypein interfaceHBCIPassport
-
setUserId
- Specified by:
setUserIdin interfaceHBCIPassport
-
setCustomerId
Description copied from interface:HBCIPassportSetzen 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:
setCustomerIdin interfaceHBCIPassport- Parameters:
customerid- die zu verwendende Kunden-ID; wird keine customerid angegeben (nulloder ""), so wird automatisch die User-ID verwendet.- See Also:
-
setSigId
- Specified by:
setSigIdin interfaceHBCIPassportInternal
-
setSysId
- Specified by:
setSysIdin interfaceHBCIPassportInternal
-
setCID
- Specified by:
setCIDin interfaceHBCIPassportInternal
-
incSigId
public void incSigId()- Specified by:
incSigIdin interfaceHBCIPassportInternal
-
onlyBPDGVs
public final boolean onlyBPDGVs()- Specified by:
onlyBPDGVsin interfaceHBCIPassport
-
getInstance
Erzeugt eine Instanz eines HBCIPassports und gibt diese zurück. Der Typ der erzeugten Passport-Instanz wird durch den Parameter
namebestimmt. Gültige Werte sind zur Zeit- DDV
- RDHNew
- RDH (nicht mehr benutzen!)
- PinTan
- SIZRDHFile
- RDHXFile
- Anonymous
Der zusätzliche Parameter
initgibt 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=namegesetzt.Beim Erzeugen eines Passport-Objektes tritt i.d.R. der
CallbackNEED_PASSPHRASEauf, 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
AnalyzeReportOfTransactionsgezeigt. 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.defaultentnommen. 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:HBCIPassportSchließ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:
closein interfaceHBCIPassport
-
getParamSegmentNames
- Specified by:
getParamSegmentNamesin interfaceHBCIPassportInternal
-
getJobRestrictions
- Specified by:
getJobRestrictionsin interfaceHBCIPassportInternal
-
getJobRestrictions
- Specified by:
getJobRestrictionsin interfaceHBCIPassportInternal
-
setPersistentData
- Specified by:
setPersistentDatain interfaceHBCIPassportInternal
-
getPersistentData
- Specified by:
getPersistentDatain interfaceHBCIPassportInternal
-
syncSigId
public void syncSigId()Description copied from interface:HBCIPassportSynchronisation 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:
syncSigIdin interfaceHBCIPassport
-
syncSysId
public void syncSysId()Description copied from interface:HBCIPassportSynchronisation 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:
syncSysIdin 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:
changePassphrasein interfaceHBCIPassport
-
setClientData
Description copied from interface:HBCIPassportSpeichern 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 Objektounter dem Identifikations-Stringidgespeichert. 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:
setClientDatain interfaceHBCIPassport- Parameters:
id- Identifikationsstring für das zu speichernde Objekto- zu speicherndes Objekt
-
getClientData
Description copied from interface:HBCIPassportHolen 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:
getClientDatain 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:
isAnonymousin interfaceHBCIPassportInternal
-
setParamHeader
-
getParamHeader
-
setParentHandlerData
- Specified by:
setParentHandlerDatain interfaceHBCIPassportInternal
-
getParentHandlerData
- Specified by:
getParentHandlerDatain interfaceHBCIPassportInternal
-
generateNewUserKeys
- Specified by:
generateNewUserKeysin interfaceHBCIPassportInternal
-
setProfileMethod
- Specified by:
setProfileMethodin interfaceHBCIPassportInternal
-
setProfileVersion
- Specified by:
setProfileVersionin interfaceHBCIPassportInternal
-
checkForCryptDataSize
public static byte[] checkForCryptDataSize(byte[] buffer, int size) -
onDialogEvent
Description copied from interface:HBCIPassportInternalWird bei einem Dialog-Event ausgefuehrt.- Specified by:
onDialogEventin interfaceHBCIPassportInternal- Parameters:
event- das Event.ctx- der Dialog-Kontext.- See Also:
-
getMaxGVSegsPerMsg
public int getMaxGVSegsPerMsg()- Specified by:
getMaxGVSegsPerMsgin interfaceHBCIPassportInternal- See Also:
-