{"id":37028285,"url":"https://github.com/hbci4j/hbci4java","last_synced_at":"2026-01-14T03:22:35.193Z","repository":{"id":18544849,"uuid":"84074853","full_name":"hbci4j/hbci4java","owner":"hbci4j","description":"Java-based FinTS protocol implementation that supports all features (chipTAN, pushTAN, HHD, SEPA, PSD2,...) ","archived":false,"fork":false,"pushed_at":"2025-12-22T09:45:42.000Z","size":10310,"stargazers_count":176,"open_issues_count":3,"forks_count":52,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-12-23T20:27:30.871Z","etag":null,"topics":["fints","hbci","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"willuhn/hbci4java","license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hbci4j.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-03-06T13:14:20.000Z","updated_at":"2025-12-22T09:45:46.000Z","dependencies_parsed_at":"2023-01-11T20:20:58.937Z","dependency_job_id":"240972e1-aac2-48d6-a38d-6eb3943228b0","html_url":"https://github.com/hbci4j/hbci4java","commit_stats":null,"previous_names":[],"tags_count":146,"template":false,"template_full_name":null,"purl":"pkg:github/hbci4j/hbci4java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbci4j%2Fhbci4java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbci4j%2Fhbci4java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbci4j%2Fhbci4java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbci4j%2Fhbci4java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hbci4j","download_url":"https://codeload.github.com/hbci4j/hbci4java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbci4j%2Fhbci4java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fints","hbci","java"],"created_at":"2026-01-14T03:22:34.717Z","updated_at":"2026-01-14T03:22:35.185Z","avatar_url":"https://github.com/hbci4j.png","language":"Java","readme":"## Vorab\n\nDies ist die offizielle Quelle von HBCI4Java, welches u.a.\nin [Hibiscus](http://www.willuhn.de/products/hibiscus) zum Einsatz kommt.\n\n## Versionshinweis\n\n- Version 4.x von HBCI4Java verwendet Jakarta EE (jakarta.*)\n- Version 3.x von HBCI4Java verwendet Java EE (javax.*) - veraltet\n\n## Kontakt\n\n\u003chttps://github.com/hbci4j/hbci4java/discussions\u003e\n\n## Entstehung\n\nDas Projekt entstand 2010 als Fork von hbci4java.kapott.org (Seite nicht mehr verfügbar), da dessen\nWeiterentwicklung eingestellt wurde.\n\nSeither wurden umfangreiche neue Features hinzugefügt wie etwa:\n\n- Unterstützung für PSD2 (SCA), welche seit September 2019 für FinTS verpflichtend ist\n- Abruf von Umsätzen im CAMT-Format (HKCAZ)\n- Unterstützung für chipTAN USB\n- Abruf des elektronischen Kontoauszuges (HKEKA und HKEKP)\n- SEPA-Überweisungen und -Lastschriften (jeweils Einzel- und Sammelaufträge) sowie\n  SEPA-Daueraufträge\n- Support für alle aktuellen SEPA-PAIN-Versionen\n- Unterstützung von PC/SC-Kartenlesern via javax.smartcardio API\n- Eine aktuelle Bankenliste (mit BLZ, Server-Adresse, HBCI-Version,...)\n- Unterstützung der neuen TAN-Verfahren (smsTAN, photoTAN, chipTAN - incl. Implementierung\n  des HHD-Standards mit Flicker-Code)\n- RAH10-Schlüsseldateien\n- PushTAN Decoupled (Direktfreigabe per App)\n- Verification of Payee (VoP)\n\n## Lizenz\n\nLGPL 2.1 - GNU Lesser General Public License, version\n2.1 \u003chttp://www.gnu.org/licenses/old-licenses/lgpl-2.1\u003e\n\n*Hinweis*\nBis 02.05.2016 unterlag HBCI4Java der GPLv2 - wurde\nmit \u003chttps://github.com/willuhn/hbci4java/issues/36\u003e aber auf LGPL 2.1 geändert.\n\n## Download\n\nDu kannst die aktuellste Version von HBCI4Java in Maven Central finden:\n\n\u003chttps://central.sonatype.com/artifact/com.github.hbci4j/hbci4j-core/versions\u003e\n\n### Maven\n\n```\n\u003cdependency\u003e\n   \u003cgroupId\u003ecom.github.hbci4j\u003c/groupId\u003e\n   \u003cartifactId\u003ehbci4j-core\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\n```\ndependencies {\n  compile 'com.github.hbci4j:hbci4j-core:+'\n}\n```\n\n## Selbst compilieren\n\nDu benötigst:\n\n- GIT \u003chttps://git-scm.com/\u003e\n- Java SDK 17 oder höher \u003chttps://adoptium.net/\u003e\n\nÖffne ein Terminal-Fenster und checke den Quellcode per GIT aus:\n\n    git clone https://github.com/hbci4j/hbci4java.git\n\nWechsle in den Ordner \"hbci4java\":\n\n    cd hbci4java\n\nErzeuge die JAR-Datei per:\n\n    ./gradlew assemble\n\nIm Ordner \"build/libs\" wird die Datei \"hbci4j-core-${version}.jar\" erzeugt. Zusätzlich\nfindet sich im Ordner \"build/distributions\" die Datei \"hbci4j-core-${version}.zip\", welche\nauch die nötigen Abhängigkeiten enthält.\n\n| **Hinweis** : Unter Windows nutze bitte `./gradlew.bat` statt `./gradlew` |\n|---------------------------------------------------------------------------|\n\n## In Eclipse einrichten\n\nFühre im Ordner `hbci4java` die folgenden beiden Befehle aus:\n\n    ./gradlew jaxb\n    ./gradlew eclipse\n\nHierbei wird der Java-Code für die PAIN/CAMT XML-Dateien im Ordner \"build/generated/jaxb\"\nund die Eclipse Projekt-Konfiguration generiert.\n\n- Starte Eclipse.\n- Wähle in der View \"GIT Repositories\" oben den Button \"Add an existing local GIT\n  repository to this view\".\n- Klicke mit der rechten Maustaste auf das importierte Repository und wähle \"Import\n  Projects...\" (wenn das nicht funktioniert, öffne den \"Project Explorer\" und wähle dort\n  im Kontextmenü \"Import...\" und anschließend unter \"General\" die Option \"Existing\n  Projects into Workspace\". Wähle anschließend den Ordner \"hbci4java\" aus).\n- Folge den Anweisungen des Assistenten.\n\n## Unit-Tests\n\nIm Ordner \"src/main/test/\" befinden sich einige JUnit-Tests. Einige davon erfordern jedoch\ndas Vorhandensein spezieller Testumgebungen (Vorhandensein von Bankzugängen oder\nChipkartenleser). Diese Tests werden im Zuge der Erstellung von Deployment-Artefakten nur\ndann ausgeführt, wenn die entsprechenden System-Properties \"test.online=true\" und \"\ntest.chipcard=true\" aktiv sind. Die Tests zur Ausführung von HBCI-Geschäftsvorfällen\nbenötigen jedoch weitere Daten (Empfängerkonto, Betrag, Verwendungszweck, usw.). Wenn du\ndiese Tests ausführen möchtest, schaue dir den Quellcode der entsprechenden Tests an.\n\nDu kannst die Tests starten per:\n\n    ./gradlew test\n\n## Beispiel-Code\n\nUnter \u003chttps://github.com/hbci4j/hbci4java/blob/master/src/main/java/org/kapott/hbci/examples/UmsatzAbrufPinTan.java\u003e\nfindest du Beispiel-Code zum Abrufen des Saldos und der Umsätze eines Kontos per\nPIN/TAN-Verfahren.\n\n## Veröffentlichung auf Maven Central\n\nUm die aktuelle Version auf Maven Central zu veröffentlichen, benötigt man\n\n- Central Portal Account mit Zugriff auf den Namespace `com.github.hbci4j`\n- Einen GPG Key\n\n1. Erstelle ein **Token** im Central Portal Account\n   https://central.sonatype.com/usertoken\n\n2. In der `~/.gradle/gradle.properties` trägt man dann sein gerade erstelltes Token für\n   das Maven Central ein. **Wichtig**: `mavenCentralUsername` und `mavenCentralPassword` bestehen aus dem Token, \n   welches über das CentralPortal erstellt werden muss, und sind nicht Benutzername und Passwort des Central Portal Account. \n   Siehe Punkt 2 \n   ```\n   # ~/.gradle/gradle.properties !!NICHT INS REPO!!\n   mavenCentralUsername=yourTokenUsername\n   mavenCentralPassword=yourTokenPassword\n   \n   signing.keyId=ABCDEFGH\n   signing.password=the_password_of_the_key\n   signing.secretKeyRingFile=/home/YOUR_USERNAME/.gnupg/secring.gpg\n   ```\n\n3. Man konfiguriert dort auch seinen GPG Signing Key.\n\n    - Erstellen des Keys mit `gpg --gen-key`\n    - Upload des Keys: `gpg --keyserver keyserver.ubuntu.com --send-keys \n   LONG_ID_OF_THE_KEY`\n    - Erstellen der `secring.gpg`: `gpg --keyring secring.gpg --export-secret-keys \u003e ~/.\n   gnupg/secring.gpg`\n    - Eintragen der Short-ID, also die letzten acht Zeichen als `signing.keyId`\n\n4. Dann noch die aktuelle Version in `hbci4java/gradle.properties` manuell festgelegen.\n\n5. Anschließend kann man mit gradle die Veröffentlichung starten:\n   ```\n   ./gradlew clean build publishToMavenCentral\n   ```\n   Es dauert ein paar Minuten, bis die neue Version auf Maven Central verfügbar ist:\n   https://repo1.maven.org/maven2/com/github/hbci4j/hbci4j-core/\n\n   Wenn bereits die Version getagged ist und man nur das Paket veröffentlichen will, kann man wie folgt vorgehen:\n\n   ```\n   ./gradlew -x createTag clean build publishToMavenCentral\n   ```\n\nBei der nächsten Version natürlich nur noch Schritte 4 und 5 nötig. \n\nBeim Publishing wird auch gleich der aktuelle Stand in Github getaggt.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhbci4j%2Fhbci4java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhbci4j%2Fhbci4java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhbci4j%2Fhbci4java/lists"}