smartcard - 如何更改 javacard 上小程序的生命周期?

标签 smartcard javacard

我已经在智能卡上上传了一个 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/

相关文章:

cryptography - OpenSC 无法将 javacard 与 PKCS 小程序连接

java - Java Card 中的内存分配

java - 在JCIDE调试时安装.cap文件时遇到错误 '6985' '6A88'

netbeans - 从智能卡发送/接收数据

c# - 如何读取金雅拓智能卡的序列号?

ssl - 智能卡如何用于客户端证书身份验证?

java - 如何验证 Java 卡上是否已安装小程序

rsa - 如何重用现有私钥以使用智能卡和 PKCS#11 生成数字签名

smartcard - 如何在 0x6310 状态后从 JavaCard 获取更多数据?

smartcard - 扩展 APDU 和 T=0/1 通信协议(protocol)