Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 
thauiwf
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 01 / 2025
Betreff:

Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 20.01.2025 - 20:04 Uhr  ·  #1
Guten Abend,

ich poste hier mal das Log von meinem HBCI Zugriff auf mein Sparkasse Mainfranken Konto.

Die Passport Datei wurde neu angelegt und initialisiert.

Mir ist unklar, warum bei diesem erstmaligen Lauf es so viele Fehler gibt und ein danach erfolgender zweiter Lauf dann nur eine Freigabe für Speicherung neues Gerät braucht und dann läuft die Umsatzabfrage.

Danke euch... :)

PS ich weiß, dass ich eine Registrierung brauche, die ist auch schon unterwegs...

Code
*************************************************************************
** WARNING                                                             **
**                                                                     **
** HBCI4Java is currently using a product registration that should     **
** ONLY be used for internal testing, not for production purpose!!     **
**                                                                     **
** Please go to https://www.hbci-zka.de/register/prod_register.htm     **
** and create your own registration (it's free)                        **
**                                                                     **
** After receiving your registration, add this line to your code:      **
** HBCIUtils.setParam("client.product.name","<your registration>");    **
**                                                                     **
** This test registration can be invalidated at any time!!             **
**                                                                     **
*************************************************************************
have to create new passport file
19:55:23.707 [main] DEBUG lab.FinTsClient -- Callback NEED_BLZ mit Message 'Bankleitzahl' und Default ''
19:55:23.707 [main] DEBUG lab.FinTsClient -- Callback NEED_COUNTRY mit Message 'Länderkennzeichen (DE für Deutschland)' und Default 'DE'
19:55:23.707 [main] DEBUG lab.FinTsClient -- Callback NEED_HOST mit Message 'Hostname/IP-Adresse' und Default 'https://banking-by7.s-fints-pt-by.de/fints30'
19:55:23.707 [main] DEBUG lab.FinTsClient -- Callback NEED_PORT mit Message 'Portnummer (3000)' und Default '443'
19:55:23.707 [main] DEBUG lab.FinTsClient -- Callback NEED_FILTER mit Message 'Komm.-Filter ("None"/"Base64")' und Default 'Base64'
19:55:23.708 [main] DEBUG lab.FinTsClient -- Callback NEED_USERID mit Message 'Nutzerkennung' und Default ''
19:55:23.708 [main] DEBUG lab.FinTsClient -- Callback NEED_CUSTOMERID mit Message 'Kunden-ID' und Default 'xxxxx'
19:55:23.804 [main] DEBUG lab.FinTsClient -- Callback NEED_PASSPHRASE_SAVE mit Message 'Bitte geben Sie das neue Passwort für die Sicherung der Passport-Datei ein' und Default ''
19:55:23.910 [main] INFO lab.FinTsClient -- Bank info: 79050000: Sparkasse Mainfranken Würzburg
19:55:24.048 [main] DEBUG lab.FinTsClient -- Callback NEED_PT_PIN mit Message 'Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein' und Default ''
Callback für Passport mit Init-Daten: xxxx.passport
Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein: xxxxx
the job with the code HNSHK seems not to be allowed with PIN/TAN
the job with the code HKIDN seems not to be allowed with PIN/TAN
the job with the code HKVVB seems not to be allowed with PIN/TAN
the job with the code HKSYN seems not to be allowed with PIN/TAN
Meldung der Bank: 9050:Die Nachricht enthält Fehler.
Meldung der Bank: 9800:Dialog abgebrochen
Meldung der Bank: 9930:Kein gültiges Sicherheitsprofil.
19:55:34.653 [main] DEBUG lab.FinTsClient -- Callback WRONG_PIN mit Message '*** invalid PIN entered' und Default ''
Callback für Passport mit Init-Daten: xxxx.passport
19:55:34.666 [main] DEBUG lab.FinTsClient -- Callback NEED_PT_PIN mit Message 'Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein' und Default ''
Callback für Passport mit Init-Daten: xxxx.passport
Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein: xxxx
Meldung der Bank: 9050:Die Nachricht enthält Fehler.
Meldung der Bank: 9800:Dialog abgebrochen
Meldung der Bank: 9010:Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
Meldung der Bank: 9050:Die Nachricht enthält Fehler.
Meldung der Bank: 9800:Dialog abgebrochen
Meldung der Bank: 9010:Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
Meldung der Bank: 9010:Auftrag wegen genereller Fehler in Auftragsnachricht nicht verarbeitet. (3: TanMedia.TANMediaList4)
19:55:37.899 [main] DEBUG lab.FinTsClient -- Callback NEED_PT_TANMEDIA mit Message '*** Enter the name of your TAN media' und Default ''
Meldung der Bank: 9050:Die Nachricht enthält Fehler.
Meldung der Bank: 9800:Dialog abgebrochen
Meldung der Bank: 9955:Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255) (4: DialogInit.ProcPrep)
Exception in thread "main" lab.FinTsException: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes
  at lab.FinTsClient.init(FinTsClient.java:91)
  at lab.FinTsClient.<init>(FinTsClient.java:50)
  at lab.FetchTransactionsApp.main(FetchTransactionsApp.java:24)
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:183)
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:116)
  at lab.FinTsClient.init(FinTsClient.java:81)
  ... 2 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Registrieren der Nutzerdaten
  at org.kapott.hbci.manager.HBCIHandler.registerUser(HBCIHandler.java:298)
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:166)
  ... 4 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Aktualisieren der UPD
  at org.kapott.hbci.manager.HBCIUser.fetchUPD(HBCIUser.java:657)
  at org.kapott.hbci.manager.HBCIUser.sync(HBCIUser.java:696)
  at org.kapott.hbci.manager.HBCIUser.register(HBCIUser.java:721)
  at org.kapott.hbci.manager.HBCIHandler.registerUser(HBCIHandler.java:296)
  ... 5 more
Caused by: org.kapott.hbci.exceptions.ProcessException: Fehler beim Aktualisieren der UPD
  at org.kapott.hbci.manager.HBCIUser.fetchUPD(HBCIUser.java:642)
  ... 8 more

Process finished with exit code 1
infoman
Benutzer
Avatar
Geschlecht:
Beiträge: 7224
Dabei seit: 06 / 2008
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 20.01.2025 - 21:02 Uhr  ·  #2
thauiwf
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 01 / 2025
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 21.01.2025 - 10:23 Uhr  ·  #3
Hallo,

aktuelle Version ist 3.1.85:
Code
        <dependency>
            <groupId>com.github.hbci4j</groupId>
            <artifactId>hbci4j-core</artifactId>
            <version>3.1.85</version>
        </dependency>

Ich habe keine Ahnung, wie ich eine Gerätebezeichnung vorgeben kann. Von daher ist wohl der Standard gesetzt..? Mir ist auch unbekannt, woher überhaupt die SysId kommt und ob ich die selber setzen dürfte.

Bei NEED_PT_TANMEDIA gebe ich die Vorgabe zurück bzw, wenn mehrere Geräte gelistet sind (Pipe Symbol), dann das erste davon. Und wenn keine Vorgabe da ist, dann gebe ich "FinTsClient" zurück:
Code
                case NEED_PT_TANMEDIA:
                    // we must provide the name of the smartphone or whatever medium provides the TAN
                    String mediaList = retData.toString();
                    if (mediaList.isEmpty()) {
                        retData.replace(0, retData.length(), "FinTsClient");
                    } else if (!mediaList.contains("|")) {
                        retData.replace(0, retData.length(), mediaList);
                    } else {
                        // parse list of medias and simply take the first one!!!!
                        String[] medias = mediaList.split("\\|");
                        retData.replace(0, retData.length(), medias[0]);
                    }
                    break;

Ich nutze `HBCIVersion.HBCI_300`
Nemo
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 435
Dabei seit: 09 / 2004
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 21.01.2025 - 11:48 Uhr  ·  #4
Als Gerätebezeichnung "Alle Geräte" eintragen. Dann sollte es wieder funktionieren.
msa
Benutzer
Avatar
Geschlecht:
Herkunft: München
Alter: 62
Beiträge: 7479
Dabei seit: 03 / 2007
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 21.01.2025 - 12:11 Uhr  ·  #5
"Alle Geräte" ist der automatisch angelegte Standard. Ich hatte in der Vergangenheit mal gefunden, dass man weitere eigene Gruppen definieren kann, in die man dann die einzelnen Geräte reintun kann - damit die push's gezielt auf einzelne Geräte angefordert werden können und nicht immer parallel auf allen landen.

Aber ich finde diese Einstellung nicht mehr!? Wurde diese Möglichkeit entfernt??
OfflineBanker
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 248
Dabei seit: 04 / 2012
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 21.01.2025 - 13:08 Uhr  ·  #6
Zitat geschrieben von Nemo

Als Gerätebezeichnung "Alle Geräte" eintragen. Dann sollte es wieder funktionieren.


Das ist ein bisschen gefährlich das als Allgemeinlösung zu verkaufen. Bei Verfahren 923 ist das momentan korrekt und auch immer existent. Dort gibt es (noch) immer "Alle Geräte". Man sollte besser auch hier die Liste im HITAB abfragen und verwenden, denn es sind schon Änderungen bei Firmenkunden absehbar die diesen Gruppennamen nicht haben werden.

Im Verfahren 921 und 922 ist das TAN-Medium aber von der Sparkasse oder dem Kunden benannt und muss aus der Liste im HITAB gelesen werden. Hier gibt es keinen immer gültigen Default.

Im Verfahren 910,911,912,913 gibt es gar keine Bezeichnung eines TAN-Mediums, dort muss dann aber auch nichts in das entsprechende HKTAN Feld eingestellt werden.

"FinTSClient" ist aber definitiv falsch und sollte nicht als Fallback in einem Programm genutzt werden.
thauiwf
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 01 / 2025
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 22.01.2025 - 12:18 Uhr  ·  #7
Hi

ich komm hier nicht so recht weiter.

"FinTsClient" habe ich als Default für den Gerätenamen rausgenommen und nehme nun den leeren Default. Ich habe keine Ahnung, was HITAB ist und wie ich das nutzen könnte/sollte.

Im Grunde habe ich nach wie vor die zentrale Frage, warum bei erstmaliger Nutzung so viele Fehlermeldungen kommen - daran hat sich nichts geändert.

Und warum es dann beim zweiten Durchlauf mit nun bestehender Passport Datei läuft.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10697
Dabei seit: 03 / 2005
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 22.01.2025 - 13:21 Uhr  ·  #8
Die Liste der verfügbaren TAN-Medienbezeichnungen werden von HBCI4Java per HKTAB automatisch ermittelt und im Callback NEED_PT_TANMEDIA über den StringBuffer-Parameter "retData" als "|"-getrennte Liste übergeben. Die oben genannte Implementierung sollte daher korrekt sein. Nur im Falle einer leeren Übergabe sollte nicht "FinTsClient" verwendet werden.

Die Bank antwortet hier direkt am Anfang mit "9930:Kein gültiges Sicherheitsprofil.". Alles andere sind aus meiner Sicht Folgefehler. Für eine genauere Analyse fehlen hier eine Menge Log-Ausgaben. Kann es sein, dass du die Funktion "log" in deiner Implementierung des HBCICallback-Interfaces nicht implementiert hast und die dort gemeldeten Ausgaben verlorengehen?
thauiwf
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 01 / 2025
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 22.01.2025 - 15:10 Uhr  ·  #9
Danke für die Antwort.

Die Log Ausgaben sind alle da -- ich schreibe diese einfach per System.out raus:
Code
       @Override
        public void log(String msg, int level, Date date, StackTraceElement trace) {
            System.out.println("| " + msg);
        }


Hier nochmal die neuste Ausgabe:
Code
| *************************************************************************
| ** WARNING                                                             **
| **                                                                     **
| ** HBCI4Java is currently using a product registration that should     **
| ** ONLY be used for internal testing, not for production purpose!!     **
| **                                                                     **
| ** Please go to https://www.hbci-zka.de/register/prod_register.htm     **
| ** and create your own registration (it's free)                        **
| **                                                                     **
| ** After receiving your registration, add this line to your code:      **
| ** HBCIUtils.setParam("client.product.name","<your registration>");    **
| **                                                                     **
| ** This test registration can be invalidated at any time!!             **
| **                                                                     **
| *************************************************************************
15:07:46.824 [main] INFO lab.FinTsClient -- Init for bank 'Sparkasse Mainfranken Würzburg' having BLZ '79050000' and BIC 'BYLADEM1SWU'
15:07:46.826 [main] INFO lab.FinTsClient -- Using passport file: DExxxxxxxxxxxxxxxxxxxx.passport
| have to create new passport file
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_BLZ mit Message 'Bankleitzahl' und Default ''
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_COUNTRY mit Message 'Länderkennzeichen (DE für Deutschland)' und Default 'DE'
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_HOST mit Message 'Hostname/IP-Adresse' und Default 'https://banking-by7.s-fints-pt-by.de/fints30'
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_PORT mit Message 'Portnummer (3000)' und Default '443'
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_FILTER mit Message 'Komm.-Filter ("None"/"Base64")' und Default 'Base64'
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_USERID mit Message 'Nutzerkennung' und Default ''
15:07:46.830 [main] DEBUG lab.FinTsClient -- Callback NEED_CUSTOMERID mit Message 'Kunden-ID' und Default 'xxxxxxxxxx'
15:07:46.896 [main] DEBUG lab.FinTsClient -- Callback NEED_PASSPHRASE_SAVE mit Message 'Bitte geben Sie das neue Passwort für die Sicherung der Passport-Datei ein' und Default ''
15:07:46.969 [main] DEBUG lab.FinTsClient -- Investigating passport...
15:07:46.969 [main] DEBUG lab.FinTsClient -- SysId: 0
15:07:46.969 [main] DEBUG lab.FinTsClient -- CustomerId: xxxxxxxxxx
15:07:47.166 [main] DEBUG lab.FinTsClient -- Callback NEED_PT_PIN mit Message 'Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein' und Default ''
Callback für Passport mit Init-Daten: DExxxxxxxxxxxxxxxxxxxx.passport
Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein: xxxxx
| the job with the code HNSHK seems not to be allowed with PIN/TAN
| the job with the code HKIDN seems not to be allowed with PIN/TAN
| the job with the code HKVVB seems not to be allowed with PIN/TAN
| the job with the code HKSYN seems not to be allowed with PIN/TAN
| Meldung der Bank: 9050:Die Nachricht enthält Fehler.
| Meldung der Bank: 9800:Dialog abgebrochen
| Meldung der Bank: 9930:Kein gültiges Sicherheitsprofil.
15:07:52.998 [main] DEBUG lab.FinTsClient -- Callback WRONG_PIN mit Message '*** invalid PIN entered' und Default ''
Callback für Passport mit Init-Daten: DExxxxxxxxxxxxxxxxxxxx.passport
15:07:53.009 [main] DEBUG lab.FinTsClient -- Callback NEED_PT_PIN mit Message 'Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein' und Default ''
Callback für Passport mit Init-Daten: DExxxxxxxxxxxxxxxxxxxx.passport
Bitte geben Sie die PIN für das PIN/TAN-Verfahren ein: xxxxx
| Meldung der Bank: 9050:Die Nachricht enthält Fehler.
| Meldung der Bank: 9800:Dialog abgebrochen
| Meldung der Bank: 9010:Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
| Meldung der Bank: 9050:Die Nachricht enthält Fehler.
| Meldung der Bank: 9800:Dialog abgebrochen
| Meldung der Bank: 9010:Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
| Meldung der Bank: 9010:Auftrag wegen genereller Fehler in Auftragsnachricht nicht verarbeitet. (3: TanMedia.TANMediaList4)
15:07:55.402 [main] DEBUG lab.FinTsClient -- Callback NEED_PT_TANMEDIA mit Message '*** Enter the name of your TAN media' und Default ''
| Meldung der Bank: 9050:Die Nachricht enthält Fehler.
| Meldung der Bank: 9800:Dialog abgebrochen
| Meldung der Bank: 9955:Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255) (4: DialogInit.ProcPrep)
Exception in thread "main" lab.FinTsException: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes
  at lab.FinTsClient.init(FinTsClient.java:83)
  at lab.FinTsClient.<init>(FinTsClient.java:48)
  at lab.FetchTransactionsApp.main(FetchTransactionsApp.java:25)
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:183)
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:116)
  at lab.FinTsClient.init(FinTsClient.java:78)
  ... 2 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Registrieren der Nutzerdaten
  at org.kapott.hbci.manager.HBCIHandler.registerUser(HBCIHandler.java:298)
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:166)
  ... 4 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Aktualisieren der UPD
  at org.kapott.hbci.manager.HBCIUser.fetchUPD(HBCIUser.java:657)
  at org.kapott.hbci.manager.HBCIUser.sync(HBCIUser.java:696)
  at org.kapott.hbci.manager.HBCIUser.register(HBCIUser.java:721)
  at org.kapott.hbci.manager.HBCIHandler.registerUser(HBCIHandler.java:296)
  ... 5 more
Caused by: org.kapott.hbci.exceptions.ProcessException: Fehler beim Aktualisieren der UPD
  at org.kapott.hbci.manager.HBCIUser.fetchUPD(HBCIUser.java:642)
  ... 8 more
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10697
Dabei seit: 03 / 2005
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 22.01.2025 - 15:53 Uhr  ·  #10
Dem Log zufolge funktionierte der Abruf der Medienbezeichnungen nicht ("Auftrag wegen genereller Fehler in Auftragsnachricht nicht verarbeitet. (3: TanMedia.TANMediaList4)"). Das ist bei einigen Banken leider so. Ich habe den Grund dafür noch nicht herausgefunden. Verwende in dem Fall als TAN-Medienbezeichnung die von den anderen Usern genannte Bezeichnung und gib die im Callback in retData zurück.
thauiwf
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 01 / 2025
Betreff:

Re: Sparkasse und neues Gerät -- warum falsche PIN, woher kommt SysId

 · 
Gepostet: 22.01.2025 - 16:00 Uhr  ·  #11
Das funktioniert, dann kommen zwar auch merkwürdige WRONG_PIN Callbacks, aber insgesamt rutscht es in einem Ablauf durch.

Danke an alle Beitragenden, super Sache, dieses Forum!!
Gewählte Zitate für Mehrfachzitierung:   0