eSIM RSP 测试用例对比站

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

4.2.10.2.4 ES10b 下载准备异常用例

TC_eUICC_ES10b.PrepareDownloadErrorCases

章节:4.2.10 · ES10b (LPA -- eUICC): PrepareDownload配对状态:PAIRED报告生成:2026-10-08 22:57:09数据包生成:2026-10-08 22:57:09
-man 人工切片
终态
ok `_ok` 复用(结构 A1-A7 PASS;`_ok` run 无厂商错误行)
ErrorCount
0
执行 job
20260909_001237_ok:3ce4b38a28374b11acf2ae30b8a86d9e
html_run
20261007_121410
包 sha256
6598c4036f5a0e98…
包大小
243.4 KB
日志源(切片目录内相对路径):logs/20261007_121410/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE.html
-cas 盲生成
终态
failed 纯 native 零卡态前置(N0)
ErrorCount
21
执行 job
cd245ddb028f4904950a266393dfb27e
html_run
cd245ddb_gapfix1
包 sha256
0c5e45d78fb455ae…
包大小
842.4 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 55 / cas 5 条命令;完全一致 1,核心一致 2,长度尾部差 1,man-only 52,cas-only 2
规范覆盖(l3)
spec_steps 0,缺失 REQ 0 项,checkData 41 次,计数缺口 0,物化 FULL,执行 FAIL
断言自证(attestation)
js 断言 25 条 / 绑定层 10 条 / 缺口 0
机械差异分类
轴说明计数
RUN_DIFFman 通过 / cas 失败1
SCRIPT_DIALECT闭包文件差:man-only 3 / cas-only 51;命令序列差:man-only 52 / cas-only 2108

对比报告

4.2.10.2.4 TC_eUICC_ES10b.PrepareDownloadErrorCases — -man ↔ -cas diff 报告

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

1. 配对与包

侧包/源sha256源类型入口用例
-man4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-man.zip6598c4036f5a0e983c83ce1c22e3f325e77fa57f2828541e13f752f316923847zipTC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE
-cas4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-cas.zip0c5e45d78fb455aea3b282c6396f7782796baf7e8ed3d2d090c0b959a05ecd29zip—
  • man 源路径:../packages/man/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-man.zip
  • cas 源路径:../packages/cas/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-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诊断包
-manok_ok 复用(结构 A1-A7 PASS;_ok run 无厂商错误行)020260909_001237_ok:3ce4b38a28374b11acf2ae30b8a86d9e—/Users/yuhu/cas/原料/切片/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases/logs/20260909_001237_ok/result/ESIM_TEST_SGP_23/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE.ttr—
-casfailed纯 native 零卡态前置(N0)21cd245ddb028f4904950a266393dfb27e—/Users/yuhu/cas/experiments/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-20261004_022632/logs/cd245ddb_gapfix1/result/TC_eUICC_ES10b_PrepareDownloadErrorCases/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_08_Error_all_8_sequences.ttr—
  • cas 块4账本:decision=RERUN;route=native_N0;live 事件 2 条(4.6 波次进行中;以块4终版账本为准)
  • cas 4.6 波次最新执行:terminal=failed;stage=cas_gapfix_rerun;job=cd245ddb028f4904950a266393dfb27e;gaps=["gapfix-rerun:job 终态 succeeded,业务判 failed(error_count=4);failed 亦为有效终态,如实登记"]
  • cas 失败归因引用(块4):b4-attribution.md
  • cas 证据来源分层:RERUN → 本轮 4.6 波次执行

3. HTML 执行日志状态

  • -man:NATIVE(../evidence/4.2.10.2.4/man/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE.html;sha256 ea4a33b4f1ee483754f198cb6b585c48206cab3d264625438f03d20276ccfa1f;119873 bytes)
  • -cas:NATIVE(../evidence/4.2.10.2.4/cas/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_08_Error_all_8_sequences.html;sha256 b2a83c3a2b42a4cb7f7893c9412a8eac9e7ade7dc86c5e7320db87db2a191a3a;10212 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 325 / cas 762;字符:man 13453 / cas 76894
  • man 顶层调用 Top:[["TestStepStart2", 60], ["TS_SELECT", 9], ["ES10b_GetEUICCInfo1", 9], ["ES10b_GetEUICCChallenge", 9], ["ES10b_PrepareDownload", 9], ["TraceStart", 8], ["Ini_powerOn_eUICC_LPAe_not_activate", 8], ["TS_MANAGE_CHANNEL_OPEN", 8], ["RSP_profile_load_procedure_LPAd", 8], ["ES10b_AuthenticateServer", 8]]
  • cas bind 调用:[["checkData", 41], ["sendApdu", 4], ["resetAndAtr", 1], ["runToSteadyState", 1], ["sendTerminalProfile", 1], ["manageChannelOpen", 1]]
方言映射对命中数
TS_*_cmd() ↔ bind.* 命令封装17
unified diff(截断预览)
--- man
+++ cas
@@ -1,324 +1,761 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE + TC_eUICC_ES10b_PrepareDownloadErrorCases_02_Error_With_incorrect_CERT_DPpb_ECDSA + TC_eUICC_ES10b_PrepareDownloadErrorCases_03_Error_CERT_DPpb_ECDSA_and_CERT_DPauth_ECDSA_not_belonging_to_the_same_entity + TC_eUICC_ES10b_PrepareDownloadErrorCases_04_Error_With_invalid_SM_DP_signature + TC_eUICC_ES10b_PrepareDownloadErrorCases_05_Error_With_invalid_Transaction_ID + TC_eUICC_ES10b_PrepareDownloadErrorCases_06_Error_SM_DP_has_not_been_previously_authenticated + TC_eUICC_ES10b_PrepareDownloadErrorCases_07_Error_Unsupported_curve + TC_eUICC_ES10b_PrepareDownloadErrorCases_08_Error_Invalid_Certificate_Role_OID (extracted verbatim)
-
-function TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE()
-{
-	tracenamestr = "执行PrepareDownload,不带hashCc,但ccRequiredFlag为TRUE";
-	curDis.TraceStart(sno++,tracenamestr);
-
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-
-	curLogicChannel = 1;
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行GetEuiccInfo1Request;");
-	var Profile_load_procedure = new RSP_profile_load_procedure_LPAd(PROFILE_OPERATIONAL1_DATA);
-	Profile_load_procedure.ICCID = ICCID_OP_PROF1;
-	Profile_load_procedure.ES10b_GetEUICCInfo1();
-
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行GetEuiccChallengeRequest;");
-	Profile_load_procedure.ES10b_GetEUICCChallenge();
-
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行AuthenticateServerRequest;");
-	Profile_load_procedure.ES10b_AuthenticateServer();
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行PrepareDownloadRequest,确认码标记为true,但不包含Confirmation Code;");
-	Profile_load_procedure.ccRequiredFlag = "FF";
-	Profile_load_procedure.PrepareDownloadisErrorTest = true;
-	Profile_load_procedure.preparedownloadErrorCode = DownloadErrorCode.undefinedError;
-	Profile_load_procedure.ES10b_PrepareDownload();
-
-	RecoverCard();
+// Author: 卡思Cas智能体
+// Date: 20261005-152741
+// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_ES10b.PrepareDownloadErrorCases,Test Sequence #01-#08 Error (all 8 sequences),适用性 M。
+// Test points: ICH-SEQ06-IC1-K1-C1 ATR_present;ICH-SEQ06-IC1-K2-C2 FCP_Template
+//   ICH-SEQ06-IC1-K2-C4 SW;ICH-SEQ06-IC1-K3-C4 SW;ICH-SEQ06-IC1-K4-C4 final SW
+//   ICH-SEQ06-IC2-K1-C4 SW;ICH-SEQ06-IC2-K1-C3 CHANNEL_NUMBER extracted;ICH-SEQ06-IC2-K2-C4 SW
+//   S1-C2 R_PREP_DOWNLOAD response structure;S2-C1 SW;S2-C2 R_PREP_DOWNLOAD response structure
+//   S3-C1 SW;S3-C2 R_PREP_DOWNLOAD response structure;S4-C1 SW
+//   S4-C2 R_PREP_DOWNLOAD response structure;S5-C1 SW;S5-C2 R_PREP_DOWNLOAD response structure
+//   S6-C1 SW;S6-C2 R_EUICC_INFO1 outer tag;S6-C2 R_EUICC_INFO1 required members present;S7-C1 SW
+//   S7-C2 R_PREP_DOWNLOAD response structure;S8-C1 SW;S8-C2 R_PREP_DOWNLOAD response structure
+//   S9-C1 SW;S9-C2 R_PREP_DOWNLOAD response structure
+// 本函数由 CaseIR 4.2.10.2.4 编译生成(fullwave-blindgen-live-70-W1-laneA2,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_ES10b_PrepareDownloadErrorCases_01_08_Error_all_8_sequences() {
+    var bind = curBind;
+    // TC-GEN-1 eUICC: The PROFILE_OPERATIONAL1 is not loaded on the eUICC.: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // TC-GEN-2 eUICC: S_Device 与 eUICC 通信已初始化,S_LPAd 已选 ISD-R;eUICC 与 S_SM-DP+ 已成功执行 Common Mutual Authentication;#GET_EUICC_INFO1、#GET_EUICC_CHALLENGE、#AUTHENTICATE_SMDP 已发送;签名与验证选用同一 GSMA CI。: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // SEQ01-IC1 <S_HASHED_CC> = MTD_GENERATE_HASHED_CC(#CONFIRMATION_CODE1, <S_TRANSACTION_ID>)(测试工具侧计算,H_annexC1_methods 表1228): declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // SEQ06-IC-T1 eUICC: No Common Mutual Authentication procedure has been executed between the eUICC and the S_SM-DP+(覆盖本 TC 最后一条 general initial condition): declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
+    var s10 = bind.resetAndAtr();
+    bind.checkData("ICH-SEQ06-IC1-K1-C1 ATR_present", "1", s10.atr_hex !== "" ? "1" : "0");
+
+    // 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 s11 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("ICH-SEQ06-IC1-K2-C2 FCP_Template", "1", s11.resp.length > 0 ? "1" : "0");
+    bind.checkData("ICH-SEQ06-IC1-K2-C4 SW", "9000", s11.sw);
+
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
+    var s12 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("ICH-SEQ06-IC1-K3-C4 SW", "9000", s12.sw);
+
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
+    var steady13 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+    });
+    bind.checkData("ICH-SEQ06-IC1-K4-C4 final SW", "9000", steady13.final.sw);
+
+    // 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 s14 = bind.manageChannelOpen("9000");
+    bind.checkData("ICH-SEQ06-IC2-K1-C4 SW", "9000", s14.sw);
+    bind.checkData("ICH-SEQ06-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s14.chan !== null ? "1" : "0");
+
+    // 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 s15 = 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-SEQ06-IC2-K2-C4 SW", "9000", s15.sw);
+
+    // 步骤 1:SEQ01-1] MTD_STORE_DATA_SCRIPT(tc_step;REQ: RQ31_130, RQ31_135, RQ31_136, RQ57_031, RQ57_036, RQ57_037, RQ57_038)
+    // PREP_DOWNLOAD 运行时绑定(PREP_DOWNLOAD_INVALID_CC;SGP.22 §5.7.5 PrepareDownloadRequest=BF21 成员序 smdpSigned2(30) → smdpSignature2(5F37) → smdpCertificate(30)):
+    //   无前序 cma_decl 源(GIC CMA):transactionId 运行时随机(G Annex B <S_TRANSACTION_ID>,vendor RandHexStr 机制);euiccSignature1 无源→空串,诚实守卫拦截发送(不硬造签名明文)。
+    //   错误注入变体(I_annexD3_es10x):cert=SGP.26 v1.5 变体物料声明面(input/PREP_DOWNLOAD_VARIANT_MATERIALS.json,sha256 锚编译期已核);ccRequiredFlag/签名形态按变体闭集定义。
+    var pd1Certs = ["308201DFA00302010202020101300A06082A8648CE3D04030230443110300E06035504030C07546573742043493111300F060355040B0C0854455354434552543110300E060355040A0C0752535054455354310B3009060355040613024954301E170D3230303430313038333434355A170D3330303333303038333434355A3025310D300B060355040A0C0441434D453114301206035504030C0B5445535420534D2D44502B3059301306072A8648CE3D020106082A8648CE3D03010703420004104C2AE3D02DEF9C979261A7C6710076B970721D0955A2644AE05FAE4BC2314E5DC09F6BF0118026165342E212318775E365F3B57325373066B9906E0BD1388DA381DF3081DC301F0603551D23041830168014F54172BDF98A95D65CBEB88A38A1C11D800A85C3301D0603551D0E04160414E6EAF71EE0FB9430ECCD1EBB421F881437C13263300E0603551D1104073005880388370A300E0603551D0F0101FF04040302078030170603551D200101FF040D300B300906076781120102010530610603551D1F045A3058302AA028A0268624687474703A2F2F63692E746573742E6578616D706C652E636F6D2F43524C2D412E63726C302AA028A0268624687474703A2F2F63692E746573742E6578616D706C652E636F6D2F43524C2D422E63726C300A06082A8648CE3D040302034800304502203EA51B0129FC11E843C38C8CB104244CCF92D8DDBCD4D5F9DAFD0AEF700A9B1C022100FEF382FF71FEFC58168A3607D5685DB7CB48F6B434261891496385BCD6B5857A", "308201E0A00302010202020101300A06082A8648CE3D04030230443110300E06035504030C07546573742043493111300F060355040B0C0854455354434552543110300E060355040A0C0752535054455354310B3009060355040613024954301E170D3230303430313038333434365A170D3330303333303038333434365A3025310D300B060355040A0C0441434D453114301206035504030C0B5445535420534D2D44502B305A301406072A8648CE3D020106092B240303020801010703420004893253ECC94C51DF4FEE6E0DB0951CFC65627481B5418E557069F487FAA15466A5CB8E10CC2B38099CF2A929F7F82DAC065126B71D0640961DB7F91A49E95612A381DF3081DC301F0603551D23041830168014C0BC70BA36929D43B467FF57570530E57AB8FCD8301D0603551D0E04160414A8C68DF449EB71EC723EAC132E40E4B6F54644FE300E0603551D1104073005880388370A300E0603551D0F0101FF04040302078030170603551D200101FF040D300B300906076781120102010530610603551D1F045A3058302AA028A0268624687474703A2F2F63692E746573742E6578616D706C652E636F6D2F43524C2D412E63726C302AA028A0268624687474703A2F2F63692E746573742E6578616D706C652E636F6D2F43524C2D422E63726C300A06082A8648CE3D04030203470030440220244ED22119D00D49D9EA4AC5D9A6D925FACFCD1998A96448A870CE47FE5E470E02206C4BC7223C925D548DDDD3D8DDD81118DA202973311F6012BB0A20E6DD2D7B7B"];
+    var pd1Sks = ["DCD694B778957E8E9ADDBDD94433E9EF8F73D11E491C48D425A38A9491BD3BED", "75FF322F416616DAE1A484EF71D4874FB0DF3295FD35C2CBA489FBB2BB9C7BF6"];
+    var pd1Tid = "";
+    for (var pd1Ri = 0; pd1Ri < 16; pd1Ri++) {
+        pd1Tid += bind.engine.Hex(Math.round(255 * Math.random()), 2);
+    }
+    var pd1Sel = 0;
+    var pd1Sig1 = "";
+    var pd1Dps = [["FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF", "FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC", "5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B", "046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5", "FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"], ["A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377", "7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9", "26DC5C6CE94A4B44F330B5D9BBD77CBF958416295CF7E1CE6BCCDC18FF8C07B6", "048BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997", "A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7"]];
+    if (pd1Sel < 0 || pd1Sig1 === "") {
+        // fail-closed 诚实面:CMA 运行时操作数缺席(CMA 失败/未执行)→ BF21 不发送(前序 CMA 步断言面已计错,本步不伪造通过)。
+        bind.checkData("S1-C2 R_PREP_DOWNLOAD response structure", "1", "pd1_not_executed:cma_operands_absent");
+    } else {
+        bind.engine.InitEccDomainParams(pd1Dps[pd1Sel][0], pd1Dps[pd1Sel][1], pd1Dps[pd1Sel][2], pd1Dps[pd1Sel][3], pd1Dps[pd1Sel][4], 1);
+        var pd1S2 = BindEs10xSingleRequest.buildTlv("30",
+            BindEs10xSingleRequest.buildTlv("80", pd1Tid)
+            + BindEs10xSingleRequest.buildTlv("01", "FF"));
+        var pd1Sgn = "";
+        while (pd1Sgn.length != 2 * pd1Sks[pd1Sel].length) {
+            bind.engine.SleepTime(2000);
+            pd1Sgn = bind.engine.EccSignData(pd1Sks[pd1Sel], pd1S2 + BindEs10xSingleRequest.buildTlv("5F37", pd1Sig1), 33);
…(差异行超限,共 1087 行,此处截断)
### 4.2 UCE/命名对照
  • man:ESIM_TEST_SGP_23.UCE;入口 [('TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE', 'TC_eUICC_ES10b.PrepareDownloadErrorCases', 'Import\\\\ExecuteTestCase_SGP_23.js(TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE)')];参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}
  • cas:TC_eUICC_ES10b_PrepareDownloadErrorCases/TC_eUICC_ES10b_PrepareDownloadErrorCases.uce;入口 [('TC_eUICC_ES10b_PrepareDownloadErrorCases_01_08_Error_all_8_sequences', 'TC_eUICC_ES10b_PrepareDownloadErrorCases', 'Import\\\\ExecuteTestCase_spec.js(TC_eUICC_ES10b_PrepareDownloadErrorCases_01_08_Error_all_8_sequences)')];参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}

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

  • 命令计数:man 55 / cas 5;精确对齐 1,核心(CLA·INS·P1·P2·Lc)同 2,man-only 52,cas-only 2
#-man-cas对齐
100A40004023F0000A40004023F0000core_same
280AA000007A905810083013780AA000007A9058100830107core_same
300700000010070000001exact
—man-only: @RESET, 00C0000020, 8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038, 801200000F, 801400000C810301250082028281830100, 0070000000, 01A4040010A0000005591010FFFFFFFF8900000100, 01C0000021, 81E2910003BF2000, 01C00000A9, 81E2910003BF2E00, 01C0000015
—cas-only: 8010000020FFFFFFFF7F9D00DFBF00001FE20000…0000200, 00A4040010A0000005591010FFFFFFFF8900000100

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

  • spec:/Users/yuhu/cas/原料/切片/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases/spec_intl/SGP.23-v1.16_4.2.10.2.4_PrepareDownloadErrorCases.md(风格:mapping);caseir:/Users/yuhu/cas/experiments/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-20261004_022632/caseir_materialized_gate.json

spec_intl 为人工核订映射表风格(规范步骤 ↔ 厂商脚本实现 ↔ 实跑结果):

规范步骤man 脚本实现man 实跑结果
(前置,非规范步骤)General IC 表 110:空卡+Mutual Auth#01 函数 L9-30:初始化(L9)→ 通道(L12)→ 选 ISD-R(L17)→ GetEUICCInfo1(L22)→ GetEU通过(ttr 步骤1-6,APDU3-88:复位/通道 01/ISD-R 9000(8203020500=RSP V2.5)/BF20 90
IC1 <S_HASHED_CC>=MTD_GENERATE_HASHED_CC(#CONFIRMATION_CODE1, <S_TRANSACTION_ID>)脚本侧无显式哈希计算行——错误注入为省略 hashedCC(见下行),hashedCC 生成由规范 IC 声明、厂商实现以"置 cc(无对应 APDU——构造型 IC)
1 MTD_STORE_DATA_SCRIPT(#PREP_DOWNLOAD_INVALID_CC) → SW≠9000 无响应 或 SW=9000+downloadResponseError(析取)T1 L32-36:ccRequiredFlag="FF"(L33)+PrepareDownloadisErrorTest=true通过(ttr 步骤7,APDU91 请求 BF2182029330…080101FF…(ccRequiredFlag=TRUE 在场、h
(收尾,非规范步骤)RecoverCard()(L38)通过(T2 APDU118-221:复位→MemoryReset BF3403800100→列表归空 BF2D02A000→通知清零→通道关

cas CaseIR 步骤/检查:

步动作checksREQ
1[SEQ01-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_INVALID_CC)["S1-C1", "S1-C2", "S1-C3"]["RQ31_130", "RQ31_135", "RQ31_136", "RQ57_031", "RQ57_036", "RQ57_037", "RQ57_038"]
2[SEQ02-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_INV_CERT)["S2-C1", "S2-C2", "S2-C3"]["RQ31_130", "RQ31_131", "RQ31_136", "RQ57_027", "RQ57_030", "RQ57_031", "RQ57_036", "RQ57_037", "RQ57_038", "RQ45_006", "RQ45_026_1", "RQ45_026", "RQ45_028"]
3[SEQ03-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_CERT_SMDP2)["S3-C1", "S3-C2", "S3-C3"]["RQ31_130", "RQ31_132", "RQ31_136", "RQ57_029", "RQ57_031", "RQ57_036", "RQ57_037", "RQ57_038", "RQ45_006", "RQ45_026_1", "RQ45_026", "RQ45_028"]
4[SEQ04-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_INV_SIGN)["S4-C1", "S4-C2", "S4-C3"]["RQ31_130", "RQ31_133", "RQ31_136", "RQ57_028", "RQ57_031", "RQ57_036", "RQ57_038", "RQ45_006", "RQ45_026_1", "RQ45_026", "RQ45_028"]
5[SEQ05-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_INV_TRANS_ID)["S5-C1", "S5-C2", "S5-C3"]["RQ31_130", "RQ31_134", "RQ31_136", "RQ57_025", "RQ57_031", "RQ57_036", "RQ57_037", "RQ57_038"]
6[SEQ06-IC3] MTD_STORE_DATA( #GET_EUICC_INFO1)["S6-C1", "S6-C2", "S6-C3"][]
7[SEQ06-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_NO_AUTH)["S7-C1", "S7-C2", "S7-C3"]["RQ31_130", "RQ31_136", "RQ57_031", "RQ57_026", "RQ57_036", "RQ57_037", "RQ57_038"]
8[SEQ07-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWN_INV_CURVE)["S8-C1", "S8-C2", "S8-C3"]["RQ31_130", "RQ31_134", "RQ31_136", "RQ57_025", "RQ57_031", "RQ57_036", "RQ57_037", "RQ57_038", "RQ45_006", "RQ45_026_1", "RQ45_026", "RQ45_028"]
9[SEQ08-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_INV_OID)["S9-C1", "S9-C2", "S9-C3"]["RQ31_130", "RQ31_131", "RQ31_136", "RQ57_027", "RQ57_030", "RQ57_031", "RQ57_036", "RQ57_037", "RQ57_038", "RQ45_006", "RQ45_026_1", "RQ45_026", "RQ45_028", "RQ45_030"]

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

  • cas:NO_MECHANICAL_GAPS(全步有检查=True;REQ 全覆盖=True;ErrorCount==0=False)
  • cas 物化核对(启发式旁证,权威见下行 attestation):声明检查 27 项 / 生成体 checkData 41 次 / S 标号重合 17 / 计数缺口 0 / 形态 FULL;执行面 FAIL(计数缺口须结合绑定层隐含断言核验,非直接判缺陷)
  • cas 编译器自证(check_attestation,同批构建):声明 None = js 25 + binding 10 + gap 0;缺口判定以本行为权威(启发式计数仅旁证)
  • binding 覆盖示例:S1-C1→binding:prep_download_variant_error_status_disjunctive(error-swp;S1-C3→binding:prep_download_variant_error_no_response(ANY_SW_IN_ERROR;;S2-C3→binding:prep_download_response_tid_echo(request-S_TRANSACTION_ID;S3-C3→binding:prep_download_response_tid_echo(request-S_TRANSACTION_ID;S4-C3→binding:prep_download_response_tid_echo(request-S_TRANSACTION_ID
  • cas 注释面登记检查(未以 checkData 物化、代码内有注释说明):['S1-C1', 'S1-C3', 'S2-C3', 'S3-C3', 'S4-C3', 'S5-C3', 'S6-C3', 'S7-C3', 'S8-C3', 'S9-C3']
  • man:映射行 4;TTR 期望/实际回声 84;厂商工具内置审计(TTR 期望/实际回声行为证据);脚本字节级充分性不可完全外部验证
  • caseir open_items:
  • 各类错误证书变体(INV_SIGN/DP2pb/DPauth/INV_CURVE)字节在 SGP.26 bundle(不在输入包);签名类动态值(<S_SM_DP+_SIGNATURE2>/<RANDOM_SM_DP+_SIGN>)由测试工具运行时计算。
  • SEQ01 的两种可接受结局(错误 SW 无数据 / 9000+downloadResponseError)为规范明文开放性断言,执行侧取实际结局判读;具体错误 SW 与 downloadErrorCode 值语料未给。
  • SEQ06-IC3 提取的最高优先级 CI 与其曲线决定 #CERT_S_SM_DPpb_ECDSA 选择(编排逻辑已录 dynamic_extracts/cross_step_refs)。
  • 各步 REQ 列中 RQ31_136 重复出现(源文如此),req_ids 已去重,在此登记。
  • 每个测试序列执行后须执行 clean-up(CU)恢复 Common Initial State(D_tc_structure_notation 行50),编排责任。
  • R2 闭合:SEQ06-IC3 #GET_EUICC_INFO1 请求 DER=BF2000 逐字节落地;错误响应结构(BF21+transactionId[0]+downloadErrorCode 枚举)闭合。#AUTHENTICATE_SMDP(互认证前置)ASN.1 段未随包,其 DER 仍真空(属前置编排)。

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

轴计数说明
RUN_DIFF1man 通过 / cas 失败
SCRIPT_DIALECT108闭包文件差:man-only 3 / cas-only 51;命令序列差:man-only 52 / cas-only 2
  • 置信度:heuristic;需人工复核:False

8. 证据路径

  • man 包:../packages/man/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-man.zip
  • man TTR:/Users/yuhu/cas/原料/切片/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases/logs/20260909_001237_ok/result/ESIM_TEST_SGP_23/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE.ttr
  • cas 包/源:../packages/cas/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-cas.zip
  • cas TTR:/Users/yuhu/cas/experiments/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-20261004_022632/logs/cd245ddb_gapfix1/result/TC_eUICC_ES10b_PrepareDownloadErrorCases/TC_eUICC_ES10b_PrepareDownloadErrorCases_01_08_Error_all_8_sequences.ttr
  • spec_intl:/Users/yuhu/cas/原料/切片/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases/spec_intl/SGP.23-v1.16_4.2.10.2.4_PrepareDownloadErrorCases.md
  • caseir:/Users/yuhu/cas/experiments/4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-20261004_022632/caseir_materialized_gate.json
  • step_map:—