Hello,
Sorry, for the late reply. (replying again in new thread as prev mails failed). Quoted prev mails in quotes below.
Which is "your test sim". Can you share the make and model?
It's a sysmoUSIM-SJS1, I believe.
I'm receiving 9000 for INSTALL for load, and for consequent LOAD commands 9000 as well. Only for the last INSTALL for install, I'm getting 6A88 (reference data not found). I think, the issue is in AIDs. I'm trying to figure out if I should use arbitrary bytes for AID or construct AID (which includes RID + RIX) the same way as existing Load Files, Applets' AID are on the SIM card?
I'm using d07002CA44 from this https://github.com/mrlnc/HelloSTK2, I believe that should be reason for the 6A88 error code.
Could you please assist?
Here is my Install for Install Python3 code: -- def install_install_make_selectable(self, exe_rid="d07002CA44", module_aid="d07002CA44900101", app_aid="d07002CA44900101"): apdu = "".join([ "80", # CLS "e6", # INSTR "0c", # p1 ; for install (b3=1) ; for make selectable (b4=1) "00", # p2 "%02x", # p3 ; Lc ]) # 11.5.2.3.2, page 170 data = "".join([ "%02x" % int(len(exe_rid)/2), exe_rid, # V, executable Load file AID / load file AID "%02x" % int(len(module_aid)/2), module_aid, # V, executable Module AID / class file AID "%02x" % int(len(app_aid)/2), app_aid, # V, Application AID / instance AID
"0100", # L privileges ; V=00, 11.1.2 Privileges Coding, page 146 "%02x", # L Install Parameters field ]) system_params_v = "".join([ "c802", # TL - non-volatile memory quota "00ff", # V "c702", # TL - volatile memory quota "00ff", ]) install_params_tl = "".join([ "EF", # T - System Specific Parameters "%02x" ])
install_params_v = "" install_params_v += system_params_v
install_params_v += "".join([ # ETSI 102 226, page 23 # 8.2.1.3.2.1 Coding of the SIM File Access and Toolkit Application Specific Parameters "ca", "%02x", # TL ]) toolkit_app_params = "".join([ "01", # L of access domain
## ## Access Domain ## 00 - full access ## 01 - APDU access (reserved for 2G; see 3GPP TS 31 116) ## 02 - UICC access (reserved for 3G) ## ff - no access ## "ff", # V access domain
"01", # V priority "00", # V max timers "0f", # V max menu text "02", # V max menu entries "0000" * int("02"), "00", # max number of channels for this application instance "00", # length of MSL ]) install_params_v = install_params_v % int(len(toolkit_app_params)/2) + toolkit_app_params
### C9 - Application Specific Parameters (none?) applet_specific_params_v = "".join([ "" ]) applet_specific_params_tlv = "".join([ "c9", "%02x" % int(len(applet_specific_params_v)/2), applet_specific_params_v ]) install_params_v += applet_specific_params_tlv
install_params = install_params_tl % int(len(install_params_v)/2) + install_params_v data = data % int(len(install_params)/2) + install_params data += "00" # load token apdu = apdu % int(len(data)/2) + data apdu += "00c0000000" # C-MAC return apdu
--
On Dec 24, 2021, 2:51 AM, Sabyrzhan Tasbolatov wrote: Hello,
I need help with installing the HelloWorld.cap applet in my test SIM. I know how to construct APDUs and osmocom's shadysim.py, does not work properly for me. So I've written the script myself.
https://gist.github.com/Novitoll/2d8146b85f4384eb4dd039eb8116d1ed
GP "Card Specification – Public Release v2.3.1".
- Install for LOAD, Data = 00, SW = 9000
- LOAD 0, SW = 9000
- LOAD 1, SW = 9000
- LOAD 2, SW = 9000
- LOAD 3, SW = 9000, final
- Install for install and make selectable, SW = 6988 (Reference data not found)
Trying to figure out where the issue is. I've tried to re-use `install_app` function from shadysim.py - same result.
I'm using this https://github.com/mrlnc/HelloSTK2/blob/main/HelloSTK2.cap
Could anyone assist?
--
On Tue, Jan 4, 6:30 PM, Harald Welte wrote: Hi Sabr,
On Mon, Jan 03, 2022 at 03:51:54PM +0600, Sabyrzhan Tasbolatov wrote:
Following up
I didn't see your original mail, sorry.
I need help with installing the HelloWorld.cap applet in my test SIM.
Which is "your test sim". Can you share the make and model?
I know how to construct APDUs and osmocom's shadysim.py https://git.osmocom.org/sim/sim-tools/tree/shadysim/shadysim.py, does not work properly for me.
please note that different cards have different expectations (and bugs) on the exact parameters to load applets. Also, shadysim is a "early proof of concept" and not something that intended to be a full implementation and/or support a wide variety of cards with related workarounds, etc.