# 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 | 源类型 | 入口用例 |
|---|---|---|---|---|
| `-man` | 4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-man.zip | `6598c4036f5a0e983c83ce1c22e3f325e77fa57f2828541e13f752f316923847` | zip | TC_eUICC_ES10b_PrepareDownloadErrorCases_01_Error_No_Hashed_Confirmation_Code_but_with_Confirmation_Code_Required_Flag_set_to_TRUE |
| `-cas` | 4.2.10.2.4-TC_eUICC_ES10b.PrepareDownloadErrorCases-cas.zip | `0c5e45d78fb455aea3b282c6396f7782796baf7e8ed3d2d090c0b959a05ecd29` | zip | — |

- 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/终态）

| 侧 | 终态/计划 | 备注 | ErrorCount | job_id | 业务状态 | TTR | 诊断包 |
|---|---|---|---|---|---|---|---|
| `-man` | `ok` | `_ok` 复用（结构 A1-A7 PASS；`_ok` run 无厂商错误行） | 0 | `20260909_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` | `—` |
| `-cas` | `failed` | 纯 native 零卡态前置（N0） | 21 | `cd245ddb028f4904950a266393dfb27e` | — | `/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-html/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-html/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 |

<details><summary>unified diff（截断预览）</summary>

```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 行，此处截断）
```

</details>
### 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` | 对齐 |
|---|---|---|---|
| 1 | `00A40004023F00` | `00A40004023F0000` | core_same |
| 2 | `80AA000007A9058100830137` | `80AA000007A9058100830107` | core_same |
| 3 | `0070000001` | `0070000001` | exact |
| — | 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 步骤/检查：

| 步 | 动作 | checks | REQ |
|---|---|---|---|
| 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_DIFF` | 1 | man 通过 / cas 失败 |
| `SCRIPT_DIALECT` | 108 | 闭包文件差：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：`—`

