4

我有一个只支持同步接口的 IC 存储卡(如 SLE5532、SLE5542...等)

我想知道如何编写一个读取内存内容、验证 PSC(PIN)和写入内存的应用程序。

这种类型的卡不能接受像微处理器卡这样的普通 APDU。在数据表中,它指定要以二进制形式发送的命令(所有命令为 3 字节长度)

我找到了一个设计用于与 SCM Reader(基于 MCSCM.dll)一起使用的应用程序,但它不适用于我的 OmniKey 阅读器。

我想知道是否有可能构建一个直接调用 winsCard API 函数而无需直接使用 Reader 的 DLL 的应用程序。如果是这样,调用的正确函数是什么?

如果不可能,我怎样才能找到 OmniKey 的 API?任何人都可以寄给我使用 OmniKey 3121 读卡器和同步卡的样品吗?

提前致谢

4

2 回答 2

2

如果您的阅读器支持 PC/SC 2.01.14 规范,请在此处找到它们,它可能支持访问存储卡的通用方式。(但请注意,支持是可选的,并非所有读者都支持。)

在PC/SC 规范第 3部分的第 3.2.2.1 节中,定义了存储卡功能支持。此功能由您可以发送给阅读器的几个阅读器解释的 APDU 命令组成。然后阅读器将这些命令转换为存储卡特定的命令。例如,有一个 READ BINARY 命令从存储卡中读取数据:

FF B0 ADDR1 ADDR0 Le

并且有一个 VERIFY 命令(对于支持 PIN 验证的卡)

FF 20 xx yy Lc PIN

为了识别特定存储卡的类型,可以参考(非接触式)存储卡的 ATR(仿真)格式(在规范第 3部分的第 3.1.3.2.3.2 节中)和补充文档 1(存储卡ATR)规范的第 3 部分。

例如,如果您的卡根据 ISO/IEC 7816-10 I2C 变体运行,您从读卡器获得的 ATR 将如下所示:

8E 80 01 80 4F 0C A000000306 0D xxxx 00000000 yy

除此之外,一些制造商定义了他们自己的自定义命令(可以通过 PC/SC API 或通过其他接口使用,例如 CT-API 或 Omnikey Synchronous API)。

于 2014-08-20T08:28:24.793 回答
2

不,不可能以通用方式从智能卡读卡器寻址存储卡。硬件通信协议与处理器卡不同,每个硬件制造商都是独立的,支持该行为的伪 APDU。因此,如果没有特定的读者支持,您就没有机会建立沟通。MIFARE 的情况会更好,但这对您没有帮助。如果您无法在http://www.hidglobal.com上找到文档,您可以寻求他们的支持。否则,我建议使用 SCM 阅读器,您已经拥有匹配的软件。

这似乎是您所需要的,神奇的关键字是 CT-API,但这与 winscard 无关:http ://www.hidglobal.com/drivers/14877

于 2014-08-14T11:59:55.973 回答