[Hbci4java-help] Hibiscus-Branch: Patch 22 (Support fuer optisches chipTAN)
Brought to you by:
kleiner77
From: Olaf W. <hbc...@wi...> - 2011-05-27 10:47:33
|
Hi, Geschafft! ;) Das Parsen, Generieren und Rendern eines HHDuc-Codes aus dem HITAN-Segment mit anschliessender optischer Uebertragung an einen TAN-Generator hat funktioniert! Selbst testen konnte ich jedoch nur Flicker-Codes nach dem HHD1.3-Standard, da mein Testgeraet noch kein HHD1.4 kann. Der neue Code kann jedoch HHD1.4 - und ich bin ziemlich zuversichtlich, dass ein HHD1.4-tauglicher TAN-Generator das auch lesen kann (zumindest bestehen die generierten Flickercodes alle theoretischen Checks). Patch 22: http://cvs.berlios.de/cgi-bin/viewvc.cgi/hibiscus/hbci4java/log/patches/22-hbci4java-chiptan-opt.patch Das Patch enthaelt mit der neuen Klasse "FlickerRenderer" auch eine Hilfsklasse zur grafischen Darstellung der 5 Schwarz/Weiss-Balken. Da HBCI4Java eine reine Bibliothek ist, die keinen eigenen Grafikcode enthaelt, uebernimmt der Renderer nur das Timing fuer das Blinken und das Umwandeln in Schwarz/Weiss-Informationen. Dazu ruft sie eine Funktion "paint()" mit 5 Boolean-Parametern auf. Zum Anzeigen des Flickercodes muss man die nur noch ueberschreiben und daraus 5 Balken machen. Der fix und fertig konvertierte, gepruefte und renderfaehige Flickercode wird im Callback NEED_PT_TAN im Stringbuffer "retData" uebergeben (genau wie bei NEED_PT_SECMECH). In http://cvs.berlios.de/cgi-bin/viewvc.cgi/hibiscus/hbci4java/test/hbci4java/secmech/ findet sich auch noch eine umfangreiche JUnit-Testklasse. Weitere inzwischen angefallene Patches: Patches 19 und 20 nehmen Aenderungen an der Segment-Version vom HKTAN vor. HBCI4Java schickte dieses bisher generell mit der hoechsten verfuegbaren Versionsnummer. Wenn die Bank jedoch mehrere HITANS-Versionen anbietet und der User ein TAN-Verfahren waehlt, welches NICHT aus der hoechsten Version stammt, dann hat HBCI4Java fuer das HKTAN dennoch die hoechste Version verwendet. Mit dem Effekt, dass die Bank einen Fehler meldete, weil sie dieses TAN-Verfahren nicht in der angegebenen Segment-Version kennt. Die Patches erweitern HBCIJobImpl so, dass die per Default ermittelte Segmentversion ueberschrieben werden kann. Patch 21 betrifft das Parsen von RDHNew-Schluesseln. Wurde da das falsche Passwort eingegeben, konnte es (abhaengig von der XML-Implementierung, die die Java-VM intern verwendet) passieren, dass kein Retry (also erneuter Versuch der Passwort-Eingabe) stattfand. Die Patches sind in ca. 1h auch im Nightly-Build von Hibiscus. Gruss Olaf |