如何检测智能卡读卡器是否有显示屏?

发布于 2025-01-15 21:37:53 字数 379 浏览 5 评论 0原文

我想以编程方式了解连接到系统的智能卡读卡器是否有显示屏。

(基本上我想知道它是 1 类,无键盘/无显示,还是 2 类,键盘/无显示,还是 3 类,键盘/显示,读卡器)

我可以查询功能(CM_IOCTL_GET_FEATURE_REQUEST ),例如,如果我看到 FEATURE_VERIFY_PIN_DIRECTFEATURE_MODIFY_PIN_DIRECT,我知道它有一个键盘。但如何知道它有显示屏呢?有一个可能的值FEATURE_IFD_DISPLAY_PROPERTIES,但我的阅读器没有返回它。

我真的必须收集读者姓名列表,然后制作自己的查找表吗? (这样的表存在于某处吗?)

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?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧故 2025-01-22 21:37:53

也许 Windows CCID 驱动程序不会返回 FEATURE_IFD_DISPLAY_PROPERTIES。使用我的 CCID 驱动程序 https://ccid.apdu.fr/ 在 Unix 上运行良好。

另一种选择是解析 CCID USB 描述符。屏幕尺寸可在 wLcdLayout 字段中找到。

如果您想要带有屏幕的 CCID 阅读器列表(非详尽),您可以使用我的网站并进行正确的查询:https://ccid.apdu.fr/select_readers/?wLcdLayout%E2%89%A51(28 3 类读者)与无屏幕的 pinpad 阅读器列表进行比较 https:/ /ccid.apdu.fr/select_readers/?wLcdLayout=0&features=PIN%20Verification(61 个 2 类读卡器)。

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).

假装不在乎 2025-01-22 21:37:53

阅读器可能会拦截一个特殊命令,返回您搜索的信息(PCSC 中的不同伪 APDU),但这无助于解决一般问题,即也支持未知阅读器。

如果没有数百万美元的订单,向制造商投诉以支持这一呼吁是不可能得到回应的。

您正确解释了 FEATURE_IFD_DISPLAY_PROPERTIES,查询将返回每行的字符数以及行数,请参阅 PCSC 第 10 部分,第 2.5.6 节。 (这超出了显示的存在范围。)有可能支持 FEATURE_GET_TLV_PROPERTIES,它返回信息的超集。

为了完整起见:我不知道集中维护的读者功能列表

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 i. e. 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文