2

There was a requirement from a customer that they want a solution to upgrade the firmware of the HID OMNIKEY 5427 CK Smart card Reader remotely from an embedded device on which it is connected to. The embedded device runs Windows CE OS. They want a solution that runs on the embedded device and upon need they want to upgrade the firmware.

I read from the HID global documentation that this can be done in 2 ways.

  1. Via a web server that starts when you connect the card reader to your Windows PC.
  2. Via APDU commands in CCID mode.

It seems like the first option of booting a web server in the embedded device looks like a vague approach.

So, I am currently focusing on the second method of sending APDU commands to the card reader via CCID mode.

Does windows CE support the APDU communication for smart card readers? If so, is there some specific dll that I have to utilise and the corresponding APIs?

I am very new to this smart card environment and If you people could help me with some pointer, it will be greatly appreciated.

Thanks in Advance.

guidot
  • 5,095
  • 2
  • 25
  • 37
Shaik Syed Ali
  • 3,359
  • 3
  • 17
  • 22
  • 2
    The API to use is [PCSC](https://msdn.microsoft.com/en-us/library/ms936949.aspx), which is available for WIndows CE. Typically you address the reader (instead of a card in it) by a special CLA/INS combination, so you have to look at the reader documentation, since this is fully hardware-dependent, – guidot Jun 28 '17 at 10:26
  • I will look into it and get back to you. Thanks. – Shaik Syed Ali Jun 28 '17 at 10:56
  • I was able to use WinScard dll to communicate with the Smart card readers. I wanted to try it on my PC first. So I wrote an application on my Windows & 64 bit PC and when I ran the application, my app was able to list the card reader but it was not able to connect. SCardConnect function always throws SCARD_REMOVED_ERROR. Any workaround? – Shaik Syed Ali Jul 10 '17 at 11:31
  • have you placed a card on the reader? – Eric F. Jul 11 '17 at 02:57
  • 1
    @ShaikSyedAli when calling `SCardConnect` you need to specify `SCARD_SHARE_DIRECT` and `SCARD_PROTOCOL_UNDEFINED` when connecting to the reader only (see [my answer](https://stackoverflow.com/questions/35389657/how-to-send-commands-to-smart-card-reader-and-not-to-the-smart-card-while-no-c/42888631#42888631)) – arminb Jul 11 '17 at 09:55

0 Answers0