1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771
|
- Änderungen zwischen 2.5.11 und 2.5.12 (20091017)
* RDH-Passports:
- Passport-Variante "RDH2File" kann auch RDH-10-Dateien
lesen und schreiben
* Geschäftsvorfälle
- Support für "elektronischer Kontoauszug" (ungetestet und
nicht wirklich einsetzbar, da die entsprechende "Quittung"
noch nicht implementiert ist)
- SEPA-Überweisungen (bitte testen!)
- GV "Depot-Auflistung" vorläufig entfernt
* Verschiedenes:
- Bugfix beim Erkennen der von einer Bank unterstützten
Sicherheitsprofile (typische Fehlermeldung: "angeforderter
Sicherheitsmechanismus wird von der Bank nicht unterstützt")
- aktuelle Bankenliste integriert
- Weitere Algorithmen zur Überprüfung von Kontonummern
integriert (Code written by Alexander Nittka)
- Logging von SSL-Kommunikation möglich (bei HBCI-PIN/TAN)
- Sporadisch auftretende Fehler bei der APO-Bank behoben
(bitte testen!)
- Änderungen zwischen 2.5.10 und 2.5.11 (20090731)
* RDH-Passports:
- Unterstützung von RDH-10
* Geschäftsvorfälle
- Beim Abholen der Kontoauszüge können auch die
"vorgemerkten Umsätze" abgefragt werden
* Verschiedenes
- aktualisierte Liste der Bankleitzahlen
- diverse Anpassungen an den Prüfsummenalgorithmen
für Kontonummern
- Prüfsummenalgorithmus auch für IBANs
- diverse kleinere Bug-Fixes
- Änderungen zwischen 2.5.9 und 2.5.10 (20081129)
* RDH-Passports:
- Unterstützt eine Bank sowohl RDH-10 als auch RDH-2, wird
vorzugsweise das RDH-2-Profil verwendet, da noch nicht alle
Algorithmen, die für RDH-10 benötigt werden, implementiert
sind. Bei einigen Banken, die tatsächlich beide Verfahren
unterstützten, ließen sich bisher keine RDH-Schlüssel einreichen,
weil HBCI4Java automatisch das noch nicht sauber implementierte
RDH-10-Profil ausgewählt hatte.
* DDV-Chipkarte:
- Es sind jetzt vorkompilierte Linux-Libraries sowohl für
32- als auch 64-bit-Systeme in den Archiven enthalten
* PIN/TAN:
- Beim Hinzufügen mehrerer TAN-pflichtiger Aufträge zu
einem HBCI-Dialog funktionierte die Aufteilung der Aufträge
auf mehrere Nachrichten nicht, so dass teilweise mehrere
TAN-pflichtige Aufträge in einer Nachricht gesendet wurden,
was zu Problemen mit der Zuordnung der entsprechenden TANs
führt. Dieses Problem wurde behoben.
* Verschiedenes:
- Behebung eines Fehlers, der u.U. das Abholen von Saldo-
Informationen unmöglich machte
- Kernel-Parameter client.errors.ignoreDialogEndErrors
konsistent implementiert.
- Fehler in Message-Engine behoben, der auftritt, wenn Nachrichten
geparst werden sollten, bei denen leere, optionale DEs am Ende
einer DEG oder eines Segments nicht weggelassen wurden
- neue Bankenliste (gültig ab 8.12.2008) integriert.
- Änderungen zwischen 2.5.8 und 2.5.9 (20081027)
* API (!!)
- HBCIUtils.init(ClassLoader cl, String configfile, HBCICallback cb)
und HBCIUtils.initThread(cl, configfile, cb)
als deprecated markiert. Neu sind entsprechende Methoden, die
direkt ein Properties-Objekt verarbeiten. Damit soll erreicht
werden, dass die Übergabe von Initial-Werten für die Kernel-
Parameter (z.B. für log.loglevel.default, kernel.locale.*)
einfacher wird.
Für die Kompatibilität mit altem Code steht
HBCIUtils.loadPropertiesFile(cl, configfile) zur Verfügung
(Beispiele: o.k.h.tools.AnalyzeReportOfTransactions)
- Neue Kernel-Parameter "kernel.locale.*" sowie HBCIUtils.initLocale(),
um die vom HBCI4Java-Kernel verwendete Locale unabhängig vom Rest
der Anwendung ändern zu können (für jede ThreadGroup getrennt
steuerbar).
- Das Verhalten der alten Methoden HBCIUtils.date2String() und
HBCIUtils.string2Date() wird durch die neuen Methoden
HBCIUtils.date2StringLocal() bzw. HBCIUtils.string2DateLocal()
realisiert (also Erzeugung bzw. Parsen Locale-abhängiger(!)
String-Formate). Dabei wird die Locale verwendet, welche im
HBCI4Java-Kernel konfiguriert ist (siehe oben).
----- ACHTUNG - NEU -----
Die API-Methoden zum **Setzen von Job-Parametern via String** (z.B.
umsaetze.setParam("startdate", "...")
erwarten nun NICHT mehr wie früher Locale-abhängige Datumsformate,
sondern erwarten IMMER ISO-Datumsangaben der Form "YYYY-MM-DD".
Die Methode mit der Signatur (String,Date) (also
umsaetze.setParam("startdate", dateObject)
funktioniert natürlich nach wie vor unverändert.
Gleiches gilt für Datumsangaben, die von HBCI4Java-Methoden
**als String zurückgegeben** werden, z.B. in
saldoreq.getJobResult().getResultData().getProperty("date")
Der hier zurückgegebene String ist nun immer - unabhängig vom
aktuellen Locale - im ISO-Format "YYYY-MM-DD".
Natürlich gilt auch hier weiterhin, dass
saldoreq.getJobResult().getEntries()[0].ready.timestamp
ein normales Date-Objekt ist...
Die neuen Methoden HBCIUtils.date2StringISO() bzw.
HBCIUtils.string2DateISO() helfen beim Erzeugen resp. Parsen
dieser Datumsformate.
Die früheren Methoden HBCIUtils.date2String() bzw. string2Date()
delegieren ihre Arbeit momentan einfach an die jeweiligen
...Local()-Methoden, um das frühere Verhalten zu simulieren.
Da diese Methoden im neuen API nun aber NICHT mehr dafür eingesetzt
werden können, Job-Parameter in Stringform zu erzeugen
(date2String() liefert einen Locale-abhängigen String,
während job.setParam("startdate", "...") jedoch einen ISO-String
erwartet), sind diese Methoden im API als deprecated markiert
und erzeugen bei ihrer Verwendung ein Log-Ausgabe mit ERROR-Level.
Diese Methoden sollten ab sofort NICHT mehr verwendet werden,
statt dessen sollte explizit entweder die ...Local() oder die
...ISO()-Variante aufgerufen werden.
- Analoges gilt auch für die Uhrzeitformate und den damit zusammen-
hängenden HBCIUtils-Funktionen time2String(), string2Time() usw.
(ISO-Zeitformat is "HH:MM:SS").
* Passports:
- Passport-Implementierung für DDV-Passports via OCF entfernt. Diese
Passport-Variante wurde ersatzlos gestrichen. Gründe sind zum einen
das fehlende Feedback (hat das überhaupt jemand benutzt? ;-) sowie
die Tatsache, dass das OCF nicht mehr gepflegt wird.
- Ebenfalls entfernt wurde die Unterstützung für OpenHBCI-Passports.
Die aktuelle HBCI-Implementierung von Martin Preuss - AqBanking -
verwendet schon seit langem ein anderes Dateiformat (welches noch
nicht von HBCI4Java unterstützt wird).
- Fehler bei DDV-Passports gefixt: Bankleitzahlen, die die
Ziffernfolge "20" enthalten, haben teilweise Probleme beim Auslesen
oder Zurückschreiben von Chipkartendaten verursacht.
- In PIN/TAN-Passport-Files wird das gewählte Zweischrittverfahren
mit abgespeichert und beim Laden wieder ausgelesen, so dass ein
erneutes "Auto-Detect" nicht mehr notwendig ist.
* Geschäftsvorfälle:
- Ändern der PIN für HBCI-PIN/TAN mit "ChangePIN"
* Verschiedenes:
- Basis-Code für die Verwendung des HBCI4Java-InfoPoint-Servers
hinzugefügt. Siehe README.InfoPoint
- Bei PIN/TAN-Passports wird die Liste der erlaubten PIN/TAN-Verfahren
und das aktuell ausgewählte Verfahren mit in der Passport-Datei
gespeichert. Damit entfällt die Notwendigkeit, das zu verwendende
Verfahren jedes Mal neu auto-detecten zu müssen (bzw. einen
entsprechenden Callback beantworten zu müssen).
- Bugfix: mit aktuellen Versionen von Java 1.6 konnte HBCI-PIN/TAN
wegen einer Änderung in der SSL-Implementierung nicht mehr verwendet
werden ("unconnected sockets not implemented"). Code in HBCI4Java
wurde entsprechend angepasst (Code läuft nach wie vor ab Java 1.4).
- Liste der Bankleitzahlen aktualisiert
- LogFilter wird nun auch auf sämtliche Exception-Messages angewendet
(gilt nur für Exceptions, die von HBCI_Exception abgeleitet sind)
- Viele kleinere Bugfixes, vor allem im Bereich PIN/TAN und
Zweischrittverfahren (iTAN, SmartTAN, MobileTAN, ...)
- Änderungen zwischen 2.5.7 und 2.5.8 (20080530)
* Geschäftsvorfälle:
- GV "Vormerkposten abfragen" ist als Lowlevel-GV verfügbar
- Parser für Kontoauszüge arbeitet weniger speicherintensiv
* Sicherheitsmedien:
- für den DDV-Chipkarten-Code Makefiles für Mac-OS hinzugefügt
* Dialog-Engine:
- besseres Handling der Liste der unterstützten / erlaubten
PIN/TAN-Zweischrittverfahren
- Änderungen zwischen 2.5.6 und 2.5.7 (20080228)
* Geschäftsvorfälle:
- Konto-Objekte unterstützen nun auch BIC und IBAN
- Saldenabfrage für SEPA-Konten (proof-of-concept)
* Sicherheitsmedien:
- RDH-2-Dateien können initial erzeugt werden (es ist also nicht mehr
notwendig, eine bereits existierende und initialisierte RDH-2-Datei
aus einer anderen Software zu verwenden)
- für die HTTPS-Verbindung bei PIN/TAN können auch Proxies verwendet
werden, die Authentifikation verlangen
* Message-Engine:
- Cache-Fehler behoben (Bug #70): wenn innerhalb einer Anwendung mehrere
verschiedene Konten oder Bankverbindungen benutzt wurde, konnten
syntaktisch korrekte HBCI-Nachrichten von "späteren Verbindungen"
teilweise nicht geparst werden (d.h. die ERSTE Verbindung hat immer
funktioniert, die zweite, dritte, ... evtl. nicht mehr).
* Verschiedenes:
- Automatische Erkennung von SEPA-fähigen Konten bei der
Initialisierung von HBCIHandler-Objekten
- Erkennung von unterstützten PIN/TAN-Verfahren verbessert
- weitere kleinere Bugfixes, Code-Verbesserungen, interne Design-
Änderungen etc.
- Änderungen zwischen 2.5.5 und 2.5.6 (20071221)
* Binary Archiv ist wieder kompatibel zu java-1.4
* LogFilter-Mechanismus vollständig integriert
(siehe neuen Kernel-Parameter log.filter)
- Änderungen zwischen 2.5.0rc-9 und 2.5.5 (20071221)
* API
- HBCIHandler.addJob() deprecated, neu: HBCIJob.addToQueue()
- eine Menge interner Design- und API-Änderungen, die aber
keinen weiteren Einfluss auf das "offizielle" API haben sollten.
* Sicherheitsmechanismen / HBCI-Versionen
- FinTS-3-Syntax wird unterstützt
- RDH-2-Sicherheitsprofil (neu seit FinTS-3) wird unterstützt
- Probleme mit Version 2 des Zweischrittverfahrens behoben
(Stichwort: Sm@rtTAN Plus der Volksbanken)
* Passports
- RDH-2-Schlüsseldisketten werden unterstützt
* Geschäftsvorfälle:
- neu: StornoLast (Lastschrift zurückgeben)
* Message-Engine
- optimierte Version, dürfte weniger Speicher verbrauchen
und auch etwas schneller arbeiten
* Sonstiges
- Logging-Methoden unterstützen Log-Filter, um sensible Daten
automatisch auszuschwärzen (im Moment nur als proof-of-concept
implementiert, erst die nächste Version enthält Logik, die alle
sensiblen Daten automatisch ausschwärzt).
- viele viele kleinere Bugfixes, Update dringend empfohlen!
- Änderungen zwischen 2.5.0rc-8 und 2.5.0rc-9 (20060614)
* Geschäftsvorfälle:
- Parser für Kontoauszüge (MT940) modifiziert. Der Parser sollte jetzt
besser mit (falsch) gesplitteten Auszugsdaten und auch mit bestimmten,
selten auftretenden Sonderfällen in den Nutzdaten zurecht kommen.
* Tools:
- Bugfix in HBCIBatch (fehlender Callback-Handler für iTAN-Daten).
- Unter demo/HBCIBatch gibt stehen einige kommentierte Beispiel-Dateien
für die korrekte Verwendung von HBCIBatch zur Verfügung.
- Änderungen zwischen 2.5.0rc-7 und 2.5.0rc-8 (20060608)
* iTAN-Verfahren
- Protokollfehler behoben
* Sonstiges
- weitere Prüfzifferverfahren implementiert (57,69,95)
- Änderungen zwischen 2.5.0rc-6 und 2.5.0rc-7 (20060501)
* Dialog-Engine:
- Neue Variante von hbci.execute() - siehe dazu
README.ThreadedCallbacks
* Comm-Engine:
- HTTPS-Verbindungen für HBCI-PIN/TAN können nun auch
über einen Proxy hergestellt werden
* DDV-Chipkarte:
- Bug gefixt, der bei BLZen auftrat, wenn diese die Ziffern-
Kombination "20" enthalten
* Rewriter:
- Modul für Korrektur von falsch sortierten Segmenten
(HIRMS nach HISAL)
* Demo-Applet:
- Demo-Applet via Applet-Parameter konfigurierbar
- Änderungen zwischen 2.5.0rc-4 und 2.5.0rc-6 (20060129)
* Message-Engine:
- robusterer Code beim Empfang von fehlerhaften Nachrichten
* Sicherheitsverfahren
- PIN/TAN-Zweischrittverfahren auch für HBCI+
(HBCI-2.2 mit PIN/TAN-Erweiterung) verfügbar
* Passports (DDV):
- Bugfix für DDVOCF: das Zurückschreiben von Daten auf die
Chipkarte funktionierte wegen einer falschen APDU nicht
- Bugfix in SIZRDH-Bibliothek: beim Zurückschreiben von
Schlüsseldateien werden diese jetzt nicht mehr "zerstört"
- SIZRDH-Bibliothek: einige Memory-Leaks gefixt
* Geschäftsvorfälle:
- Unterstützung für Unterkontomerkmal (ab HBCI-2.2)
* Sonstiges:
- neue Bankleitzahlenliste
- Änderungen zwischen 2.5.0rc-3 und 2.5.0rc-4 (20060103)
* API (!!)
- Bei den Klassen Value und Saldo werden Beträge nicht mehr als
double-Werte, sondern als long-Werte gespeichert. Außerdem wurde
in der Klasse Saldo die Variable "cd" entfernt, die bisher
angegeben hat, ob es sich um einen positiven oder negativen
Saldo handelt. Statt dessen ist der Saldo-Wert jetzt selbst
vorzeichenbehaftet.
- Bei den Kontoauszügen (GVRKUms.UmsLine) ist ebenfalls das "cd"-
Attribut weggefallen, welches angezeigt hat, ob es sich um eine
Soll- oder Haben-Buchung handelt. Statt dessen ist der Buchungs-
betrag (value) jetzt selbst vorzeichenbehaftet.
Damit einher gehen leider entsprechende Änderungen des API.
Bitte diesbezüglich JavaDoc beachten!
* Passports:
- DDV-Chipkarten können jetzt zusätzliche über OCF (OpenCard
Framework) angesprochen werden. Siehe dazu auch README.OCF.
* Rewriter:
- einige Rewriter-Module wurden neu strukturiert und umbenannt.
- Änderungen zwischen 2.5.0rc-1 und 2.5.0rc-3 (20051212)
* Security:
- Unterstützung für Auftragshashwert beim Zweischrittverfahren
(FinTS-PIN/TAN) - Prozessvariante 1
* Geschäftsvorfälle:
- Umsatzabfrage: verschiedene kleinere Bugfixes, die vor allem
dazu führen, dass auch nicht spez.-konforme Kontoauszugsdaten
interpretiert werden (Erweiterung eines existierenden Rewriter-
Moduls sowie Hinzufügen eines neuen Rewriter-Moduls)
* Sonstiges:
- DTAUS-Klasse wandelt float-Werte jetzt richtig in ganzzahlige
Cent-Beträge um
- Änderungen zwischen 2.5.0pre-20050525 und 2.5.0rc-1 (20051024)
* Allgemeines:
- Unterstützung für FinTS-3.0 (inklusive Zweischritt-Verfahren)
hinzugefügt
* Dialog-Engine:
- neue Methode zum "Verifizieren und Verbrennen" einer TAN eingeführt
- für einige "broken" HBCI-Server können Fehler, die nach dem Versenden
einer Dialog-Ende-Nachricht auftreten, ignoriert werden
- Rewriter-Module für fehlerhafte führende Nullen in der Signatur-ID
und für falsche Informationen über unterstützte HBCI-Versionen
hinzugefügt
* Message-Engine:
- kleinere Code-Optimierungen für bessere Performance - Message-Engine
ist aber immer noch ein designtechnisches Unglück
- Änderungen zwischen 2.5.0pre-20040810 und 2.5.0pre-20050525
* Kryptographie:
- Padding beim Verschlüsseln erfolgt jetzt (spez.-gerecht?) in der Form
"00 00 00 04" anstatt "04 04 04 04" (Dank an Andreas Selle für den
entsprechenden Hinweis)
- digitale Signaturen der HBCI-Antwortnachricht werden jetzt *richtig*
überprüft (aufgrund eines Bugs konnte der Server bisher nahezu belie-
bige Signaturen senden, die allesamt akzeptiert wurden)
* Dialog-Engine:
- Bug bei der Auswertung von "max. Anzahl unterschiedlicher GVs pro
Nachricht" gefixt - automatisches Erzeugen einer neuen HBCI-Nachricht
bei Überschreitung dieses Maximalwertes funktioniert jetzt sauber
* Chipkarten-Support:
- Verwendung alternativer Kommandos für bessere
Kompatibilät mit verschiedenen Geräten verwendet
* Geschäftsvorfälle:
- beim Löschen von Daueraufträgen kann jetzt entweder die Order-ID oder
der komplette Parametersatz für die Identifikation des zu löschenden
Dauerauftrages angegeben werden
- Parsen von Kontoauszügen ist jetzt roboster - auch Kontoauszüge, die
an der "falschen" (i.e. nicht spez.-gerechten) Stelle gesplittet und
auf mehrere Nachrichten aufgeteilt sind, werden jetzt richtig wieder
zusammengesetzt
- Problem beim Abholen von Kontoauszügen behoben: wenn das Buchungsdatum
und das Wertstellungsdatum in verschiedenen Jahren liegen, wird das
Buchungsdatum jetzt *korrekt* gebildet.
* Batch-Tool:
- manuelles Erzwingen einer neuen HBCI-Nachricht
(=HBCIHandler.newMsg()) möglich
- Angeben von zu verwendender HBCI-Version möglich
- HBCI-Batch-Tool kann jetzt auch mit noch nicht existierenden Passport-
Files benutzt werden - Angabe eines Passworts für die Verschlüsselung
beim Speichern von Passport-Files möglich
- Eingabewerte für Job-Parameter können entweder im Batch-File oder in
einem externen File definiert werden (sinnvoll für DTAUS-Daten für
Sammellastschrift und -überweisung)
- verschiedene Ausgabeformate für Job-Ergebnisse möglich
* Sonstiges:
- BASE64-Routine geändert, um Daten mit Sonderzeichen (insbesondere
Umlaute) wieder sauber zu dekodieren
- kleinere Anpassungen am PIN/TAN-Code für schnelleren Verbindungs-
aufbau (HTTPS)
- neuen Prüfsummenalgorithmus für das Validieren von Kontonummern
hinzugefügt (Dank an Gerd Balzuweit)
- beim erstmaligen Erzeugen von Passport-Files wird die HBCI-Server-
Adresse (bzw. die PIN/TAN-URL) jetzt automatisch auf Basis der
BLZ vorgeschlagen
- Änderungen zwischen 2.4.6 und 2.5.0pre-20040810
* API-Änderungen (!)
- Rückgabetyp von HBCIHandler.execute() neu: HBCIExecStatus
(früher: HBCIDialogStatus; HBCIExecStatus vereint mehrere
HBCIDialogStatus-Objekte, da ein HBCIHandler.execute() jetzt u.U.
mehrere HBCI-Dialoge ausführt)
- zwei neue Callbacks (NEED_CONNECTION/CLOSE_CONNECTION) eingeführt,
die das zeitnahe Aktivieren bzw. Herunterfahren der Internetverbindung
ermöglichen
- API für Job-Info-Methoden geändert
. neu: HBCIHandler.getKernel()
. neu: HBCIKernel.getLowlevelJobParameterNames()
. neu: HBCIKernel.getLowlevelJobResultNames()
. HBCIHandler.getAllLowlevelGVs() --> HBCIKernel.getAllLowlevelJobs()
. HBCIHandler.getSupportedLowlevelGVs() --> HBCIHandler.getSupportedLowlevelJobs()
. HBCIHandler.getLowlevelGVParameters() --> HBCIHandler.getLowlevelJobParameterNames()
. HBCIHandler.getLowlevelResultProperties() --> HBCIHandler.getLowlevelJobResultNames()
. neu: HBCIHandler.getLowlevelJobRestrictions()
- neuen Loglevel (LOG_DEBUG2) eingeführt
* Passports
- Zertifikatsüberprüfung bei PIN/TAN-Passports kann deaktiviert werden
- Portadresse für HBCI-PIN/TAN via SSL (default 443) editierbar
- für PIN/TAN-Passports kann der zu verwendende Kommunikationsfilter
beim erstmaligen Initialiseren des Passports mit angegeben werden
- PIN/TAN-Passport-Variante an "lame" HBCI-Server angepasst (andere
Werte als die in der Spez. *vorgeschlagenen* default-Werte führen u.U.
zu Fehlern)
- Bug bei der Erkennung der von HBCI+-Unterstützung gefixt
- Bug in SIZRDH-File-Library gefixt (wenn Fehler auftritt,
abbrechen, anstatt noch einige Schritte weiterzumachen)
* Geschäftsvorfälle
- Support für schweizer DTAUS-Format implementiert
- Bug in Kontoauszügen (falsches Buchungsdatum) gefixt
* Dialog-Engine
- wenn Aufträge für mehrere verschiedene Kunden-IDs erzeugt werden,
werden auch automatisch mehrere Dialoge generiert und ausgeführt
(deshalb neuer Rückgabetyp von HBCIHandler.execute(); siehe dazu auch
HBCIHandler.addJob())
- Antwortdaten von GVs, bei denen mehrere Antwortsegmente zurückgemeldet
werden, werden jetzt in der Reihenfolge zurückgegeben, in der sie
tatsächlich empfangen wurden (wichtig für z.B. "Statusprotokoll")
- Mehrfachsignaturen implementiert (noch ungetestet, da keine Test-
möglichkeit gefunden)
- kleinere Bugfixes in DialogManager (leere Dialoge werden nicht mehr
ausgeführt)
- Rewriter-Modul für fehlerhafte Kontoauszüge der RVB Erlangen
hinzugefügt
- Rewriter-Modul für fehlerhafte BPD-Daten der Consors-Bank hinzugefügt
- Workaround für fehlerhafte Kontoauszüge der DresdnerBank implementiert
- Bug in Message-Engine gefixt, der bewirkte, dass unter bestimmten
(seltenen) Umständen fehlerhafte HBCI-Nachrichten erzeugt wurden
* Sonstiges
- HBCI-Batch-Tool zum automatischen Ausführen von HBCI-Jobs hinzugefügt
- Object-Pooling-Mechanismus für schnellere Objekt-Erzeugung in der
Message-Engine implementiert
- einige Bugs im Multi-Threading-Code gefixt
- Bugfixes in CRC-Algorithmen (Dank an Volker Weber)
- Verzeichnis der Bankleitzahlen aktualisiert und Support für BIC
integriert
- einige Probleme mit Locales gefixt - Datums- und Zeitangaben werden
jetzt immer der Locale-typischen Form zurückgegeben und erwartet,
Wertangaben immer in der Fließkommadarstellung 1.23 (mit . als
Dezimaltrennzeichen)
- Änderungen zwischen 2.4.5 und 2.4.6
* Einsatz von HBCI4Java in MultiThread-Anwendungen verbessert
(siehe auch Datei README.MultiThread)
* Verhalten in den Methoden HBCIUtils.init() bzw. HBCIUtils.initThread()
für das Laden eines Property-Files geändert
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Auslandsüberweisung (in EU-Länder bis 12500 EUR ohne Meldepflicht)
- Sammellastschriften/-Überweisungen
* verbesserte Überprüfungen beim Erzeugen von Aufträgen (es werden jetzt
viel mehr Fehler schon vor dem eigentlichen HBCI-Dialog erkannt)
* Ändern des Passwortes für Passport-Dateien möglich (via API und mit dem
HBCI4Java Passport Editor)
* Verbesserter Support für SIZ-RDH-Schlüsseldateien (StarMoney, GENOlite)
* Passport-Implementation für anonyme Zugänge hinzugefügt
* Passport-Implementation für OpenHBCI-Schlüsseldateien hinzugefügt
* Methoden für das Speichern zusätzlicher Daten in Passports in offizielles API
aufgenommen (siehe HBCIPassport.{set|get}ClientData())
* Callbacks für das Abfragen von Passwörtern geändert (NEED_PASSPHRASE gibt es nicht
mehr, dafür jetzt NEED_PASSPHRASE_LOAD und NEED_PASSPHRASE_SAVE)
--> siehe API-Dokumentation!
* Bug in default-Callback-Handler für nicht-signierende HBCI-Server gefixt
* Mini-Änderungen am Kernel-Design, so dass jetzt *alle* Status-Callbacks (auch
STATUS_MSG_SEND,STATIS_MSG_REC,STATUS_MSG_PARSE) ein nicht-null Passport-Objekt
als Parameter erhalten
* DTAUS-Generator für Sammellastschriften und -überweisungen hinzugefügt
* Hilfsklasse für die Erzeugung von INI-Briefen bzw. für das Abfragen von
Schlüsselinformationen hinzugefügt (org.kapott.hbci.passport.INILetter)
* bei Verwendung von RSA-Chipkarten Ausgabe einer deutlicheren Fehlermeldung
* MessageGenerator- und MessageParser-Engine aufgeräumt
* intern verwendete HBCI-Spez. etwas "strenger" gemacht
* Einige Fehler in der API-Dokumentation beseitigt (einige Klassen
erschienen in den Package-Tree-Listings, die gar nicht dokumentiert
sind und es auch nicht sein sollen)
* Demo-Applet für die Demonstration der Anwendung von HBCI4Java hingefügt
* kleinere Bugfixes an Dialog-Engine, Message-Generator und -Parser sowie
an den Abläufen für die Schlüsselverwaltung
- Änderungen zwischen 2.4.4 und 2.4.5
* neue Version der SIZRDH-Bibliothek verfügbar:
- Bug mit falschen Schlüsselnummern/-versionen behoben
(machte sich bei allen SIZ-Schlüsseldateien bemerkbar, bei
denen die Schlüssel bereits mindestens ein mal geändert wurden)
- Username für SIZ-Datei wird nicht mehr via Callback abgefragt
(sondern aus Datei selbst entnommen)
- MAC-Verifizierung des Dateiinhaltes (Resultat in den Log-Ausgaben)
- Debuggingmöglichkeiten bei Problemen verbessert
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Umbuchung (neu)
- Sammellastschriften (neu)
- Sammelüberweisungen (edit)
- Abholen von Karteninformationen (neu)
- Abholen von Kontoinformationen (neu)
* Synchronisierung von Signatur-ID/System-ID kann jetzt manuell
erzwungen werden
* Prüfzifferalgorithmen für Kontonummern diverser Banken hinzugefügt
* zweistufiges Speichern von Passport-Files modifiziert (auf manchen
System funktionierte der alte Code nicht)
* Dialogende-Nachrichten-Responses von anonymen Dialogen sind teilweise
signiert -- wird jetzt erkannt und erlaubt
* Rewriter-Modul für fehlende HBCI-Versionsnummer in
Antwortnachrichten hinzugefügt
* Buxfixes in der API-Dokumentation
- Änderungen zwischen 2.4.3 und 2.4.4
* Unterstützung für SIZ-RDH-Schlüsseldateien hinzugefügt
(siehe Datei README.SIZRDHFile)
* Probleme mit einigen Banken gefixed, die Signaturen und
Nachrichtenschlüssel *immer* in der Länge 96 Bytes erwarten
- Änderungen zwischen 2.4.2 und 2.4.3
* Unterstützung für die Überpruefung von Kontonummern mittels
Prüfzifferverfahren integriert (wird automatisch bei der
Erzeugung von Highlevel-Jobs verwendet und kann auch manuell
benutzt werden)
* isSupported()-Methode für Highlevel-Jobs eingeführt (zum
Überpruefen der Verfügbarkeit eines Highlevel-Jobs *vor* dem
Erzeugen eines HBCIJob-Objektes)
* Verbesserung des status()-Callbacks zum Tracen der Kernel-Aktivität;
Boolean-Datentyp fuer Callback-Rückgabedaten eingeführt;
default-Wert fuer erwartete Nutzereingabe in Callbacks implementiert
* Rewriter-Module hinzugefügt, um Probleme mit der
Baden-Württembergischen Bank zu beheben (Dank an Olly!)
* Rewriter-Module dokumentiert und per default aktiviert
* HBCI-Kernel-Parameter zum optionalen Ignorieren bestimmter Fehler integriert
* laufenden Saldo zu den Daten einer Transaktion (GVRKUms.UmsLine) bei
Kontoauszügen hinzugefügt
* Liste der Bankleitzahlen aktualisiert
* zweistufiges Speichern von Passport-Files (=Schlüsseldateien) implementiert,
um bei Programmabstürzen Verluste zu vermeiden
* Schlüsselverwaltung mit HBCI 2.01 funktioniert jetzt wieder
* unnötige Schlüsselabfragen in diversen Dialogen zur Schlüsselverwaltung
entfernt (einige Banken hatten Probleme damit)
* mehr Textausgaben internationalisiert (DE/EN) (da ist immer noch viel zu tun!)
* Erweiterung der API-Dokumentation
* viele kleinere Bugfixes
- Änderungen zwischen 2.4.1 und 2.4.2
* native DDV-Bibliotheken aktualisiert !!!
* Status-Callback erhaelt bei Status STATUS_SEND_TASK und
STATUS_SEND_TASK_DONE jetzt zusaetzlich die entsprechenden
HBCIJob-Objekte
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- terminierte Überweisungen löschen, Daueraufträge
löschen (es wird jetzt nur noch die Order-ID und
nicht mehr alle Auftragsdaten benötigt)
- terminierte Überweisungen bearbeiten, Daueraufträge bearbeiten
(es müssen nur noch die zu ändernden Daten zwingend
angegeben werden, die restlichen Daten werden automatisch
eingesetzt)
- Daueraufträge bearbeiten (Check, ob Ändern eines Feldes
jeweils erlaubt ist)
- Depotbestand abholen (WPDepotList)
- einige Wertpapiergeschäftsvorfälle zu internen
HBCI-Syntax-Beschreibungen hinzugefügt (sind jetzt als Lowlevel-Jobs
in *allen* HBCI-Versionen verfügbar)
* Konto-Struktur verwaltet name1 und name2 jetzt getrennt
(nicht mehr "name1 / name2" als ein String)
* automatische Erkennung der Reiner-SCT-Biometrie-Einheit implementiert
* DDV-Bibliothek für den Einsatz unter Solaris hinzugefügt
* Log-Ausgaben im Level INFO (3) sind weniger aufdringlich ;-)
* Bug beim Ignorieren von unbekannten FinTS-3.0-
Geschäftsvorfallparametern gefixt
* build.xml für Verwendung (vor allem unter Linux) einfacher
(kein separates Script zum Compilieren des C-Codes mehr nötig)
* kleinere Bugfixes im C-Code
- Änderungen zwischen 2.4.0 und 2.4.1
* neues Dateiformat für RDH-Passports und damit neuen RDH-Passport-Typ
(=RDHNew) eingeführt. SIEHE DAZU DATEI README.RDHNew
* Laden des Property-Files mit den default-Einstellungen für Kernel-Parameter
beim Initialisieren von HBCI4Java vereinfacht
* Demo-Programm zum Analysieren von Kontoauszügen hinzugefügt
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Wertpapierinformationen abholen
- Kursinformationen zu Wertpapieren abholen
- Wertpapier-Referenznummern ermitteln
- Stammdaten zu Wertpapieren abholen
- Depotbestand abholen (WPDepotList)
- Depotumsätze abholen
- Änderungen zwischen 2.3 und 2.4.0
* das API für die Arbeit mit Jobs und für die Auswertung
der Job-Ergebnisse hat sich signifikant verändert!
* beim Erzeugen von Jobs werden automatisch einige der Restriktionen
aus den BPD überprüft
* Schnittstelle zur Arbeit mit "Lowlevel"-Jobs (Jobs ohne komfortable
Wrapper-Klassen) sauberer gemacht und dokumentiert(!)
* Callback-Klassen liegen in einem separaten Package, API für Callback-
Routinen geändert!
* Dokumentation fast vollständig überarbeitet; alle Informationen sind jetzt
in der Javadoc-API-Dokumentation enthalten; Geschäftsvorfälle dokumentiert
* beim Initialisieren eines Passports werden sämtliche fehlenden Zugangsdaten
via Callback erfragt (und bei DDV-Passports auch sofort auf die Chipkarte
geschrieben - separates Initialisieren von Benutzerkennungen auf der Chipkarte
nicht mehr nötig)
* Chipkartensupport für DDV-Zugänge überarbeitet:
- Dynamisch ladbare Bibliotheken (HBCI4Java-Bibliothek und CTAPI-Treiber-
Bibliothek) müssen jetzt durch einen vollständigen Dateinamen spezifiziert werden
- C++-Code für Chipkartensupport völlig überarbeitet
- einige Kommandozeilentools für die Arbeit mit DDV-Chipkarten hinzugefügt
(nur für Debugging-Zwecke)
- neues Loglevel (LOG_CHIPCARD=5) für Logging der Kommunikation mit Chipkartenleser
eingeführt
- Automatisches Erkennen und Benutzen der separaten Chipkartenterminal-Tastatur
über HBCI-Parameter einstellbar
- Unterstützung für *beliebigen* auf einer DDV-Chipkarte gespeicherten
HBCI-Account eingeführt (nicht nur des ersten; wird aber selten benötigt)
* mehrere Versuche bei falscher Passworteingabe für Passport-File möglich
* Default-Swing-Callbacks überarbeitet: in allen Eingabedialogen ist der OK-Button
jetzt der Default-Button (reagiert also auf <ENTER> im Eingabefeld)
* diverse Kommandozeilentools hinzugefügt
* einige unnötige HBCI-Dialoge beim Wechseln der HBCI-Version für ein
Passport eliminiert
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Kontoauszüge abholen (bugfixes)
- Einreichen von Daueraufträgen (bugfix)
- Überweisungen, Spendenüberweisungen, BZÜ-gesicherte Überweisungen,
terminierte Überweisungen
- Abholen von Informationen über TAN-Listen (nur für PIN/TAN-Passports)
* Bug im Swift-Parser für Kontoauszüge behoben
* einige Bugs im Fehlerbehandlungsmechanismus behoben
* eine Menge (|Menge|>>20) kleinerer Bugs gefixt und viel Code aufgeräumt
- Änderungen zwischen 2.2 und 2.3
* Bug beim Erkennen der max. Anzahl GVs pro Nachricht behoben
* DDV-Bibliothek für Solaris hinzugefügt
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Bearbeiten von terminierten Überweisungen
- Löschen von terminierten Überweisunge
* interne Code-Cleanups
- Änderungen zwischen 2.1 und 2.2
* Verwendung der System-ID beim Sperren/Neugenerieren von RSA-Schlüsseln
berichtigt
* High-Level-Methoden zum Neugenerieren sowie zum Ändern von RSA-Schlüsseln
freigegeben; Ändern von Nutzerschlüsseln geht jetzt
* Verhalten bei Fehlern während der Übertragung der Nutzerschlüssel an
die Bank verbessert (RSA)
* Probleme einiger HBCI-Server bei der Entgegennahme neuer Nutzerschlüssel
behoben (danke Achim!)
* deutsche Umlaute (Zeichensatz ISO-8859-1) jetzt bei Überweisungen etc.
verwendbar (die meisten Banken unterstützen das aber nicht richtig)
* Fehler bei default-Werten für Geschäftsvorfall-Daten behoben
* Tool zur Erzeugung von INI-Briefen verfügbar
* Unterstützung von Banken, die ihre Nachrichten nicht signieren (igitt!)
* Fehler behoben, der bei Nutzerkennung<>Kunden-ID auftrat
* beim Setzen von GV-Parametern können auch komplexe Objekte als Parameter
benutzt werden
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Wertpapierinformationen abholen
- Kursinformationen zu Wertpapieren abholen
- Wertpapier-Referenznummern ermitteln
- Stammdaten zu Wertpapieren abholen
- Depotbestand abholen (WPDepotList)
- Depotumsätze abholen
- Kontoauszüge abholen (Kontoauszüge mit speziellen Daten im Verwendungs-
zweck wurden nicht richtig geparst)
* Fehler im Message-Parser behoben, aufgrund dessen sehr spezielle Nachrichten
nicht richtig analysiert wurden
* Fehlerausgaben bei Exceptions sind more verbose
* viele kleinere Bugfixes
* Refactoring
- Änderungen zwischen 2.0 und 2.1
* Datums- und Zeitangaben lokalisiert: *Eingaben* an den Kernel müssen in der
locale-typischen Form (dd.MM.yyyy oder mm/dd/yyyy usw.) erfolgen;
*Ausgaben* vom Kernel erfolgen ebenfalls automatisch in der locale-typischen Form
* beim Erzeugen eines HBCI-Handler-Objektes kann jetzt optional
automatisch die zuletzt benutzte HBCI-Version eines Passports benutzt werden
* die default-Implementationen der Callback-Klassen können jetzt selbstständig
die beiden Callbacks "neue Institutsschlüssel empfangen" und "neue Nutzerschlüssel
erzeugt" behandeln
* Swing-Callback lokalisiert
* Schlüsselsperrung für RSA-Schlüssel wieder freigeschaltet
* Liste aller deutschen Bankleitzahlen integriert
* beim Hinzufügen von Jobs mit HBCIHandler.addJob() wird überprüft, ob diese noch
in die aktuelle Nachricht passen; wenn nicht, wird automatisch eine neue
Nachricht begonnen (HBCIHandler.newMsg() könnte somit entfallen)
* Geschäftsvorfälle hinzugefügt bzw. modifiziert:
- Daueraufträge bearbeiten (DauerEdit)
- Löschen von Daueraufträgen (DauerDel)
- Kundennachricht senden (CustomMsg)
- Übersicht der Festgeldanlagen abholen (FestList)
- Übersicht der Festgeldkonditionen abholen (FestCondList)
- Übersicht der verfügbaren Kreditinstitutsinformationen abholen (InfoList)
- Kreditinstitutsinformationen anfordern (InfoOrder)
- Übersicht der noch anstehenden terminierten Überweisungen abholen (TermUebList)
* API-Dokumentation erweitert
* kleinere Bugfixes
* Refactoring in den Passport-Klassen
|