hoehermann / usbtan-cli

Request chipTAN from USB-cardreaders via libchipcard.
GNU Lesser General Public License v2.1
6 stars 0 forks source link

Error Message when using unknown card type #2

Open av2k opened 7 months ago

av2k commented 7 months ago

Hello,

I have tried to use a recently issued card from a major bank in Germany but get the following error message:

4:2024/05/02 21-58-26:chipcard3-client(144056):card.c: 146: Unknown card type (no matching ATR) 3:2024/05/02 21-58-26:chipcard3-client(144056):chiptanusb.c: 210: Error Reading Tan from card. Fehler bei TAN Generierung

An appropriate entry exists in ~/.cache/smartcard_list.txt which does not appear to get read by usbtan-cli.

Using pcsc_scan, the card is shown after I have manually added its ATR entry to ~/.cache/smartcard_list.txt

Is there any way I can get usbtan-cli to work with the card?

hoehermann commented 7 months ago

Ich antworte einfach mal auf Deutsch. Danke für deine Anfrage.

Von meiner Bank habe ich zwei Karten bekommen. Beide sehen äußerlich gleich aus. pcsc_scan zeigt den gleichen Funktionsumfang an (die Seriennummern sind natürlich verschiedene). Mit der einen Karte kann ich TANs erzeugen, mit der anderen nicht. Ich musste die TAN-fähige Karte explizit anfordern – und bezahlen! Ja, Karten, mit denen man TANs generieren kann, sind seit 2024 offenbar ein kostenpflichtiger Zusatzdienst. Ich mutmaße, die Banken wollen lieber ihre Smartphone Apps an den Kunden bringen.

Magst du ausprobieren, ob du mit GnuCash, KMyMoney, QBankManager, AqBanking-CLI oder AqFinance eine TAN erzeugen kannst? Falls ja, dann habe ich in usbtan-cli einen Fehler gemacht. Falls nein, dann liegt es wohl an der Karte oder der Bibliothek libchipcard.

av2k commented 7 months ago

Hallo, danke fuer dein Programm! :-)

Ich habe nur eine einzige Karte und diese soll wohl geeignet fuer ChipTAN sein. Allerdings ist laut Online Banking-GUI diese Karte nicht mehr "synchron".

Anleitung laut Bank:

Ihre für das chipTAN-Verfahren registrierte Debitkarte ist nicht mehr synchron. Bitte führen Sie auf der nächsten Seite die Debitkarte mit der
Kartennummer xxxxxxxxxxxxx
IBAN xxxxxxxxxxxxx
gültig bis xxxxxxxxxx
in den TAN-Generator ein:
1. Drücken Sie zunächst die Taste "F" auf dem TAN-Generator.
2. Halten Sie den TAN-Generator anschließend vor die animierte Grafik.
3. Bestätigen Sie die Anzeige "TAN?" mit "OK" auf dem Gerät.
4. Geben Sie anschließend die TAN und den ATC in die dafür vorgesehenen Felder ein.

Anschliessen kann ich aber auch statt dem Flicker-TAN-Verfahren eine manuelle TAN-Generierung auswaehlen:

Synchronisierung
1. Bitte führen Sie Ihre Karte in den TAN-Generator ein.
2. Drücken Sie die Taste "TAN", sodass im Display "Start-Code" erscheint.
3. Geben Sie den Start-Code 08 ein.
4. Drücken Sie die Taste "OK".
5. Die auf dem TAN-Generator angezeigte TAN und ATC übernehmen Sie bitte in die dafür vorgesehene Eingabefelder unten auf dieser Seite.

Bitte TAN und ATC eingeben

Hier ist anzumerken dass ich das erste Mal das TAN-Verfahren einrichte fuer diese Karte. D.h. mit "Synchronisierung" ist offenbar das initiale Generieren einer TAN gemeint, sodass die Bank weiss wo die Karte startet. Dieses Generieren muesste aus meiner Sicht grundsaetzlich funktionieren, da es sich nicht vom Generieren einer TAN fuer eine Bankueberweisung unterscheidet.

Die Karte wurde uebrigerns von pcsc_scan erst nach dem manuellen Eintrag des ATR meiner Karte in ~/.cache/smartcard_list.txt erkannt.

MIr ist nicht klar, wo diese Datei ~/.cache/smartcard_list.txt herkommt und ob libchipcard sie auch verwendet oder ob es nur eine Eigenheit von pcsc ist.

Gegebenenfalls liegt hier die Ursache des Problems: https://www.aquamaniac.de/rdm/projects/libchipcard/repository/revisions/master/entry/src/libchipcard/cards/chiptanusb/chiptanusb-card.xml

Unter "atrs" muesste ein solcher Eintrag hinzugefuegt werden: "3B FF 96 00 FF 81 31 FE 40 65 63" um mal auszuprobieren ob's dann klappt.

Ich vermute dass es einfach weitere ATRs bei neueren Karten gibt und libchipcard sofort abbricht, sobald es in der womoeglich veralteten Liste die ATR meiner Karte nicht findet.

Ich finde diese XML-Datei allerdings nicht in den Sourcen die ich auf dem Rechner installiert habe.

Edit: Ich habe libchiptan angepasst und auch das gwenhywfar-Plugin chiptan aktualisiert. Jetzt wird zwar die Karte erkannt, es erscheint dennoch der Fehler "Error Reading Tan from card".

$ ./usbtan-cli 08
RequestString = 040208
3:2024/05/05 23-04-21:chipcard3-client-mod(80295):chiptanusb.c:  210: Error Reading Tan from card.
Fehler bei TAN Generierung
hoehermann commented 7 months ago

Ich vermute dass es einfach weitere ATRs bei neueren Karten gibt und libchipcard sofort abbricht, sobald es in der womoeglich veralteten Liste die ATR meiner Karte nicht findet.

Diese Vermutung ist naheliegend. Ich kenne mich nicht aus und musste nachschlagen. "ATR" steht wohl für "Answer to Reset" und beschreibt einige Eigenschaften der Karte. Es kann sein, dass deine Karte eine neue, unbekannte ATR sendet, weil sie ein neues, für libchipcard unbekanntes Verfahren nutzt. Nach dem Hinzufügen der ATR zur Benutzerkonfiguration ~/.cache/smartcard_list.txt versucht libchipcard es dennoch, hat aber offenbar keinen Erfolg. Auch andere Tools kennen die von dir genannte ATR nicht. :(

Dieses Generieren muesste aus meiner Sicht grundsaetzlich funktionieren, da es sich nicht vom Generieren einer TAN fuer eine Bankueberweisung unterscheidet.

Ich weiß nicht, ob diese Annahme korrekt ist. Versuche bitte, die Synchronisierung mit einer richtigen Software (z.B. den oben genannten) durchzuführen. Ich weiß nicht, ob es mit diesem Tool klappen kann. Habe ich nie ausprobiert.

BlackMage2 commented 4 months ago

Hallo, danke fuer dein Programm! :-)

Ich habe nur eine einzige Karte und diese soll wohl geeignet fuer ChipTAN sein. Allerdings ist laut Online Banking-GUI diese Karte nicht mehr "synchron".

Anleitung laut Bank:

Ihre für das chipTAN-Verfahren registrierte Debitkarte ist nicht mehr synchron. Bitte führen Sie auf der nächsten Seite die Debitkarte mit der
Kartennummer xxxxxxxxxxxxx
IBAN xxxxxxxxxxxxx
gültig bis xxxxxxxxxx
in den TAN-Generator ein:
1. Drücken Sie zunächst die Taste "F" auf dem TAN-Generator.
2. Halten Sie den TAN-Generator anschließend vor die animierte Grafik.
3. Bestätigen Sie die Anzeige "TAN?" mit "OK" auf dem Gerät.
4. Geben Sie anschließend die TAN und den ATC in die dafür vorgesehenen Felder ein.

Anschliessen kann ich aber auch statt dem Flicker-TAN-Verfahren eine manuelle TAN-Generierung auswaehlen:

Synchronisierung
1. Bitte führen Sie Ihre Karte in den TAN-Generator ein.
2. Drücken Sie die Taste "TAN", sodass im Display "Start-Code" erscheint.
3. Geben Sie den Start-Code 08 ein.
4. Drücken Sie die Taste "OK".
5. Die auf dem TAN-Generator angezeigte TAN und ATC übernehmen Sie bitte in die dafür vorgesehene Eingabefelder unten auf dieser Seite.

Bitte TAN und ATC eingeben

Hier ist anzumerken dass ich das erste Mal das TAN-Verfahren einrichte fuer diese Karte. D.h. mit "Synchronisierung" ist offenbar das initiale Generieren einer TAN gemeint, sodass die Bank weiss wo die Karte startet. Dieses Generieren muesste aus meiner Sicht grundsaetzlich funktionieren, da es sich nicht vom Generieren einer TAN fuer eine Bankueberweisung unterscheidet.

Die Karte wurde uebrigerns von pcsc_scan erst nach dem manuellen Eintrag des ATR meiner Karte in ~/.cache/smartcard_list.txt erkannt.

MIr ist nicht klar, wo diese Datei ~/.cache/smartcard_list.txt herkommt und ob libchipcard sie auch verwendet oder ob es nur eine Eigenheit von pcsc ist.

Gegebenenfalls liegt hier die Ursache des Problems: https://www.aquamaniac.de/rdm/projects/libchipcard/repository/revisions/master/entry/src/libchipcard/cards/chiptanusb/chiptanusb-card.xml

Unter "atrs" muesste ein solcher Eintrag hinzugefuegt werden: "3B FF 96 00 FF 81 31 FE 40 65 63" um mal auszuprobieren ob's dann klappt.

Ich vermute dass es einfach weitere ATRs bei neueren Karten gibt und libchipcard sofort abbricht, sobald es in der womoeglich veralteten Liste die ATR meiner Karte nicht findet.

Ich finde diese XML-Datei allerdings nicht in den Sourcen die ich auf dem Rechner installiert habe.

Edit: Ich habe libchiptan angepasst und auch das gwenhywfar-Plugin chiptan aktualisiert. Jetzt wird zwar die Karte erkannt, es erscheint dennoch der Fehler "Error Reading Tan from card".

$ ./usbtan-cli 08
RequestString = 040208
3:2024/05/05 23-04-21:chipcard3-client-mod(80295):chiptanusb.c:  210: Error Reading Tan from card.
Fehler bei TAN Generierung

ist der chip tan generator denn schon im banking eingetragen? erstmalig muss ein neuer tan generator synchronisiert werden. man wird in der regel im onlinebanking dazu weitergeleitet wenn erkannt wird das ein neuer generator verwendet wird.

was ist das gwenhywfar-Plugin ?