2012/8/2 Marcin Cieslak <[email protected]>: > Hello, Hello,
> I tried to use SIM explorer > (http://ludovic.rousseau.free.fr/softwares/SIM-3.0.tar.gz) > to dump the addressbook of a brand new German T-Mobile SIM card. > I have a working setup of OpenCT/pcscd/OpenSC and even OCF bridge. > > It looks like pcsc-perl 1.4.12 has some trouble getting response to this > command: > > (from SIM.pl -D output) > => A0 C0 00 00 0F > <= 00 00 1A F4 6F 3A 04 00 11 00 22 01 > SW: 22 01 (Error not defined by ISO 7816) > Get Response: ERROR: expected 90 00 and got 22 01 > > pcscd -adf log says: > > 00000014 winscard_svc.c:604:ContextThread() TRANSMIT rv=0x0 for client 6 > 00000206 winscard_svc.c:315:ContextThread() Received command: TRANSMIT from > client 6 > 00000018 winscard.c:1539:SCardTransmit() Send Protocol: T=0 > 00000006 APDU: A0 C0 00 00 0F > 00099850 SW: 00 00 1A F4 6F 3A 04 00 11 00 22 01 The response from the reader and/or driver is bogus here I would say. > There is no 90 00 at the end. > > However, when issuing series of ATR by hand > using opensc-explorer I end up with a proper response: > > $ /usr/local/bin/opensc-explorer -m '' > OpenSC Explorer version 0.12.2 > Using reader with a card: OpenCT Reader 1 00 00 > OpenSC []> apdu A0 A4 00 00 02 3F 00 > Sending: A0 A4 00 00 02 3F 00 > Received (SW1=0x9F, SW2=0x1A) > OpenSC []> apdu A0 A4 00 00 02 7F 10 > Sending: A0 A4 00 00 02 7F 10 > Received (SW1=0x9F, SW2=0x1A) > OpenSC []> apdu A0 A4 00 00 02 6F 3A > Sending: A0 A4 00 00 02 6F 3A > Received (SW1=0x9F, SW2=0x0F) > OpenSC []> apdu A0 C0 00 00 0F > Sending: A0 C0 00 00 0F > Received (SW1=0x90, SW2=0x00): > 00 00 1A F4 6F 3A 04 00 11 00 22 01 02 01 1E ....o:....".... > > and for the last one the pcscd log says: > > 00000014 winscard_svc.c:604:ContextThread() TRANSMIT rv=0x0 for client 6 > 06125938 winscard_svc.c:315:ContextThread() Received command: TRANSMIT from > client 6 > 00000025 winscard.c:1539:SCardTransmit() Send Protocol: T=0 > 00000007 APDU: A0 C0 00 00 0F > 00201138 SW: 00 00 1A F4 6F 3A 04 00 11 00 22 01 02 01 1E 90 00 > ^^^^^^ > > Obviously, if not enough bytes are received from TRANSMIT > the following line from Chipcard/PCSC/Card.pm > has no chance to properly extract SW1/SW2: > > $sw = substr $data, length ($data) -5, 5, ""; > > What's wrong? > > //Marcin > > Details on the software: > > pcsc-lite 1.8.3 > pcsc-perl 1.4.12 > openct 0.6.12 > opensc 0.12.2 > > on FreeBSD 9.x/amd64, using OmniKey 4040 PCMCIA card reader Try with another reader NOT using OpenCT, a USB CCID reader for example [1]. Bye [1] http://pcsclite.alioth.debian.org/ccid/supported.html -- Dr. Ludovic Rousseau _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
