2012-08-24 95 views
1

我无法在任何地方找到SLE5542智能卡的有效APDU列表。 其实我发现这个: http://www.acs.com.hk/drivers/eng/PMA_ACR38x(CCID)_v6.01.pdf 但它不工作。我无法找到SLE5542的APDU命令

我也搜索了兼容的SLE4442,我搜索了一些标准化,但没有。 (我发现了一些关于SLE4442的综合性数据表,但它们不包含APDU数据)

我是这个领域的新手,所以也许我错过了一些东西。

最后我希望能够读/写一些数据到卡上。 (包括可编程安全码PSC验证)

回答

0

你是在黑暗中,我曾与5528/4428有类似的问题,文件并不总是与现实世界相匹配。有时你会发现两张或三张同一张卡片的版本,而每张卡片都会提出不同的APDU集合,并且其中几个版本都是正确的或错误的。它不会成为这个领域的有趣入口。其他时候文档不会向您透露连接过程中的一些遗漏细节。这意味着你可能无法建立连接的一半时间。但是,如果你看看SDK中的代码示例,你会突然发现你急需做的事情......

至于SDK ...你可以购买你正计划学习的ACS读卡器/卡的SDK 。不要误解我的意思,也不是SDK写得很好。事实上,除非你修正了一些语法错误,否则你甚至不能编译一些代码示例。甚至在你经历了这些之后,代码示例中有时会出现错误。

还有一件事,我不打赌他们的技术支持,你会得到几乎自动化的回应,通常没有任何意义。尽管他们现在已经改变了联系人,也许你会比我有更多的运气。

好消息是,一旦你得到了它的工作,它可能会做好生产。

1

如果我没有记错的话,SLE5528和4428没有SMART卡,只是支持三线协议的(同步)内存芯片。所以他们不发送ATR并且不理解APDU。相反,他们只理解三个硬连线命令:读,写(均使用偏移操作)和PIN验证。可以配置开始写入前需要输入上一个PIN码的偏移量。不幸的是,PCSC不支持解决这样的问题。有一个与读卡器无关的接口,称为CT-API(在德国90年代中期很受欢迎,用于解决健康保险卡,但可能几乎已经熄灭),但它依赖读者而且必须由读者制造商提供。令人困惑的是它也有类似APDU的命令/响应结构,但是这被驱动器/阅读器转换为低级硬件操作。这也解释了为什么APDU列表很难得到:芯片本身没有。 这question有一个很好的答案,这可能会有所帮助。

0

您所提供的链接是有效的,APDU命令是有效的也可能是你已经错过了在执行的东西,请您在可以看到,继续执行任何命令,首先使用以下命令选择该卡:
FF A4 00 00 01 06
如果选择成功,则应该返回90 00
则可以使用该命令用于从存储卡读取数据
FF B0 00 XX YY
XX表示这应该是> 32和 YY位置表示的数据的长度将被读取,这如果读取过程成功,应该返回数据并返回90 00

将数据写入到您需要提交密码的卡,默认密码是FF FF FF使用此命令
FF 20 00 00 03所以提交的秘密代码的命令将FF 20 00 00 03 FF FF FF
那么你可以使用写入数据这个命令:
FF D0 00 XX YY data
其中XX是要写入数据卡上的地址的位置和YY是数据的长度和数据是数据写入

可以使用其他命令的文档中,你以同样的方式

注意需要:所有代码的命令应该是Hex格式,数据的存储位置。 .etc