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

Reply via email to