我有一个只支持同步接口的IC存储卡(如SLE5532,SLE5542 ......等)
我想知道如何编写一个读取内存内容,验证PSC(PIN)和写入内存的应用程序 .
这种类型的卡不能接受像微处理器卡这样的普通APDU . 在数据表中,它指定要以二进制形式发送的命令(所有命令的长度为3个字节)
我找到了一个专门用于SCM Reader的应用程序(基于MCSCM.dll),但它不能与我的OmniKey阅读器一起使用 .
我想知道是否有可能构建一个直接调用winsCard API函数的应用程序,而无需直接使用Reader的DLL . 如果是这样,有什么适当的函数可以调用?
如果不可能,我如何找到OmniKey的API?并且有人可以寄给我使用OmniKey 3121读卡器和同步卡的样品吗?
提前致谢
2 回答
不,不可能以通用方式从智能卡读卡器处理存储卡 . 硬件通信协议与处理器卡不同,并且每个硬件制造商都是独立的,哪些伪APDU支持该行为 . 因此,如果没有特定的读者支持,您就没有机会 Build 沟通 . 使用MIFARE情况会更好,但这对您没有帮助 . 如果您无法在http://www.hidglobal.com找到文件,您可能会问他们的支持 . 否则,我建议使用SCM阅读器,您可以使用匹配的软件 .
这似乎是你需要的,神奇的关键字是CT-API,但这与winscard无关:http://www.hidglobal.com/drivers/14877
如果您的阅读器支持PC / SC 2.01.14规范find them here,则它可能支持访问存储卡的通用方法 . (但请注意,支持是可选的,并非所有读者都支持它 . )
在part 3 of the PC/SC specifications的第3.2.2.1节中,定义了存储卡功能支持 . 此功能由几个读取器解释的APDU命令组成,您可以将这些命令发送给阅读器 . 然后,阅读器将这些命令转换为存储卡特定命令 . 例如,有一个READ BINARY命令用于从存储卡读取数据:
并且有一个VERIFY命令(用于支持PIN验证的卡)
为了识别特定存储卡的类型,您可以参考(非接触式)存储卡的ATR(仿真)格式(在part 3 of the specification的3.1.3.2.3.2节中)和规范的第3部分的supplemental document 1 (Storage Card ATR) .
例如,如果您的卡根据ISO / IEC 7816-10 I2C变体运行,您从阅读器获得的ATR将如下所示:
除此之外,一些制造商还定义了自己的自定义命令(可以通过PC / SC API或通过其他一些接口使用,例如CT-API或Omnikey Synchronous API) .