# 4.2.10.2.1 TC_eUICC_ES10b.PrepareDownloadNIST — `-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.1-TC_eUICC_ES10b.PrepareDownloadNIST-man.zip | `37d8b82f0d55bdce3701e567f221cd5c1e4e00bb7a56e31de944ac866781fbb0` | zip | TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code |
| `-cas` | 4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-cas.zip | `6e95dbbf142d875fbbc8c67d69695342c697324d11961027c5f605d7fbb99ba4` | zip | — |

- man 源路径：`../../packages/man/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-man.zip`
- cas 源路径：`../../packages/cas/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-cas.zip`
- 上游来源：{"man_ledger": true, "cas_ledger": true, "naming_map": true, "html_probe": true, "man_package": true, "cas_package": true}
- 适用性：naming-map=`C001` ["C001", "C001", "C001", "C001", "C001"]；caseir=`C001`

## 2. 执行摘要（双方 job/终态）

| 侧 | 终态/计划 | 备注 | ErrorCount | job_id | 业务状态 | TTR | 诊断包 |
|---|---|---|---|---|---|---|---|
| `-man` | `ok` | `_ok` 复用（结构 A1-A7 PASS；`_ok` run 无厂商错误行） | 0 | `20261007_115144:24f9f7cc78974b00b148b06ba6eb95fb` | — | `/Users/yuhu/cas/原料/切片/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST/logs/20260907_183703_ok/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code.ttr` | `—` |
| `-cas` | `failed` | 纯 native 零卡态前置（N0） | 5 | `27ac67b68d3a401dbc5b357e2cdf5e73` | — | `/Users/yuhu/cas/experiments/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-20261004_022631/logs/27ac67b6_gapfix1/result/TC_eUICC_ES10b_PrepareDownloadNIST/TC_eUICC_ES10b_PrepareDownloadNIST_01_03_Nominal_all_3_sequences.ttr` | `—` |
- cas 块4账本：decision=`RERUN`；route=`native_N0`；live 事件 2 条（4.6 波次进行中；以块4终版账本为准）
- cas 4.6 波次最新执行：terminal=`failed`；stage=`cas_gapfix_rerun`；job=`27ac67b68d3a401dbc5b357e2cdf5e73`；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.1/man/TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code.html`；sha256 `5f99f57bcfaef15b760cd7613ee42ab7d06cc7be8f4624aeaca1e2942ee1820d`；119546 bytes）
- `-cas`：**NATIVE**（`../../evidence-html/4.2.10.2.1/cas/TC_eUICC_ES10b_PrepareDownloadNIST.html`；sha256 `36894e131a166e29baf761b09502630b3f801e659479f74fe9749f1ee68112ab`；1258 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 165 / cas 300；字符：man 5945 / cas 30625
- man 顶层调用 Top：[["TestStepStart2", 21], ["TC_eUICC_ES10b_PrepareDownload_03_Nominal_With_an_unknown_otPK_EUICC_ECKA", 3], ["check_Applicability_of_tests_RSP_SGP23_test", 3], ["TraceStart", 3], ["Ini_powerOn_eUICC_LPAe_not_activate", 3], ["TS_MANAGE_CHANNEL_OPEN", 3], ["TS_SELECT", 3], ["RSP_profile_load_procedure_LPAd", 3], ["ES10b_GetEUICCInfo1", 3], ["ES10b_GetEUICCChallenge", 3]]
- cas bind 调用：[["checkData", 15]]

| 方言映射对 | 命中数 |
|---|---|
| TS_*_cmd() ↔ bind.* 命令封装 | 6 |

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

```diff
--- man
+++ cas
@@ -1,164 +1,299 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code + TC_eUICC_ES10b_PrepareDownloadNIST_02_Nominal_With_Confirmation_Code + TC_eUICC_ES10b_PrepareDownloadNIST_03_Nominal_With_an_unknown_otPK_EUICC_ECKA + TC_eUICC_ES10b_PrepareDownload_01_Nominal_Without_Confirmation_Code + TC_eUICC_ES10b_PrepareDownload_02_Nominal_With_Confirmation_Code + TC_eUICC_ES10b_PrepareDownload_03_Nominal_With_an_unknown_otPK_EUICC_ECKA (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20261005-152741
+// Function: （purpose 原文未由 SGP.23 该 TC 提供，corpus vacuum 登记）TC_eUICC_ES10b.PrepareDownloadNIST，Test Sequence #01-#03 Nominal (all 3 sequences)，适用性 C001。
+// Test points: S1-C1 SW；S1-C2 R_PREP_DOWNLOAD response structure；S1-C2 R_PREP_DOWNLOAD outer tag
+//   S1-C2 R_PREP_DOWNLOAD required members present；S2-C1 SW
+//   S2-C2 R_PREP_DOWNLOAD response structure；S2-C2 R_PREP_DOWNLOAD outer tag
+//   S2-C2 R_PREP_DOWNLOAD required members present；S3-C1 SW
+//   S3-C2 R_PREP_DOWNLOAD response structure；S3-C2 R_PREP_DOWNLOAD outer tag
+//   S3-C2 R_PREP_DOWNLOAD required members present
+// 本函数由 CaseIR 4.2.10.2.1 编译生成（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).
+// 适用性 C001：编译期门，运行时由 harness 环境前置承担。
+// PRECONDITION (declared, NOT compiled): initial_conditions 缺语料过程体（Annex C.2 absent from input package, corpus vacuum）: IC 序列属测试工具/卡态编排责任，本脚本不虚构初始化步骤；语义影响见 CaseIR open_items。
+// TC-GEN-1 eUICC: The PROFILE_OPERATIONAL1 is not loaded on the eUICC.: declared unexpanded (no fabricated bytes; provenance = expansion_source).
+// 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 已发送；签名与验证选用同一基于 NIST P-256 的 GSMA CI。: declared unexpanded (no fabricated bytes; provenance = expansion_source).
+// SEQ02-IC1 <S_HASHED_CC> = MTD_GENERATE_HASHED_CC(#CONFIRMATION_CODE1, <S_TRANSACTION_ID>)（测试工具侧计算，H_annexC1_methods 表1228：SHA-256(CC) 拼接 TransactionID 后再 SHA-256）: declared unexpanded (no fabricated bytes; provenance = expansion_source).
+// SEQ03-IC1 <S_HASHED_CC> = MTD_GENERATE_HASHED_CC(#CONFIRMATION_CODE1, <S_TRANSACTION_ID>): declared unexpanded (no fabricated bytes; provenance = expansion_source).
+// SEQ03-IC2 S_SM-DP+ generates a random <OTPK_EUICC_ECKA>（随机值，与 eUICC 存储的一次性密钥对不对应）: declared unexpanded (no fabricated bytes; provenance = expansion_source).
+function TC_eUICC_ES10b_PrepareDownloadNIST_01_03_Nominal_all_3_sequences() {
+    var bind = curBind;
 
-function TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code()
-{
+    // 步骤 1：SEQ01-1] MTD_STORE_DATA_SCRIPT（tc_step；REQ: RQ31_130, RQ31_131, RQ31_132, RQ31_133, RQ31_134, RQ31_135, RQ31_139, RQ31_140, RQ31_141, RQ57_025, RQ57_026, RQ57_027, RQ57_028, RQ57_029, RQ57_030, RQ57_034, RQ57_035, RQ57_036, RQ57_037, RQ57_038, RQ57_039, RQ26_029, RQ26_030, RQ26_011, RQ26_034, RQ26_035, RQ31_062）
+    // PREP_DOWNLOAD 运行时绑定（PREP_DOWNLOAD_NO_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 无源→空串，诚实守卫拦截发送（不硬造签名明文）。
+    //   DPpb cert/SK＝named_certs/named_sks 声明面（sha256 锚编译期已核；曲线套索引＝CI 选择同号——同一 GSMA CI 链）。
+    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-C1 SW", "9000", "pd1_not_executed:cma_operands_absent");
+        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", "00"));
+        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);
+        }
+        var pd1Req = BindEs10xSingleRequest.buildTlv("BF21",
+            pd1S2
+            + BindEs10xSingleRequest.buildTlv("5F37", pd1Sgn)
+            + BindEs10xSingleRequest.buildTlv("30", pd1Certs[pd1Sel]));
+        var pd1Run = BindEs10xSingleRequest.runTransport(bind.sendApdu,
+            {cla: "", ins: "E2", p1: "91", p2: "00", data: pd1Req,
+             le: "00", blockSize: 255, blockSw: "9000", final_sw: "9000"});
+        var pd1Sw = (pd1Run.final && pd1Run.final.sw) ? pd1Run.final.sw : "transport_error";
+        bind.checkData("S1-C1 SW", "9000", pd1Sw);
+        // euiccOtpk（5F49）运行时提取面登记：响应 ok 分支 euiccSigned2 成员（BF21 A0 30 5F49 路径），供后续步（RETRY 形 bppEuiccOtpk/BPP 装配）消费。
+        var pd1Otpk = "";
+        if (pd1Run.final && pd1Run.final.resp) {
+            var pd1L1 = BindEs10xSingleRequest.parseBerTlv(pd1Run.final.resp);
+            for (var pd1I1 = 0; pd1I1 < pd1L1.length && pd1Otpk === ""; pd1I1++) {
+                if (pd1L1[pd1I1].tag !== "BF21") continue;
+                var pd1L2 = BindEs10xSingleRequest.parseBerTlv(pd1L1[pd1I1].value);
+                for (var pd1I2 = 0; pd1I2 < pd1L2.length && pd1Otpk === ""; pd1I2++) {
+                    if (pd1L2[pd1I2].tag !== "A0") continue;
+                    var pd1L3 = BindEs10xSingleRequest.parseBerTlv(pd1L2[pd1I2].value);
+                    for (var pd1I3 = 0; pd1I3 < pd1L3.length && pd1Otpk === ""; pd1I3++) {
+                        if (pd1L3[pd1I3].tag !== "30") continue;
+                        var pd1L4 = BindEs10xSingleRequest.parseBerTlv(pd1L3[pd1I3].value);
+                        for (var pd1I4 = 0; pd1I4 < pd1L4.length; pd1I4++) {
+                            if (pd1L4[pd1I4].tag === "5F49") pd1Otpk = pd1L4[pd1I4].value;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    // R_PREP_DOWNLOAD 响应结构（S22_prep_dl §5.7.5 行 77-111：外层 BF21 CHOICE；downloadResponseOk A0{euiccSigned2 30{80,5F49}, euiccSignature2 5F37}）：运行时域，仅结构与在场性断言。
+    var pd1RSR = (pd1Run.final && pd1Run.final.resp) ? BindEs10xSingleRequest.parseBerTlv(pd1Run.final.resp) : [];
+    var pd1RSOuter = pd1RSR.length === 1 ? pd1RSR[0].tag : "absent";
+    var pd1RSBr = pd1RSR.length === 1 ? BindEs10xSingleRequest.parseBerTlv(pd1RSR[0].value) : [];
+    var pd1RSA0 = false, pd1RSA1 = false, pd1RSCk = [];
+    for (var pd1RSi = 0; pd1RSi < pd1RSBr.length; pd1RSi++) {
+        if (pd1RSBr[pd1RSi].tag === "A0") { pd1RSA0 = true; pd1RSCk = BindEs10xSingleRequest.parseBerTlv(pd1RSBr[pd1RSi].value); }
+        if (pd1RSBr[pd1RSi].tag === "A1") { pd1RSA1 = true; pd1RSCk = BindEs10xSingleRequest.parseBerTlv(pd1RSBr[pd1RSi].value); }
+    }
+    var pd1RS30 = false, pd1RS5F37 = false, pd1RS80 = false, pd1RS02 = false;
+    for (var pd1RSj = 0; pd1RSj < pd1RSCk.length; pd1RSj++) {
+        if (pd1RSCk[pd1RSj].tag === "30") pd1RS30 = true;
+        if (pd1RSCk[pd1RSj].tag === "5F37") pd1RS5F37 = true;
+        if (pd1RSCk[pd1RSj].tag === "80") pd1RS80 = true;
+        if (pd1RSCk[pd1RSj].tag === "02") pd1RS02 = true;
+    }
+    var pd1RS5F49 = false;
+    if (pd1RS30) {
+        for (var pd1RSk = 0; pd1RSk < pd1RSCk.length; pd1RSk++) {
+            if (pd1RSCk[pd1RSk].tag !== "30") continue;
+            var pd1RSU = BindEs10xSingleRequest.parseBerTlv(pd1RSCk[pd1RSk].value);
+            for (var pd1RSm = 0; pd1RSm < pd1RSU.length; pd1RSm++) {
+                if (pd1RSU[pd1RSm].tag === "5F49") pd1RS5F49 = true;
+                if (pd1RSU[pd1RSm].tag === "80") pd1RS80 = true;
+            }
+        }
+    }
+    bind.checkData("S1-C2 R_PREP_DOWNLOAD outer tag", "BF21", pd1RSOuter);
+    bind.checkData("S1-C2 R_PREP_DOWNLOAD required members present", "1", (pd1RSA0 && pd1RS30 && pd1RS80 && pd1RS5F49 && pd1RS5F37) ? "1" : "0");
+    // S1-C3: binding:euicc_signature2_runtime_verify(PK_EUICC_ECDSA;S22_prep_dl) (check_attestation)
+    // S1-C4: binding:prep_download_response_tid_echo(request-S_TRANSACTION_ID;S22_prep_dl) (check_attestation)
 
-	if(!Card_Have_ECC_Cert)
-		return;
+    // 步骤 2：SEQ02-1] MTD_STORE_DATA_SCRIPT（tc_step；REQ: RQ31_130, RQ31_131, RQ31_132, RQ31_133, RQ31_134, RQ31_135, RQ31_139, RQ31_140, RQ31_141, RQ57_025, RQ57_026, RQ57_027, RQ57_028, RQ57_029, RQ57_030, RQ57_034, RQ57_035, RQ57_036, RQ57_037, RQ57_038, RQ57_039, RQ26_029, RQ26_030, RQ26_011, RQ26_034, RQ26_035, RQ31_062）
+    // PREP_DOWNLOAD 运行时绑定（PREP_DOWNLOAD_WITH_CC；SGP.22 §5.7.5 PrepareDownloadRequest=BF21 成员序 smdpSigned2(30) → smdpSignature2(5F37), hashCc 04 → smdpCertificate(30)）：
…（差异行超限，共 462 行，此处截断）
```

</details>
### 4.2 UCE/命名对照

- man：`ESIM_TEST_SGP_23.UCE`；入口 [('TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code', 'TC_eUICC_ES10b.PrepareDownloadNIST', 'Import\\\\ExecuteTestCase_SGP_23.js(TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code)')]；参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}
- cas：`TC_eUICC_ES10b_PrepareDownloadNIST/TC_eUICC_ES10b_PrepareDownloadNIST.uce`；入口 [('TC_eUICC_ES10b_PrepareDownloadNIST_01_03_Nominal_all_3_sequences', 'TC_eUICC_ES10b_PrepareDownloadNIST', 'Import\\\\ExecuteTestCase_spec.js(TC_eUICC_ES10b_PrepareDownloadNIST_01_03_Nominal_all_3_sequences)')]；参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}

## 5. L2 步骤/APDU/step_map 差异（结构化对齐）

- 命令计数：man 55 / cas 0；精确对齐 0，核心（CLA·INS·P1·P2·Lc）同 0，man-only 55，cas-only 0

| # | `-man` | `-cas` | 对齐 |
|---|---|---|---|
| — | man-only: `@RESET`, `00A40004023F00`, `00C0000020`, `80AA000007A9058100830137`, `8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038`, `801200000F`, `801400000C810301250082028281830100`, `0070000000`, `0070000001`, `01A4040010A0000005591010FFFFFFFF8900000100`, `01C0000021`, `81E2910003BF2000` | | |

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

- spec：/Users/yuhu/cas/原料/切片/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST/spec_intl/SGP.23-v1.16_4.2.10_PrepareDownloadNIST.md（风格：mapping）；caseir：`/Users/yuhu/cas/experiments/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-20261004_022631/caseir_materialized_gate.json`

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

| 规范步骤 | man 脚本实现 | man 实跑结果 |
|---|---|---|
| General IC 链（选 ISD-R＋Common Mutual Authentication：#GET_EUICC_INFO1/#GET_EUICC_CHALLENGE/#AUTHENTICATE_SMDP 已发；NIST CI 选定） | 壳 L3-17（C001 门禁 L10＋`pkId_CI_ECDSA_NIST` 注入 L13-14）→ 基底 L50-79：`Ini_po | 通过（步骤 1-6＝APDU3/27/33/39/45/51 起全链绿；AuthenticateServer euiccSigned1 验签 |
| 1 `MTD_STORE_DATA_SCRIPT(#PREP_DOWNLOAD_NO_CC)` → #R_PREP_DOWNLOAD_NO_CC＋SW=0x9000 | `Profile_load_procedure.ES10b_PrepareDownload()`（L79，无 CC 参数缺省形态，链式 ST | 通过（请求 BF21…APDU91-98 链式下发 SW=9000（APDU93/94、100/101、108/109）；响应 `BF218 |
| 1 断言 a：\<EUICC_SIGNATURE2\> 用 #PK_EUICC_ECDSA 验签 | `Euicc_RSP_Verify`（装载过程库内部，NIST CI 公钥验签） | 通过（**卡片返回签名数据正确**（APDU113）＝EUICC_SIGNATURE2 验签通过） |
| 1 断言 b：euiccSigned2 中 \<S_TRANSACTION_ID\> 与 #PREP_DOWNLOAD_NO_CC 相同 | 过程库 transactionId 回显比对 | 通过（transactionId 期望值=实际值 `2D67D02ABD64907C7BB7CC2EBACF2FC3`（APDU111/11 |
| （收尾，非规范步骤） | `RecoverCard()`（L81） | 通过（Transaction 2 APDU114-219：复位→MemoryReset 删 OP/TP＋Reset default SM-D |

cas CaseIR 步骤/检查：

| 步 | 动作 | checks | REQ |
|---|---|---|---|
| 1 | [SEQ01-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_NO_CC) | ["S1-C1", "S1-C2", "S1-C3", "S1-C4"] | ["RQ31_130", "RQ31_131", "RQ31_132", "RQ31_133", "RQ31_134", "RQ31_135", "RQ31_139", "RQ31_140", "RQ31_141", "RQ57_025", "RQ57_026", "RQ57_027", "RQ57_028", "RQ57_029", "RQ57_030", "RQ57_034", "RQ57_035", "RQ57_036", "RQ57_037", "RQ57_038", "RQ57_039", "RQ26_029", "RQ26_030", "RQ26_011", "RQ26_034", "RQ26_035", "RQ31_062"] |
| 2 | [SEQ02-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_WITH_CC) | ["S2-C1", "S2-C2", "S2-C3", "S2-C4", "S2-C5"] | ["RQ31_130", "RQ31_131", "RQ31_132", "RQ31_133", "RQ31_134", "RQ31_135", "RQ31_139", "RQ31_140", "RQ31_141", "RQ57_025", "RQ57_026", "RQ57_027", "RQ57_028", "RQ57_029", "RQ57_030", "RQ57_034", "RQ57_035", "RQ57_036", "RQ57_037", "RQ57_038", "RQ57_039", "RQ26_029", "RQ26_030", "RQ26_011", "RQ26_034", "RQ26_035", "RQ31_062"] |
| 3 | [SEQ03-1] MTD_STORE_DATA_SCRIPT( #PREP_DOWNLOAD_RETRY_CC) | ["S3-C1", "S3-C2", "S3-C3", "S3-C4", "S3-C5", "S3-C6"] | ["RQ31_130", "RQ31_131", "RQ31_132", "RQ31_133", "RQ31_134", "RQ31_135", "RQ31_139", "RQ31_140", "RQ31_141", "RQ31_138", "RQ57_025", "RQ57_026", "RQ57_027", "RQ57_028", "RQ57_029", "RQ57_030", "RQ57_034", "RQ57_035", "RQ57_036", "RQ57_037", "RQ57_038", "RQ57_039", "RQ57_033", "RQ26_029", "RQ26_030", "RQ26_011", "RQ26_034", "RQ26_035"] |

### 6.1 充分性分析（启发式，不作最终裁定）

- cas：`NO_MECHANICAL_GAPS`（全步有检查=True；REQ 全覆盖=False；ErrorCount==0=False）
- cas 物化核对（启发式旁证，权威见下行 attestation）：声明检查 15 项 / 生成体 checkData 15 次 / S 标号重合 6 / 计数缺口 0 / 形态 `EXPANDED`；执行面 `FAIL`（计数缺口须结合绑定层隐含断言核验，非直接判缺陷）
- **cas 编译器自证（check_attestation，同批构建）**：声明 None = js 6 + binding 9 + gap 0；缺口判定以本行为权威（启发式计数仅旁证）
  - binding 覆盖示例：`S1-C3`→binding:euicc_signature2_runtime_verify(PK_EUICC_ECDSA;S22_prep_；`S1-C4`→binding:prep_download_response_tid_echo(request-S_TRANSACTION_ID；`S2-C3`→binding:euicc_signature2_runtime_verify(PK_EUICC_ECDSA;S22_prep_；`S2-C4`→binding:prep_download_response_tid_echo(request-S_TRANSACTION_ID；`S2-C5`→binding:prep_download_response_hashcc_echo(request-S_HASHED_CC;S
- cas 注释面登记检查（未以 checkData 物化、代码内有注释说明）：['S1-C3', 'S1-C4', 'S2-C3', 'S2-C4', 'S2-C5', 'S3-C3', 'S3-C4', 'S3-C5', 'S3-C6']
- man：映射行 5；TTR 期望/实际回声 82；厂商工具内置审计（TTR 期望/实际回声行为证据）；脚本字节级充分性不可完全外部验证
- REQ 声明面 vs caseir 引用面差异（8 项，非等价缺口判定）：['RQ31_136', 'RQ31_137', 'RQ45_006', 'RQ45_026', 'RQ45_026_1', 'RQ45_028', 'RQ45_030', 'RQ57_031']
- caseir open_items：
  - <S_TRANSACTION_ID> 由前置 RSP 会话确立（G_annexB 行113），本 TC 步表无提取点。
  - <OTPK_EUICC_ECKA>（响应 euiccSigned2.euiccOtpk）供后续 LoadBoundProfilePackage/BPP 流程使用，本 TC 内无消费步。
  - #CERT_S_SM_DPpb_ECDSA 与 <S_SM_DP+_SIGNATURE2> 依赖 SGP.26 测试证书/密钥 bundle 与运行时签名计算，均不在输入包。
  - Conformance Requirements 列出的 RQ31_136/RQ31_137/RQ45_006/RQ45_026_1/RQ45_026/RQ45_028/RQ45_030 不在本 TC 各步 REQ 列、REQ 行亦不在输入包（应属 4.2.10 其他 TC），不强行映射。
  - 每个测试序列执行后须执行 clean-up（CU）恢复 Common Initial State（D_tc_structure_notation 行50），编排责任。
  - R2 闭合：前置交互中 #GET_EUICC_CHALLENGE(BF2E00)/#GET_EUICC_INFO1(BF2000) 请求编码已闭合（K_annexC2_procs + S22_challenge/S22_info）；#AUTHENTICATE_SMDP 的 ASN.1 段（SGP.22 5.7.x AuthenticateServer）未随包发放，其请求 DER 仍真空（属编排前置，非步表步骤）。

## 7. 分类结论（封闭枚举）

| 轴 | 计数 | 说明 |
|---|---|---|
| `RUN_DIFF` | 1 | man 通过 / cas 失败 |
| `SCRIPT_DIALECT` | 54 | 闭包文件差：man-only 3 / cas-only 51 |
| `GEN_DIFF` | 63 | 命令序列差：man-only 55 / cas-only 0；REQ 覆盖缺口：['RQ31_136', 'RQ31_137', 'RQ45_006', 'RQ45_026', 'RQ45_026_1', 'RQ45_028', 'RQ45_030', 'RQ57_031'] |

- 置信度：heuristic；需人工复核：False

## 8. 证据路径

- man 包：`../../packages/man/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-man.zip`
- man TTR：`/Users/yuhu/cas/原料/切片/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST/logs/20260907_183703_ok/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES10b_PrepareDownloadNIST_01_Nominal_Without_Confirmation_Code.ttr`
- cas 包/源：`../../packages/cas/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-cas.zip`
- cas TTR：`/Users/yuhu/cas/experiments/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-20261004_022631/logs/27ac67b6_gapfix1/result/TC_eUICC_ES10b_PrepareDownloadNIST/TC_eUICC_ES10b_PrepareDownloadNIST_01_03_Nominal_all_3_sequences.ttr`
- spec_intl：`/Users/yuhu/cas/原料/切片/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST/spec_intl/SGP.23-v1.16_4.2.10_PrepareDownloadNIST.md`
- caseir：`/Users/yuhu/cas/experiments/4.2.10.2.1-TC_eUICC_ES10b.PrepareDownloadNIST-20261004_022631/caseir_materialized_gate.json`
- step_map：`—`

