gpt4 book ai didi

java - 智能卡 ATR 更改未反射(reflect)在代码中

转载 作者:行者123 更新时间:2023-11-28 06:47:10 28 4
gpt4 key购买 nike

我也在使用 C++(Windows API)和 Java 的 SmartCard API。

我在删除操作系统后获取 ATR 时遇到问题。我的申请是为了从智能卡中删除操作系统。当操作系统被删除时,卡的 ATR 被更改,但它没有反射(reflect)在我的代码中。删除操作系统后,我仍然得到相同的 ATR,但当我重新启动我的应用程序时,它显示正确的 ATR。

我的代码片段。

CardConnect();
getATR(); //get correct ATR
eraseOS(deleteOScmd,size); //Erasing OS

CardConnect(); //again connecting
getATR(); // againg try to get ATR but shows same as first call.

这同样发生在 Java 代码中。我想显示新的 ATR,但无法获取更新的 ATR。

有人能帮帮我吗?谢谢。

最佳答案

通过删除操作系统,您与智能卡的任何标准使用相去甚远,任何解释都是可能的。读卡器、智能卡读卡器驱动程序、资源管理器或任何其他人都可以相信,如果没有插入新的智能卡,旧的 ATR 仍然有效,并且只需提供先前数据的缓存拷贝。 (请注意,除了来自 ATR 的历史字节之外,所有字节都与卡和读卡器之间的通信相关联,没有理由进行更改)。在现实生活中,允许删除操作系统之类的事情发生是非常危险的。

我怀疑,您为 ATR 赋予了意义,最好将其置于用户数据对象中。

关于java - 智能卡 ATR 更改未反射(reflect)在代码中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754401/

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