javacard - 更改 javacard 小程序的版本

标签 javacard object-lifetime securitydomain

考虑一种情况,其中个性化是在卡上完成的,并且大量新数据存储在 javacard 中, 如果我们对 aplet 做了一个小改动,并且想要更新 javacard 上的 applet 版本,那么先前存储在卡上的数据会发生什么情况, 由于每个小程序都有自己的安全域(SD),我认为所有数据都存储在当前小程序的SD中,因此新安装会删除以前的小程序, 那么存储数据怎么办?

问候

最佳答案

通过谷歌搜索网络找到了答案:检查 this link

在链接中,safarmer 说:

Unfortunately you can only delete and the install again. From my understanding this is due to the limited resources on the card. You would need to have two copies of the applet on the card to do an atomic update and then delete the original. I don't think this is a very feasible approach.

The key to doing this is having it done in a controlled environment so you have complete control and can rerun in case of card tear etc. i.e. not update online across the internet.

另外:

You define an applet that stores data and a SIO that you can use to access this applet. The business logic goes into another applet and calls the methods on the interface to get or set data in the other applet. Your business logic can be deleted and reinstalled without affecting data. This is the simplified one paragraph version.

关于javacard - 更改 javacard 小程序的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19886755/

相关文章:

smartcard - NXP 有 Java 卡吗?

c++ - 使用boost的shared_ptr管理C类型生命周期?

c++ - 调用 OnDestroy() 后 ActiveX 控件 (COleControl) 会发生什么情况?

security - Chrome 现在阻止所有从 https 到 http 的 jsonp 请求?

java - 在 Java 卡上对公钥进行编码

nfc - 使用 NFC 设备的非接触式 javacard 安全实现

java - Java Card 不支持 brainpool320r1 椭圆曲线?

c++ - 局部变量是在评估函数返回值之前还是之后销毁的?

javacard - 如何自定义新安装的补充安全域(SSD)?

ssl - Jboss 应用程序策略在具有 PBESecurityDomain 的相互/客户端证书身份验证中被忽略