我的非卡应用程序中有一堆记录,我想将它们全部保存在javacard中,问题是:
- 将数据传输到Java Card的最佳方法是什么?
- 我应该逐条记录传输所有数据记录(每个记录都有一个 APDU)还是只在一个 APDU 中发送所有记录?
的限制大小,我正在使用扩展APDU来发送所有数据,以便在一个超过255字节的扩展APDU中发送所有数据。
一个扩展长度的 APDU 或单个 APDU 安全性发送数据,这并不重要。但是,使用单独的 APDU 发送不相关的信息要好得多。这将使您的应用程序更加模块化。请注意,如果您使用单独的 APDU 发送相关信息,则可能需要在这些 APDU 之间保持状态以进行验证(例如,您可能必须不发送或全部发送,或者按特定顺序发送 APDU)。
此外,ISO 7816-4 仅定义了 2 个字节的状态字以发送回发件人,例如 8A80
指示命令数据中的任何错误。这意味着无法从状态字中分辨出哪些记录包含失败信息。
最后,肯定仍然有阅读器和软件在处理扩展长度的APDU时遇到问题。因此,如果您的软件将被其他方使用,您可能需要坚持正常长度的 APDU。