2

I'm developing an android library that communicates with smart card readers (USB) using the CCID protocol. On this reader everything works as expected, but when using the Gemalto reader, I get an error.

I'll try to describe what I'm doing:

  • I send PC_to_RDR_IccPowerOn command.

Request:

62000000000001010000

Response (ATR = 3B7E9400008025D20310010056000000020200):

801300000000010000003B7E9400008025D20310010056000000020200

  • TPDU for PPS exchange

Request:

6F040000000002010000FF1013FC

Response:

80040000000002000000FF1013FC

  • PC_to_RDR_SetParameters

Request:

610500000000030100001300000A00

Response:

820700000000030000011310000A008000

  • APDU command (APDU Selet Applet - 00A40000023F00)

Request:

6F07000000000401000000A40000023F00

Response:

8000000000000440FE

slot status 40h

An ICC is present and inactive (not activated or
shut down by hardware error)

I expect status word [6D00] in the response. What am I doing wrong?

  • I suggest capturing card session with both readers on PC (using official drivers) and analyzing/comparing logs. This approach worked for me in the past. Wireshark has USB-CCID dissector and USB capturing is described [here](https://wiki.wireshark.org/CaptureSetup/USB). Good luck with your project. – vlp Oct 25 '21 at 10:08

0 Answers0