laforge submitted this change.
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(-)
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
To view, visit change 35260. To unsubscribe, or for help writing mail filters, visit settings.