gpt4 book ai didi

java - 如何使用Android NFC API获取智能卡ATR?

转载 作者:行者123 更新时间:2023-12-01 22:41:32 26 4
gpt4 key购买 nike

有谁知道如何使用 NFC API 获取 Android 应用程序的智能卡 ATR?我使用的卡是非接触式卡。我有这个代码

szATR =" 3B " + getATRLeString(myTag.getHistoricalBytes())+ "80 01 " + getHexString(myTag.getHistoricalBytes())+""+ getATRXorString(myTag.getHistoricalBytes());

但它返回 null 作为响应。

最佳答案

从技术上讲,NFC 标签没有 ATR 之类的东西。

ATR 用于基于接触式的智能卡通信。 ATR主要包含基于接触的通信所需的数据,例如最大通信速度、保护时间等。所有这些信息不适用于NFC。 ATR 还可能包含所谓的历史字节。

如果您对 myTag.getHistoricalBytes() 的调用返回 null,则您的 NFC 标签根本没有任何历史字节可返回。

关于 ATR 和 NFC 一般情况:由于许多 NFC 标签和智能卡都使用相同的高级通信协议(protocol) (ISO7816),因此向智能卡读卡器添加 NFC 功能是一个自然的选择。出于与旧软件的兼容性原因,软件和智能卡基础设施需要一些 ATR 才能工作。因此,每当您在 NFC 环境中看到 ATR 时,您都可以确定它是由驱动程序或读取器生成的假 ATR。

关于java - 如何使用Android NFC API获取智能卡ATR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054975/

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