HSG |
|
Zunächst wurden die PC/SC -Treiber installiert.
sudo apt-get install pcscd pcsc-tools libpcsclite1
Dann wurde der Omnikey-Treiber ifdokccid_lnx-3.6.0 heruntergeladen, entpackt und installiert.
mk@t41:~/Downloads/ifdokccid_lnx-3.6.0$ sudo ./install Installing HID Global OMNIKEY CCID Smartcard reader driver ... PCSC-Lite found: /usr/sbin/pcscd Copying ifdokccid_lnx-3.6.0.bundle to /usr/lib/pcsc/drivers ... Installation finished!
Ein Test mit pcsc_scan zeigt den ATR einer alten EC-Karte.
mk@t41:~/Downloads/ifdokccid_lnx-3.6.0$ pcsc_scan PC/SC device scanner V 1.4.16 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.5.3 Scanning present readers... 0: Fujitsu Siemens SmartCard USB 2A 00 00 Thu Jun 23 14:37:14 2011 Reader 0: Fujitsu Siemens SmartCard USB 2A 00 00 Card state: Card inserted, ATR: 3B EF 00 FF 81 31 42 45 65 63 03 02 03 02 80 00 22 40 48 95 96 00 20 28 ATR: 3B EF 00 FF 81 31 42 45 65 63 03 02 03 02 80 00 22 40 48 95 96 00 20 28 + TS = 3B --> Direct Convention + T0 = EF, Y(1): 1110, K: 15 (historical bytes) TB(1) = 00 --> VPP is not electrically connected TC(1) = FF --> Extra guard time: 255 (special value) TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 ----- TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 ----- TA(3) = 42 --> IFSC: 66 TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5 + Historical bytes: 65 63 03 02 03 02 80 00 22 40 48 95 96 00 20 Category indicator byte: 65 (proprietary format) + TCK = 28 (correct checksum) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B EF 00 FF 81 31 42 45 65 63 03 02 03 02 80 00 22 40 48 95 96 00 20 28 Scard Sparkasse Detmold, Deutschland BLZ 47650130
Einen Reset löst man dabei mit der fallenden Flanke der RTS-Handshake-Leitung aus. Die Karte antwortet auf den Reset mit dem ATR. Es soll nicht verschwiegen werden, dass viele Details des ISO 7816-3 Protocols hier nicht korrekt eingehalten werden, sodass Fehler auftreten können.
Die pcsc-tools von Ludovic Rousseau erlauben über einen PC/SC-kompatiblen Cardreader eine direkten Kontakt mit der Karte.
mk@x2:~$ scriptor No reader given: using FSC SCR USB 2A 00 00 Using T=1 protocol Reading commands from STDIN 0000000000 > 00 00 00 00 00 < 6D 00 : Instruction code not supported or invalid.
Der Datenaustausch zwischen Karte und Terminal geschieht durch sogenannte APDUs. Im obigen Beispiel wurde zwar das Format eines APDUs eingehalten, die Karte kennt aber den Befehl 00 00 00 00 00offensichtlich nicht.