简体   繁体   中英

How to detect if the smart card reader has a display?

I want to know programmatically if a smart card reader that is attached to the system, has a display.

(Basically I want to know if it's a CLASS 1, no pad/no display, or CLASS 2, pad/no display, or CLASS 3, pad/display, reader)

I can query features ( CM_IOCTL_GET_FEATURE_REQUEST ), and for example if I see FEATURE_VERIFY_PIN_DIRECT or FEATURE_MODIFY_PIN_DIRECT , I know it has a keypad. But how to find out it has a display? There's a possible value FEATURE_IFD_DISPLAY_PROPERTIES but my reader doesn't return it.

Do I really have to assemble a list of reader names and then make my own lookup table? (Does such a table exist somewhere?)

Maybe the Windows CCID driver does not return FEATURE_IFD_DISPLAY_PROPERTIES . This works fine on Unix with my CCID driver https://ccid.apdu.fr/ .

Another option is to parse the CCID USB descriptor. The screen size is available in the wLcdLayout field.

If you want a list (non exhaustive) of CCID readers with a screen you can use my web site with the correct query: https://ccid.apdu.fr/select_readers/?wLcdLayout%E2%89%A51 (28 CLASS 3 readers) compared to the list of pinpad readers with no screen https://ccid.apdu.fr/select_readers/?wLcdLayout=0&features=PIN%20Verification (61 CLASS 2 readers).

There might be a special command the reader intercepts, returning the information you search (a different Pseudo-APDU in PCSC-speak), but this does not help to address the generic problem ie to support unknown readers as well.

Complaining towards the manufacturers to support the call is unlikely to receive a reaction lacking a multi-million order.

You interpreted the FEATURE_IFD_DISPLAY_PROPERTIES correctly, the query would return number of characters per line as well as number of lines, see PCSC part 10, section 2.5.6. (This exceeds mere existence of display.) There is the chance, that FEATURE_GET_TLV_PROPERTIES is supported instead, which returns a superset of the information.

For completeness: I'm not aware for a centrally maintained list of reader capabilities

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM