[Pcsclite-muscle] Serial non-usb readers - Help required

Hemanth Kumar hemanth.sahara at gmail.com
Sun Nov 19 14:40:37 PST 2017


Can somebody please explain me if my design makes sense.?

Usecase:
Create a bluetooth smart card reader (no USB)
Mobile app has a virtual smart card (this is already available).
Mobile device connects to Macbook over BLE.
The BT smart card reader will talk with the virtual smart card over BLE link

What I think I should do:
1. Create a new IFD serial handler driver (ccid shared object file)
which can talk over a host and port (or a serial port). The PC/SC
interface should identify this serial driver as a smart card reader.
(I dont know how to make this happen).
2. Create a new BLE peripheral on mac OSx and start advertising its
characteristics
3. Mobile device connects to the mac BLE peripheral
4. Once mobile device is connected, the serial smart card driver
socket is open/connected and read/write streams are defined. Mobile
device mimics the smart card, which instructs the smart card reader
that the smart card has been inserted.
5. The serial smart card reader assumes the smart card is connected
and starts to query using APDU commands

Have I understood this right? What am I missing?

Any help appreciated.

On Sun, Nov 19, 2017 at 9:45 AM, Hemanth Kumar <hemanth.sahara at gmail.com> wrote:
> Thanks for the response.
>
> Well it looks like, the shared object is not well formed.
> ifdreader logs outputs nothing.
>
> Are there any non-usb serial driver samples (.so) that connects over BLE?
>
> $ ls -l /usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so
> -rw-r--r--@ 1 jij  wheel  42566 17 Nov 13:23
> /usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so
>
> $ otool -L /usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so
> llvm-objdump: '/usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so':
> Object is not a Mach-O file type.
>
> $ log stream --predicate 'process == "com.apple.ifdreader"'
> Filtering the log data using "process == "com.apple.ifdreader""
> Timestamp                       Thread     Type        Activity
>      PID
>
> ^C
>
> On Sun, Nov 19, 2017 at 7:18 AM, Ludovic Rousseau
> <ludovic.rousseau at free.fr> wrote:
>> Le 18/11/2017 à 23:27, Hemanth Kumar a écrit :
>>>
>>> PFB
>>>
>>> FRIENDLYNAME "Virtual PCD"
>>> DEVICENAME   192.168.2.12:35964
>>> LIBPATH
>>> /usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so
>>> CHANNELID    35964
>>
>>
>> What is the output of the Terminal commands:
>>
>> $ ls -l /usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so
>> and
>> $ otool -L /usr/local/libexec/SmartCardServices/drivers/serial/libifdvpcd.so
>>
>> You can also have a look at the log messages.
>> See
>> https://ludovicrousseau.blogspot.fr/2017/11/debug-smart-card-application-on-sierra.html
>>
>>
>> Bye
>>
>> --
>>  Dr. Ludovic Rousseau
>>
>> _______________________________________________
>> pcsclite-muscle mailing list
>> pcsclite-muscle at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/pcsclite-muscle



More information about the pcsclite-muscle mailing list