atr指标 java算法_如何在Android中阅读智能卡ATR?

博主尝试使用SELECT和READBINARY命令读取1443B型卡上的文件,通过文件ID0x2F01成功读取了ATR。然而,使用00B0810000命令读取短ID文件失败。问题可能在于对ISO/IEC7816-4标准的理解。返回的ATR数据显示了一些卡片服务和功能信息,但博主未能完全解析其含义,尤其是某些值的定义。目前,博主能够成功读取ATR,但尚不清楚如何正确读取短ID文件。
摘要由CSDN通过智能技术生成

我有一个1443 B型卡,我可以通过发送SELECT命令读取ATR,文件ID为0x2F01,然后发送READBINARY命令

00 B0 00 00 00

这是回应:

4301F84703F741E07F6608020205F0020205F09000

但为什么命令 00 B0 81 00 00 不起作用?根据ISO / IEC 7816-4,该命令用于读取具有5位P1xP2的EF作为文件短ID(00001),并且Le = 0x00指定需要读取文件的所有字节 . 我错过了什么吗?如何读取短ID的文件?

关于返回的ATR,它在SC17_N5781_ISO_IEC_FDIS_7816-62_Identification中定义 . 它表明:

标签43 - >卡服务数据

长度01 - > 1个字节

值F8 - >参见ISO / IEC 7816-4 12.1.1.5

标签47 - >卡片功能

长度03 - > 3个字节

值F7 41 E0 - >参见ISO / IEC 7816-4 12.1.1.9

标签7F66 - >扩展长度APDU

长度08 - > 8个字节

值 - >参见ISO / IEC 7816-4 12.7.1

标签02

长度02

Value 05 F0

标签02

长度02

Value 05 F0

但我找不到上面提到的第12节7816-4 . 因此,我无法澄清返回的ATR中值的定义,尽管我现在可以成功读取ATR . 这个标准是否已发布?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值