不选择AID直接访问小程序

Access an applet directly without AID selection

通常,当您启动 JavaCard 智能卡并希望与小程序通信时,您必须 select 小程序首先使用其 AID。

有没有什么方法可以让 "default applet" 在卡通电时 selected?

我真正想做的是能够在 select 插入卡后立即发送我的应用程序级 APDU,而不需要通过应用程序 selection 过程。

这可能吗?如果是,怎么做?

如果您的 Java Card 智能卡实现了全球平台卡规范,它通常允许您定义一个在重置时在基本逻辑通道上隐式选择的小程序。因此,在卡上电(重置)时,默认情况下会选择小程序并立即接收所有命令(运行时环境处理的命令除外,例如选择其他小程序、逻辑通道管理等)。

您可以通过赋予小程序 "Default Selected"(GP 2.1.1 术语)或 "Card Reset"(GP 2.2 术语)权限,将其设置为默认选择的小程序。这是由(第一个)特权字节中的位 3 设置的。只有一个应用程序可以拥有此权限。

例如,如果您使用 GlobalPlatformPro,您可以使用选项 --default(在安装期间)或 --make-default <AID>(对于现有小程序)来设置此权限。


请注意,您可以通过捕获 Applet#process method. The best way is to call Applet.selectingApplet 中的 SELECT APDU 来区分默认选择和 AID 选择,以检查是否发生了 AID 的明确选择。