Näheres sagt dann des. Das ist wohl auch sehr verallgemeinernde Aussagen im letzten Beitrag gewesen. A00000003... Visa sah in dem Fall dann wohl doch eher Klischee auf der anderen Seite. Wir haben halt hier dann auch noch die Namen man muss ja wissen, die stehen ja nicht drin in der Karte. Vermutlich in dem Fall vermutlich das sondern das Programm kann sich dir selber merken das sind ja sozusagen die klassischen man sagen Namen Giro Kart steht da Geldkarte steht da. Maestro steht da da kann sich wohl also bei Application Label kann sich wohl das Programm selber merken, was das ist und hat implementiert, dass der Name entsprechend erscheint bei dem entsprechenden Wert auch was ich auch bemerke, ist das eben der Name Processing Option auftaucht und ich würde mal sagen, dass man rein theoretisch sozusagen philosophisch schon der Natur der Sache her aber da steht ja da geschrieben haben meinerseits die Applikationen die ist ja sozusagen vom Hersteller abhängig wurde die Sache auch proprietär ist also Hersteller vom Herausgeber und so weiter, was er damit bezwecken will und dann eben die Processing Option wird in dem Fall konkret was es genau tut etwa weh, wenn sie einen Software Hersteller haben der verschiedene Software heraus liefert. Wobei dieser Software Hersteller generell in diesem Fall nur eine Software Lieferung. Sie wissen ja, dass das ne propriätere Sache ist, und das macht quasi nicht daran. Interessiert ist den Leuten da, um bequemes Zeug an verschiedenen sozusagen Apps zu liefern, die irgendwas lustiges tun wurde dann zuschlagen wird, weil die so nett aussieht, sondern hier wird Ihnen ja was angeboten, was dann seine Funktion erfüllt, und das tut es je nach sozusagen in dem Fall Hersteller in Anführungsstrichen mit einer einzigen Software, so ungefähr gut, aber nur nebenbei und da haben wir eben die typische Nummer 3900h
Im auf der Seite, auf die ich mich beziehe, stand ja die klassische Information A000000033900h
Gut, ich probier das jetzt mit dem entsprechenden für python3
jetzt probiere ich mich an dem hier
https://pyscard.sourceforge.io/user-guide.html#quick-start
und dem
https://hpkaushik121.medium.com/understanding-apdu-commands-emv-transaction-flow-part-2-d4e8df07eec...
ich habe jetzt mal das ausgefuehrt
david@work:~$ python3 Python 3.11.2 (main, Aug 26 2024, 07:20:54) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from smartcard.CardType import AnyCardType >>> from smartcard.CardConnection import CardConnection >>> from smartcard.CardRequest import CardRequest >>> from smartcard.util import toHexString >>> cardtype = AnyCardType() >>> cardrequest = CardRequest(timeout=1, cardType=cardtype) >>> cardservice = cardrequest.waitforcard() >>> cardservice.connection.connect() >>> apdu = [0xC0, 0x20, 0x00, 0x01, 0x08, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30] >>> print('sending ' + toHexString(apdu)) sending C0 20 00 01 08 30 30 30 30 30 30 30 30 >>> response, sw1, sw2 = cardservice.connection.transmit(apdu, CardConnection.T1_protocol) >>> print('response:', response, ' status words:', "%x %x" % (sw1, sw2)) response: [] status words: 6e 0 >>>Also, in diesem Ding hier steht,
https://hpkaushik121.medium.com/understanding-apdu-commands-emv-transaction-flow-part-2-d4e8df07eec
dass darauf hin die Antwort 90 00 ist. Das habe ich so nicht gesehen, bei mir ist sie
response: [] status words: 6e 0es kann aber sein, ich pruefe noch mal den Request, vielleicht habe ich einen Wert falsch uebernommen, dass der APDU Request aus der Luft gegriffen ist, weil man muss ja zum Beispiel die Verzeichnisse
1PAY.SYS.DDF01zum Beispiel pruefen. Hier verstehe ich - Anmerkung gerade bei Facebook was nicht, kann sein, das ist untergegangen, ich hatte - das sind hier ja meine Postings kommt nachher auf die Homepage, den Namen
1PAY.SYS.DDF01hier hingeschrieben, den kann ich zumindest in der App nicht widerfinden. wenn das so waere, dann werde ich in zukunft, die Beitraege mit dem normalen editor machen, weil so kommen die auf die homepage und da stehen sie dann richtig
Hier wurde mal wieder ein Beitrag entfernt, vollkommen laecherlicherweise, naemlich der hier, weil scheinbar der link zu der Seite nicht genehm ist, dabei stehen da die apdu befehle, mal sehen ob der hier bleibt
ich habe jetzt mit sed
david@work:~$ cat apdu20241019.py | sed 's/>>> //g' > apdu20241019.tmperst mal die »> entfernt um eine py datei zu haben, um sie mit
david@work:~$ python3 apdu20241019.py sending C0 20 00 01 08 30 30 30 30 30 30 30 30 response: [] status words: 6e 0auszufuehren
>>> from smartcard.CardType import AnyCardType >>> from smartcard.CardConnection import CardConnection >>> from smartcard.CardRequest import CardRequest >>> from smartcard.util import toHexString >>> cardtype = AnyCardType() >>> cardrequest = CardRequest(timeout=1, cardType=cardtype) >>> cardservice = cardrequest.waitforcard() >>> cardservice.connection.connect() >>> apdu = [0xC0, 0x20, 0x00, 0x01, 0x08, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30] >>> print('sending ' + toHexString(apdu)) >>> response, sw1, sw2 = cardservice.connection.transmit(apdu, CardConnection.T1_protocol) >>> print('response:', response, ' status words:', "%x %x" % (sw1, sw2))im naechsten schritt habe ich APDU Commands der Form
00 A4 04 00 0F 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00vorliegen, tatsaechlich scheint es richtig zu sein, dass ich zunaechst
2PAY.SYS.DDF01u.
1PAY.SYS.DDF01pruefen muss. Gut, um diesen Request in der richtigen Form zu haben, nutze ich wieder sed - also in der form fuer Array, Python3,
david@work:~$ cat apdu0001.txt | sed 's/ / ,0x/g' 00 ,0xA4 ,0x04 ,0x00 ,0x0F ,0x31 ,0x50 ,0x41 ,0x59 ,0x2E ,0x53 ,0x59 ,0x53 ,0x2E ,0x44 ,0x44 ,0x46 ,0x30 ,0x31 ,0x00 david@work:~$das scheint so weit zu funktionieren, nur ein bisschen muss ich selber daran noch aendern
so ist besser
david@work:~$ cat apdu0001.txt | sed 's/ /, 0x/g' 00, 0xA4, 0x04, 0x00, 0x0F, 0x31, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, 0x00 david@work:~$ \endverbatim} Antwort: \begin{verbatim} david@work:~$ python3 apdu20241019_002.py sending 00 A4 04 00 0F 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00 response: [] status words: 6a 82
31 50 41 59 2E 53 59 53 2E 44 44 46 30 31steht fuer
1PAY.SYS.DDF01
Response: SW1: 90 , SW2: 00 (Command successfully executed (OK).)
6A 82 E File not foundsteht fuer File Not Found, gut, das klingt optimistisch, file not found klingt nicht gut, weil hier etwas nicht gefunden wurde, aber immerhin klar, File hat er erkannt, und - es nicht etwa eine Antwort derart
Bad Requestor whatever. eine Liste mit allen Responses findet man auf seiten im Netz. Ich habe mir erlaubt
1PAY.SYS.DDF01durch
2PAY.SYS.DDF01zu ersetzen
32 50 41 59 2E 53 59 53 2E 44 44 46 30 31leider die Antwort dieselbe
6A 82 E File not founddamit mache ich fuer heute fertig, mit dem Thema, es folgt, Quine McCluskey und die zwei physischen Schaltnetze
p