源码对照:4.2.21.2.1
ES10c 启用 Profile(Case 3) / TC_eUICC_ES10c.EnableProfile_Case3
左侧为人工切片入口(-man,来自 原料/切片 的最小可执行脚本),右侧为 Cas 盲生成入口(-cas,仅依据规范生成)。文件按原始编码(多为 GBK)解码为 UTF-8 显示,行号自 1 起;字节级原文与 sha256 见两侧脚本包。完整 unified diff 见本页底部折叠区,以及 报告原文 §4。
-man 入口
Import/TestCase_SGP_23.js
982 行 / 38489 字符 / gb18030
-cas 入口
TC_eUICC_ES10c_EnableProfile_Case3/Import/TC_eUICC_ES10c_EnableProfile_Case3.js
119 行 / 8812 字符 / gb18030
默认折行显示长行;取消勾选可横向滚动查看原始行宽
-man 人工切片Import/TestCase_SGP_23.js982 行 / 38489 字符 / gb18030入口函数 @L3
1// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported (extracted verbatim)
2
3function TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
4{
5 initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
6 var ISD_P_Test01 = curProfile_ISD_P_AID;
7
8 tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ISD-P AID激活profile,并设置refreshFlag";
9 curDis.TraceStart(sno++,tracenamestr);
10
11 curLogicChannel = 0;
12 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
13 Ini_powerOn_eUICC_LPAe_not_activate();
14
15 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
16 TS_MANAGE_CHANNEL_OPEN();
17
18 curLogicChannel = 1;
19
20 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
21 TS_SELECT("Select ISD",ISD_R_AID,"9000");
22
23
24 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
25 var enableProRequest = new EnableProfileRequest();
26 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
27 enableProRequest.refreshFlag = BooleanValue_BerCode_True;
28 enableProRequest.GenHexData();
29 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
30 curStrHandle.CheckData("", respData, "EnableProfileResponse");
31
32
33 curLogicChannel = 0;
34 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
35
36 FetchStr = Fetch("","9000","");
37
38 var CmdDetails = GetValueByTag("01",1);
39 var CmdQualifier = CmdDetails.substr(4,2);
40 CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
41
42 curLogicChannel = 0;
43 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
44 Ini_powerOn_eUICC_LPAe_not_activate();
45
46 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
47 TS_MANAGE_CHANNEL_OPEN();
48
49 curLogicChannel = 1;
50
51 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
52 TS_SELECT("Select ISD",ISD_R_AID,"9000");
53
54 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
55 var proInfoListRequest = new ProfileInfoListRequest();
56 proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
57 proInfoListRequest.tagList = "5A4F9F70";
58 proInfoListRequest.GenHexData();
59 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
60
61
62 var proInfoListResponse = new ProfileInfoListResponse();
63 proInfoListResponse.checkCardResDataFormat(respData);
64
65 try
66 {
67 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
68 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
69 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
70 }catch(e){
71 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
72 }
73
74 curLogicChannel = 0;
75 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
76 var para1 = new SelectFileEFPara_3G("2FE2");
77 para1.apdu.ressw = "9000";
78 SendAPDU(para1.apdu);
79
80 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
81 var para1 = new ReadBinaryPara_3G("00","00","0A");
82 para1.apdu.resvalue = ICCID_OP_PROF1;
83 SendAPDU(para1.apdu);
84
85 RecoverCard();
86
87
88}
89
90function TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
91{
92 initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
93 var ISD_P_Test01 = curProfile_ISD_P_AID;
94
95 tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ICCID激活profile,并设置refreshFlag";
96 curDis.TraceStart(sno++,tracenamestr);
97
98 curLogicChannel = 0;
99 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
100 Ini_powerOn_eUICC_LPAe_not_activate();
101
102 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
103 TS_MANAGE_CHANNEL_OPEN();
104
105 curLogicChannel = 1;
106
107 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
108 TS_SELECT("Select ISD",ISD_R_AID,"9000");
109
110
111 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
112 var enableProRequest = new EnableProfileRequest();
113 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
114 enableProRequest.refreshFlag = BooleanValue_BerCode_True;
115 enableProRequest.GenHexData();
116 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
117 curStrHandle.CheckData("", respData, "EnableProfileResponse");
118
119
120 curLogicChannel = 0;
121 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
122
123 FetchStr = Fetch("","9000","");
124
125 var CmdDetails = GetValueByTag("01",1);
126 var CmdQualifier = CmdDetails.substr(4,2);
127 CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
128
129 curLogicChannel = 0;
130 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
131 Ini_powerOn_eUICC_LPAe_not_activate();
132
133 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
134 TS_MANAGE_CHANNEL_OPEN();
135
136 curLogicChannel = 1;
137
138 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
139 TS_SELECT("Select ISD",ISD_R_AID,"9000");
140
141 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
142 var proInfoListRequest = new ProfileInfoListRequest();
143 proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
144 proInfoListRequest.tagList = "5A4F9F70";
145 proInfoListRequest.GenHexData();
146 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
147
148
149 var proInfoListResponse = new ProfileInfoListResponse();
150 proInfoListResponse.checkCardResDataFormat(respData);
151
152 try
153 {
154 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
155 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
156 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
157 }catch(e){
158 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
159 }
160
161 curLogicChannel = 0;
162 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
163 var para1 = new SelectFileEFPara_3G("2FE2");
164 para1.apdu.ressw = "9000";
165 SendAPDU(para1.apdu);
166
167 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
168 var para1 = new ReadBinaryPara_3G("00","00","0A");
169 para1.apdu.resvalue = ICCID_OP_PROF1;
170 SendAPDU(para1.apdu);
171
172 RecoverCard();
173
174
175}
176
177function TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
178{
179 if(!Card_Have_ECC_Cert)
180 return;
181
182 TestOfMEPMode = 0;
183
184
185 initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
186 var ISD_P_Test01 = curProfile_ISD_P_AID;
187
188 tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ISD-P AID激活profile,并设置refreshFlag";
189 curDis.TraceStart(sno++,tracenamestr);
190
191 curLogicChannel = 0;
192
193 TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;//add 20260423
194 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
195 Ini_powerOn_eUICC_LPAe_not_activate();
196
197
198 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
199 TS_MANAGE_CHANNEL_OPEN();
200
201 curLogicChannel = 1;
202
203 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
204 TS_SELECT("Select ISD",ISD_R_AID,"9000");
205
206 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
207 var enableProRequest = new EnableProfileRequest();
208 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
209 enableProRequest.refreshFlag = BooleanValue_BerCode_True;
210 enableProRequest.GenHexData();
211 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
212 curStrHandle.CheckData("", respData, "EnableProfileResponse");
213
214 curLogicChannel = 0;
215 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
216
217 FetchStr = Fetch("","9000","");
218
219 var CmdDetails = GetValueByTag("01",1);
220 var CmdQualifier = CmdDetails.substr(4,2);
221 CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");//'09' = eUICC Profile State Change; 102.223-8.6
222
223 TerminalResponse("00","9000");
224
225 curLogicChannel = 0;
226 curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
227
228 curLogicChannel = 0;
229
230 if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
231 TS_TERMINAL_CAPABILITY_cmd();
232 else
233 obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
234
235 IniCard_SetUpMenu("",1);
236
237
238
239 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
240 TS_MANAGE_CHANNEL_OPEN();
241
242 curLogicChannel = 1;
243
244 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
245 TS_SELECT("Select ISD",ISD_R_AID,"9000");
246
247 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
248 var proInfoListRequest = new ProfileInfoListRequest();
249 proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
250 proInfoListRequest.tagList = "5A4F9F70";
251 proInfoListRequest.GenHexData();
252 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
253
254
255 var proInfoListResponse = new ProfileInfoListResponse();
256 proInfoListResponse.checkCardResDataFormat(respData);
257
258 try
259 {
260 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
261 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
262 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
263 }catch(e){
264 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
265 }
266
267 curLogicChannel = 0;
268 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
269 var para1 = new SelectFileEFPara_3G("2FE2");
270 SendAPDU(para1.apdu);
271
272 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
273 var para1 = new ReadBinaryPara_3G("00","00","0A");
274 para1.apdu.resvalue = ICCID_OP_PROF1;
275 SendAPDU(para1.apdu);
276
277 RecoverCard();
278}
279
280function TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
281{
282 if(!Card_Have_ECC_Cert)
283 return;
284
285 TestOfMEPMode = 0;
286
287 initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
288 var ISD_P_Test01 = curProfile_ISD_P_AID;
289
290 tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ICCID激活profile,并设置refreshFlag";
291 curDis.TraceStart(sno++,tracenamestr);
292
293 curLogicChannel = 0;
294
295 TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;
296 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
297 Ini_powerOn_eUICC_LPAe_not_activate();
298
299
300 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
301 TS_MANAGE_CHANNEL_OPEN();
302
303 curLogicChannel = 1;
304
305 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
306 TS_SELECT("Select ISD",ISD_R_AID,"9000");
307
308 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
309 var enableProRequest = new EnableProfileRequest();
310 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
311 enableProRequest.refreshFlag = BooleanValue_BerCode_True;
312 enableProRequest.GenHexData();
313 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
314 curStrHandle.CheckData("", respData, "EnableProfileResponse");
315
316 curLogicChannel = 0;
317 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
318
319 FetchStr = Fetch("","9000","");
320
321 var CmdDetails = GetValueByTag("01",1);
322 var CmdQualifier = CmdDetails.substr(4,2);
323 CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");
324
325 TerminalResponse("00","9000");
326
327 curLogicChannel = 0;
328 curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
329
330 curLogicChannel = 0;
331
332 if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
333 TS_TERMINAL_CAPABILITY_cmd();
334 else
335 obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
336
337 IniCard_SetUpMenu("",1);
338
339
340
341 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
342 TS_MANAGE_CHANNEL_OPEN();
343
344 curLogicChannel = 1;
345
346 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
347 TS_SELECT("Select ISD",ISD_R_AID,"9000");
348
349 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
350
351 var proInfoListRequest = new ProfileInfoListRequest();
352 proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
353 proInfoListRequest.tagList = "5A4F9F70";
354 proInfoListRequest.GenHexData();
355 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
356
357
358 var proInfoListResponse = new ProfileInfoListResponse();
359 proInfoListResponse.checkCardResDataFormat(respData);
360
361 try
362 {
363 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
364 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
365 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
366 }catch(e){
367 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
368 }
369
370 curLogicChannel = 0;
371 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
372 var para1 = new SelectFileEFPara_3G("2FE2");
373 SendAPDU(para1.apdu);
374
375 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
376 var para1 = new ReadBinaryPara_3G("00","00","0A");
377 para1.apdu.resvalue = ICCID_OP_PROF1;
378 SendAPDU(para1.apdu);
379
380 RecoverCard();
381}
382
383function TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set()
384{
385 if(!Card_Have_ECC_Cert)
386 return;
387
388 TestOfMEPMode = 0;
389
390 initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
391 var ISD_P_Test01 = curProfile_ISD_P_AID;
392
393 tracenamestr = "测试目的:通过ISD-P AID激活profile,不设置refreshFlag";
394 curDis.TraceStart(sno++,tracenamestr);
395
396 curLogicChannel = 0;
397 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
398 Ini_powerOn_eUICC_LPAe_not_activate();
399
400 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
401 TS_MANAGE_CHANNEL_OPEN();
402
403 curLogicChannel = 1;
404
405 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
406 TS_SELECT("Select ISD",ISD_R_AID,"9000");
407
408 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
409 var enableProRequest = new EnableProfileRequest();
410 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
411 enableProRequest.refreshFlag = BooleanValue_BerCode_False;
412 enableProRequest.GenHexData();
413 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
414 curStrHandle.CheckData("", respData, "EnableProfileResponse");
415
416 curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
417 IniCard_SetUpMenu("",1);
418
419 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
420 TS_MANAGE_CHANNEL_OPEN();
421 curLogicChannel = 1;
422 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
423 TS_SELECT("Select ISD",ISD_R_AID,"9000");
424
425 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
426 var proInfoListRequest = new ProfileInfoListRequest();
427 proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
428 proInfoListRequest.tagList = "5A4F9F70";
429 proInfoListRequest.GenHexData();
430 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
431
432
433 var proInfoListResponse = new ProfileInfoListResponse();
434 proInfoListResponse.checkCardResDataFormat(respData);
435
436 try
437 {
438 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
439 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
440 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
441 }catch(e){
442 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
443 }
444
445 curLogicChannel = 0;
446 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
447 var para1 = new SelectFileEFPara_3G("2FE2");
448 SendAPDU(para1.apdu);
449
450 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
451 var para1 = new ReadBinaryPara_3G("00","00","0A");
452 para1.apdu.resvalue = ICCID_OP_PROF1;
453 SendAPDU(para1.apdu);
454
455 RecoverCard();
456
457}
458
459function TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set()
460{
461 if(!Card_Have_ECC_Cert)
462 return;
463
464 TestOfMEPMode = 0;
465
466 initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
467 var ISD_P_Test01 = curProfile_ISD_P_AID;
468
469 tracenamestr = "测试目的:通过ICCID激活profile,不设置refreshFlag";
470 curDis.TraceStart(sno++,tracenamestr);
471
472 curLogicChannel = 0;
473 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
474 Ini_powerOn_eUICC_LPAe_not_activate();
475
476 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
477 TS_MANAGE_CHANNEL_OPEN();
478
479 curLogicChannel = 1;
480
481 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
482 TS_SELECT("Select ISD",ISD_R_AID,"9000");
483
484 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
485 var enableProRequest = new EnableProfileRequest();
486 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
487 enableProRequest.refreshFlag = BooleanValue_BerCode_False;
488 enableProRequest.GenHexData();
489 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
490 curStrHandle.CheckData("", respData, "EnableProfileResponse");
491
492 curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
493 IniCard_SetUpMenu("",1);
494
495
496 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
497 TS_MANAGE_CHANNEL_OPEN();
498 curLogicChannel = 1;
499 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
500 TS_SELECT("Select ISD",ISD_R_AID,"9000");
501
502 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
503 var proInfoListRequest = new ProfileInfoListRequest();
504 proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
505 proInfoListRequest.tagList = "5A4F9F70";
506 proInfoListRequest.GenHexData();
507 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
508
509
510 var proInfoListResponse = new ProfileInfoListResponse();
511 proInfoListResponse.checkCardResDataFormat(respData);
512
513 try
514 {
515 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
516 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
517 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
518 }catch(e){
519 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
520 }
521
522 curLogicChannel = 0;
523 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
524 var para1 = new SelectFileEFPara_3G("2FE2");
525 SendAPDU(para1.apdu);
526
527 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
528 var para1 = new ReadBinaryPara_3G("00","00","0A");
529 para1.apdu.resvalue = ICCID_OP_PROF1;
530 SendAPDU(para1.apdu);
531
532 RecoverCard();
533
534}
535
536function TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
537{
538 //测试入口条件
539 if(!Card_Have_ECC_Cert)
540 return;
541
542
543 if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
544 return;
545
546 TestOfMEPMode = 0;
547 initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
548 var ISD_P_Test01 = curProfile_ISD_P_AID;
549
550 initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
551 var ISD_P_Test02 = curProfile_ISD_P_AID;
552
553 tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,并设置refreshFlag";
554 curDis.TraceStart(sno++,tracenamestr);
555
556
557 curLogicChannel = 0;
558 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
559 Ini_powerOn_eUICC_LPAe_not_activate();
560
561 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
562 TS_MANAGE_CHANNEL_OPEN();
563 curLogicChannel = 1;
564 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
565 TS_SELECT("Select ISD",ISD_R_AID,"9000");
566
567
568 curLogicChannel=0;
569 curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
570 sSendType = SendTypeByOTA.SMS;
571 KIC = MNO_SCP80_ENC_KEY;
572 KID = MNO_SCP80_AUTH_KEY;
573 KIK = MNO_SCP80_DATA_ENC_KEY;
574
575
576 sAPDU = "80F28002024F0000";
577 SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
578
579 curLogicChannel=1;
580 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
581 var enableProRequest = new EnableProfileRequest();
582 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
583 enableProRequest.refreshFlag = BooleanValue_BerCode_True;
584 enableProRequest.GenHexData();
585 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
586 curStrHandle.CheckData("", respData, "EnableProfileResponse");
587
588 curLogicChannel = 0;
589 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
590
591 FetchStr = Fetch("","9000","");
592
593 var CmdDetails = GetValueByTag("01",1);
594 var CmdQualifier = CmdDetails.substr(4,2);
595 CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
596
597 curLogicChannel = 0;
598 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
599 Ini_powerOn_eUICC_LPAe_not_activate();
600
601 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
602 TS_MANAGE_CHANNEL_OPEN();
603
604 curLogicChannel = 1;
605
606 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
607 TS_SELECT("Select ISD",ISD_R_AID,"9000");
608
609 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
610 var proInfoListRequest = new ProfileInfoListRequest();
611 proInfoListRequest.GenHexData();
612 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
613
614
615 var proInfoListResponse = new ProfileInfoListResponse();
616 proInfoListResponse.checkCardResDataFormat(respData);
617
618 try
619 {
620 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
621 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
622 curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
623
624 curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
625 curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
626 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
627 }catch(e){
628 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
629 }
630
631 curLogicChannel = 0;
632 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
633 var para1 = new SelectFileEFPara_3G("2FE2");
634 SendAPDU(para1.apdu);
635
636 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
637 var para1 = new ReadBinaryPara_3G("00","00","0A");
638 para1.apdu.resvalue = ICCID_OP_PROF2;
639 SendAPDU(para1.apdu);
640
641 RecoverCard();
642
643}
644
645function TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
646{
647 //测试入口条件
648 if(!Card_Have_ECC_Cert)
649 return;
650
651 if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
652 return;
653
654 TestOfMEPMode = 0;
655 initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
656 var ISD_P_Test01 = curProfile_ISD_P_AID;
657
658 initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
659 var ISD_P_Test02 = curProfile_ISD_P_AID;
660
661 tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,不设置refreshFlag";
662 curDis.TraceStart(sno++,tracenamestr);
663
664
665 curLogicChannel = 0;
666 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
667 Ini_powerOn_eUICC_LPAe_not_activate();
668
669 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
670 TS_MANAGE_CHANNEL_OPEN();
671 curLogicChannel = 1;
672 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
673 TS_SELECT("Select ISD",ISD_R_AID,"9000");
674
675
676 curLogicChannel=0;
677 curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
678 sSendType = SendTypeByOTA.SMS;
679 KIC = MNO_SCP80_ENC_KEY;
680 KID = MNO_SCP80_AUTH_KEY;
681 KIK = MNO_SCP80_DATA_ENC_KEY;
682
683
684 sAPDU = "80F28002024F0000";
685 SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
686
687 curLogicChannel=1;
688 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
689 var enableProRequest = new EnableProfileRequest();
690 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
691 enableProRequest.refreshFlag = BooleanValue_BerCode_False;
692 enableProRequest.GenHexData();
693 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
694 curStrHandle.CheckData("", respData, "EnableProfileResponse");
695
696 curLogicChannel = 0;
697 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
698
699 FetchStr = Fetch("","9000","");
700
701 var CmdDetails = GetValueByTag("01",1);
702 var CmdQualifier = CmdDetails.substr(4,2);
703 CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
704
705 curLogicChannel = 0;
706 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
707 Ini_powerOn_eUICC_LPAe_not_activate();
708
709 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
710 TS_MANAGE_CHANNEL_OPEN();
711
712 curLogicChannel = 1;
713
714 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
715 TS_SELECT("Select ISD",ISD_R_AID,"9000");
716
717 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
718 var proInfoListRequest = new ProfileInfoListRequest();
719 proInfoListRequest.GenHexData();
720 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
721
722
723 var proInfoListResponse = new ProfileInfoListResponse();
724 proInfoListResponse.checkCardResDataFormat(respData);
725
726 try
727 {
728 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
729 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
730 curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
731
732 curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
733 curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
734 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
735 }catch(e){
736 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
737 }
738
739 curLogicChannel = 0;
740 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
741 var para1 = new SelectFileEFPara_3G("2FE2");
742 SendAPDU(para1.apdu);
743
744 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
745 var para1 = new ReadBinaryPara_3G("00","00","0A");
746 para1.apdu.resvalue = ICCID_OP_PROF2;
747 SendAPDU(para1.apdu);
748
749 RecoverCard();
750
751}
752
753function TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
754{
755 if(!Card_Have_ECC_Cert)
756 return;
757
758
759 if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
760 return;
761
762 TestOfMEPMode = 0;
763 initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
764 var ISD_P_Test01 = curProfile_ISD_P_AID;
765
766 initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
767 var ISD_P_Test02 = curProfile_ISD_P_AID;
768
769 tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,设置refreshFlag";
770 curDis.TraceStart(sno++,tracenamestr);
771
772
773 curLogicChannel = 0;
774 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
775 Ini_powerOn_eUICC_LPAe_not_activate();
776
777 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
778 TS_MANAGE_CHANNEL_OPEN();
779 curLogicChannel = 1;
780 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
781 TS_SELECT("Select ISD",ISD_R_AID,"9000");
782
783
784 curLogicChannel=0;
785 curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
786 sSendType = SendTypeByOTA.SMS;
787 KIC = MNO_SCP80_ENC_KEY;
788 KID = MNO_SCP80_AUTH_KEY;
789 KIK = MNO_SCP80_DATA_ENC_KEY;
790
791
792 sAPDU = "80F28002024F0000";
793 SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
794
795 var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
796 CardSendMessageToServerExpandedRemoteCmd(exResPara);
797
798 curLogicChannel=1;
799 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
800 var enableProRequest = new EnableProfileRequest();
801 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
802 enableProRequest.refreshFlag = BooleanValue_BerCode_True;
803 enableProRequest.GenHexData();
804 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
805
806 curStrHandle.CheckData("", respData, "EnableProfileResponse");
807
808 curLogicChannel = 0;
809 curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
810 TerminalResponse("00","91XX");
811 var ss = obj.GetState();
812 HaveReEntry91XX = false;
813
814 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
815 FetchStr = Fetch("","9000","");
816 var CmdDetails = GetValueByTag("01",1);
817 var CmdQualifier = CmdDetails.substr(4,2);
818 CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
819
820 curLogicChannel = 0;
821 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
822 Ini_powerOn_eUICC_LPAe_not_activate();
823
824 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
825 TS_MANAGE_CHANNEL_OPEN();
826
827 curLogicChannel = 1;
828
829 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
830 TS_SELECT("Select ISD",ISD_R_AID,"9000");
831
832 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
833 var proInfoListRequest = new ProfileInfoListRequest();
834 proInfoListRequest.GenHexData();
835 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
836
837
838 var proInfoListResponse = new ProfileInfoListResponse();
839 proInfoListResponse.checkCardResDataFormat(respData);
840
841 try
842 {
843 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
844 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
845 curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
846
847 curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
848 curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
849 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
850 }catch(e){
851 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
852 }
853
854 curLogicChannel = 0;
855 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
856 var para1 = new SelectFileEFPara_3G("2FE2");
857 SendAPDU(para1.apdu);
858
859 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
860 var para1 = new ReadBinaryPara_3G("00","00","0A");
861 para1.apdu.resvalue = ICCID_OP_PROF2;
862 SendAPDU(para1.apdu);
863
864 RecoverCard();
865
866}
867
868function TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
869{
870 if(!Card_Have_ECC_Cert)
871 return;
872
873 if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
874 return;
875
876 TestOfMEPMode = 0;
877 initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
878 var ISD_P_Test01 = curProfile_ISD_P_AID;
879
880 initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
881 var ISD_P_Test02 = curProfile_ISD_P_AID;
882
883 tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,不设置refreshFlag";
884 curDis.TraceStart(sno++,tracenamestr);
885
886
887 curLogicChannel = 0;
888 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
889 Ini_powerOn_eUICC_LPAe_not_activate();
890
891 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
892 TS_MANAGE_CHANNEL_OPEN();
893 curLogicChannel = 1;
894 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
895 TS_SELECT("Select ISD",ISD_R_AID,"9000");
896
897
898 curLogicChannel=0;
899 curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
900 sSendType = SendTypeByOTA.SMS;
901 KIC = MNO_SCP80_ENC_KEY;
902 KID = MNO_SCP80_AUTH_KEY;
903 KIK = MNO_SCP80_DATA_ENC_KEY;
904
905
906 sAPDU = "80F28002024F0000";
907 SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
908
909 var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
910 CardSendMessageToServerExpandedRemoteCmd(exResPara);
911
912 curLogicChannel=1;
913 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
914
915 var enableProRequest = new EnableProfileRequest();
916 enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
917 enableProRequest.refreshFlag = BooleanValue_BerCode_False;
918 enableProRequest.GenHexData();
919 var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
920
921 curStrHandle.CheckData("", respData, "EnableProfileResponse");
922
923 curLogicChannel = 0;
924 curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
925 TerminalResponse("00","91XX");
926 var ss = obj.GetState();
927 HaveReEntry91XX = false;
928
929 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
930 FetchStr = Fetch("","9000","");
931 var CmdDetails = GetValueByTag("01",1);
932 var CmdQualifier = CmdDetails.substr(4,2);
933 CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
934
935 curLogicChannel = 0;
936 curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
937 Ini_powerOn_eUICC_LPAe_not_activate();
938
939 curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
940 TS_MANAGE_CHANNEL_OPEN();
941
942 curLogicChannel = 1;
943
944 curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
945 TS_SELECT("Select ISD",ISD_R_AID,"9000");
946
947 curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
948
949 var proInfoListRequest = new ProfileInfoListRequest();
950 proInfoListRequest.GenHexData();
951 var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
952
953
954 var proInfoListResponse = new ProfileInfoListResponse();
955 proInfoListResponse.checkCardResDataFormat(respData);
956
957 try
958 {
959 curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
960 curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
961 curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
962
963 curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
964 curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
965 curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
966 }catch(e){
967 obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
968 }
969
970 curLogicChannel = 0;
971 curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
972 var para1 = new SelectFileEFPara_3G("2FE2");
973 SendAPDU(para1.apdu);
974
975 curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
976 var para1 = new ReadBinaryPara_3G("00","00","0A");
977 para1.apdu.resvalue = ICCID_OP_PROF2;
978 SendAPDU(para1.apdu);
979
980 RecoverCard();
981}
982
-cas 盲生成TC_eUICC_ES10c_EnableProfile_Case3/Import/TC_eUICC_ES10c_EnableProfile_Case3.js119 行 / 8812 字符 / gb18030入口函数 @L14
1// Author: 卡思Cas智能体
2// Date: 20260907-030000
3// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_ES10c.EnableProfile_Case3,Test Sequence #02 Nominal: Enable Profile by ICCID and “refreshFlag” set when Device supports “UICC Reset”,适用性 M。
4// Test points: ICH-IC1-K1-C1 ATR_present;ICH-IC1-K2-C2 FCP_Template;ICH-IC1-K2-C4 SW
5// ICH-IC1-K3-C4 SW;ICH-IC1-K4-C4 final SW;ICH-IC2-K1-C4 SW;ICH-IC2-K1-C3 CHANNEL_NUMBER extracted
6// ICH-IC2-K2-C4 SW;S1-C2 response data absent;S1-C1 SW1 91;S2-C1 proactive command envelope
7// IC3-IC1-K1-C1 ATR_present;IC3-IC1-K2-C2 FCP_Template;IC3-IC1-K2-C4 SW;IC3-IC1-K3-C4 SW
8// IC3-IC1-K4-C4 final SW;IC3-IC2-K1-C4 SW;IC3-IC2-K1-C3 CHANNEL_NUMBER extracted;IC3-IC2-K2-C4 SW
9// S4-C1 SW;S4-C2 outer tag BF2D;S4-C3 contains 5A0A989209012143658709F5;S4-C4 contains 9F700101
10// S4-C5 contains 4F10;S5-C1 SW;S6-C1 SW;S6-C2 READ_BINARY data
11// 本函数由 CaseIR 4.2.21.2.1 编译生成(4221-r2,SGP.23 v1.16 × SGP.22 v2.7):字节权威=CaseIR,非誊录黄金脚本。
12// Value-free template: every data byte is injected from CaseIR fields; no scaffold globals (see docs/speconly/compile-symbol-migration.md).
13// 适用性 M:编译期门,运行时由 harness 环境前置承担。
14function TC_eUICC_ES10c_EnableProfile_Case3_02_merged() {
15 var bind = curBind;
16
17 // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
18 var s7 = bind.resetAndAtr();
19 bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s7.atr_hex !== "" ? "1" : "0");
20
21 // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
22 // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
23 var s8 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
24 bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s8.resp.length > 0 ? "1" : "0");
25 bind.checkData("ICH-IC1-K2-C4 SW", "9000", s8.sw);
26
27 // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
28 var s9 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
29 bind.checkData("ICH-IC1-K3-C4 SW", "9000", s9.sw);
30
31 // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
32 var steady10 = bind.runToSteadyState(function () {
33 return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
34 });
35 bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady10.final.sw);
36
37 // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
38 // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
39 var s11 = bind.manageChannelOpen("9000");
40 bind.checkData("ICH-IC2-K1-C4 SW", "9000", s11.sw);
41 bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s11.chan !== null ? "1" : "0");
42
43 // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
44 // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
45 var s12 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
46 // 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.
47 bind.checkData("ICH-IC2-K2-C4 SW", "9000", s12.sw);
48
49 // 步骤 1:MTD_STORE_DATA_Case3(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
50 // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
51 var sdCla1 = s11.chan !== null ? (s11.chan <= 3 ? 128 + s11.chan : 188 + s11.chan).toString(16).toUpperCase() : null;
52 var s1 = bind.sendApdu(sdCla1, "E2", "90", "00", "BF3111A00C5A0A989209012143658709F58101FF", null, null);
53 bind.checkData("S1-C2 response data absent", "1", s1.resp === "" ? "1" : "0");
54 bind.checkData("S1-C1 SW1 91", "91", s1.sw.substring(0, 2));
55
56 // 步骤 2:FETCH 'XX'(tc_step;REQ: RQ32_016_3, RQ32_017, RQ57_134, RQ57_135_1)
57 // FETCH header literals follow the golden wire evidence 8012 (same
58 // anchor as runToSteadyState; J Annex D.4 has no FETCH row, D 2.2.2
59 // gives mechanism only). Le = pending length from the last 91XX
60 // (chain rule, binding-internal state).
61 var s2 = bind.fetchPending("80", "12", "00", "00", null);
62 bind.checkData("S2-C1 proactive command envelope", "1", (s2.resp.length >= 4 && s2.resp.substring(0, 2) === "D0") ? "1" : "0");
63 // S2-C1: REFRESH type/mode bytes are not corpus-fixed (envelope face only; per-mode bytes absent from input).
64 // S2:主动会话协议闭合(TS 102 223 §6.3:主动命令必须 TR 应答;
65 // UICC Reset 变体 E 表无 TR 行属编辑省略,golden U3 线证同构)。
66 var s2tr = bind.terminalResponseForPending("80", "14", "00", "00", "9000");
67
68 // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
69 var s13 = bind.resetAndAtr();
70 bind.checkData("IC3-IC1-K1-C1 ATR_present", "1", s13.atr_hex !== "" ? "1" : "0");
71
72 // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
73 // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
74 var s14 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
75 bind.checkData("IC3-IC1-K2-C2 FCP_Template", "1", s14.resp.length > 0 ? "1" : "0");
76 bind.checkData("IC3-IC1-K2-C4 SW", "9000", s14.sw);
77
78 // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
79 var s15 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
80 bind.checkData("IC3-IC1-K3-C4 SW", "9000", s15.sw);
81
82 // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
83 var steady16 = bind.runToSteadyState(function () {
84 return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
85 });
86 bind.checkData("IC3-IC1-K4-C4 final SW", "9000", steady16.final.sw);
87
88 // IC ref inline @E 步骤 3(IC2 → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
89 // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
90 var s17 = bind.manageChannelOpen("9000");
91 bind.checkData("IC3-IC2-K1-C4 SW", "9000", s17.sw);
92 bind.checkData("IC3-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s17.chan !== null ? "1" : "0");
93
94 // IC ref inline @E 步骤 3(IC2 → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
95 // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
96 var s18 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
97 // 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.
98 bind.checkData("IC3-IC2-K2-C4 SW", "9000", s18.sw);
99
100 // 步骤 4:MTD_STORE_DATA(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
101 // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
102 var sdCla4 = s17.chan !== null ? (s17.chan <= 3 ? 128 + s17.chan : 188 + s17.chan).toString(16).toUpperCase() : null;
103 var s4 = bind.sendApdu(sdCla4, "E2", "91", "00", "BF2D0EA00C5A0A989209012143658709F5", "00", "9000");
104 bind.checkData("S4-C1 SW", "9000", s4.sw);
105 bind.checkData("S4-C2 outer tag BF2D", "BF2D", s4.resp.substring(0, 4));
106 bind.checkData("S4-C3 contains 5A0A989209012143658709F5", "1", s4.resp.indexOf("5A0A989209012143658709F5") >= 0 ? "1" : "0");
107 bind.checkData("S4-C4 contains 9F700101", "1", s4.resp.indexOf("9F700101") >= 0 ? "1" : "0");
108 bind.checkData("S4-C5 contains 4F10", "1", s4.resp.indexOf("4F10") >= 0 ? "1" : "0");
109
110 // 步骤 5:SELECT_ICCID(tc_step)
111 var s5 = bind.sendApdu("00", "A4", "00", "0C", "2FE2", null, "9000");
112 bind.checkData("S5-C1 SW", "9000", s5.sw);
113
114 // 步骤 6:READ_BINARY] with <L>=0x0A(tc_step;REQ: RQ34_015)
115 var s6 = bind.sendApdu("00", "B0", "00", "00", null, "0A", "9000");
116 bind.checkData("S6-C1 SW", "9000", s6.sw);
117 bind.checkData("S6-C2 READ_BINARY data", "989209012143658709F5", s6.resp);
118}
119
完整 unified diff
行级差异:新增 100 行 / 删除 963 行(以 -man 为基准,unified 上下文 3 行)。
展开 diff(1085 行)
--- -man
+++ -cas
@@ -1,982 +1,119 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20260907-030000
+// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_ES10c.EnableProfile_Case3,Test Sequence #02 Nominal: Enable Profile by ICCID and “refreshFlag” set when Device supports “UICC Reset”,适用性 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;S1-C2 response data absent;S1-C1 SW1 91;S2-C1 proactive command envelope
+// IC3-IC1-K1-C1 ATR_present;IC3-IC1-K2-C2 FCP_Template;IC3-IC1-K2-C4 SW;IC3-IC1-K3-C4 SW
+// IC3-IC1-K4-C4 final SW;IC3-IC2-K1-C4 SW;IC3-IC2-K1-C3 CHANNEL_NUMBER extracted;IC3-IC2-K2-C4 SW
+// S4-C1 SW;S4-C2 outer tag BF2D;S4-C3 contains 5A0A989209012143658709F5;S4-C4 contains 9F700101
+// S4-C5 contains 4F10;S5-C1 SW;S6-C1 SW;S6-C2 READ_BINARY data
+// 本函数由 CaseIR 4.2.21.2.1 编译生成(4221-r2,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_ES10c_EnableProfile_Case3_02_merged() {
+ var bind = curBind;
-function TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
-{
- initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ISD-P AID激活profile,并设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
- curLogicChannel = 0;
- 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");
-
+ // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
+ var s7 = bind.resetAndAtr();
+ bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s7.atr_hex !== "" ? "1" : "0");
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
- enableProRequest.refreshFlag = BooleanValue_BerCode_True;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
- FetchStr = Fetch("","9000","");
-
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
-
- curLogicChannel = 0;
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
- proInfoListRequest.tagList = "5A4F9F70";
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
+ // 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 s8 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+ bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s8.resp.length > 0 ? "1" : "0");
+ bind.checkData("ICH-IC1-K2-C4 SW", "9000", s8.sw);
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- para1.apdu.ressw = "9000";
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF1;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
+ // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
+ var s9 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+ bind.checkData("ICH-IC1-K3-C4 SW", "9000", s9.sw);
-}
+ // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
+ var steady10 = bind.runToSteadyState(function () {
+ return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+ });
+ bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady10.final.sw);
-function TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
-{
- initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ICCID激活profile,并设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
- curLogicChannel = 0;
- 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");
-
+ // 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 s11 = bind.manageChannelOpen("9000");
+ bind.checkData("ICH-IC2-K1-C4 SW", "9000", s11.sw);
+ bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s11.chan !== null ? "1" : "0");
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
- enableProRequest.refreshFlag = BooleanValue_BerCode_True;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
- FetchStr = Fetch("","9000","");
-
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
-
- curLogicChannel = 0;
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
- proInfoListRequest.tagList = "5A4F9F70";
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
+ // 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 s12 = 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", s12.sw);
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- para1.apdu.ressw = "9000";
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF1;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
+ // 步骤 1:MTD_STORE_DATA_Case3(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
+ // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+ var sdCla1 = s11.chan !== null ? (s11.chan <= 3 ? 128 + s11.chan : 188 + s11.chan).toString(16).toUpperCase() : null;
+ var s1 = bind.sendApdu(sdCla1, "E2", "90", "00", "BF3111A00C5A0A989209012143658709F58101FF", null, null);
+ bind.checkData("S1-C2 response data absent", "1", s1.resp === "" ? "1" : "0");
+ bind.checkData("S1-C1 SW1 91", "91", s1.sw.substring(0, 2));
-}
+ // 步骤 2:FETCH 'XX'(tc_step;REQ: RQ32_016_3, RQ32_017, RQ57_134, RQ57_135_1)
+ // FETCH header literals follow the golden wire evidence 8012 (same
+ // anchor as runToSteadyState; J Annex D.4 has no FETCH row, D 2.2.2
+ // gives mechanism only). Le = pending length from the last 91XX
+ // (chain rule, binding-internal state).
+ var s2 = bind.fetchPending("80", "12", "00", "00", null);
+ bind.checkData("S2-C1 proactive command envelope", "1", (s2.resp.length >= 4 && s2.resp.substring(0, 2) === "D0") ? "1" : "0");
+ // S2-C1: REFRESH type/mode bytes are not corpus-fixed (envelope face only; per-mode bytes absent from input).
+ // S2:主动会话协议闭合(TS 102 223 §6.3:主动命令必须 TR 应答;
+ // UICC Reset 变体 E 表无 TR 行属编辑省略,golden U3 线证同构)。
+ var s2tr = bind.terminalResponseForPending("80", "14", "00", "00", "9000");
-function TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
-{
- if(!Card_Have_ECC_Cert)
- return;
+ // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
+ var s13 = bind.resetAndAtr();
+ bind.checkData("IC3-IC1-K1-C1 ATR_present", "1", s13.atr_hex !== "" ? "1" : "0");
- TestOfMEPMode = 0;
+ // IC ref inline @E 步骤 3(IC1 → 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 s14 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+ bind.checkData("IC3-IC1-K2-C2 FCP_Template", "1", s14.resp.length > 0 ? "1" : "0");
+ bind.checkData("IC3-IC1-K2-C4 SW", "9000", s14.sw);
+ // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
+ var s15 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+ bind.checkData("IC3-IC1-K3-C4 SW", "9000", s15.sw);
- initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ISD-P AID激活profile,并设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
- curLogicChannel = 0;
-
- TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;//add 20260423
- 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命令,执行EnableProfileRequest,refreshFlag为FF;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
- enableProRequest.refreshFlag = BooleanValue_BerCode_True;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
- FetchStr = Fetch("","9000","");
-
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");//'09' = eUICC Profile State Change; 102.223-8.6
-
- TerminalResponse("00","9000");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
-
- curLogicChannel = 0;
-
- if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
- TS_TERMINAL_CAPABILITY_cmd();
- else
- obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
-
- IniCard_SetUpMenu("",1);
-
-
-
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
- proInfoListRequest.tagList = "5A4F9F70";
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
+ // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
+ var steady16 = bind.runToSteadyState(function () {
+ return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+ });
+ bind.checkData("IC3-IC1-K4-C4 final SW", "9000", steady16.final.sw);
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF1;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-}
+ // IC ref inline @E 步骤 3(IC2 → 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 s17 = bind.manageChannelOpen("9000");
+ bind.checkData("IC3-IC2-K1-C4 SW", "9000", s17.sw);
+ bind.checkData("IC3-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s17.chan !== null ? "1" : "0");
-function TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
-{
- if(!Card_Have_ECC_Cert)
- return;
-
- TestOfMEPMode = 0;
+ // IC ref inline @E 步骤 3(IC2 → 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 s18 = 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("IC3-IC2-K2-C4 SW", "9000", s18.sw);
- initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ICCID激活profile,并设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
- curLogicChannel = 0;
-
- TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;
- 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命令,执行EnableProfileRequest,refreshFlag为FF;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
- enableProRequest.refreshFlag = BooleanValue_BerCode_True;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
- FetchStr = Fetch("","9000","");
-
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");
-
- TerminalResponse("00","9000");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
-
- curLogicChannel = 0;
-
- if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
- TS_TERMINAL_CAPABILITY_cmd();
- else
- obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
-
- IniCard_SetUpMenu("",1);
-
-
-
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
+ // 步骤 4:MTD_STORE_DATA(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
+ // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+ var sdCla4 = s17.chan !== null ? (s17.chan <= 3 ? 128 + s17.chan : 188 + s17.chan).toString(16).toUpperCase() : null;
+ var s4 = bind.sendApdu(sdCla4, "E2", "91", "00", "BF2D0EA00C5A0A989209012143658709F5", "00", "9000");
+ bind.checkData("S4-C1 SW", "9000", s4.sw);
+ bind.checkData("S4-C2 outer tag BF2D", "BF2D", s4.resp.substring(0, 4));
+ bind.checkData("S4-C3 contains 5A0A989209012143658709F5", "1", s4.resp.indexOf("5A0A989209012143658709F5") >= 0 ? "1" : "0");
+ bind.checkData("S4-C4 contains 9F700101", "1", s4.resp.indexOf("9F700101") >= 0 ? "1" : "0");
+ bind.checkData("S4-C5 contains 4F10", "1", s4.resp.indexOf("4F10") >= 0 ? "1" : "0");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
- proInfoListRequest.tagList = "5A4F9F70";
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
+ // 步骤 5:SELECT_ICCID(tc_step)
+ var s5 = bind.sendApdu("00", "A4", "00", "0C", "2FE2", null, "9000");
+ bind.checkData("S5-C1 SW", "9000", s5.sw);
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF1;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set()
-{
- if(!Card_Have_ECC_Cert)
- return;
-
- TestOfMEPMode = 0;
-
- initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:通过ISD-P AID激活profile,不设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
- curLogicChannel = 0;
- 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命令,执行EnableProfileRequest,refreshFlag为false;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
- enableProRequest.refreshFlag = BooleanValue_BerCode_False;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
- IniCard_SetUpMenu("",1);
-
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
- proInfoListRequest.tagList = "5A4F9F70";
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
-
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF1;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set()
-{
- if(!Card_Have_ECC_Cert)
- return;
-
- TestOfMEPMode = 0;
-
- initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:通过ICCID激活profile,不设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
- curLogicChannel = 0;
- 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命令,执行EnableProfileRequest,refreshFlag为false;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
- enableProRequest.refreshFlag = BooleanValue_BerCode_False;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
- IniCard_SetUpMenu("",1);
-
-
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
- proInfoListRequest.tagList = "5A4F9F70";
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
-
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF1;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
-{
- //测试入口条件
- if(!Card_Have_ECC_Cert)
- return;
-
-
- if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
- return;
-
- TestOfMEPMode = 0;
- initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
- var ISD_P_Test02 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,并设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
-
- curLogicChannel = 0;
- 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");
-
-
- curLogicChannel=0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
- sSendType = SendTypeByOTA.SMS;
- KIC = MNO_SCP80_ENC_KEY;
- KID = MNO_SCP80_AUTH_KEY;
- KIK = MNO_SCP80_DATA_ENC_KEY;
-
-
- sAPDU = "80F28002024F0000";
- SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-
- curLogicChannel=1;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
- enableProRequest.refreshFlag = BooleanValue_BerCode_True;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
- FetchStr = Fetch("","9000","");
-
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
-
- curLogicChannel = 0;
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
-
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-
- curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF2;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
-{
- //测试入口条件
- if(!Card_Have_ECC_Cert)
- return;
-
- if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
- return;
-
- TestOfMEPMode = 0;
- initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
- var ISD_P_Test02 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,不设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
-
- curLogicChannel = 0;
- 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");
-
-
- curLogicChannel=0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
- sSendType = SendTypeByOTA.SMS;
- KIC = MNO_SCP80_ENC_KEY;
- KID = MNO_SCP80_AUTH_KEY;
- KIK = MNO_SCP80_DATA_ENC_KEY;
-
-
- sAPDU = "80F28002024F0000";
- SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-
- curLogicChannel=1;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
- enableProRequest.refreshFlag = BooleanValue_BerCode_False;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
- FetchStr = Fetch("","9000","");
-
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
-
- curLogicChannel = 0;
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
-
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-
- curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF2;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
-{
- if(!Card_Have_ECC_Cert)
- return;
-
-
- if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
- return;
-
- TestOfMEPMode = 0;
- initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
- var ISD_P_Test02 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
-
- curLogicChannel = 0;
- 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");
-
-
- curLogicChannel=0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
- sSendType = SendTypeByOTA.SMS;
- KIC = MNO_SCP80_ENC_KEY;
- KID = MNO_SCP80_AUTH_KEY;
- KIK = MNO_SCP80_DATA_ENC_KEY;
-
-
- sAPDU = "80F28002024F0000";
- SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-
- var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
- CardSendMessageToServerExpandedRemoteCmd(exResPara);
-
- curLogicChannel=1;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
- enableProRequest.refreshFlag = BooleanValue_BerCode_True;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
-
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
- TerminalResponse("00","91XX");
- var ss = obj.GetState();
- HaveReEntry91XX = false;
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
- FetchStr = Fetch("","9000","");
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
-
- curLogicChannel = 0;
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
-
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-
- curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF2;
- SendAPDU(para1.apdu);
-
- RecoverCard();
-
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
-{
- if(!Card_Have_ECC_Cert)
- return;
-
- if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
- return;
-
- TestOfMEPMode = 0;
- initial_condition_PROFILE_OPERATIONAL1_is_Enabled();
- var ISD_P_Test01 = curProfile_ISD_P_AID;
-
- initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
- var ISD_P_Test02 = curProfile_ISD_P_AID;
-
- tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,不设置refreshFlag";
- curDis.TraceStart(sno++,tracenamestr);
-
-
- curLogicChannel = 0;
- 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");
-
-
- curLogicChannel=0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
- sSendType = SendTypeByOTA.SMS;
- KIC = MNO_SCP80_ENC_KEY;
- KID = MNO_SCP80_AUTH_KEY;
- KIK = MNO_SCP80_DATA_ENC_KEY;
-
-
- sAPDU = "80F28002024F0000";
- SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-
- var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
- CardSendMessageToServerExpandedRemoteCmd(exResPara);
-
- curLogicChannel=1;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
-
- var enableProRequest = new EnableProfileRequest();
- enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
- enableProRequest.refreshFlag = BooleanValue_BerCode_False;
- enableProRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
-
- curStrHandle.CheckData("", respData, "EnableProfileResponse");
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
- TerminalResponse("00","91XX");
- var ss = obj.GetState();
- HaveReEntry91XX = false;
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
- FetchStr = Fetch("","9000","");
- var CmdDetails = GetValueByTag("01",1);
- var CmdQualifier = CmdDetails.substr(4,2);
- CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
-
- curLogicChannel = 0;
- 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命令,执行ProfileInfoListRequest,获取profile状态;");
-
- var proInfoListRequest = new ProfileInfoListRequest();
- proInfoListRequest.GenHexData();
- var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-
-
- var proInfoListResponse = new ProfileInfoListResponse();
- proInfoListResponse.checkCardResDataFormat(respData);
-
- try
- {
- curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-
- curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
- curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
- curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
- }catch(e){
- obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
- }
-
- curLogicChannel = 0;
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
- var para1 = new SelectFileEFPara_3G("2FE2");
- SendAPDU(para1.apdu);
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
- var para1 = new ReadBinaryPara_3G("00","00","0A");
- para1.apdu.resvalue = ICCID_OP_PROF2;
- SendAPDU(para1.apdu);
-
- RecoverCard();
+ // 步骤 6:READ_BINARY] with <L>=0x0A(tc_step;REQ: RQ34_015)
+ var s6 = bind.sendApdu("00", "B0", "00", "00", null, "0A", "9000");
+ bind.checkData("S6-C1 SW", "9000", s6.sw);
+ bind.checkData("S6-C2 READ_BINARY data", "989209012143658709F5", s6.resp);
}