Tag: smartcard reader

如何根据USB端口位置连接智能卡读卡器?

我目前正在对多个智能卡读卡器识别进行一些研究和测试,以确定哪个读卡器连接到哪个USB端口。 假设我将Reader A插入USB端口1.通过调用SCardListReaders函数,我检索以下友好名称: ACS ACR1281 1S双读卡器PICC 0 然后我将另一个读卡器(读卡器B)插入USB端口2.现在我有2个读卡器连接到同一台PC。 调用SCardListReaders会给我: ACS ACR1281 1S双读卡器PICC 0 ACS ACR1281 1S双读卡器PICC 1 我知道这些名称是如何生成的( 如何构建PCSC智能卡读卡器的友好名称? )我知道以不同的顺序插入读卡器(首先插入读卡器B然后插入读卡器A)将改变SCARD_ATTR_DEVICE_UNIT因此影响友好的名字。 基于上述情况, 如何确保PC始终自动连接到USB端口1中的PICC阅读器,而不管其友好名称? 任何帮助都感激不尽。 谢谢。

智能卡读卡器命名

系统中有两个读卡器(HID OMNIKEY 5321)(每个读卡器执行不同的function) 读者1 – “智能卡读卡器0 ” 读者2 – “智能卡读卡器1 ” 在我的程序中设置了 “智能卡读卡器0 ” – 动作1 “智能卡读卡器1 ” – 行动2 但有时候(没有重启,也许失去联系) 读者1获得名称“智能卡读卡器1 ” 读者2获得名称“智能卡读卡器0 ” 并且该程序不能满足用户的需求。 我在WinScard.dll中使用SCardGetStatusChange(需要读者的名字) 该怎么办? 有没有办法更改阅读器的名称(固件,驱动程序……)? 是否可以使用阅读器的序列号? 我也看了,但没有结果智能卡读卡器命名:当删除任何读卡器时,其余的名称改变 如何构建PCSC智能卡读卡器的“友好名称”?

如何构建PCSC智能卡读卡器“友好名称”?

我使用WinSCard列出所有读者,这给我一个这样的列表: ASK RDR4x7 0 SCM Microsystems Inc. SCR3320 USB Smart Card Reader 0 SCM Microsystems Inc. SCR3320 USB Smart Card Reader 1 SCM Microsystems Inc. SCR3320 USB Smart Card Reader 2 哪个好,但我不知道哪个名字属于哪个读卡器。 这些名字来自哪里? 他们是如何建造的? 我到目前为止所发现的:在注册表中,有一个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services键。 在此密钥下,您可以找到与读卡器的“服务”(我通过查询WMI注册表找到)匹配的子项。 例如: SCM Microsystems Inc. SCR3320 USB Smart Card Reader读卡器的服务是SCR3XX2K 。 这个子键( SCR3XX2K )有另一个子键Enum ,它有多个有趣的值: Count :DWORD,连接的读者数量 0 :STRING,硬件设备ID 我想这些是附加到’友好名称’的数字,但我无法弄清楚如何构造名称字符串。 […]