I'm looking for a way to mark an applet as the implicit selectable/"selected by default" applet after it already has been uploaded and installed on a Global Platform/JCOP 2.4.2 R1 system (for starters in the NXP JCOP Tools Java Card Simulation).
The applet has been installed without the -d
parameter in the JCOP shell:
cm> install -i a000100201100001 -q C9#() a000100201100000 a000100201100001
=> 80 E6 [...]
90 00
after that the state is
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
The desired result is
Card Manager AID : A000000003000000
Card Manager state : OP_READY
Application: SELECTABLE (-----D--) A000100201100001
Load File : LOADED (--------) A0000000035350
[...]
That's the output when the applet is installed with the -d|--default
parameter.
I suspect changing this attribute is somehow done via the STORE-DATA command in the card manager applet but haven't been able to find the exact, detailed command (structure) - not even the tag that needs to be modified.
It depends on cards - not all of them seem to support making an applet default after installation. But you can use the open source GlobalPlatform tool for Java that has
--make-default <AID>
option:IIRC JCOP was one of the cards that actually supported it.