Android carrier app e-sim activation code usage

2.7k Views Asked by At

I am trying to develop a carrier app decribed here https://source.android.com/devices/tech/connect/esim-overview#making_a_carrier_app

Saying I have something like this (scanned QR code):

LPA:1$sm-v4-009-pla-gtm.pr.go-esim.com#<activation code>

I am wonder if below cases are true:

  • activation code needs to always contain embedded encoded certificate
  • user can use this code by the carrier app itself or by just navigating to settings and scan the QR code (this QR code should contain embedded encoded certificate in activation code. It is not possible to use such QR code without embedded encoded certificate through the settings QR scanner)
  • if user decide to consume this code on the other device in first way, he will not be able to consume that code again on the other android/iOS device
  • are the QR code for such native settings system activation same for android and iOS and can be used for both of them in the same way?
1

There are 1 best solutions below

0
On

activation code needs to always contain embedded encoded certificate

No, The format of activation code is defined in SGP.22 which does not mention any embedded certificates:

An activation code can be parsed from a user scanned QR code. 
The format of activation code is defined in SGP.22. 
For example, "1$SMDP.GSMA.COM$04386-AGYFT-A74Y8-3F815$1.3.6.1.4.1.31746"

enter image description here

Based on my research, the certificate is attached to app using Access Rules during signing process. (Not 100% sure) (need someone else's input on this)

SGP .22 also states:

When provided in a QR code according to ISO/IEC 18004 [15], the Activation Code SHALL
be prefixed with "LPA:"

As seen in specification, the code should only contain OID and not the embedded certificate.

if user decide to consume this code on the other device in first way, he will not be able to consume that code again on the other android/iOS device

QR code can only be consumed once regardless of the Operating System.

are the QR code for such native settings system activation same for android and iOS and can be used for both of them in the same way?

Android uses QR code format specified by the official document so this is not related to Operating System at all. I couldn't find any function in iOS Telephony core that takes an encoded String, there was a function however that takes each field of the format as separate argument. In those cases you would have to parse the String obtained from QR code yourself. So, yes same QR code can be used in both Android and iOS.