我想开发一个简单的Chrome扩展程序,用于处理与智能卡的通信。 安装驱动程序后(如Smartcard Reader and ChromeApp所述),我可以获得有关设备的一些信息,如下所示:
device #0: {
"device":0,
"manufacturerName":"OMNIKEY AG",
"productId":12322,
"productName":"Smart Card Reader USB",
"serialNumber":"",
"vendorId":1899,
"version":516
}
我该如何继续? 我现在需要获取ATR,发送/获取数据,我不知道该怎么做... (我们使用一些程序语言,比如Java,Python,C ++,但我不知道JS / chrome的相关API在哪里)
谢谢。
答案 0 :(得分:0)
您似乎正在尝试使用裸的chrome.usb API来编写扩展程序。 基本上,您必须根据CCID规范为智能卡读卡器编写驱动程序(here是其修订版1.1的链接)。这完全有可能,但绝对不是最简单的任务。
另一种解决方案是利用Google最近发布的Smart Card Connector App。这个应用程序已经捆绑了一个通用的CCID驱动程序,并实现了更高级的PC / SC API。使用此API,可以通过相对简单的请求执行诸如获取ATR或向卡发送/接收数据等操作。
P.S。我想强调的是,使用Chrome应用中的USB设备进行操作只能在Chrome操作系统下运行良好且稳定。对于其他操作系统,存在许多可能的缺陷(一般来说,当系统中的某些内容可能阻止Chrome访问USB设备时)。