3

我正在尝试开发此处描述的运营商应用程序https://source.android.com/devices/tech/connect/esim-overview#making_a_carrier_app

说我有这样的东西(扫描二维码):

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

我想知道以下情况是否属实:

  • 激活码需要始终包含嵌入的编码证书
  • 用户可以通过运营商应用程序本身使用此代码,也可以通过导航到设置并扫描二维码(此二维码应在激活码中包含嵌入的编码证书。如果没有通过设置嵌入的编码证书,则无法使用此类二维码二维码扫描仪)
  • 如果用户决定以第一种方式在其他设备上使用此代码,他将无法在其他 android/iOS 设备上再次使用该代码
  • 这种原生设置系统激活的二维码对于安卓和iOS是否相同,并且可以以相同的方式用于它们?
4

1 回答 1

1

激活码需要始终包含嵌入的编码证书

不,激活码的格式在 SGP.22中定义,没有提及任何嵌入式证书:

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"

在此处输入图像描述

根据我的研究证书在签名过程中使用访问规则附加到应用程序(不是 100% 确定)(需要其他人对此的意见)

SGP .22 还规定:

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

从规范中可以看出,代码应该只包含 OID 而不是嵌入的证书。

如果用户决定以第一种方式在其他设备上使用此代码,他将无法在其他 android/iOS 设备上再次使用该代码

无论操作系统如何,二维码都只能使用一次。

这种原生设置系统激活的二维码对于安卓和iOS是否相同,并且可以以相同的方式用于它们?

Android 使用官方文档指定的二维码格式,所以这与操作系统完全无关。我在 iOS Telephony 核心中找不到任何采用编码字符串的函数,但是有一个函数将格式的每个字段作为单独的参数。在这些情况下,您必须自己解析从 QR 码获得的字符串。所以,是的,相同的二维码可以在 Android 和 iOS 中使用。

于 2019-12-02T12:45:54.753 回答