我是智能卡的新人。我有一些智能卡(ISO 7816-4支持),但没有规格和万能读卡器。我使用 pcsc 锐利。我只能成功传输挑战指令。我也可以阅读 ATR。我的一张卡 ATR 是 3B-DB-94-00-80-31-FE-45-00-31-C0-64-20-27-02-00-00-90-00-45。但不能传输任何其他指令。sw1 和 sw2 得到的响应类似于"找不到文件"、"参数错误"等。我的问题是是否有任何常见的方法来读取或写入智能卡。我可以读取或写入供应商规格未知的智能卡吗?
试试这些 Apdu 的
选择 MF APDU :
00A4 00 00 00
创建EF APDU(传输文件ID为0X3F01的二进制文件):
00E0 00 00 09 62 07 83 02 3F 01 82 01 01
写入数据 APDU(数据 - 0102030405):
00D0 00 00 05
读取 5 字节数据:
00B0 00 00 05
如今,大多数智能卡都遵循全球平台标准,即使在内部也可能不是Java卡。
因此,您需要知道验证卡的密钥,并使用一些基于全球平台的工具访问卡。
一个选项工具,例如:
https://github.com/martinpaljak/GlobalPlatformPro
还有另一个基于 JavaScript 的 shell,您可以使用它来执行一些交互式脚本:
http://www.openscdp.org/scsh3/
基本上,您需要知道修改数据需要什么样的数据和命令,以及在执行进一步操作之前需要执行哪种类型的身份验证。