gpt4 book ai didi

android - 如何在 Android 中读取智能卡 ATR?

转载 作者:行者123 更新时间:2023-11-30 00:26:49 25 4
gpt4 key购买 nike

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

00 B0 00 00 00
这是回应:
4301F84703F741E07F6608020205F0020205F09000

但为什么命令 00 B0 81 00 00 不起作用?。根据ISO/IEC 7816-4,该命令用于读取EF,P1xP2 的5 位作为文件短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
值 05 F0
标记 02
长度02
值 05 F0
但是我找不到上面提到的7816-4第12节。因此,尽管我现在可以成功读取 ATR,但我无法阐明返回的 ATR 中值的定义。这个标准发布了吗?

最佳答案

如果您有 ISO/IEC 14443 A 型卡,那么 ATS 将包含大部分信息,否则将存储在 ATR 中。在这种情况下,不太可能为卡定义 EF.ATR - 此文件的可用性不是强制性的。

ISO/IEC 14443 B 类卡更有可能存在 EF.ATR,因为 ATS 将丢失。

如果存在 EF.ATR,则可以使用 SELECT by File ID (2F01) 选择它。当您在问题中尝试使用 READ BINARY 命令时,此文件可能具有短文件标识符 0_0001(5 位二进制),但建议尝试使用完整文件 ID 以确保确定。如果无法读取文件,则只需使用 READ BINARY 或 GET DATA 读出文件。

关于android - 如何在 Android 中读取智能卡 ATR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45207788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com