A
b88fe4eed1
New server/saip_profile.py encodes a DER ProfileElement sequence (ProfileHeader
with ICCID + Milenage AKA parameters carrying Ki/OPc) using asn1tools against
the official PE_Definitions SAIP ASN.1 schema. It locates the schema from an
installed osmocom pySim (or SAIP_ASN_PATH) via find_spec WITHOUT importing
pySim's Python package, so it avoids the pyscard/smpp card-reader stack — the
only runtime dep is asn1tools.
Selectable via profile.format ("v2" default | "saip"); the app falls back to
profile-package-v2 with a warning when SAIP prerequisites are absent. IMSI and
other EFs (USIM-template PEs) are the documented next layer.
Add requirements-saip.txt, pytest.ini (silence asn1tools warnings), README and
config updates. Tests: +6 (encode/round-trip/credentials, app emit + fallback);
92 pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
772 B
Plaintext
16 lines
772 B
Plaintext
# Optional dependencies for real SGP.22 SAIP profile generation (profile.format: saip).
|
|
# The base requirements.txt is enough for the default profile-package-v2 format.
|
|
|
|
# ASN.1 DER encoder used to build the SAIP ProfileElement sequence.
|
|
asn1tools>=0.166
|
|
|
|
# The SAIP ASN.1 schema (PE_Definitions-*.asn) ships with osmocom pySim; we
|
|
# locate it there without importing pySim's card-reader stack. Install from git:
|
|
# pip install --no-deps "git+https://github.com/osmocom/pysim.git"
|
|
# Alternatively, point SAIP_ASN_PATH at a PE_Definitions-*.asn file directly and
|
|
# skip pySim entirely.
|
|
#
|
|
# Note: `pip install pysim` (no --no-deps) pulls pyscard, which needs the PCSC
|
|
# dev headers (apt install libpcsclite-dev). --no-deps avoids that; SAIP does not
|
|
# use the card reader.
|