OsmoDevCall - Exploring eUICCs and eSIMS using pySim, lpac and osmo-smdpp

Exploring eUICCs and eSIMS using pySim, lpac and osmo-smdpp, featuring EUICC storage, certificate verification, bound profile packages, and more.

Key takeaways
  • EUICCs are designed to store a package of files that contains various applications and services, which are aggregated and decoded by libraries like PySim.
  • The EUICC receives a certificate from the SMTP+ server and verifies its authenticity through certificate verification.
  • The bound profile package is downloaded to the EUICC and can be activated by the local profile assistant (LPAC) after successful download.
  • The LPAC can poll the EUICC for notifications and perform operations like profile deletion and activation.
  • EUICCs can hold one or more SIM profiles, depending on the available flash memory.
  • The ES8+ interface is used for communication between the operator and the SMTP+ server.
  • The SMTP+ server is responsible for sending the profile package to the EUICC and verifying its authenticity.
  • The GSMA-defined eSIM specification includes provisions for certificate verification and binding.
  • EUICCs can be manufactured with test profiles pre-installed.
  • The LPA (Local Profile Assistant) is responsible for managing the EUICC’s file system and performing operations like profile deletion and activation.
  • The SMTP+ server uses HTTP without SSL/TLS for communication.
  • EUICCs can store hundreds of files on the file system.