Package org.kapott.hbci.passport
Class AbstractPinTanPassport
java.lang.Object
org.kapott.hbci.passport.AbstractHBCIPassport
org.kapott.hbci.passport.AbstractPinTanPassport
- All Implemented Interfaces:
Serializable
,HBCIPassport
,HBCIPassportInternal
- Direct Known Subclasses:
HBCIPassportPinTan
Abstrakte Basis-Implementierung des PIN/TAN-Supports.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
static final String
Hier speichern wir den Challenge-Text der Bank fuer die TAN-Abfrage.static final String
Hier speichern wir das HHDuc fuer die TAN-Abfrage.static final String
Hier speichern wir die Auftragsreferenz fuer die TAN-Abfrage.static final String
Hier speichern wir, ob wir eine SCA-Ausnahme fuer einen GV von der Bank erhalten habenFields inherited from interface org.kapott.hbci.passport.HBCIPassport
ROLE_CON, ROLE_ISS, ROLE_WIT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
clearPIN()
protected String
collectSegCodes
(String msg) void
boolean
getCurrentTANMethod
(boolean recheck) Liefert das aktuelle TAN-Verfahren.Für das Decoupled Verfahren, liefert die maximale Anzahl von refreshes.getHost()
Ueberschrieben, um das "https://" am Anfang automatisch abzuschneiden.int
Für das Decoupled Verfahren, liefert die minimale Zeit vor dem ersten refresh.Für das Decoupled Verfahren, liefert die minimale Zeit vor weiteren refreshes.getPIN()
getPinTanInfo
(String code) Liefert "J" oder "N" aus den BPD des Geschaeftsvorfalls, ob fuer diesen eine TAN erforderlich ist.getProxy()
boolean
boolean
boolean
boolean
void
incSigId()
boolean
boolean
boolean
boolean
void
onDialogEvent
(DialogEvent event, DialogContext ctx) Wird bei einem Dialog-Event ausgefuehrt.void
Kann vornew HBCIHandler()
aufgerufen werden, um zu erzwingen, dass die Liste der unterstützten PIN/TAN-Sicherheitsverfahren neu vom Server abgeholt wird und evtl.void
void
setBPD
(Properties p) void
setCertFile
(String filename) protected void
setCheckCert
(boolean doCheck) void
setCurrentTANMethod
(String method) Legt das aktuelle TAN-Verfahren fest.void
setInstEncKey
(HBCIKey key) void
setInstSigKey
(HBCIKey key) void
void
void
void
setMyPublicDigKey
(HBCIKey key) void
setMyPublicEncKey
(HBCIKey key) void
setMyPublicSigKey
(HBCIKey key) void
void
void
setProxyPass
(String proxypass) void
setProxyUser
(String proxyuser) boolean
shouldPerformDecoupledRefresh
(HBCIStatus segStatus) Beim Decoupled Verfahren kann die Bank ein 3956 senden, wenn der Nutzer den Prozess noch nicht bestätigt hat.Methods inherited from class org.kapott.hbci.passport.AbstractHBCIPassport
askForMissingData, canMixSecMethods, changePassphrase, checkForCryptDataSize, clearBPD, clearInstEncKey, clearInstSigKey, clearMyDigKey, clearMyEncKey, clearMySigKey, clearUPD, close, closeComm, fillAccountInfo, generateNewUserKeys, getAccount, getAccounts, getBLZ, getBPD, getBPDVersion, getCID, getClientData, getComm, getCommFilter, getCountry, getCustomerId, getCustomerId, getDefaultLang, getFilterType, getHBCIVersion, getInstance, getInstance, getInstance, getInstance, getInstName, getJobRestrictions, getJobRestrictions, getLang, getMaxGVperMsg, getMaxMsgSizeKB, getParamHeader, getParamSegmentNames, getParentHandlerData, getPersistentData, getPort, getSigId, getStoredCustomerId, getSuppCompMethods, getSuppLangs, getSuppSecMethods, getSuppVersions, getSysId, getUPD, getUPDVersion, getUserId, isAnonymous, onlyBPDGVs, setBLZ, setCID, setClientData, setCountry, setCustomerId, setFilterType, setHBCIVersion, setHost, setParamHeader, setParentHandlerData, setPersistentData, setPort, setProfileMethod, setProfileVersion, setSigId, setSysId, setUPD, setUserId, syncSigId, syncSysId
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
saveChanges
Methods inherited from interface org.kapott.hbci.passport.HBCIPassportInternal
decrypt, encrypt, hash, resetPassphrase, sign, verify
-
Field Details
-
KEY_PD_SCA
Hier speichern wir, ob wir eine SCA-Ausnahme fuer einen GV von der Bank erhalten haben- See Also:
-
KEY_PD_CHALLENGE
Hier speichern wir den Challenge-Text der Bank fuer die TAN-Abfrage.- See Also:
-
KEY_PD_HHDUC
Hier speichern wir das HHDuc fuer die TAN-Abfrage.- See Also:
-
KEY_PD_ORDERREF
Hier speichern wir die Auftragsreferenz fuer die TAN-Abfrage.- See Also:
-
decoupledRefreshes
protected int decoupledRefreshes
-
-
Constructor Details
-
AbstractPinTanPassport
ct.- Parameters:
initObject
-
-
-
Method Details
-
getPassportTypeName
- See Also:
-
setBPD
- Specified by:
setBPD
in interfaceHBCIPassportInternal
- Overrides:
setBPD
in classAbstractHBCIPassport
- See Also:
-
onDialogEvent
Description copied from interface:HBCIPassportInternal
Wird bei einem Dialog-Event ausgefuehrt.- Specified by:
onDialogEvent
in interfaceHBCIPassportInternal
- Overrides:
onDialogEvent
in classAbstractHBCIPassport
- Parameters:
event
- das Event.ctx
- der Dialog-Kontext.- See Also:
-
shouldPerformDecoupledRefresh
Beim Decoupled Verfahren kann die Bank ein 3956 senden, wenn der Nutzer den Prozess noch nicht bestätigt hat. In diesem Fall muss die Nachricht wiederholt werden, um erneut zu prüfen, ob die Bestätigung erfolgt ist. Wir benachrichtigen die Applikation mit einem entsprechenden Callback und warten eine mögliche Mindestzeit. Ein refresh kann entweder durch die Dialoginitialisierung incheckSCAResponse(org.kapott.hbci.dialog.DialogContext)
, oder von konkreten Geschäftsvorfällen inGVTAN2Step.extractResults(HBCIMsgStatus, String, int)
ausgelöst werden.- Parameters:
segStatus
- Der segStatus, wo ein möglicher 3956 response code zu finden ist.- Returns:
- true, wenn ein 3956 code gefunden wurde, und ein refresh durchgeführt werden soll.
-
getCommInstance
- Specified by:
getCommInstance
in classAbstractHBCIPassport
- See Also:
-
isSupported
public boolean isSupported()- See Also:
-
getMinimumTimeBeforeFirstDecoupledRefresh
Für das Decoupled Verfahren, liefert die minimale Zeit vor dem ersten refresh.- Returns:
- Die minimale Zeit vor dem ersten Decoupled refresh.
-
getMinimumTimeBeforeNextDecoupledRefresh
Für das Decoupled Verfahren, liefert die minimale Zeit vor weiteren refreshes.- Returns:
- Die minimale Zeit vor weiteren Decoupled refreshes.
-
getDecoupledMaxRefreshes
Für das Decoupled Verfahren, liefert die maximale Anzahl von refreshes.- Returns:
- Die maximale Anzahl von Decoupled refreshes.
-
resetSecMechs
public void resetSecMechs()Kann vornew HBCIHandler()
aufgerufen werden, um zu erzwingen, dass die Liste der unterstützten PIN/TAN-Sicherheitsverfahren neu vom Server abgeholt wird und evtl. neu vom Nutzer abgefragt wird. -
setCurrentTANMethod
Legt das aktuelle TAN-Verfahren fest.- Parameters:
method
- das aktuelle TAN-Verfahren.
-
getCurrentTANMethod
Liefert das aktuelle TAN-Verfahren.- Parameters:
recheck
- true, wenn die gespeicherte Auswahl auf Aktualitaet und Verfuegbarkeit geprueft werden soll. Die Funktion kann in dem Fall einen Callback ausloesen, wenn mehrere Optionen zur Wahl stehen.- Returns:
- das TAN-Verfahren.
-
getCurrentSecMechInfo
-
getTwostepMechanisms
-
getProfileMethod
-
getProfileVersion
-
needUserKeys
public boolean needUserKeys() -
needInstKeys
public boolean needInstKeys() -
needUserSig
public boolean needUserSig() -
getSysStatus
-
hasInstSigKey
public boolean hasInstSigKey() -
hasInstEncKey
public boolean hasInstEncKey() -
hasMySigKey
public boolean hasMySigKey() -
hasMyEncKey
public boolean hasMyEncKey() -
getInstSigKey
-
getInstEncKey
-
getInstSigKeyName
-
getInstSigKeyNum
-
getInstSigKeyVersion
-
getInstEncKeyName
-
getInstEncKeyNum
-
getInstEncKeyVersion
-
getMySigKeyName
-
getMySigKeyNum
-
getMySigKeyVersion
-
getMyEncKeyName
-
getMyEncKeyNum
-
getMyEncKeyVersion
-
getMyPublicDigKey
-
getMyPrivateDigKey
-
getMyPublicSigKey
-
getMyPrivateSigKey
-
getMyPublicEncKey
-
getMyPrivateEncKey
-
getCryptMode
-
getCryptAlg
-
getCryptKeyType
-
getSigFunction
-
getCryptFunction
-
getSigAlg
-
getSigMode
-
getHashAlg
-
setInstSigKey
-
setInstEncKey
-
setMyPublicDigKey
-
setMyPrivateDigKey
-
setMyPublicSigKey
-
setMyPrivateSigKey
-
setMyPublicEncKey
-
setMyPrivateEncKey
-
incSigId
public void incSigId()- Specified by:
incSigId
in interfaceHBCIPassportInternal
- Overrides:
incSigId
in classAbstractHBCIPassport
-
collectSegCodes
-
getPinTanInfo
Liefert "J" oder "N" aus den BPD des Geschaeftsvorfalls, ob fuer diesen eine TAN erforderlich ist.- Parameters:
code
- der GV-Code.- Returns:
- "J" oder "N". Oder "A", wenn es ein Admin-Segment ist, jedoch keine TAN noetig ist.
-
deactivateTANVerifyMode
public void deactivateTANVerifyMode() -
activateTANVerifyMode
public void activateTANVerifyMode() -
setCertFile
-
getCertFile
-
setCheckCert
protected void setCheckCert(boolean doCheck) -
getCheckCert
public boolean getCheckCert() -
getProxy
-
setProxy
-
getProxyPass
-
getProxyUser
-
setProxyPass
-
setProxyUser
-
setPIN
-
getPIN
-
clearPIN
public void clearPIN() -
getAllowedTwostepMechanisms
-
setAllowedTwostepMechanisms
-
getMaxGVSegsPerMsg
public int getMaxGVSegsPerMsg()- Specified by:
getMaxGVSegsPerMsg
in interfaceHBCIPassportInternal
- Overrides:
getMaxGVSegsPerMsg
in classAbstractHBCIPassport
- See Also:
-
getHost
Ueberschrieben, um das "https://" am Anfang automatisch abzuschneiden. Das sorgte schon fuer so viele unnoetige Fehler.- Specified by:
getHost
in interfaceHBCIPassport
- Overrides:
getHost
in classAbstractHBCIPassport
- Returns:
- Hostname oder IP-Adresse des HBCI-Servers
- See Also:
-