我已经在智能卡上上传了一个 HelloWorld.cap 小程序,当我使用 gpj -list
命令时,卡返回以下输出:
D:\gpj>java -jar gpj.jar -list
Found terminals: [PC/SC terminal ACS CCID USB Reader 0]
Found card in terminal: ACS CCID USB Reader 0
ATR: 3B 68 00 00 00 73 C8 40 12 00 90 00
.
.
.
AID: A0 00 00 00 03 00 00 00 |........| ISD LC: 1 P
R: 0x9E
AID: 11 22 33 44 55 66 |."3DUf| App LC: 7 P
R: 0x00
AID: 11 22 33 44 55 |."3DU| Exe LC: 1 P
R: 0x00
如您所见,我的小程序的生命周期是 7,其程序包的生命周期是 7。程序包和小程序的权限都是 0x00 。我如何更改它们?(PR 和 LC)
最佳答案
Applet权限和生命周期状态在GlobalPlatform卡规范中有描述,您可以从http://www.globalplatform.org/specificationscard.asp下载它。 这是一篇很长的文档,不是特别容易阅读,但如果您打算使用智能卡,我强烈建议您仔细阅读它。
它解释了如何为小程序分配权限(主要是在安装时)以及如何在不同的生命周期状态之间进行转换。例如,它表示您的 Hello World 小程序已处于 SELECTABLE 状态,因此它只能转换为 LOCKED 或被删除。
关于smartcard - 如何更改 javacard 上小程序的生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909070/