2017-06-20 45 views
4

通常,当您启动JavaCard智能卡并希望与applet通信时,必须先使用其AID选择applet。直接访问applet不需要AID选择

有什么办法可以让卡片上电时选择“默认小程序”?

我真正想要做的是能够在选择卡片后立即发送我的应用程序级别的APDU,而不需要通过应用程序选择过程。

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

+0

呵呵,这就是所谓的“默认选择”,所以你已经指定了文字:) –

回答

6

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

您可以通过为其指定“默认选定”(GP 2.1.1术语)或“卡重置”(GP 2.2术语)特权,将小程序设置为默认选定小程序。这由(第一)特权字节中的位3设置。只有一个应用程序可以拥有此特权。

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


请注意,您可以通过Applet#process method内捕获SELECT APDU选择和AID选择默认存在区别。最好的方法是致电Applet.selectingApplet检查是否发生了AID的明确选择。

+2

男人,我很高兴我问甲骨文使Java卡文档可用:) –

+0

@MaartenBodewes感谢您的编辑:-) –