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 intstatic final StringHier speichern wir den Challenge-Text der Bank fuer die TAN-Abfrage.static final StringHier speichern wir das HHDuc fuer die TAN-Abfrage.static final StringHier speichern wir die Auftragsreferenz fuer die TAN-Abfrage.static final StringHier 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 TypeMethodDescriptionvoidvoidclearPIN()protected StringcollectSegCodes(String msg) voidbooleangetCurrentTANMethod(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.intFü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()booleanbooleanbooleanbooleanvoidincSigId()booleanbooleanbooleanbooleanvoidonDialogEvent(DialogEvent event, DialogContext ctx) Wird bei einem Dialog-Event ausgefuehrt.voidKann vornew HBCIHandler()aufgerufen werden, um zu erzwingen, dass die Liste der unterstützten PIN/TAN-Sicherheitsverfahren neu vom Server abgeholt wird und evtl.voidvoidsetBPD(Properties p) voidsetCertFile(String filename) protected voidsetCheckCert(boolean doCheck) voidsetCurrentTANMethod(String method) Legt das aktuelle TAN-Verfahren fest.voidsetInstEncKey(HBCIKey key) voidsetInstSigKey(HBCIKey key) voidvoidvoidvoidsetMyPublicDigKey(HBCIKey key) voidsetMyPublicEncKey(HBCIKey key) voidsetMyPublicSigKey(HBCIKey key) voidvoidvoidsetProxyPass(String proxypass) voidsetProxyUser(String proxyuser) booleanshouldPerformDecoupledRefresh(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, syncSysIdMethods 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
saveChangesMethods 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:
setBPDin interfaceHBCIPassportInternal- Overrides:
setBPDin classAbstractHBCIPassport- See Also:
-
onDialogEvent
Description copied from interface:HBCIPassportInternalWird bei einem Dialog-Event ausgefuehrt.- Specified by:
onDialogEventin interfaceHBCIPassportInternal- Overrides:
onDialogEventin 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:
getCommInstancein 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:
incSigIdin interfaceHBCIPassportInternal- Overrides:
incSigIdin 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:
getMaxGVSegsPerMsgin interfaceHBCIPassportInternal- Overrides:
getMaxGVSegsPerMsgin classAbstractHBCIPassport- See Also:
-
getHost
Ueberschrieben, um das "https://" am Anfang automatisch abzuschneiden. Das sorgte schon fuer so viele unnoetige Fehler.- Specified by:
getHostin interfaceHBCIPassport- Overrides:
getHostin classAbstractHBCIPassport- Returns:
- Hostname oder IP-Adresse des HBCI-Servers
- See Also:
-