Hello! I tried searching the mailing list to see if anyone else has had this issue, but I didn't find anything relevant.
Explanation: I am trying to install my java applets to an older sysmoISIM-SJA2 card with the "SELECTABLE" and "DEFAULT" privilges/flags. The reason being that I need my applets to auto select itself rather than manual interaction through the SIM Toolkit menu. Currently, I am using the shadysim-isim tool to load my applets, however, there is no option to make applets defaultSelect. And, it doesn't look like pySim supports this currently either. GlobalProtectPro (gp.jar) does have support for these cmds, but it looks like they need addtional parameters specific to the SJA2 when installing.
Does anyone know what the exact parameters needed are? Someone else noted this issue under the GlobalProtectPro repo - but I'm not really knowledgeable enough to understand what was said.
Link to the issue: https://github.com/martinpaljak/GlobalPlatformPro/issues/293
Link to their solution: https://github.com/martinpaljak/GlobalPlatformPro/issues/293#issuecomment-13...
Thanks!
There is a typo in my initial post - I meant "GlobalPlatformPro" not "GlobalProtectPro".
Hi Micah,
On Tue, Aug 20, 2024 at 12:59:13AM -0000, mail@micahflack.com wrote:
Explanation: I am trying to install my java applets to an older sysmoISIM-SJA2 card with the "SELECTABLE" and "DEFAULT" privilges/flags. The reason being that I need my applets to auto select itself [...]
I don't think this is possible at all. The default selected application on a SIM/USIM card is always the SIM/USIM native application. Otherwise, how would it ever behave like a SIM/USIM?
If you want a card that is not a SIM/USIM where you can define the default selected application, then you should look for a JavaCard without SIM/USIM functionality.
Okay, thanks for the reply!
I wasn't sure because I was going off of this output from the GlobalPlatform tool when listing my loaded applets. I thought that it might be possible because none of them were listed as default, but it could just be an incompatibility with the GP tool when reading the SIM card.
Do you think it would be possible to export the USIM application and make changes? The concept that I am working on needs to be a SIM javacard and 5G compatible.
ADF.USIM -- A0000000871002 ADF.ISIM -- A0000000871004 My applet -- D07002CA44900202
Command output:
$> gp --key-enc ... --key-mac ... --key-dek ... --list
ISD: A000000003000000 (SECURED) Privs: SecurityDomain, CardLock, CardTerminate
APP: A0000000871002FFFFFFFF8907090000 (SELECTABLE)
APP: A0000000871004FFFFFFFF8907090000 (SELECTABLE)
APP: A000000087ABCDFFFFFFFF8907090000 (SELECTABLE)
APP: 53696D62614E2E52414D (SELECTABLE)
APP: A0000000090001FFFFFFFF8900000000 (SELECTABLE) Privs: CardReset
APP: 53696D62614E2E52464D (SELECTABLE)
APP: A00000015141434C00 (SELECTABLE)
APP: D07002CA44900202 (SELECTABLE)
PKG: A0000000620001 (LOADED)
PKG: 4A6176656C696E2E6A637265 (LOADED)
PKG: A0000000620101 (LOADED)
PKG: A0000000620102 (LOADED)
PKG: A0000000620201 (LOADED)
PKG: A000000062020801 (LOADED)
PKG: A00000006202080101 (LOADED)
PKG: A0000000620002 (LOADED)
PKG: A0000000620003 (LOADED)
PKG: A000000062010101 (LOADED)
PKG: A00000015100 (LOADED)
PKG: A0000000090005FFFFFFFF8911000000 (LOADED)
PKG: A0000000090005FFFFFFFF8912000000 (LOADED)
PKG: A0000000090005FFFFFFFF8913000000 (LOADED)
PKG: A0000000090005FFFFFFFF8911010000 (LOADED)
PKG: A0000000871005FFFFFFFF8913100000 (LOADED)
PKG: A0000000871005FFFFFFFF8913200000 (LOADED)
PKG: A0000000090003FFFFFFFF8910710001 (LOADED)
PKG: A0000000090003FFFFFFFF8910710002 (LOADED)
PKG: A0000000090005FFFFFFFF8915000000 (LOADED)
PKG: A00000015141434C (LOADED) Applet: A00000015141434C00
PKG: D07002CA44 (LOADED) Applet: D07002CA44900202
I read more of the GlobalPlatform documentation and understand now why the ADF.USIM is selected first (and why it should be first). The applet doesn't need to be marked as default - it just needs to be the first "SELECTABLE" among the list.
Attempting to modify the USIM application to run what I need doesn't seem realistic either :/
If I figure anything out, I will share it here for others as well.
Hi Micah,
On Tue, Aug 20, 2024 at 09:50:26PM -0000, mail@micahflack.com wrote:
Do you think it would be possible to export the USIM application and make changes?
No, the USIM/ISIM, SIM, etc. apps are native apps part of the CardOS.
The concept that I am working on needs to be a SIM javacard and 5G compatible.
What exactly is your technical requirement? Please tell us more about what you want to do.
Okay, yeah that makes sense. I'm very new to SIM programming, hence all the basic and wrong questions.
What exactly is your technical requirement? Please tell us more about what you want to do.
I just have a basic hello world applet that I'm building off of and the concept I'm working with requires it to launch without explicit user intervention. My lazy approach was to attempt making the applet the default; which, I now know is not the right path for USIM cards.
The ETSI TS 102 241 - V16.0.0 documentation, section 6 (which should be the right release version for me) describes the correct way to trigger my applet. Rather than using the toolkit event menu selection. I should be registering a different event like unrecognized_envelope, timer_expiration, or download_local_connection.
I've mostly been learning from example applets, so I didn't realize there were other events you could use.
Thank you!