Skip to content

Changes

Summary

  1. osmo-smdpp: Don't re-encode euiccSigned1/euiccSigned2 (details)
  2. osmo-smdpp: Make error message more descriptive (details)
  3. add globalplatform.uicc (details)
Commit 56912caac7545276082bd9e48980e0ba33d84007 by laforge
osmo-smdpp: Don't re-encode euiccSigned1/euiccSigned2

We used to re-encode those parts of a decoded ASN.1 struct that is
cryptographically signed in the GSMA SGP.22 specification.  However, if
the received data follows a later spec and contains new/unknown records,
then our poor-man's attempt at re-encoding will render a different
binary, which in turn means the signature check will fail.

Let's instead do a manual step-by-step raw decode of the DER TLV
structure to extract the actual binary information of parts of ASN.1
objects.

Change-Id: I4e31fd4b23ec3be15b9d07c2c30a3e31e22bdda1
Closes: OS#6473
The file was modified osmo-smdpp.py
The file was modified pySim/esim/rsp.py
Commit 64a5901c4c42a2ca5ef8071cdf938e9e59f25b07 by laforge
osmo-smdpp: Make error message more descriptive

Before this patch we had three different error causes that would cause a
"Verification failed" error message.  Let's state explicitly which part
of verification did actually fail.

Change-Id: I5030758fe365bb802ae367b494aace5a66bc7a91
The file was modified osmo-smdpp.py
Commit ddbfc043ac0fd977a0b18f4b729b9211eea4d432 by laforge
add globalplatform.uicc

GlobalPlatform has a [non-public] "UICC Configuration" spec, which
defines some specific aspects of implementing GlobalPlatform in the
context of an UICC.  Let's add some python definitions about it.

Change-Id: If4cb110a9bc5f873b0e097c006bef59264ee48fa
The file was addedpySim/global_platform/uicc.py