eSIM RSP 测试用例对比站

人工切片(-man) ↔ Cas 盲生成(-cas)· 真机真卡执行证据对照

5.2.6.2.1 重复启用 Profile 的通知

TC_eUICC_EnableProfile_Twice_Notifications

章节:5.2.6 · eUICC Enable Profile Process配对状态:PAIRED报告生成:2026-10-08 22:57:12数据包生成:2026-10-08 22:57:09
-man 人工切片
终态
red vendor_error_cases(厂商显式错误用例)
ErrorCount
3
执行 job
20260908_142820:8b0705a656aa48988a3380c4467d3356
html_run
e5ed462ee22a_att4
包 sha256
86f809677e72131e…
包大小
243.6 KB
日志源:logs/e5ed462ee22a_att4/extracted/ESIM_TEST_SGP_23/TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation.html
-cas 盲生成
终态
failed 纯 native 零卡态前置(N0)
ErrorCount
9
执行 job
3987c141803443e4a27b675e34e98986
html_run
72f689ba2674_att1
包 sha256
12dd4acd63d6a034…
包大小
834.2 KB
判定
RERUN
路由
native_N0
状态轴
execution=red_verify / place=not_attempted / release=not_ready / card_state=n/a

差异概览(机械口径)

闭包文件层(l1)
man 34 / cas 82 个 JS;共同 31,一致 30,man-only 3,cas-only 51
命令序列层(l2)
man 207 / cas 14 条命令;完全一致 7,核心一致 4,长度尾部差 1,man-only 196,cas-only 3
规范覆盖(l3)
spec_steps 6,缺失 REQ 0 项,checkData 17 次,计数缺口 0,物化 FULL,执行 FAIL
断言自证(attestation)
js 断言 15 条 / 绑定层 0 条 / 缺口 0
机械差异分类
轴说明计数
RUN_DIFF双端失败(形态比较另见 L2/L3)1
SCRIPT_DIALECT闭包文件差:man-only 3 / cas-only 51;命令序列差:man-only 196 / cas-only 3253

对比报告

5.2.6.2.1 TC_eUICC_EnableProfile_Twice_Notifications — -man ↔ -cas diff 报告

交付形态说明:本报告随专家交付包分发——-man/-cas 脚本包 zip 与 190server HTML 执行日志已内联至 packages/、evidence-html/,相应路径已相对化;TTR、spec_intl、caseir 等仓内留痕仍为生成机原始路径(未随包)。
  • 生成时间:2026-10-08 22:57:12 |引擎:holiday-blk5/0.1|配对状态:PAIRED
  • 分母口径:卡侧 61 之一

1. 配对与包

侧包/源sha256源类型入口用例
-man5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-man.zip86f809677e72131e89e6c4fd5e1e1be5e4e6afbcf12ae52f7f33ac7e128810f0zipTC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation
-cas5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-cas.zip12dd4acd63d6a034a1e5b431dd07f3ad24c27cec356b5598417fd686b7735d7czip—
  • man 源路径:../packages/man/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-man.zip
  • cas 源路径:../packages/cas/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-cas.zip
  • 上游来源:{"man_ledger": true, "cas_ledger": true, "naming_map": true, "html_probe": true, "man_package": true, "cas_package": true}
  • 适用性:naming-map=M ["M", "M", "M", "M", "M"];caseir=M

2. 执行摘要(双方 job/终态)

侧终态/计划备注ErrorCountjob_id业务状态TTR诊断包
-manredvendor_error_cases(厂商显式错误用例)320260908_142820:8b0705a656aa48988a3380c4467d3356—/Users/yuhu/cas/原料/切片/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications/logs/20260908_164133/result/ESIM_TEST_SGP_23/TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation.ttr—
-casfailed纯 native 零卡态前置(N0)93987c141803443e4a27b675e34e98986—/Users/yuhu/cas/experiments/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-20261004_022948/logs/3987c141803443e4a27b675e34e98986/result/TC_eUICC_EnableProfile_Twice_Notifications/TC_eUICC_EnableProfile_Twice_Notifications_01_merged.ttr—
  • cas 块4账本:decision=RERUN;route=native_N0;live 事件 1 条(4.6 波次进行中;以块4终版账本为准)
  • cas 4.6 波次最新执行:terminal=failed;stage=verify;job=3987c141803443e4a27b675e34e98986;gaps=["trace verdict=FAIL", "结果通道 verdict='FAIL'"]
  • cas 失败归因引用(块4):b8-attribution.md
  • cas 证据来源分层:RERUN → 本轮 4.6 波次执行

3. HTML 执行日志状态

  • -man:NATIVE(../evidence/5.2.6.2.1/man/TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation.html;sha256 cefd6c4721c2c889a599899ce254541d78f7ec78fed3c05fb72f854a94d1f257;479904 bytes)
  • -cas:NATIVE(../evidence/5.2.6.2.1/cas/TC_eUICC_EnableProfile_Twice_Notifications_01_merged.html;sha256 f6cc25079a677396f54f2142466766314575cbf3e43d89d199272448de36d1ba;16553 bytes)
  • 纪律:原生缺失 → HTML_UNAVAILABLE 显式阻断(附探针结论);派生件仅标 DERIVED_NOT_NATIVE,不冒充原生。

4. L1 脚本/依赖/命名差异(源文件闭包级)

  • 闭包规模:man 34 文件 / cas 82 文件;同名 31(字节同 30,内容异 1)
  • 同名内容异:Import/TestCase_SGP_23.js
  • man-only 文件 3:ESIM_TEST_SGP_23.UCE, ESIM_TEST_SGP_23.sol, MANIFEST.json
  • cas-only 文件 51:Import/CapInfo.js, Import/ExecuteTestCase.js, Import/ExecuteTestCase_CSC.js, Import/ExecuteTestCase_LoadProfile_via_bip.js, Import/ExecuteTestCase_Local_Management.js, Import/ExecuteTestCase_Non_Telecom_Profile.js, Import/ExecuteTestCase_Performance.js, Import/ExecuteTestCase_PressureTest.js, Import/ExecuteTestCase_ProfileFormatTest_V_2_3_1.js, Import/ExecuteTestCase_ProfileServicesListTest.js …
  • 注:man 包=切片最小闭包(script/ 投影);cas 包=slice_native 全工程投影(厂商参照闭包+生成体)。闭包规模差为打包形态差异;同名文件字节差集中于 Import/TestCase_SGP_23.js(TC 入口本体)。

4.1 入口代码对照

  • 行数:man 147 / cas 133;字符:man 8098 / cas 10301
  • man 顶层调用 Top:[["CheckData", 17], ["TestStepStart2", 11], ["EnCodeInteger_Ber", 3], ["parseInt", 3], ["TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation", 2], ["Ini_powerOn_eUICC_LPAe_not_activate", 2], ["TS_MANAGE_CHANNEL_OPEN", 2], ["TS_SELECT", 2], ["ES10b_ListNotification", 2], ["Update_Max_seqNumber_Of_Notification", 2]]
  • cas bind 调用:[["checkData", 17], ["sendApdu", 5], ["resetAndAtr", 1], ["runToSteadyState", 1], ["sendTerminalProfile", 1], ["manageChannelOpen", 1]]
方言映射对命中数
TS_*_cmd() ↔ bind.* 命令封装4
unified diff(截断预览)
--- man
+++ cas
@@ -1,146 +1,132 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20261004-022948
+// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_EnableProfile_Twice_Notifications,Test Sequence #01 Nominal: Notifications generation(本 TC 单条 Test Sequence),适用性 M。
+// Test points: ICH-IC1-K1-C1 ATR_present;ICH-IC1-K2-C2 FCP_Template;ICH-IC1-K2-C4 SW
+//   ICH-IC1-K3-C4 SW;ICH-IC1-K4-C4 final SW;ICH-IC2-K1-C4 SW;ICH-IC2-K1-C3 CHANNEL_NUMBER extracted
+//   ICH-IC2-K2-C4 SW;S2-C1 SW
+//   S2-C2 响应 = #R_LIST_NOTIF_IN2_PIR_IN2:ListNotificationResponse ::=  branch/count
+//   S2-C2 响应 = #R_LIST_NOTIF_IN2_PIR_IN2:ListNotificationResponse ::=  element fields
+//   S2-C3 Verify that <NOTIF_SEQ_NO_IN2_PIR> and <NOTIF_SEQ_NO_IN2> fo branch/count;S7-C1 SW
+//   S7-C2 响应 = #R_LIST_NOTIF_DI1_EN2:ListNotificationResponse ::= noti branch/count
+//   S7-C2 响应 = #R_LIST_NOTIF_DI1_EN2:ListNotificationResponse ::= noti element fields
+//   S7-C3 Verify that <NOTIF_SEQ_NO_IN2> is lower than <NOTIF_SEQ_NO_D branch/count
+//   S7-C4 Verify that <NOTIF_SEQ_NO_DI1> and <NOTIF_SEQ_NO_EN2> follow branch/count
+// 本函数由 CaseIR 5.2.6.2.1 编译生成(experiments/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-20261004_022948,SGP.23 v1.16 × SGP.22 v2.7):字节权威=CaseIR,非誊录黄金脚本。
+// Value-free template: every data byte is injected from CaseIR fields; no scaffold globals (see docs/speconly/compile-symbol-migration.md).
+// 适用性 M:编译期门,运行时由 harness 环境前置承担。
+function TC_eUICC_EnableProfile_Twice_Notifications_01_merged() {
+    var bind = curBind;
+    // GEN-IC-1 卡态声明(E 段 General Initial Conditions,编排责任):The PROFILE_OPERATIONAL1 is installed and Enabled on the eUICC: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // GEN-IC-2 卡态声明(E 段 General Initial Conditions,编排责任):No Notification is stored in the eUICC's Pending Notifications List: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
 
-function TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation()
-{
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
+    var s8 = bind.resetAndAtr();
+    bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s8.atr_hex !== "" ? "1" : "0");
 
-	if(!Card_Have_ECC_Cert)
-		return;
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
+    // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
+    var s9 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s9.resp.length > 0 ? "1" : "0");
+    bind.checkData("ICH-IC1-K2-C4 SW", "9000", s9.sw);
 
-	initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
+    var s10 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("ICH-IC1-K3-C4 SW", "9000", s10.sw);
 
-	initial_condition_Remove_All_Notification();
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
+    var steady11 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+    });
+    bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady11.final.sw);
 
-	tracenamestr = "验证当前存在一个enabled状态的profile时,激活另外一个profile,会默认产生一个disabled通知和一个enable通知";
-	curDis.TraceStart(sno++,tracenamestr);
+    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
+    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s12 = bind.manageChannelOpen("9000");
+    bind.checkData("ICH-IC2-K1-C4 SW", "9000", s12.sw);
+    bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s12.chan !== null ? "1" : "0");
 
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
+    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
+    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s13 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
+    // MTD_SELECT expected face is SW-only (K Annex C.2 open-channel procedure step 2: no FCI content assertion in corpus); no fabricated template parse.
+    bind.checkData("ICH-IC2-K2-C4 SW", "9000", s13.sw);
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
+    // 步骤 1:Install PROFILE_OPERATIONAL2 The default Profile downloading procedure defined in section 2.2.3.1 SHALL be used with the following exceptions: #CERT_S_SM_DP2auth_ECDSA SHALL be set in #AUTH_SMDP_MATCH_ID rather than #CERT_S_SM_DPauth_ECDSA #TEST_DP_ADDRESS2 SHALL be set in #AUTH_SMDP_MATCH_ID rather than #TEST_DP_ADDRESS1 #CERT_S_SM_DP2pb_ECDSA SHALL be set in #PREP_DOWNLOAD_NO_CC rather than #CERT_S_SM_DPpb_ECDSA(tc_step)
+    // card-state orchestration declaration (no APDU face): execution is
+    // the batch card_state prep framework's responsibility (4227 ruling B
+    // same-family scope; ensure_profile_state / prep_packager);
+    // no fabricated bytes emitted here; see CaseIR unresolved/open_items.
 
-	curLogicChannel = 1;
+    // 步骤 2:MTD_STORE_DATA(tc_step;REQ: RQ35_001, RQ35_002, RQ55_048_1)
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla2 = s12.chan !== null ? (s12.chan <= 3 ? 128 + s12.chan : 188 + s12.chan).toString(16).toUpperCase() : null;
+    var s2 = bind.sendApdu(sdCla2, "E2", "91", "00", "BF2804810204F0", "00", "9000");
+    bind.checkData("S2-C1 SW", "9000", s2.sw);
+    // notification-list 响应面(TC_eUICC_EnableProfile_Twice_Notifications,SGP.22 §5.7.9 结构 + vendor ABI 分支锚;断言参数经 spec_pattern 子句注入):
+    var lw2T = BindEs10xSingleRequest.parseBerTlv(s2.resp);
+    var lw2Ok0 = lw2T.length === 1 && lw2T[0].tag === "BF28";
+    var lw2_br = lw2Ok0 ? BindEs10xSingleRequest.parseBerTlv(lw2T[0].value) : [];
+    var lw2_brtag = lw2_br.length === 1 ? lw2_br[0].tag : "";
+    var lw2_els = lw2_brtag === "A0" ? BindEs10xSingleRequest.parseBerTlv(lw2_br[0].value) : [];
+    bind.checkData("S2-C2 响应 = #R_LIST_NOTIF_IN2_PIR_IN2:ListNotificationResponse ::=  branch/count", "1", (lw2_brtag === "A0" && lw2_els.length === 2) ? "1" : "0");
+    var lw2_fok = lw2_brtag === "A0" && lw2_els.length > 0;
+    for (var lw2i = 0; lw2i < lw2_els.length; lw2i++) {
+        if (lw2_els[lw2i].tag !== "BF2F") { lw2_fok = false; continue; }
+        var lw2M = BindEs10xSingleRequest.parseBerTlv(lw2_els[lw2i].value);
+        var lw2_f = {};
+        for (var lw2j = 0; lw2j < lw2M.length; lw2j++) {
+            if (lw2_f[lw2M[lw2j].tag] === undefined) { lw2_f[lw2M[lw2j].tag] = lw2M[lw2j].value; }
+        }
+        if (lw2_f["80"] === undefined) { lw2_fok = false; }
+        if (lw2_f["81"] !== "0780") { lw2_fok = false; }  // operation
+        if (lw2_f["5A"] !== "989209013254769810F9") { lw2_fok = false; }  // iccid
+    }
+    bind.checkData("S2-C2 响应 = #R_LIST_NOTIF_IN2_PIR_IN2:ListNotificationResponse ::=  element fields", "1", lw2_fok ? "1" : "0");
+    bind.checkData("S2-C3 Verify that <NOTIF_SEQ_NO_IN2_PIR> and <NOTIF_SEQ_NO_IN2> fo branch/count", "1", (lw2_brtag === "A0") ? "1" : "0");
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
+    // 步骤 3:Remove the ProfileInstallationResult and OtherSignedNotification for Install(tc_step)
+    // card-state orchestration declaration (no APDU face): execution is
+    // the batch card_state prep framework's responsibility (4227 ruling B
+    // same-family scope; ensure_profile_state / prep_packager);
+    // no fabricated bytes emitted here; see CaseIR unresolved/open_items.
 
-	curDis.TestStepStart2(stno++,"下载PROFILE_OPERATIONAL2;");
-	pkId_CI_ForVerification = pkId_CI_ECDSA_NIST;
-	pkId_CI_ForSigning = pkId_CI_ECDSA_NIST;
+    // 步骤 4:Enable PROFILE_OPERATIONAL2(tc_step)
+    // card-state orchestration declaration (no APDU face): execution is
+    // the batch card_state prep framework's responsibility (4227 ruling B
+    // same-family scope; ensure_profile_state / prep_packager);
…(差异行超限,共 267 行,此处截断)
### 4.2 UCE/命名对照
  • man:ESIM_TEST_SGP_23.UCE;入口 [('TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation', 'eUICC Enable Profile Process', 'Import\\\\ExecuteTestCase_SGP_23.js(TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation)')];参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}
  • cas:TC_eUICC_EnableProfile_Twice_Notifications/TC_eUICC_EnableProfile_Twice_Notifications.uce;入口 [('TC_eUICC_EnableProfile_Twice_Notifications_01_merged', 'TC_eUICC_EnableProfile_Twice_Notifications', 'Import\\\\ExecuteTestCase_spec.js(TC_eUICC_EnableProfile_Twice_Notifications_01_merged)')];参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}

5. L2 步骤/APDU/step_map 差异(结构化对齐)

  • 命令计数:man 207 / cas 14;精确对齐 7,核心(CLA·INS·P1·P2·Lc)同 4,man-only 196,cas-only 3
#-man-cas对齐
1@RESET@RESETexact
200A40004023F0000A40004023F0000core_same
300C000002000C0000020exact
480AA000007A905810083013780AA000007A9058100830107core_same
5801200000F801200000Fexact
6801400000C810301250082028281830100801400000C810301250082028281830100exact
700700000010070000001exact
801A4040010A0000005591010FFFFFFFF890000010001A4040010A0000005591010FFFFFFFF8900000100exact
901C000002101C0000021exact
1081E2910007BF3004800200AD81E2910007BF2804810204F000core_same
1181E2910007BF3004800200AE81E2910007BF2804810204F000core_same
—man-only: 8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038, 0070000000, 81E2910003BF2000, 01C00000A9, 81E2910003BF2E00, 01C0000015, 81E21100FFBF388202F030498010225F1E8566A8…7525350, 81E21101FF54455354310B300906035504061302…603551D, 81E29102F71104073005880388370A300E060355…3000010, 01C0000000, 01C0000000, 01C0000000
—cas-only: 8010000020FFFFFFFF7F9D00DFBF00001FE20000…0000200, 81C0000005, 81C0000005

6. L3 规范字段/Expected/REQ/通过条件差异

  • spec:/Users/yuhu/cas/原料/切片/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications/spec_intl/SGP.23-v1.16_5.2.6_EnableProfile_Twice_Notifications.md(风格:table);caseir:/Users/yuhu/cas/experiments/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-20261008_015719/caseir_materialized_gate.json
步规范动作Expected 片段规范 REQcas 检查cas REQman 实现man 结果
1MTD_STORE_DATA(#LIST_NOTIF_ALL)1["RQ35_001", "RQ35_002", "RQ55_048_1"]["S2-C1", "S2-C2", "S2-C3"]["RQ35_001", "RQ35_002", "RQ55_048_1"]L65-81(ES10b_ListNotification("04F0") L66 + 双元素字段断言 L70-78断言红 ×1(响应 BF2860A05E [BF2F 800200A4(IN2), BF2F 800200A3(PIR)] SW=9000——两条安装通知字段面全过(op=0780/addr=testsmdppplus2/ICCID=OP2 各断言相等);L80 断言 期望 00A3 ≠ 实际 00a5——卡列表枚举序 [IN2(a4), PIR(a3)] 与脚本假设 [PIR, IN2] 位置颠倒,见根因节;ttr L555-557)
20[][][]L86-92(遍历 ES10b_RemoveNotificationFromList)通过(BF30 status=00 两条删除在案,seq a3/a4 铁证 ttr L559-570 区段)
30[][][]L97-104(EnableProfileRequest + CheckData("BF3103800100")通过(BF3103800100 enableResult=ok 期望=实际)
40[][][]—
50[][][]—
6MTD_STORE_DATA(#LIST_NOTIF_ALL)1["RQ35_001", "RQ35_002", "RQ35_007", "RQ57_135_5"]["S7-C1", "S7-C2", "S7-C3", "S7-C4"]["RQ35_001", "RQ35_002", "RQ35_007", "RQ57_135_5"]L118-138(列表 L119 + DI1/EN2 字段断言 + L133 断言 + L135 序比较 + L137断言红 ×1(连锁)(响应 BF2860A05E [BF2F 800200A5 81020520 0C16 plus1 OP1] [BF2F 800200A6 81020640 0C16 plus2 OP2]=[DI1(0520 disable, plus1, OP1, a5), EN2(0640 enable, plus2, OP2, a6)]——字段面全过且本步列表枚举序恰为升序;L133 断言 期望 00A5 ≠ 实际 00a4:DI1(a5) 与 Sqn2+1 不等——连锁自步骤 1 的位置颠倒(Sqn2=entry[1]=PIR(a3) 而非 IN2(a4),a3+1=a4≠a5);L137 断言 EN2(a6)=DI1(a5)+1 ✓ 通过;L135 序比较通过;ttr L630/L652-657)

6.1 充分性分析(启发式,不作最终裁定)

  • cas:NO_MECHANICAL_GAPS(全步有检查=True;REQ 全覆盖=True;ErrorCount==0=False)
  • cas 物化核对(启发式旁证,权威见下行 attestation):声明检查 7 项 / 生成体 checkData 17 次 / S 标号重合 7 / 计数缺口 0 / 形态 FULL;执行面 FAIL(计数缺口须结合绑定层隐含断言核验,非直接判缺陷)
  • cas 编译器自证(check_attestation,同批构建):声明 None = js 15 + binding 0 + gap 0;缺口判定以本行为权威(启发式计数仅旁证)
  • man:mapping 行 8 / 规范步 6;TTR 期望/实际回声 388;厂商工具内置审计(TTR 期望/实际回声行为证据);脚本字节级充分性不可完全外部验证
  • caseir open_items:
  • IC1/IC2 为过程引用(PROC_EUICC_INITIALIZATION_SEQUENCE / PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR),只保留 initial_conditions 声明(procedure + expansion_source),过程内 APDU 不内联展开为 steps;过程体见 K_annexC2_procs.md。
  • IC3 使用 SGP.23 §2.2.3.1 默认 Profile 下载过程安装 PROFILE_OPERATIONAL2,并以 #CERT_S_SM_DP2auth_ECDSA、#TEST_DP_ADDRESS2、#CERT_S_SM_DP2pb_ECDSA 覆盖相应常量;该下载过程正文未包含在输入包,未在 steps 展开。
  • 步骤 3/4(Remove the ProfileInstallationResult and OtherSignedNotification for Install / Enable PROFILE_OPERATIONAL2)在 TC 步骤表中无 Direction/Expected/REQ;命令仅按动作语义指向 MTD_REMOVE_NOTIF / MTD_ENABLE_PROFILE,具体参数与 DER 未闭合,故未添加 status 类 SW 断言(Expected 列为空)。
  • 步骤 5/6 为行内过程引用(E 表编号步),action 逐字为 PROC_EUICC_INITIALIZATION_SEQUENCE / PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR;origin=procedure_expansion 仅用于标识过程引用行,不含内联 APDU。
  • 步骤 2/7 的 command.data 由 #LIST_NOTIF_ALL 值记号(I D.3 line 70)与 ListNotificationRequest ASN.1(S22 §5.7.9)按 X.690 DER 机械闭合为 BF2804810204F0,无凭记忆字节。
  • NOTE:比对序列号时,测试工具可通过 IC3 结束返回的 PIR 取得 <NOTIF_SEQ_NO_IN2_PIR>;本 CaseIR 在步骤 2 的响应提取该值并用于步骤内 IN2_PIR<IN2 比对。

7. 分类结论(封闭枚举)

轴计数说明
RUN_DIFF1双端失败(形态比较另见 L2/L3)
SCRIPT_DIALECT253闭包文件差:man-only 3 / cas-only 51;命令序列差:man-only 196 / cas-only 3
  • 置信度:heuristic;需人工复核:False

8. 证据路径

  • man 包:../packages/man/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-man.zip
  • man TTR:/Users/yuhu/cas/原料/切片/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications/logs/20260908_164133/result/ESIM_TEST_SGP_23/TC_eUICC_EnableProfile_Twice_Notifications_01_Nominal_Notifications_generation.ttr
  • cas 包/源:../packages/cas/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-cas.zip
  • cas TTR:/Users/yuhu/cas/experiments/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-20261004_022948/logs/3987c141803443e4a27b675e34e98986/result/TC_eUICC_EnableProfile_Twice_Notifications/TC_eUICC_EnableProfile_Twice_Notifications_01_merged.ttr
  • spec_intl:/Users/yuhu/cas/原料/切片/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications/spec_intl/SGP.23-v1.16_5.2.6_EnableProfile_Twice_Notifications.md
  • caseir:/Users/yuhu/cas/experiments/5.2.6.2.1-TC_eUICC_EnableProfile_Twice_Notifications-20261008_015719/caseir_materialized_gate.json
  • step_map:—