java - 安装后将 Javacard 小程序标记为隐式可选(默认小程序)

标签 java smartcard javacard globalplatform jcop

我正在寻找一种方法,在小程序已经上传并安装在 Global Platform 上后,将其标记为隐式可选/“默认选择”小程序。/JCOP 2.4.2 R1系统(对于 NXP JCOP 工具中的初学者 Java 卡模拟)。

在 JCOP shell 中没有使用 -d 参数安装小程序:

cm> install -i a000100201100001  -q C9#() a000100201100000 a000100201100001
 => 80 E6 [...]
 90 00

之后的状态是

Card Manager AID   :  A000000003000000
Card Manager state :  OP_READY

    Application:  SELECTABLE (--------) A000100201100001
    Load File  :      LOADED (--------) A0000000035350   (Security Domain)
     Module    :                        A000000003535041
    Load File  :      LOADED (--------) A000100201100000
     Module    :                        A000100201100001

想要的结果是

Card Manager AID   :  A000000003000000
Card Manager state :  OP_READY

    Application:  SELECTABLE (-----D--) A000100201100001
    Load File  :      LOADED (--------) A0000000035350
    [...]

这是使用 -d|--default 参数安装小程序时的输出。
我怀疑更改此属性是通过卡片管理器小程序中的 STORE-DATA 命令以某种方式完成的,但无法找到准确、详细的命令(结构)——甚至连需要修改的标签也找不到。

最佳答案

这取决于卡片 - 并非所有卡片似乎都支持在安装后将小程序设置为默认值。但是你可以使用开源GlobalPlatform具有 --make-default <AID> 的 Java 工具选项:

java -jar gp.jar --make-default A000100201100001

IIRC JCOP 是实际支持它的卡之一。

关于java - 安装后将 Javacard 小程序标记为隐式可选(默认小程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22934621/

相关文章:

java - 练习考试中模棱两可的循环

java - 如何在 spark 上部署 tensorflow 模型仅进行推理

smartcard - 打开与 Java Card 和 Global Platform 的安全连接

java - 如何防止我的网络应用程序在 Java 中受到 CSRF(跨站点请求伪造)

java - 一对多关系不同的选项

java - 全局平台架构中静态 key 如何加载到卡上?

smartcard - 对理解 C-APDU 和 R-APDU 命令有疑问

smartcard - 接触式和非接触式接口(interface)之间的APDU命令之间的区别

JavaCard 3 Eclipse 转换器错误,找不到包 org.globalplatform 的导出文件 globalplatform.exp

smartcard - JCOP 2.4.2 Java 卡上的 ECDSA 算法