gpt4 book ai didi

transactions - Javacard - 垃圾收集期间断电

转载 作者:行者123 更新时间:2023-12-04 04:42:43 27 4
gpt4 key购买 nike

我注意到我的智能卡(带有 Omnikey 5121 读卡器的 NXP J2E145、J3A081、J3C145)上出现了一些非常奇怪的行为:调用 JavaCard 方法后立即断电

JCSystem.requestObjectDeletion()

可能会损坏卡:在大约 10% 的此类断电后,ATR 命令非常慢(1000 毫秒)并且我对任何其他 APDU(小程序选择、卡管理器身份验证等)都没有响应。

我知道 requestObjectDeletion() 的行为取决于供应商特定的实现,所以我的问题非常广泛和开放......

垃圾收集是否“通常”在单个事务中处理?

是否有任何“官方”建议不要在可能断电的情况下调用 requestObjectDeletion()?

您对恩智浦的卡片有类似的经验吗?

编辑:
  • JCSystem.isObjectDeletionSupported() == true 在我所有的智能卡上。
  • 尝试连接损坏卡的卡管理器小程序时,Eclipse IDE 中的 JCOP shell 报告如下:

    ATR:3BFB9600008131FE454F4450204D41502053414D3E

    ATR:
    T = 1
    jcshell:终端的未知问题。
    上一个终端错误:由于 I/O 设备错误,无法执行请求。
  • 最佳答案

    我认为这可能是一个实现错误。一般来说,智能卡上不需要或不使用垃圾收集。

    在任何情况下,您都应该通过良好的小程序设计避免垃圾收集。这样你就永远不会遇到内存问题。小程序通常在其生命周期内仅安装一次,并且应该在卡的其余生命周期内可用。

    对于正常用例,垃圾收集通常需要很长时间。也许这就是 Java Card 或底层系统库的程序员不希望它发生在安全环境之外的原因。

    关于transactions - Javacard - 垃圾收集期间断电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28147582/

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