Skip to content
Success

Changes

Summary

  1. pySim/transport add support for T=1 protocol and fix APDU/TPDU layer (details)
  2. pySim-shell_test: add new testcase for card initialization (details)
  3. docs: add topic about remote UICC/eUICC access (details)
Commit 852eff54df65b076c4db11a2220cff678ab416f8 by pmaier@sysmocom.de
pySim/transport add support for T=1 protocol and fix APDU/TPDU layer conflicts

ETSI TS 102 221, section 7.3 specifies that UICCs (and eUICCs) may support two
different transport protocols: T=0 or T=1 or both. The spec also says that the
terminal must support both protocols.

This patch adds the necessary functionality to support the T=1 protocol
alongside the T=0 protocol. However, this also means that we have to sharpen
the lines between APDUs and TPDUs.

As this patch also touches the low level interface to readers it was also
manually tested with a classic serial reader. Calypso and AT command readers
were not tested.

Change-Id: I8b56d7804a2b4c392f43f8540e0b6e70001a8970
Related: OS#6367
The file was modifiedtests/unittests/test_globalplatform.py
The file was addedtests/pySim-shell_test/apdu/test.py
The file was modifiedpySim/transport/modem_atcmd.py
The file was addedtests/pySim-shell_test/apdu/test_apdu_legacy.script
The file was modifiedtests/pySim-shell_test/lchan/test.ok
The file was modifiedpySim/global_platform/__init__.py
The file was modifiedtests/pySim-shell_test/config.yaml
The file was modifiedtests/unittests/test_utils.py
The file was modifiedpySim/utils.py
The file was addedtests/pySim-shell_test/apdu/__init__.py
The file was addedtests/pySim-shell_test/apdu/test_apdu_scp02.template
The file was modifiedpySim/transport/serial.py
The file was modifiedpySim-read.py
The file was addedtests/pySim-shell_test/apdu/test_apdu.script
The file was modifiedpySim/euicc.py
The file was addedtests/pySim-shell_test/apdu/test_apdu_legacy_scp03.template
The file was addedtests/pySim-shell_test/apdu/test_apdu_scp03.template
The file was addedtests/pySim-shell_test/apdu/test_apdu_legacy_scp02.template
The file was modifiedpySim/commands.py
The file was modifiedpySim-shell.py
The file was modifiedpySim/global_platform/scp.py
The file was modifiedpySim/transport/pcsc.py
The file was modifiedpySim/transport/__init__.py
The file was modifiedpySim/transport/calypso.py
The file was modifiedpySim-trace.py
Commit 385d4407da37ae2ebc0022478f2b988004d0db48 by pmaier@sysmocom.de
pySim-shell_test: add new testcase for card initialization

The card initialization normally takes place automatically. Nearly all
testcases implicitly cover this code-path. However, it is also possible
to skip the card initialization and do it at some later point. This is
commonly the case for unprovisioned card that require some custom APDUs
in a basic initialization step. When this step is done one would use
the "equip" command to level up to the full featured mode. This patch
adds a testcase for this scenario

Related: OS#6367
Change-Id: I01a03fa07d8c62164453bd707c5943288ff1a972
The file was addedtests/pySim-shell_test/card_init/__init__.py
The file was addedtests/pySim-shell_test/card_init/test.py
The file was addedtests/pySim-shell_test/card_init/test_card_init.script
Commit de8cc322f1734497dd7fa34421219e486adb13b9 by pmaier@sysmocom.de
docs: add topic about remote UICC/eUICC access

With osmo-remsim and Android APDU proxy we have two powerful solutions to
allow remote acces to UICC/eUICC cards. Let's add a section where we give
a brief overview about those solutions, so that pySim-shell users get
awre of them.

Related: OS#6367
Change-Id: I73de4de2e5d4a01d6d91989ee684cbdb680de8ef
The file was modifieddocs/shell.rst
The file was addeddocs/remote-access.rst