smartcard driver(IFDHandler) to be trigger via bluetooth connection from iPhone or android instead via USB

Hi Team, I have developed a smartcard driver which is working fine when inserting USB mouse, So here is the process I followed for smartcard driver

  1. Smartcard driver(IFdHandler) has info.plist which contains vendor Id and product ID attributes
  2. Mentioned vendor Id and product ID of USB mouse which one is going to be connected to device(Mac) in info.plist, Build the IFDdriver and replace it to path - /usr/local/libexec/SmartCardServices/drivers/
  3. Once Inserting USB mouse I am getting smart card pairing notification on Mac

This scenario is working fine and able to achieve following changes on Mac device -

  1. Getting Smart card notification for pairing on Mac device
  2. After Pairing , Password field on Login Screen changes to PIN field

But I want smartcard driver(IFDHandler) to be trigger via bluetooth connection from iPhone or android instead via USB Is there any way to achieve This?

Reference for USB driver smart card driver - https://github.com/frankmorgner/vsmartcard/blob/master/virtualsmartcard/src/ifd-vpcd/ifd-vpcd.c

You seem to be using legacy smart card APIs, and I don’t know enough about those to offer any insight on that front.

Modern smart card support is based on CryptoTokenKit (CTK) app extensions. There are two flavours of those:

  • A smart card token driver, which subclasses TKSmartCardTokenDriver

  • A persistent token driver, which subclasses TKTokenDriver

Persistent tokens are not tied to hardware. You can create one that’s fully virtual, for example, one that works over the network. However, that comes with a key limitation: It can’t be used for user login. This is due a chicken’n’egg problem. Info about the credentials is stored in user preferences (hence the “persistent” in the name) and the login system can’t access those preferences until the user is logged in.

Various folks have attempted to get around this using various tricks to create a virtual smart card token driver. DTS doesn’t support such shenanigans.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thank you so much for reply, I am exploring below option for smart card

Persistent tokens are not tied to hardware. You can create one that’s fully virtual, for example, one that works over the network

It will be very helpful if There will be any implementation guide or sample for this

The official docs aren’t bad.

There are various third-party samples out there. I haven’t looked at them in detail, so I don’t have a specific recommendation.

Beyond that, if you open a DTS tech support incident I should be able to help you further.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

smartcard driver(IFDHandler) to be trigger via bluetooth connection from iPhone or android instead via USB
 
 
Q