卡1:可以连接智能卡。以下是gp.exe调试日志
>gp -d
# Detected readers from SunPCSC
[*] Gemplus USB SmartCard Reader 0
[ ] JAVACOS Virtual Contact Reader 0
[ ] JAVACOS Virtual Contactless Reader 1
SCardConnect("Gemplus USB SmartCard Reader 0", T=*) -> T=1, 3BDB960080B1FE451F8
0031C0640830220301900046
SCardBeginTransaction("Gemplus USB SmartCard Reader 0")
A>> T=1 (4+0000) 00A40400 00
A<< (0111+2) (31ms) 6F6D8407A0000001510000A562732F06072A864886FC6B01600C060A2A8
4886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B0402159F6E2A483077338
315055008452540000001428001912525419135254191452540000000000000000000000009F650
FF 9000
SCardEndTransaction()
SCardDisconnect("Gemplus USB SmartCard Reader 0", false)
Windows 7弹出窗口
installing device driver
卡2:无法检测。以下是gp.exe调试日志
>gp -d
# Detected readers from SunPCSC
[*] Gemplus USB SmartCard Reader 0
[ ] JAVACOS Virtual Contact Reader 0
[ ] JAVACOS Virtual Contactless Reader 1
SCardConnect("Gemplus USB SmartCard Reader 0", T=*)
卡在智能卡连接功能上。
Windows 7不会弹出
installing device driver
还尝试使用Java代码连接智能卡。Java卡也是如此。它卡住了connect()函数。
我的问题是为什么卡2没有被检测到?可能的原因是什么?是否与32位或64位机器或操作系统有关?
找到了解决方案。实际上,我的机器上安装了Sophos SafeGuard 5.60
,它正在阻止读卡器读取智能卡。我在没有Sophos SafeGuard 5.60的机器上检查了同一张卡,它运行良好。
显然,该卡在PC/SC层上不起作用。可能会崩溃,或者不喜欢读者。
我会尝试在调试模式下使用Linux和libccid以获取更多信息。