1

我有智能卡 USB 读卡器(ACR38 和 ACR38 CCID)。我有一些 C# 代码可以用来连接,使用 winscard.dll 完美发送 apdu 命令((SCardEstablishContext,SCardConnect,SCardControl 方法)。

我需要用java来做这个,我使用javax.smartcardio api,一些代码类似于: PCSC sample in java

检测到读卡器和插入的卡正常,但尝试连接时有延迟(15-20 秒)。此延迟仅在第一次插入卡时出现。如果我提取插入同一张卡,则没有延迟。如果我提取卡并插入另一张卡,则再次延迟。我无法连接前 15-20 秒,无论是否运行 java 程序。

当读卡器/卡连接时,我可以完美地发送 apdu 命令。

否则使用 C# 和 winscard.dll api,没有延迟。

我用win7、win8、ACR38阅读器、ACR38 CCID阅读器测试...

为什么我有这个延迟?

4

1 回答 1

0

如果这种情况仅在您所描述的第一次插入卡时发生,则可能某些其他进程可能对读卡器打开了独占连接。它可能是 Windows 内置的证书传播服务或一些类似的应用程序,它们是您可能已安装的卡中间件的一部分。也可能是 Windows 更新尝试为您的卡下载微型驱动程序。

于 2014-03-12T11:25:48.933 回答