usbsmartcardiccsmartcard-readericcid

ISO/IEC 7816 commands over CCID


I'm currently discovering the smart card world and there are some things that I don't understand. I'm developing a driver that talks to my smart card reader (USB) using the CCID protocol (I succeeded in having basic communications).

But then if I want to talk to my card using ISO/IEC 7816-4 specification, I will keep using the CCID protocol and in the PC_to_RDR_XfrBlock() request, in the data part (abData at offset 10 cf $6.1.4 page 30 specification of CCID) I will directly send my ISO/IEC 7816 command as READ_BINARY, WRITE_BINARY, SELECT ... And the smartcard reader will answer me using RDR_to_PC_DataBlock() ($6.2.1 page 49).

This question is OS independent, and not using any existing drivers or OS library.

Am I right?


Solution

  • I found my answer by analysing trames with wireshark. It seems to work as I described it.

    Here are somes links that will help user that tries to do the same.

    To setup usb capture : https://wiki.wireshark.org/CaptureSetup/USB

    To enable iso 7816 frames analysis in wireshark (inside ccid packets): https://ask.wireshark.org/questions/32594/iso-7816-example-capture