aboutsummaryrefslogtreecommitdiffstats
path: root/requirements.txt
AgeCommit message (Collapse)AuthorFilesLines
2024-01-29requirements.txt: Switch to osmocom fork of asn1toolsHarald Welte1-1/+1
This is sadly required as the Interoperable Profile format must process elements of an ASN.1 sequence in order, which doesn't work if the parser puts the elements in a python dict. The osmocom fork of asn1tools hence uses OrderedDict to work around this problem. Change-Id: Id28fcf060f491bb3d76aa6d8026aa76058edb675
2024-01-09Initial proof-of-concept SM-DP+ for GSMA consumer eSIM RSPHarald Welte1-0/+1
This commit introduces * the osmo-smdpp.py program implementing the main procedures and the HTTP/REST based ES9+ * python modules for ES8+ and non-volatile RSP Session State storage * the ASN.1 source files required to parse/encode RSP * 3GPP test certificates from SGP.26 * an unsigned profile package (UPP) of a SAIP v2.3 TS48 test profile As I couldn't get the 'Klein' tls support to work, the SM-DP+ code currently does not support HTTPS/TLS but plan HTTP, so you either have to modify your LPA to use HTTP instead of HTTPS, or put a TLS proxy in front. I have successfully installed an eSIM profile on a test eUICC that contains certificate/key data within the test CI defined in GSMA SGP.26 Change-Id: I6232847432dc6920cd2bd08c84d7099c29ca1c11
2024-01-07Add pySim.esim.bsp module implementing BSP (BPP Protection Protocol)Harald Welte1-0/+1
This is the protocol used for the ES8+ interface between SM-DP+ and the eUICC in the GSMA eSIM system. Change-Id: Ic461936f2e68e1e6f7faab33d06acf3063e261e7
2023-06-18Add support for encoding/decoding SMS in TPDU and SMPP formatHarald Welte1-0/+1
This is important when talking OTA with a SIM. Change-Id: I0d95e62c1e7183a7851d1fe38df0f5133830cb1f
2023-06-05Switch from pycryptodome to pycryptodomexHarald Welte1-1/+1
So for some weird historical reasons, the same python module is available as pycryptodome (Crypto.* namespace) and pycryptodomex (Cryptodome.* namespace). See the following information on the project homepage: https://www.pycryptodome.org/src/installation To make things extra-weird, Debian choose to package pycryptodomex as python3-pycryptodome (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886291). So in order to support both Debian-packaged and differently-installed packages, let's switch to pycryotodomex on all platforms/installers. Change-Id: I04daed01f51f9702595ef9f9e0d7fcdf1e4adb62
2023-05-17requirements.txt: allow cmd2 versions greater than 1.5Philipp Maier1-1/+1
Since we now have fixed the compatibility issues with recent cmd2 versions, we may allow also versions greater than 1.5 in the requirements.txt Change-Id: I87702c5250a3660c84458939167bffdca9c06059
2023-05-17pySim-shell: fix compatibility problem with cmd2 >= 2.0.0 (Settable)Harald Welte1-0/+1
In cmd2 relase 2.0.0 the constructor of Settable adds a settable_object parameter, which apparantly was optional at first, but then became mandatory. Older versions must not have the settable_object parameter but versions from 2.0.0 on require it. Let's add a version check so that we stay compatible to cmd2 versions below and above 2.0.0. See also: https://github.com/python-cmd2/cmd2 Commit 486734e85988d0d0160147b0b44a37759c833e8a Author: Eric Lin <anselor@gmail.com> Date: 2020-08-19 20:01:50 and Commit 8f981f37eddcccc919329245b85fd44d5975a6a7 Author: Eric Lin <anselor@gmail.com> Date: 2021-03-16 17:25:34 This commit is based on pySim gerrit change: Ifce40410587c85ae932774144b9548b154ee8ad0 Change-Id: I38efe4702277ee092a5542d7d659df08cb0adeff
2022-09-08Add new pySim.ota library, implement SIM OTA cryptoHarald Welte1-0/+1
This introduces a hierarchy of classes implementing * ETS TS 102 225 (general command structure) * 3GPP TS 31.115 (dialects for SMS-PP) In this initial patch only the SMS "dialect" is supported, but it is foreseen that USSD/SMSCB/HTTPS dialects can be added at a later point. Change-Id: I193ff4712c8503279c017b4b1324f0c3d38b9f84
2022-09-05README.md,requirements.txt: add missing construct version infoVadim Yanitskiy1-1/+1
Change-Id: I90da0df431f0d7dbfa4aa428366fbf0e35db388f Related: OS#5666
2022-07-23Introduce APDU/TPDU trace decoderHarald Welte1-0/+2
This introduces a new pySim.apdu module hierarchy, which contains classes that represent TPDU/APDUs as exchanged between SIM/UICC/USIM/ISIM card and UE. It contains instruction level decoders for SELECT, READ BINARY and friends, and then uses the pySim.filesystem.Runtime{Lchan,State} classes to keep track of the currently selected EF/DF/ADF for each logical channel, and uses the file-specific decoder classes of pySim to decode the actual file content that is being read or written. This provides a much more meaningful decode of protocol traces than wireshark will ever be able to give us. Furthermore, there's the new pySim.apdu_source set of classes which provides "input plugins" for obtaining APDU traces in a variety of formats. So far, GSMTAP UDP live capture and pyshark based RSPRO live and pcap file reading are imlpemented. Change-Id: I862d93163d495a294364168f7818641e47b18c0a Closes: OS#5126
2022-02-09update pyyaml dependency to >= 5.1Harald Welte1-1/+1
5.1 was the version introducing pyyaml.FullLoader which we're using, see https://pyyaml.org/wiki/PyYAML#history Change-Id: I0f2fa08ceeac2759218e85ad5bdce3ef951d0b74
2022-01-13Add pyyaml to requirements.txtJulian Lemmerich1-0/+1
Change-Id: I3430c32aea59af97360b9e766bfe95a146f09fe0
2021-11-25fix invalid dependencyjohannes.richter1-1/+1
* serial is according to pypi: "A framework for serializing/deserializing JSON/YAML/XML into python class instances and vice versa" Change-Id: I154276fbadd70f6be94ba7d99e61f7e9eedbeb33
2021-06-11cmd2: Constrain version to >= 1.3.0 but < 2.0.0Harald Welte1-1/+1
2.0.0 introduces several incompatible changes, see https://github.com/python-cmd2/cmd2/blob/master/CHANGELOG.md as well as https://github.com/python-cmd2/cmd2/issues/1120 As we want to be able to use what distributions ship, let's stay with 1.x for now. If piip is used, use 1.5 Change-Id: Iecc953269d5ae9ed9f31b829743c63bdfd29fa61
2021-05-10Add codecs for EF_SPN and GSM strings via constructRobert Falkenberg1-0/+1
This will replace the hand-crafted codec for EF_SPN by a struct definition using the construct library. Old encoders are updated and kept for API compatibility but are not used internally anymore. New data structures: * Rpad(Adapter): Right-padded bytestring (0xff, adjustable) * GsmStringAdapter(Adapter): Codec for "SMS default 7-bit coded alphabet as defined int TS 23.038" using the gsm0338 library. * GsmString(n): Convenient wrapper of both above Adjustments: * utils: update+deprecate old dec_spn(), enc_spn() * remove refs to deprecated functions Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994
2021-05-04Implement EF.ARR (Access Rule Reference) decodingHarald Welte1-0/+1
The Access Mode (AM) and Security Condition (SC) DOs are incredibly convoluted, so we need a lot of code to properly decode them. Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e
2021-04-11integrate 'construct' python libraryHarald Welte1-0/+1
'construct' is a declarative symmetric encoder/decoder for user specified binary formats. It should come in extremely handy in tools like pySim. We start the integration by adding transport methods for transceiving APDUs with built-in encoding of the command data and decoding of the response data. Change-Id: Ibf457aa8b9480a8db5979defcfafd67674303f6c
2021-04-07pySim-shell: JSONpath support for updating files/recordsHarald Welte1-0/+1
Change-Id: Iad09b3d878b8b58ad34cb549c80f8a6eb3149faa
2021-03-12Check in requirements.txt to simplify installing dependenciesVadim Yanitskiy1-0/+4
Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e