【发布时间】:2021-10-25 13:22:13
【问题描述】:
我正在编写一个程序,该程序能够在将卡插入读卡器后自动上传小程序。
我已经完成了这部分,我希望能够在再次尝试安装之前验证该小程序是否已安装在卡上。
我正在使用javax.smartcardio 包
这是我认为我应该用来发送命令的东西:
Card card = terminal.connect("T=0");
CardChannel channel = card.getBasicChannel();
ResponseAPDU resp = channel
.transmit(new CommandAPDU());
但我不知道如何使用 May 小程序的 AID 发送命令。
我的小程序的 AID 是01020304050607080900
【问题讨论】:
-
,.请注意,您只能安装/实例化具有相同 AID 的小程序一次。将包裹加载到卡上也是如此。所以你应该做的第一件事是检查包含小程序的包是否已经上传到卡片中。
-
@jlanza 谢谢,但是我应该如何使用包 java.smartcardio 呢?
-
@salomon_diei 从 cmets 到下面的答案,您正在使用 GlobalPlatformPro。如果你上传一个已经加载的包,你会得到一个错误。所以你必须这样做,要么使用 java.smartcario 实现整个上传过程,要么使用 GPPro 库或解析 GPPro 输出。此外,您始终可以列出存储在卡中的内容,并查看是否安装了匹配的 AID(包、小程序和实例)
-
@jlanza 如何在我的代码中实现和使用 GPPro 库?我是 java 新手,所以我不知道如何使用外部库。
标签: java applet smartcard javacard globalplatform