5.13.9 Function (ESep): DeleteEim 详解
DeleteEim 函数是 ESep 接口的一部分,由 eUICC(嵌入式通用集成电路卡) 提供,用于删除 eUICC 中由 eimID 标识的关联 eIM(eSIM IoT 远程管理器)。以下是该函数的详细解析:
1. 功能概述
- 目的:从 eUICC 中删除指定的关联 eIM,以移除 eUICC 与该 eIM 之间的通信和配置关系。
- 适用场景:
- 当不再需要 eUICC 与特定 eIM 进行通信时,例如更换 eIM、撤销 eIM 权限或 eUICC 重新配置时。
- 当 eIM 被删除后,eUICC 可以选择允许重新添加初始 eIM 配置数据。
- 执行主体:由 eUICC 执行,IPA(物联网配置文件助手) 或 eIM 可以通过 ESep 接口调用该函数。
2. 输入参数
- deleteEim 结构:
- 定义位置:第 2.11.1.1.2 节
- 内容:
- eimId:唯一标识要删除的关联 eIM 的标识符。
- eimId 是 eUICC 列表中唯一的 eIM 标识符,可以是 OID、FQDN 或专有类型。
- eimId:唯一标识要删除的关联 eIM 的标识符。
3. 执行流程
1.
验证输入数据:
- eUICC 接收 deleteEim 结构作为输入。
- eUICC 验证 eimId 是否存在于其关联 eIM 列表中:
- 如果 eimId 未找到,eUICC 将停止程序并返回错误代码 eimNotFound。
- 如果 eimId 未提供,eUICC 将停止程序并返回错误代码 commandError。
2.
删除关联 eIM:
- eUICC 从其关联 eIM 列表中删除目标 eIM 的配置数据。
- 如果成功删除的关联 eIM 是 eUICC 中最后一个可用的关联 eIM,则 eUICC 将:
- 允许再次调用 ES10b.AddInitialEim 函数,以允许添加新的初始 eIM 配置数据。
- 在其 eCO 执行结果中包含相关信息 lastEimDeleted,以指示 eUICC 中已删除所有关联 eIM。
3.
生成执行结果:
- eUICC 生成 deleteEimResult 结构作为输出,其中包含删除操作的结果。
- deleteEimResult 结构定义在第 2.11.2.1 节中,可能包含以下信息:
- ok (0):表示删除成功。
- eimNotFound (1):表示未找到指定的 eimId。
- commandError (7):表示命令执行期间发生错误,例如缺少 eimId。
- undefinedError (127):表示发生未定义的错误。
- deleteEimResult 结构定义在第 2.11.2.1 节中,可能包含以下信息:
4.
返回执行结果:
- eUICC 将 deleteEimResult 返回给调用方(例如 IPA 或 eIM)。
4. 注意事项
- DeleteEim 函数仅删除指定的关联 eIM,不会影响 eUICC 上的其他配置或配置文件。
- 删除关联 eIM 后,eUICC 将无法再与该 eIM 进行通信或接收来自该 eIM 的命令。
- 如果 eUICC 中没有关联 eIM,则 eUICC 可以接受未签名的 eCO(eIM 配置操作),例如使用 ES10b.AddInitialEim 函数添加新的初始 eIM 配置数据。
- eUICC 制造商负责实现对该函数的安全保护,例如通过身份验证机制来防止未经授权的删除操作。
5. 相关流程
- 删除 eIM 配置数据流程(第 3.5.1.2 节):
- 描述了 eIM 发起删除 eIM 配置数据的详细步骤,包括:
- eIM 准备并发送包含 deleteEim 结构的 eUICC 包。
- IPA 将 eUICC 包传输给 eUICC。
- eUICC 执行 DeleteEim 函数并返回 deleteEimResult。
- IPA 将结果转发给 eIM。
- 描述了 eIM 发起删除 eIM 配置数据的详细步骤,包括:
总结
DeleteEim 函数为 eUICC 提供了一种安全可靠的方式来删除指定的关联 eIM,从而管理 eUICC 与 eIM 之间的通信关系。该函数的设计确保了操作的准确性和安全性,并且可以与其他 eIM 配置管理功能(例如添加和更新 eIM)协同工作,以实现对 eUICC 配置的灵活控制。