Sms 如何分割太大而无法装入一个传输APDU的命令脚本

Sms 如何分割太大而无法装入一个传输APDU的命令脚本,sms,apdu,ota,sim-card,globalplatform,Sms,Apdu,Ota,Sim Card,Globalplatform,SGP.02-嵌入式UICC远程资源调配体系结构技术规范(具体为v4.0第255页)规定: < >函数调用方提供的数据格式不应依赖于所选择的OTA协议能力(例如SM-DP可以考虑对数据长度没有限制) 后来 SM-SR负责编制最终的命令脚本, 根据eUICC能力和所选协议: 通过添加用于确定或不确定长度的命令脚本模板 如有必要,还可以将提供的命令脚本分割成几段 如果需要,还可以添加相关的脚本链接TLV 我知道SM-DP可以将任意长的数据参数发送到ES3。如果数据太大,无法装入一个,则Se

SGP.02-嵌入式UICC远程资源调配体系结构技术规范(具体为v4.0第255页)规定:

< >函数调用方提供的数据格式不应依赖于所选择的OTA协议能力(例如SM-DP可以考虑对数据长度没有限制)

后来

SM-SR负责编制最终的命令脚本, 根据eUICC能力和所选协议:

  • 通过添加用于确定或不确定长度的命令脚本模板

  • 如有必要,还可以将提供的命令脚本分割成几段

  • 如果需要,还可以添加相关的脚本链接TLV

我知道SM-DP可以将任意长的
数据
参数发送到
ES3。如果
数据
太大,无法装入一个,则SendData
和SM-SR应该在多个SMSE中发送多个APDU。这就是分段的意思

问题是我找不到一个相关的规范来定义如何进行分段。这就是问题:细分过程在哪里定义

我可能错了,但这似乎与ETSI TS 123 048第6.3节中描述的串联短消息不同

ETSI TS 102 226中简要提到的脚本链接似乎有些关联,因此,指向定义其工作方式的规范的指针也非常受欢迎(TS 102 226讨论了脚本链接TLV,但没有讨论如何使用它们,至少我肯定缺少一些更广泛的上下文,它是如何工作的,因此任何提示都值得赞赏)

更新:

ES8.EstablishIPKEYSET函数需要发送3个APDU。它们非常大,因为它们包含钥匙。从SGP.02-v4.0表150中,我了解到它们是使用扩展的远程命令格式从SM-DP发送到SM-SR的。据我所知,这种格式的脚本可能相当大(因为SM-DP可以假设数据长度没有限制)。目前尚不清楚SM-SR应该如何
分段
或使用
链接
。我只是缺少描述这一点的规范

  • eUICC具有有限的内部缓冲区,即它无法在内部存储10kb或更大的完整配置文件包。消息必须分块。如果eUICC仅支持1kb,则您必须在最多3条APDU命令后拆分APDU命令,以保持1kb以下。SGP.02规范定义至少有1024个字节。功能齐全的SM-SR可能基于EID中的eUICC供应商存储一些属性,以便为某些eUICC添加特殊处理和补丁,以支持更大的缓冲区大小

  • 将每个APDU数据块(1..n APDU)编码为扩展的远程命令格式(ETSI TS 102 226,第5.2.1节)(压缩格式只能对最后一个APDU有一个响应,但如果有效,可以节省几个字节)

  • 将每个扩展的远程命令消息编码为SMS-DELIVER(TS 123 048和simalliance Interoperability Steppingstones release 6)这包括使用OTA密钥(KiC、KID)的数据加密。这是一个很好的Java库。注意:对于每条消息,OTA计数器必须递增。选择一个参考号,并将其保留在所有邮件中。我想这就是eUICC如何知道哪些消息属于同一个消息的标识符

  • 如果使用SMS(我建议使用CAT-TP或HTTPs->更快更可靠),则将其编码为SMS-PP下载消息(TS 131 111)。如果有效负载超过140字节,您将在此处使用消息连接

  • 您将收到SendShortMessage(TS 131 111,6.4.10)作为响应。使用TS 123 048和simalliance Interoperability Steppingstones release 6再次提取用户数据。你会收到短信回复信息。查看响应包以获取用户数据

  • 将用户数据提取为扩展远程响应(ETSI TS 102 226)


  • eUICC将处理流式消息。连接的短消息仅用于传输过程中属于一起的消息块。

    详细说明分段和脚本链接工作原理的最佳规范是SGP.11嵌入式UICC测试规范的远程资源调配体系结构

    它本身没有要求,但有传入的
    ES3.SendData的字节级示例和eUICC接收的消息示例。这样就可以很容易地推断SM-SR的实际行为

    下面是对该规范的更详细的解释

    命令脚本 命令脚本是在ES3.SendData的数据字段中发送的命令列表。它可以是(见SGP.02-v4.0表150中的
    数据
    字段说明)或:

  • C-APDUs命令列表(在SGP.11-v4.0第595页的
    EXPANDED_commands
    方法中定义,并在SGP.11-v4.0第407页的步骤2中使用)

  • 形成SCP03t脚本的TLV命令(在SGP.11-v4.0第600页的
    SCP03t\u脚本
    方法中定义,并在SGP.11-v4.0第408页的步骤14中使用)

  • 脚本链接 脚本链接是在需要执行多个传输消息中发送的多个命令,但在执行第一个命令并用于下一个命令后需要保留执行上下文时使用的功能(例如,第一个命令是
    INSTALL[用于个性化]
    ,第二个是
    存储数据
    )。此上下文是TS 102 226第4节中定义的命令会话

    这至少在这些情况下使用(SGP.02中的附录K也支持):

  • 当后续命令基于eUICC的响应时

  • 当通信