laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/35260?usp=email )
Change subject: euicc: Fix encoding of Lc value in STORE DATA ......................................................................
euicc: Fix encoding of Lc value in STORE DATA
The length value "of course" is a hex value, don't use %02u but %02x
This fixes any eUICC command with a Lc > 10 bytes.
Change-Id: I1e1efbfb9916fc43699602cc889cf4b3d42736f2 --- M pySim/euicc.py 1 file changed, 14 insertions(+), 1 deletion(-)
Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/pySim/euicc.py b/pySim/euicc.py index 58d19f1..c070525 100644 --- a/pySim/euicc.py +++ b/pySim/euicc.py @@ -297,7 +297,7 @@ def store_data(scc: SimCardCommands, tx_do: Hexstr) -> Tuple[Hexstr, SwHexstr]: """Perform STORE DATA according to Table 47+48 in Section 5.7.2 of SGP.22. Only single-block store supported for now.""" - capdu = '%sE29100%02u%s' % (scc.cla4lchan('80'), len(tx_do)//2, tx_do) + capdu = '%sE29100%02x%s' % (scc.cla4lchan('80'), len(tx_do)//2, tx_do) return scc._tp.send_apdu_checksw(capdu)
@staticmethod