From 3ecfb2f15fe9f9a39db0135f13298d7c652ce204 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 18:33:50 +0200 Subject: [PATCH 01/40] CR 42 SCP(21)000127r2/SCPTEST(21)069002r1 -Clarification of the test case 5.1.1.3 [test case 16] --- .../api_1_fvw_incr/Api_1_Fvw_Incr_1.java | 120 +++++++----------- 1 file changed, 47 insertions(+), 73 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java index 7eb3ed3..8f818b2 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java @@ -32,15 +32,15 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants (byte)0x2F,(byte)0x06,(byte)0x01, // Value - Security attribute (EF Arr, record nb) (byte)0x80,(byte)0x02,(byte)0x00,(byte)0x00, // Tag, Length, value - File size (0 bytes => no record) (byte)0x88,(byte)0x00}; // Tag, Length - SFI (no SFI) - private byte [] abCreateEF_2CFD = { + private byte [] abCreateEF_2C7F = { (byte)0x82,(byte)0x04, // Tag, Length - File descriptor - (byte)0x46,(byte)0x21,(byte)0x00,(byte)0xFD, // Value - File descriptor (Cyclic) and record length (0xFD) + (byte)0x46,(byte)0x21,(byte)0x00,(byte)0x7F, // Value - File descriptor (Cyclic) and record length (0x7F) (byte)0x83,(byte)0x02, // Tag, Length - File Id - (byte)0x2C,(byte)0xFD, // Value - File Id + (byte)0x2C,(byte)0x7F, // Value - File Id (byte)0x8A,(byte)0x01,(byte)0x05, // Tag, Length, Value - LCSI (Activated) (byte)0x8B,(byte)0x03, // Tag, Length - Security attribute (byte)0x2F,(byte)0x06,(byte)0x01, // Value - Security attribute (EF Arr, record nb) - (byte)0x80,(byte)0x02,(byte)0x00,(byte)0xFD, // Tag, Length, value - File size (0 bytes => no record) + (byte)0x80,(byte)0x02,(byte)0x00,(byte)7F, // Tag, Length, value - File size (0 bytes => no record) (byte)0x88,(byte)0x00}; // Tag, Length - SFI (no SFI) byte testCaseNb = (byte) 0x00; byte incr[] = null; @@ -518,8 +518,7 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants // Set records to 55 55 55 Util.arrayFillNonAtomic(data, (short)0, (short)data.length, (byte)0x55); UiccFileView.updateRecord((short)0, REC_ACC_MODE_PREVIOUS, (short)0, data, (short)0, (short)data.length); - - bRes &= true; + bRes &= true; } catch (Exception e) { @@ -528,39 +527,67 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants reportTestOutcome(testCaseNb, bRes); // ----------------------------------------------------------------- - // Test Case 15 : Void - // Note: this means that baTestsResults will contain '00' for this test case, indicating Void in this case + // Test Case 15 : Record not found // - + testCaseNb = 15; + try + { + incr = new byte[3]; + resp = new byte[3]; + createEFCmd = HandlerBuilder.buildTLVHandler(HandlerBuilder.EDIT_HANDLER, (short)abCreateEF_2C00.length, abCreateEF_2C00, (short)0x00, (short)abCreateEF_2C00.length); + UiccAdminFileView.createFile(createEFCmd); + UiccAdminFileView.select((short)0x2C00); + + incrOffset = 0; + incrLength = 3; + respOffset = 0; + + respLength = UiccFileView.increase(incr, incrOffset, incrLength, resp, respOffset); + bRes = false; + } + catch (UICCException e) + { + if (e.getReason() == UICCException.RECORD_NOT_FOUND) + bRes = true; + else + bRes = false; + } + catch(Exception e) + { + bRes = false; + } + + UiccAdminFileView.deleteFile((short)0x2C00); + reportTestOutcome(testCaseNb, bRes); + // ----------------------------------------------------------------- // Test Case 16 : incrLength out of range // ----------------------------------------------------------------- testCaseNb = 16; try { - // Create EF 0x2CFD + // Create EF 0x2C7F incr = new byte[128]; - resp = new byte[0xFF]; + resp = new byte[127]; comp = new byte[0xFF]; - createEFCmd = HandlerBuilder.buildTLVHandler(HandlerBuilder.EDIT_HANDLER, (short)abCreateEF_2CFD.length, abCreateEF_2CFD, (short)0x00, (short)abCreateEF_2CFD.length); + createEFCmd = HandlerBuilder.buildTLVHandler(HandlerBuilder.EDIT_HANDLER, (short)abCreateEF_2C7F.length, abCreateEF_2C7F, (short)0x00, (short)abCreateEF_2C7F.length); UiccAdminFileView.createFile(createEFCmd); - UiccAdminFileView.select((short)0x2CFD); + UiccAdminFileView.select((short)0x2C7F); - Util.arrayFillNonAtomic(comp, (short)0, (short)126, (byte)0x00); - Util.arrayFillNonAtomic(comp, (short)126, (short)(0xFD-126), (byte)0xFF); - UiccAdminFileView.updateRecord((short)0, REC_ACC_MODE_PREVIOUS, (short)0, comp, (short)0, (short)0xFD); + Util.arrayFillNonAtomic(comp, (short)0, (short)127, (byte)0x00); + UiccAdminFileView.updateRecord((short)0, REC_ACC_MODE_PREVIOUS, (short)0, comp, (short)0, (short)0x7F); // increase Util.arrayFillNonAtomic(incr, (short)0, (short)incr.length, (byte)0); Util.arrayFillNonAtomic(resp, (short)0, (short)resp.length, (byte)0); - Util.arrayFillNonAtomic(comp, (short)0, (short)resp.length, (byte)0); + Util.arrayFillNonAtomic(comp, (short)0, (short)comp.length, (byte)0); incr[127] = (byte)0x01; - comp[125] = (byte)0x01; + comp[126] = (byte)0x01; incrOffset = 1; incrLength = 127; respOffset = 0; respLength = UiccAdminFileView.increase(incr, incrOffset, incrLength, resp, respOffset); // Check result - if ((respLength == (short)0xFD) && + if ((respLength == (short)0x7F) && (Util.arrayCompare(resp, (short)0, comp, (short)0, respLength) == 0)) bRes = true; else @@ -584,59 +611,6 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants bRes &= true; } reportTestOutcome(testCaseNb, bRes); - UiccAdminFileView.deleteFile((short)0x2CFD); + UiccAdminFileView.deleteFile((short)0x2C7F); } } - -/* -testCaseNb = 16; -try -{ - // Create EF 0x2CFD - incr = new byte[128]; - resp = new byte[0xFF]; - comp = new byte[0xFF]; - createEFCmd = HandlerBuilder.buildTLVHandler(HandlerBuilder.EDIT_HANDLER, (short)abCreateEF.length, abCreateEF, (short)0x00, (short)abCreateEF.length); - UiccAdminFileView.createFile(createEFCmd); - UiccAdminFileView.select((short)0x2C7F); - - Util.arrayFillNonAtomic(comp, (short)0, (short)127, (byte)0xFF); - comp[0] = (byte)0x00; - UiccAdminFileView.updateRecord((short)0, REC_ACC_MODE_PREVIOUS, (short)0, comp, (short)0, (short)127); - // increase - Util.arrayFillNonAtomic(incr, (short)0, (short)incr.length, (byte)0); - Util.arrayFillNonAtomic(resp, (short)0, (short)resp.length, (byte)0); - Util.arrayFillNonAtomic(comp, (short)0, (short)resp.length, (byte)0); - incr[127] = (byte)0x01; - comp[0] = (byte)0x01; - incrOffset = 1; - incrLength = 127; - respOffset = 0; - respLength = UiccAdminFileView.increase(incr, incrOffset, incrLength, resp, respOffset); - // Check result - if ((respLength == (short)0x7F) && - (Util.arrayCompare(resp, (short)0, comp, (short)0, respLength) == 0)) - bRes = true; - else - bRes = false; -} -catch (Exception e) -{ - bRes = false; -} -try -{ - // increase - incrOffset = 0; - incrLength = 128; - respOffset = 0; - respLength = UiccAdminFileView.increase(incr, incrOffset, incrLength, resp, respOffset); - bRes = false; -} -catch (Exception e) -{ - bRes &= true; -} -reportTestOutcome(testCaseNb, bRes); -UiccAdminFileView.deleteFile((short)0x2C7F); -*/ \ No newline at end of file -- GitLab From 9718c887f87fabfb7fd7f9ce076012498abc716e Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 18:37:02 +0200 Subject: [PATCH 02/40] CR 41 SCP(21)000128/SCPTEST(21)069010r1 -Corrections of applets Api_2_Trs_IsPrAv_1/2 --- .../api_2_trs_isprav/Api_2_Trs_IsPrAv_2.java | 65 +++++++++++-------- 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Api_2_Trs_IsPrAv_2.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Api_2_Trs_IsPrAv_2.java index 6abc35a..4ecf45a 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Api_2_Trs_IsPrAv_2.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Api_2_Trs_IsPrAv_2.java @@ -33,11 +33,11 @@ public class Api_2_Trs_IsPrAv_2 extends TestToolkitApplet /** * Method called by the JCRE at the installation of the applet */ - public static void install(byte bArray[], short bOffset, byte bLength) + public static void install(byte bArray[], short bOffset, byte bLength) { // Create a new applet instance Api_2_Trs_IsPrAv_2 thisApplet = new Api_2_Trs_IsPrAv_2(); - + // Register the new applet instance to the JCRE thisApplet.register(bArray, (short)(bOffset+1), bArray[bOffset]); @@ -46,40 +46,53 @@ public class Api_2_Trs_IsPrAv_2 extends TestToolkitApplet // register instance with the EVENT_PROACTIVE_HANDLER_AVAILABLE event thisApplet.obReg.setEvent(EVENT_PROACTIVE_HANDLER_AVAILABLE); - } + } /** * Method called by the UICC CRE */ - public void processToolkit(short event) + public void processToolkit(short event) { - if (event == EVENT_PROACTIVE_HANDLER_AVAILABLE) - { - try{ - switch(bMyInstanceId){ + if (event == EVENT_PROACTIVE_HANDLER_AVAILABLE) { + + try { + switch (bMyInstanceId) { + // ----------------------------------------------------------------- + // Instance 1 execution, Priority Level 1 + // ----------------------------------------------------------------- + case (byte)1: - if ( ToolkitRegistrySystem.isPrioritizedProactiveHandlerAvailableEventSet() == false) { - reportTestOutcome((byte)1, true); - } - else { - reportTestOutcome((byte)1, false); - } - break; - case (byte)2: - if ( ToolkitRegistrySystem.isPrioritizedProactiveHandlerAvailableEventSet() == true ) { - reportTestOutcome((byte)1, true) ; - } - else { - reportTestOutcome((byte)1, false) ; - } - break; - default: reportTestOutcome ((byte)1, false); + if ( ToolkitRegistrySystem.isPrioritizedProactiveHandlerAvailableEventSet() == false) { + reportTestOutcome((byte)1, true) ; + } + else { + reportTestOutcome((byte)1, false) ; + } + break; + + // ----------------------------------------------------------------- + // Instance 2 execution, Priority Level 2 + // ----------------------------------------------------------------- + + case (byte)2: + if ( ToolkitRegistrySystem.isPrioritizedProactiveHandlerAvailableEventSet() == true ) { + reportTestOutcome((byte)1, true) ; + } + else { + reportTestOutcome((byte)1, false) ; + } + break; + + default: + reportTestOutcome ((byte)1, false); + break; + } } - catch(Exception e){ + catch (Exception e) { } - } + } } } -- GitLab From 8c58bc4cc0fa1f0408a9f104787ea43b8deac541 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 18:39:39 +0200 Subject: [PATCH 03/40] CR 43 SCP(21)00202/SCPTEST(21)070006r1 -Test case 5.2.3/5: alignment of test source --- .../uicc/test/toolkit/api_2_erh_post/Test_Api_2_Erh_Post.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_erh_post/Test_Api_2_Erh_Post.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_erh_post/Test_Api_2_Erh_Post.java index a38ceae..8ec7c77 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_erh_post/Test_Api_2_Erh_Post.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_erh_post/Test_Api_2_Erh_Post.java @@ -116,6 +116,8 @@ public class Test_Api_2_Erh_Post extends UiccTestModel // Test case 5 response = test.unrecognizedEnvelope(); + addResult(response.checkSw("6200")); + response = test.envelopeEventDownloadUserActivity(); // Dummy command to get the 91XX status word addResult(response.checkSw("9115")); response = test.fetch("15"); addResult(response.checkData("D0138103 01218082 0281028D 08044150" -- GitLab From 2dbe106c86e88dec8665919bc48c3d3262d16036 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 18:43:51 +0200 Subject: [PATCH 04/40] CR 43 SCP(21)000202/SCPTEST(21)070006r1 -Test case 5.2.3/5 alignment of test source --- .../uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java | 2 +- .../toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java index 7c9b9e7..c6f2fbf 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java @@ -57,7 +57,7 @@ public class Test_Cre_Reg_Evtr extends UiccTestModel { // test script response = test.makeSelectableApplet(APPLET_AID_1); // Send a status command to be sure to retrieve the correct status word in the RAPDU - test.status("00", "0C", "00"); + response = test.status("00", "0C", "00"); addResult(response.checkSw("910F")); response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818299 020004") || diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java index 1b7d116..65718d6 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java @@ -42,7 +42,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -56,7 +56,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, "8008" + // TLV UICC Toolkit application specific parameters "02" + // V Priority Level "00" + // V Max. number of timers @@ -109,7 +109,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -123,7 +123,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers -- GitLab From 4651aff7482b8f426b650b0ac54ba5ae70a7e066 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 18:48:38 +0200 Subject: [PATCH 05/40] CR 45 SET(22)000031/SETTEST(22)071010r3 -Incorrect reporting of testcases and results in the report of cre_mha_enhd and cre_mha_erhd --- .../uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 2 +- .../uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index 04e9254..e7ed149 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -200,7 +200,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_1); testresult &= response.checkData("10" +APPLET_AID_1 + "1CCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCC"); + "CCCCCCCC CCCCCCCC CCCCCC CCCC"); response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index 4733001..350bd93 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -1,4 +1,3 @@ - //----------------------------------------------------------------------------- //Test_Cre_Mha_Erhd.java //----------------------------------------------------------------------------- @@ -225,7 +224,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_1); testresult &= response.checkData("10" +APPLET_AID_1 + "1ECCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CC"); + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCC"); response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + -- GitLab From d2ea768a56d3bd8de859698a6446fd40976f8967 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 18:59:00 +0200 Subject: [PATCH 06/40] Revert "CR 43 SCP(21)000202/SCPTEST(21)070006r1" This reverts commit 2dbe106c86e88dec8665919bc48c3d3262d16036. --- .../uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 2 +- .../uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 3 ++- .../uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java | 2 +- .../toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index e7ed149..04e9254 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -200,7 +200,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_1); testresult &= response.checkData("10" +APPLET_AID_1 + "1CCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCC CCCC"); + "CCCCCCCC CCCCCCCC CCCCCC"); response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index 350bd93..4733001 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -1,3 +1,4 @@ + //----------------------------------------------------------------------------- //Test_Cre_Mha_Erhd.java //----------------------------------------------------------------------------- @@ -224,7 +225,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_1); testresult &= response.checkData("10" +APPLET_AID_1 + "1ECCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCC"); + "CCCCCCCC CCCCCCCC CCCCCCCC CC"); response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java index c6f2fbf..7c9b9e7 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java @@ -57,7 +57,7 @@ public class Test_Cre_Reg_Evtr extends UiccTestModel { // test script response = test.makeSelectableApplet(APPLET_AID_1); // Send a status command to be sure to retrieve the correct status word in the RAPDU - response = test.status("00", "0C", "00"); + test.status("00", "0C", "00"); addResult(response.checkSw("910F")); response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818299 020004") || diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java index 65718d6..1b7d116 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java @@ -42,7 +42,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, + test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -56,7 +56,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, + test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, "8008" + // TLV UICC Toolkit application specific parameters "02" + // V Priority Level "00" + // V Max. number of timers @@ -109,7 +109,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, + test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -123,7 +123,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, + test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers -- GitLab From 13df4d9895a94bc7729b91a868c0fa40cd7e6a4d Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 19:03:32 +0200 Subject: [PATCH 07/40] CR 44 SET(22)000030/SETTEST(22)071008r3 -Incorrect handling of APDUResponse --- .../uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java | 2 +- .../toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java index 7c9b9e7..c6f2fbf 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java @@ -57,7 +57,7 @@ public class Test_Cre_Reg_Evtr extends UiccTestModel { // test script response = test.makeSelectableApplet(APPLET_AID_1); // Send a status command to be sure to retrieve the correct status word in the RAPDU - test.status("00", "0C", "00"); + response = test.status("00", "0C", "00"); addResult(response.checkSw("910F")); response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818299 020004") || diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java index 1b7d116..65718d6 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java @@ -42,7 +42,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -56,7 +56,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, "8008" + // TLV UICC Toolkit application specific parameters "02" + // V Priority Level "00" + // V Max. number of timers @@ -109,7 +109,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -123,7 +123,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers -- GitLab From 53530368a03b68f562722d860248ea0320e50ba0 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 19:05:49 +0200 Subject: [PATCH 08/40] CR 46 SET(22)000032/SETTEST(22)071022r2 -Incorrect reporting of test-cases in the Test-applets and Test-scripts for cre_mha_pahd --- .../uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java | 2 +- .../uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java | 2 +- .../test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java index 595fdae..2977585 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java @@ -132,7 +132,7 @@ public class Cre_Mha_Pahd_1 extends TestToolkitApplet { testCaseNb==(byte)0x18) {handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x2C ){handler_available=true;} + testCaseNb==(byte)0x2E ){handler_available=true;} switch(event){ //--TC 1 diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java index a61a620..bcefc19 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java @@ -106,7 +106,7 @@ public class Cre_Mha_Pahd_2 extends TestToolkitApplet { testCaseNb==(byte)0x11 ){handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x21){handler_available=true;} + testCaseNb==(byte)0x23){handler_available=true;} switch (event) { diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java index 945b5c4..40faa16 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java @@ -264,18 +264,18 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { // the applet will not be triggered on an unsupported event. response = test.selectApplication(APPLET_AID_1); testresult &= (response.checkData("10" +APPLET_AID_1 + - "2FCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCC") || + "30CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CC") || response.checkData("10" +APPLET_AID_1 + "18CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC" + "CCCCCCCC CCCCCCCC CC") ); response = test.selectApplication(APPLET_AID_2); testresult &= (response.checkData("10" +APPLET_AID_2 + - "22CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "25CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCC") || + "CCCCCCCC CCCC") || response.checkData("10" +APPLET_AID_2 + "11CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC " + "CCCC") ); -- GitLab From fc53699f316f676559f7789b1a72e9406157ec9e Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 19:08:36 +0200 Subject: [PATCH 09/40] CR 47 SET(22)000033/SETTEST(22)071023r2 -Incorrect reporting of test-cases in the Test-applets and Test-scripts for cre_mha_prhd --- .../uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java | 2 +- .../uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java | 2 +- .../test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java | 10 ++++------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java index 45b9f9e..64a53d4 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java @@ -132,7 +132,7 @@ public class Cre_Mha_Prhd_1 extends TestToolkitApplet { testCaseNb==(byte)0x18) {handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x2C ){handler_available=true;} + testCaseNb==(byte)0x2E ){handler_available=true;} switch(event){ //--TC 1 diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java index 5bddc22..17092cc 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java @@ -106,7 +106,7 @@ public class Cre_Mha_Prhd_2 extends TestToolkitApplet { testCaseNb==(byte)0x11 ){handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x21){handler_available=true;} + testCaseNb==(byte)0x23){handler_available=true;} switch (event) { diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java index be5c4c5..e382158 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java @@ -258,9 +258,9 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { // the applet will not be triggered on an unsupported event. response = test.selectApplication(APPLET_AID_1); testresult &= (response.checkData("10" +APPLET_AID_1 + - "2FCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "30CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCC" + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CC" ) || response.checkData("10" +APPLET_AID_1 + "1CCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ @@ -270,11 +270,9 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + - "22CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "25CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCC" - ) - || + "CCCCCCCC CCCC") || response.checkData("10" +APPLET_AID_2 + "15CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCC" -- GitLab From 09c7a6cde4abfb8b2809e506a7dfcb3a663b798f Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 19:11:28 +0200 Subject: [PATCH 10/40] CR 48 SET(22)000059/SETTEST(22)071025r2 -Correction of UiccTestModel and UiccAPITestCardService --- .../userclass/UiccAPITestCardService.java | 400 +----------------- .../uicc/jcapi/userclass/UiccTestModel.java | 32 ++ 2 files changed, 34 insertions(+), 398 deletions(-) diff --git a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccAPITestCardService.java b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccAPITestCardService.java index cc152c2..5768f0b 100644 --- a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccAPITestCardService.java +++ b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccAPITestCardService.java @@ -9,7 +9,7 @@ package org.etsi.scp.wg3.uicc.jcapi.userclass; import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; -public class UiccAPITestCardService implements UiccCardManagementService,UiccAdministrativeCommandsService,UiccApplicationManagementService,UiccToolkitService { +public abstract class UiccAPITestCardService implements UiccCardManagementService,UiccAdministrativeCommandsService,UiccApplicationManagementService,UiccToolkitService,UiccResultsService { public static UiccAPITestCardService TestReference = null; @@ -19,406 +19,10 @@ public class UiccAPITestCardService implements UiccCardManagementService,UiccAdm */ public static UiccAPITestCardService getTheUiccTestCardService() { if (TestReference == null) { - return new UiccAPITestCardService(); + throw new UnsupportedOperationException("TestReference has not been set"); } else { return TestReference; } } - - @Override - public String reset() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectFile(String FileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectFile(String LogicalChannel, String FileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectForActivation(String DFname) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectForActivation(String LogicalChannel, String DFname) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectForTermination(String DFname) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectForTermination(String LogicalChannel, String DFname) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse activate(String FileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse activate(String LogicalChannel, String FileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deactivate(String FileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deactivate(String LogicalChannel, String FileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse manageChannel(String OperationCode, String ChannelNb) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse manageChannel(String LogicalChannel, String OperationCode, String ChannelNb) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse status(String AppStatus, String ReturnedData, String DataLength) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse status(String LogicalChannel, String AppStatus, String ReturnedData, String DataLength) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse readBinary(String sfiOffset, String length) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse readBinary(String logicalChannel, String sfiOffset, String length) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse readRecord(String recordNb, String mode, String length) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse readRecord(String logicalChannel, String recordNb, String mode, String length) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse updateBinary(String sfiOffset, String data) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse updateBinary(String logicalChannel, String sfiOffset, String data) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse updateRecord(String recordNb, String mode, String data) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse updateRecord(String logicalChannel, String recordNb, String mode, String data) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse increase(String incValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse increase(String logicalChannel, String incValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse verifyPIN(String keyRef, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse verifyPIN(String logicalChannel, String keyRef, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse changePIN(String keyRef, String OldPINValue, String NewPINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse changePIN(String logicalChannel, String keyRef, String OldPINValue, String NewPINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse enablePIN(String keyRef, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse enablePIN(String logicalChannel, String keyRef, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse disablePIN(String keyRef, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse disablePIN(String logicalChannel, String keyRef, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse unblockPIN(String keyRef, String unblockPINValue, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse unblockPIN(String logicalChannel, String keyRef, String unblockPINValue, String PINValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse sendApdu(String apduCommand) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse createFile(String fcpValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse createFile(String logicalChannel, String fcpValue) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deleteFile(String fileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deleteFile(String logicalChannel, String fileId) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse resizeFile(String fileId, String size) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse resizeFile(String logicalChannel, String fileId, String size) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse loadPackage(String capFilePath) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse installInstallApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse makeSelectableApplet(String appAID) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectApplication(String AID) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse selectApplication(String LogicalChannel, String AID) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse lockApplication(String appletAid) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse unlockApplication(String appletAid) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deleteApplet(String AID) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deletePackage(String capFilePath) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse deletePackageAndAllRelatedApplications(String capFilePath) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse terminalProfileSession(String tpStr) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse terminalProfile(String tpStr) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse fetch(String expDataLength) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse terminalResponse(String cmd) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeMenuSelection(String itemIdTLV, String HelpRequestTLV) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeCallControlByNAA() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeTimerExpiration(String TimerIdTLV) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse unrecognizedEnvelope() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadMTCall() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadCallConnected() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadCallDisconnected() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadLocationStatus() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadUserActivity() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadIdleScreenAvailable() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadCardReaderStatus() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadLanguageSelection() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadBrowserTermination() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadDataAvailable(String ChannelStatusTLV) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadChannelStatus(String ChannelStatusTLV) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadAccessTechnologyChange() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadDisplayParametersChanged() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadLocalConnection(String ServiceRecordTLV) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadNetworkSearchModeChange() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadBrowsingStatus() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadFramesInformationChanged() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public APDUResponse envelopeEventDownloadHCIConnectivity() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - } diff --git a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccTestModel.java b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccTestModel.java index 32ef4a4..df131a9 100644 --- a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccTestModel.java +++ b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userclass/UiccTestModel.java @@ -9,4 +9,36 @@ package org.etsi.scp.wg3.uicc.jcapi.userclass; public abstract class UiccTestModel { public abstract boolean run(); + + /** + * Initialises the results, removing all previous results. + */ + protected final void initialiseResults() + { + UiccAPITestCardService.getTheUiccTestCardService().initialiseResults(); + } + + /** + * Adds a new result. + */ + protected final void addResult(boolean result) + { + UiccAPITestCardService.getTheUiccTestCardService().addResult(result); + } + + /** + * Returns the overall result, based on all results submitted via {@link #addResult(boolean)} + * since the last call to {@link #initialiseResults()}. + *

+ * The following logic is used: + *

    + *
  • if no results have been submitted, false will be returned;
  • + *
  • if any false results have been submitted, false will be returned;
  • + *
  • otherwise, true will be returned.
  • + *
+ */ + protected final boolean getOverallResult() + { + return UiccAPITestCardService.getTheUiccTestCardService().getOverallResult(); + } } -- GitLab From 75725089abf0e755998fb5a760fb41a83dc3b88a Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 19:14:12 +0200 Subject: [PATCH 11/40] CR 50 SET(22)000061/SETTEST(22)071009r4 -Correction to the process of package deletion and Applet installation in Test_Cre_Apt_Epha --- .../catre/cre_apt_epha/Test_Cre_Apt_Epha.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java index 313e3c6..c6b7db3 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java @@ -19,7 +19,6 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { static final String APPLET_AID_1 = "A0000000 090005FF FFFFFF89 50010102"; static final String APPLET_AID_2 = "A0000000 090005FF FFFFFF89 50020102"; - static final String APPLET_AID_3 = "A0000000 090005FF FFFFFF89 50020103"; static final String Text1 = "54657874 31"; private UiccAPITestCardService test; @@ -34,7 +33,7 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { initialiseResults(); /*********************************************************************/ - /** Testcase 1, 2 */ + /** Testcase 1, 2 */ /*********************************************************************/ @@ -103,14 +102,13 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); test.deleteApplet(APPLET_AID_1); test.deleteApplet(APPLET_AID_2); - test.deletePackage(CAP_FILE_PATH); /*********************************************************************/ /** Testcase 3 */ /*********************************************************************/ - // Install Applet1 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, + // Install Applet1 + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -121,10 +119,10 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { "00" + // LV TAR Value(s) "00"); // V Maximum number of services - addResult(response.checkSw("9000")); + test.addResult(response.checkSw("9000")); - // Install Applet2 - test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, + // Install Applet2 + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -135,7 +133,7 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { "00" + // LV TAR Value(s) "00"); // V Maximum number of services - addResult(response.checkSw("9000")); + addResult(response.checkSw("9000")); // Card Initialisation test.reset(); @@ -165,8 +163,9 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { test.reset(); test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); // delete applets and package - test.deleteApplet(APPLET_AID_3); - test.deletePackage(CAP_FILE_PATH); + test.deleteApplet(APPLET_AID_1); + test.deleteApplet(APPLET_AID_2); + response = test.deletePackage(CAP_FILE_PATH); addResult(response.checkSw("9000")); -- GitLab From 39facf67ffb999739854b7ff371c4941ea1f345d Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 31 Mar 2022 19:16:26 +0200 Subject: [PATCH 12/40] CR 51 SET(22)000062/SETTEST(22)071026r1 -Add definition of envelopeEventProactiveHandlerAvailable() --- .../wg3/uicc/jcapi/userinterface/UiccToolkitService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java index 949b167..67708e3 100644 --- a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java +++ b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java @@ -224,4 +224,12 @@ public interface UiccToolkitService { * "D6 07 99 01 13 82 02 82 81" */ public APDUResponse envelopeEventDownloadHCIConnectivity(); + + /** + * perform an Envelope Event to trigger EVENT_PROACTIVE_HANDLER_AVAILABLE. + * @return APDUResponse Object + * Send the following string : + * FFS - define the value to be sent + */ + public APDUResponse envelopeEventProactiveHandlerAvailable(); } -- GitLab From 340331da7910751493efa884f6526d6b699fc7bf Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 9 Apr 2022 08:50:11 +0200 Subject: [PATCH 13/40] CR 45 SET(22)000031/SETTEST(22)071010r3 - reimplement -Incorrect reporting of testcases and results in the report of cre_mha_enhd and cre_mha_erhd --- .../uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 2 +- .../uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index 04e9254..e7ed149 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -200,7 +200,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_1); testresult &= response.checkData("10" +APPLET_AID_1 + "1CCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCC"); + "CCCCCCCC CCCCCCCC CCCCCC CCCC"); response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index 4733001..350bd93 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -1,4 +1,3 @@ - //----------------------------------------------------------------------------- //Test_Cre_Mha_Erhd.java //----------------------------------------------------------------------------- @@ -225,7 +224,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_1); testresult &= response.checkData("10" +APPLET_AID_1 + "1ECCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CC"); + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCC"); response = test.selectApplication(APPLET_AID_2); testresult &= response.checkData("10" +APPLET_AID_2 + -- GitLab From 3ece2a5699bd41e76e4c651abacd1784fa1418b3 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 9 Apr 2022 17:46:25 +0200 Subject: [PATCH 14/40] missed change of AID3 in CR 50 --- .../uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java index c6b7db3..e0a71e5 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java @@ -150,7 +150,7 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { /*********************************************************************/ /*********************************************************************/ - response = test.selectApplication(APPLET_AID_3); + response = test.selectApplication(APPLET_AID_1); addResult(response.checkData("10" + APPLET_AID_1 + "01" + "CC")); -- GitLab From 7650896d32f42c33f433fbf7e62adac4acaa175c Mon Sep 17 00:00:00 2001 From: sebhans Date: Mon, 30 May 2022 20:39:08 +0200 Subject: [PATCH 15/40] Correction to take changes from REL 7.1.0 into account --- .../api_1_fvw_incr/Api_1_Fvw_Incr_1.java | 44 ++++--------------- 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java index 8f818b2..be48837 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_incr/Api_1_Fvw_Incr_1.java @@ -34,13 +34,13 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants (byte)0x88,(byte)0x00}; // Tag, Length - SFI (no SFI) private byte [] abCreateEF_2C7F = { (byte)0x82,(byte)0x04, // Tag, Length - File descriptor - (byte)0x46,(byte)0x21,(byte)0x00,(byte)0x7F, // Value - File descriptor (Cyclic) and record length (0x7F) + (byte)0x46,(byte)0x21,(byte)0x00,(byte)0x7F, // Value - File descriptor (Cyclic) and record length (0xF7) (byte)0x83,(byte)0x02, // Tag, Length - File Id (byte)0x2C,(byte)0x7F, // Value - File Id (byte)0x8A,(byte)0x01,(byte)0x05, // Tag, Length, Value - LCSI (Activated) (byte)0x8B,(byte)0x03, // Tag, Length - Security attribute (byte)0x2F,(byte)0x06,(byte)0x01, // Value - Security attribute (EF Arr, record nb) - (byte)0x80,(byte)0x02,(byte)0x00,(byte)7F, // Tag, Length, value - File size (0 bytes => no record) + (byte)0x80,(byte)0x02,(byte)0x00,(byte)0x7F, // Tag, Length, value - File size (0 bytes => no record) (byte)0x88,(byte)0x00}; // Tag, Length - SFI (no SFI) byte testCaseNb = (byte) 0x00; byte incr[] = null; @@ -518,7 +518,8 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants // Set records to 55 55 55 Util.arrayFillNonAtomic(data, (short)0, (short)data.length, (byte)0x55); UiccFileView.updateRecord((short)0, REC_ACC_MODE_PREVIOUS, (short)0, data, (short)0, (short)data.length); - bRes &= true; + + bRes &= true; } catch (Exception e) { @@ -527,39 +528,10 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants reportTestOutcome(testCaseNb, bRes); // ----------------------------------------------------------------- - // Test Case 15 : Record not found + // Test Case 15 : Void + // Note: this means that baTestsResults will contain '00' for this test case, indicating Void in this case // - testCaseNb = 15; - try - { - incr = new byte[3]; - resp = new byte[3]; - createEFCmd = HandlerBuilder.buildTLVHandler(HandlerBuilder.EDIT_HANDLER, (short)abCreateEF_2C00.length, abCreateEF_2C00, (short)0x00, (short)abCreateEF_2C00.length); - UiccAdminFileView.createFile(createEFCmd); - UiccAdminFileView.select((short)0x2C00); - - incrOffset = 0; - incrLength = 3; - respOffset = 0; - - respLength = UiccFileView.increase(incr, incrOffset, incrLength, resp, respOffset); - bRes = false; - } - catch (UICCException e) - { - if (e.getReason() == UICCException.RECORD_NOT_FOUND) - bRes = true; - else - bRes = false; - } - catch(Exception e) - { - bRes = false; - } - - UiccAdminFileView.deleteFile((short)0x2C00); - reportTestOutcome(testCaseNb, bRes); - + // ----------------------------------------------------------------- // Test Case 16 : incrLength out of range // ----------------------------------------------------------------- @@ -613,4 +585,4 @@ public class Api_1_Fvw_Incr_1 extends TestToolkitApplet implements UICCConstants reportTestOutcome(testCaseNb, bRes); UiccAdminFileView.deleteFile((short)0x2C7F); } -} +} \ No newline at end of file -- GitLab From 866d74001065de0de4344dcf5ae2a3c407cda4c9 Mon Sep 17 00:00:00 2001 From: hanss Date: Tue, 22 Nov 2022 16:40:45 +0100 Subject: [PATCH 16/40] Editorial corrections --- .../uicc/test/access/api_1_fvw_redb/Api_1_Fvw_Redb_1.java | 3 --- .../test/access/api_1_fvw_redb/Test_Api_1_Fvw_Redb.java | 3 --- .../uicc/test/access/api_1_fvw_redr/Api_1_Fvw_Redr_1.java | 3 --- .../test/access/api_1_fvw_redr/Test_Api_1_Fvw_Redr.java | 3 --- .../uicc/test/access/api_1_fvw_updb/Api_1_Fvw_Updb_1.java | 3 --- .../test/access/api_1_fvw_updb/Test_Api_1_Fvw_Updb.java | 3 --- .../uicc/test/access/api_1_fvw_updr/Api_1_Fvw_Updr_1.java | 3 --- .../test/access/api_1_fvw_updr/Test_Api_1_Fvw_Updr.java | 3 --- .../fileadministration/api_4_afv_redb/Api_4_Afv_Redb_1.java | 3 --- .../api_4_afv_redb/Test_Api_4_Afv_Redb.java | 3 --- .../fileadministration/api_4_afv_redr/Api_4_Afv_Redr_1.java | 3 --- .../api_4_afv_redr/Test_Api_4_Afv_Redr.java | 3 --- .../fileadministration/api_4_afv_updb/Api_4_Afv_Updb_1.java | 3 --- .../api_4_afv_updb/Test_Api_4_Afv_Updb.java | 3 --- .../fileadministration/api_4_afv_updr/Api_4_Afv_Updr_1.java | 3 --- .../api_4_afv_updr/Test_Api_4_Afv_Updr.java | 3 --- .../uicc/test/catre/cre_tin_tarv/Test_Cre_Tin_Tarv.java | 2 +- .../uicc/test/catre/cre_uta_adel/Test_Cre_Uta_Adel.java | 2 +- .../test/toolkit/api_2_prh_cchd/Test_Api_2_Prh_Cchd.java | 6 +++--- 19 files changed, 5 insertions(+), 53 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Api_1_Fvw_Redb_1.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Api_1_Fvw_Redb_1.java index 65aa4de..d839ba3 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Api_1_Fvw_Redb_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Api_1_Fvw_Redb_1.java @@ -17,9 +17,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.api_1_fvw_redb - * - * @version 0.0.1 - 6 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_1_Fvw_Redb_1 extends TestToolkitApplet implements UICCConstants diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Test_Api_1_Fvw_Redb.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Test_Api_1_Fvw_Redb.java index 4c3a0f4..69c2f7f 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Test_Api_1_Fvw_Redb.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redb/Test_Api_1_Fvw_Redb.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.api_1_fvw_redb - * - * @version 0.0.1 - 6 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_1_Fvw_Redb extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Api_1_Fvw_Redr_1.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Api_1_Fvw_Redr_1.java index ad54ebc..293fc25 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Api_1_Fvw_Redr_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Api_1_Fvw_Redr_1.java @@ -17,9 +17,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.api_1_fvw_redr - * - * @version 0.0.1 - 6 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_1_Fvw_Redr_1 extends TestToolkitApplet implements UICCConstants { diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Test_Api_1_Fvw_Redr.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Test_Api_1_Fvw_Redr.java index b0cdabb..5eecec2 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Test_Api_1_Fvw_Redr.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_redr/Test_Api_1_Fvw_Redr.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.api_1_fvw_redr - * - * @version 0.0.1 - 6 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_1_Fvw_Redr extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Api_1_Fvw_Updb_1.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Api_1_Fvw_Updb_1.java index b864414..dce8326 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Api_1_Fvw_Updb_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Api_1_Fvw_Updb_1.java @@ -17,9 +17,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.api_1_fvw_updb - * - * @version 0.0.1 - 8 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_1_Fvw_Updb_1 extends TestToolkitApplet implements UICCConstants { diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Test_Api_1_Fvw_Updb.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Test_Api_1_Fvw_Updb.java index afa3742..f3cbd6a 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Test_Api_1_Fvw_Updb.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updb/Test_Api_1_Fvw_Updb.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.api_1_fvw_updb - * - * @version 0.0.1 - 8 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_1_Fvw_Updb extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Api_1_Fvw_Updr_1.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Api_1_Fvw_Updr_1.java index f294c33..c7e9df7 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Api_1_Fvw_Updr_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Api_1_Fvw_Updr_1.java @@ -17,9 +17,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.api_1_fvw_updr - * - * @version 0.0.1 - 8 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_1_Fvw_Updr_1 extends TestToolkitApplet implements UICCConstants { diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Test_Api_1_Fvw_Updr.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Test_Api_1_Fvw_Updr.java index c82c1a6..11a7775 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Test_Api_1_Fvw_Updr.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_fvw_updr/Test_Api_1_Fvw_Updr.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.api_1_fvw_updr - * - * @version 0.0.1 - 8 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_1_Fvw_Updr extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Api_4_Afv_Redb_1.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Api_4_Afv_Redb_1.java index 6d93b75..86573f0 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Api_4_Afv_Redb_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Api_4_Afv_Redb_1.java @@ -19,9 +19,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_redb - * - * @version 0.0.1 - 6 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_4_Afv_Redb_1 extends TestToolkitApplet implements UICCConstants diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Test_Api_4_Afv_Redb.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Test_Api_4_Afv_Redb.java index 6a1723e..69f7e8e 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Test_Api_4_Afv_Redb.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redb/Test_Api_4_Afv_Redb.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_redb - * - * @version 0.0.1 - 6 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_4_Afv_Redb extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Api_4_Afv_Redr_1.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Api_4_Afv_Redr_1.java index 8cd09ee..080c7de 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Api_4_Afv_Redr_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Api_4_Afv_Redr_1.java @@ -19,9 +19,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.api_4_Afv_redr - * - * @version 0.0.1 - 6 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_4_Afv_Redr_1 extends TestToolkitApplet implements UICCConstants { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Test_Api_4_Afv_Redr.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Test_Api_4_Afv_Redr.java index 1b83d6d..a688dfc 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Test_Api_4_Afv_Redr.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_redr/Test_Api_4_Afv_Redr.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_redr - * - * @version 0.0.1 - 6 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_4_Afv_Redr extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Api_4_Afv_Updb_1.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Api_4_Afv_Updb_1.java index 1bfc420..aa5675c 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Api_4_Afv_Updb_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Api_4_Afv_Updb_1.java @@ -19,9 +19,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_updb - * - * @version 0.0.1 - 8 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_4_Afv_Updb_1 extends TestToolkitApplet implements UICCConstants { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Test_Api_4_Afv_Updb.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Test_Api_4_Afv_Updb.java index d4f062f..5bf6738 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Test_Api_4_Afv_Updb.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updb/Test_Api_4_Afv_Updb.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_updb - * - * @version 0.0.1 - 8 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_4_Afv_Updb extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Api_4_Afv_Updr_1.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Api_4_Afv_Updr_1.java index 71525ee..ca86d6a 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Api_4_Afv_Updr_1.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Api_4_Afv_Updr_1.java @@ -19,9 +19,6 @@ import uicc.test.util.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_updr - * - * @version 0.0.1 - 8 déc. 2005 - * @author 3GPP T3 SWG API */ public class Api_4_Afv_Updr_1 extends TestToolkitApplet implements UICCConstants { diff --git a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Test_Api_4_Afv_Updr.java b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Test_Api_4_Afv_Updr.java index 881a3a4..54ccb39 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Test_Api_4_Afv_Updr.java +++ b/source/Annex_E_SourceCode/uicc/test/access/fileadministration/api_4_afv_updr/Test_Api_4_Afv_Updr.java @@ -16,9 +16,6 @@ import org.etsi.scp.wg3.uicc.jcapi.userinterface.*; /** * Test Area : uicc.test.access.fileadministration.api_4_afv_updr - * - * @version 0.0.1 - 8 d�c. 2005 - * @author 3GPP T3 SWG API */ public class Test_Api_4_Afv_Updr extends UiccTestModel { diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_tarv/Test_Cre_Tin_Tarv.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_tarv/Test_Cre_Tin_Tarv.java index 73f9da8..8aab5ee 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_tarv/Test_Cre_Tin_Tarv.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_tarv/Test_Cre_Tin_Tarv.java @@ -41,7 +41,7 @@ public class Test_Cre_Tin_Tarv extends UiccTestModel { /** Testcase 1 */ /*********************************************************************/ - // Install Applet2 with TAR "020202� + // Install Applet2 with TAR "020202" response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800B" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_uta_adel/Test_Cre_Uta_Adel.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_uta_adel/Test_Cre_Uta_Adel.java index 3ad4c4b..670d9dd 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_uta_adel/Test_Cre_Uta_Adel.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_uta_adel/Test_Cre_Uta_Adel.java @@ -398,7 +398,7 @@ public class Test_Cre_Uta_Adel extends UiccTestModel { /*********************************************************************/ /** Testcase 5 */ /*********************************************************************/ - // Object owned by a deleted applet can�t be accessed by other applets + // Object owned by a deleted applet can't be accessed by other applets // 1- Delete AppletA1 diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_prh_cchd/Test_Api_2_Prh_Cchd.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_prh_cchd/Test_Api_2_Prh_Cchd.java index eec34f6..c9316b2 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_prh_cchd/Test_Api_2_Prh_Cchd.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_prh_cchd/Test_Api_2_Prh_Cchd.java @@ -103,7 +103,7 @@ public class Test_Api_2_Prh_Cchd extends UiccTestModel // Fetch the received data proactive command response = test.fetch("0E"); addResult(response.checkData("D00C8103 01420182 02812137 0106")); - // Terminal Response with 6 bytes avalaible (�Hello1�) + // Terminal Response with 6 bytes avalaible ("Hello1") response = test.terminalResponse("81030142 01820282 81830100 36064865" + "6C6C6F31 370106"); addResult(response.checkSw("910E")); @@ -126,7 +126,7 @@ public class Test_Api_2_Prh_Cchd extends UiccTestModel // Fetch the received data proactive command response = test.fetch("0E"); addResult(response.checkData("D00C8103 01420182 02812137 0106")); - // Terminal Response with 6 bytes avalaible (�Hello2�) + // Terminal Response with 6 bytes avalaible ("Hello2") response = test.terminalResponse("81030142 01820282 81830100 36064865" + "6C6C6F32 370106"); addResult(response.checkSw("910E")); @@ -138,7 +138,7 @@ public class Test_Api_2_Prh_Cchd extends UiccTestModel // Fetch the received data proactive command response = test.fetch("0E"); addResult(response.checkData("D00C8103 01420182 02812137 010C")); - // Terminal Response with 12 bytes avalaible (�Hello3� & 'Hello4') + // Terminal Response with 12 bytes avalaible ("Hello3" & "Hello4") response = test.terminalResponse("81030142 01820282 81830100 36064865" + "6C6C6F33 36064865 6C6C6F34 37010C"); addResult(response.checkSw("9000")); -- GitLab From 1d3eb56fc35809055b809f7938ceeeaec14660d7 Mon Sep 17 00:00:00 2001 From: hanss Date: Wed, 23 Nov 2022 12:49:24 +0100 Subject: [PATCH 17/40] CR52 SET(22)000128r1 --- .../scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java index 67708e3..9514a8f 100644 --- a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java +++ b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java @@ -25,6 +25,9 @@ public interface UiccToolkitService { /** * perform a fetch APDU command + * This method shall check a) that there is a pending 91XX and b) that expDataLength == XX (from 91XX). + * If either of these checks fail, a Fail shall be reported. + * The value of Le for the Fetch command shall be XX (from 91XX) if available; otherwise expDataLength. * @param length of expected data, as String * @return APDUResponse Object */ -- GitLab From a04a337dd2e21222b7d98a78d2136baa5f0acaf4 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 12:35:50 +0100 Subject: [PATCH 18/40] CR 53 SET(22)000129r1 testcase 13: improve loop --- .../catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 79 +++++++++++++------ 1 file changed, 54 insertions(+), 25 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index b7cbf51..bd4b446 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -510,32 +510,61 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "78743232")); response = test.terminalResponse("81030121 00820282 81830100"); - for (byte i = 0; i < 3; i++) - { - switch (Integer.valueOf(response.getStatusWord(),16).intValue()) - { - case 0x9118: - // Fetch an empty SetUpMenu - response = test.fetch("18"); - addResult(response.checkData("D0168103 01250082 02818285 09554943" + - "43205445 53548F00")); - response = test.terminalResponse("81030125 00820282 81830100"); - break; - case 0x910E: - response = test.fetch("0E"); - addResult(response.checkData("D00C8103 01050082 02818219 0103") || - response.checkData("D00C8103 01050082 02818299 0103")); - response = test.terminalResponse("81030105 00820282 81830100"); - break; - case 0x910B: - // Fetch Polling Off command - response = test.fetch("0B"); - addResult(response.checkData("D0098103 01040082 028182")); - response = test.terminalResponse("81030104 00820282 81830100"); - break; - default: + // local variables so that we detect each expected proactive command only once + boolean setUpMenuReceived = false; + boolean setUpEventListReceived = false; + boolean pollingOffReceived = false; + // loop three times to try to fetch the three expected proactive commands + for (byte i = 0; i < 3; i++) { + // check for a pending proactive command + if (response.getStatusWord().startsWith("91")) { + // fetch the proactive command + response = test.fetch(response.getStatusWord().substring(2)); + // find the command details (by searching for "8103"), so that we can extract the type of command + int commandDetailsIndex = response.getData().indexOf("8103"); + // if the proactive command is long enough to contain the type of command (it should be!) ... + if ((commandDetailsIndex > 0) && (response.getData().length() >= (commandDetailsIndex + 8))) { + // extract the type of command (3 bytes after the command details starts) + String typeOfCommand = response.getData().substring(commandDetailsIndex + 6, commandDetailsIndex + 8); + // check for the expected types (if not received already) + // 25: SET UP MENU + if (!setUpMenuReceived && typeOfCommand.equals("25")) { + addResult(response.checkData("D0168103 01250082 02818285 09554943" + + "43205445 53548F00")); + setUpMenuReceived = true; + } + // 05: SET UP EVENT LIST + else if (!setUpEventListReceived && typeOfCommand.equals("05")) { + addResult(response.checkData("D00C8103 01050082 02818219 0103") || + response.checkData("D00C8103 01050082 02818299 0103")); + setUpEventListReceived = true; + } + // 04: POLLING OFF + else if (!pollingOffReceived && typeOfCommand.equals("04")) { + addResult(response.checkData("D0098103 01040082 028182")); + pollingOffReceived = true; + } + // other + else { + addResult(false); + } + // send the terminal response + response = test.terminalResponse("810301" + typeOfCommand + " 00820282 81830100"); + } + else { + // the proactive command is too short for a type of command, so this is not an expected proactive command + addResult(false); + // return a dummy terminal response + response = test.terminalResponse("81030105 00820282 81830100"); + } + } + else { + // no proactive command; we always expect three proactive commands, so this is an error + // add number of failures corresponding to the number of missing proactive commands + for (int j = i; j < 3; j++) { addResult(false); - break; + } + break; } } -- GitLab From 313781c0d3a580bf9cb524d534ce562531387143 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 12:43:47 +0100 Subject: [PATCH 19/40] CR 54 SET(22)000130r1 Remove unnecessary Set Up Event List from Terminal Profiles --- .../uicc/test/catre/cre_apt_efca/Test_Cre_Apt_Efca.java | 2 +- .../uicc/test/catre/cre_apt_emsh/Test_Cre_Apt_Emsh.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_efca/Test_Cre_Apt_Efca.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_efca/Test_Cre_Apt_Efca.java index 705bca8..c9f6c15 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_efca/Test_Cre_Apt_Efca.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_efca/Test_Cre_Apt_Efca.java @@ -146,7 +146,7 @@ public class Test_Cre_Apt_Efca extends UiccTestModel { test.reset(); //***TEST CASE 4: 1-APPLET 5 IS TRIGGERED BY THE EVENT_FIRST_COMMAND_AFTER_ATR - response = test.terminalProfile("09010020 01"); + response = test.terminalProfile("09010020"); addResult(response.checkSw("911E")); //***TEST CASE 4: 1-APPLET 5 DISABLES A MENU ENTRY, THE FETCH OF SET UP MENU CONTAIN ONLY ONE ITEM response = test.fetch("1E"); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_emsh/Test_Cre_Apt_Emsh.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_emsh/Test_Cre_Apt_Emsh.java index 85b3674..4a303a3 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_emsh/Test_Cre_Apt_Emsh.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_emsh/Test_Cre_Apt_Emsh.java @@ -110,7 +110,7 @@ public class Test_Cre_Apt_Emsh extends UiccTestModel { "00" + // LV TAR Value(s) "00"); // V Maximum number of services test.reset(); - test.terminalProfile("09010020 01"); + test.terminalProfile("09010020"); //UICC proactive command SET UP MENU, Menu Entry ID 05, 06, 07, Help Request supported response = test.fetch("37"); addResult(response.checkData("D0358103 01258082 02818285 09554943" + -- GitLab From 3371b67c5fbe111f8e9964d4ba940daeaab4eef2 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 13:02:49 +0100 Subject: [PATCH 20/40] CR 55 SET(22)000131r1 Allowances for SCP80 in admin methods -Annex E paret of the CR --- .../catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 50 ++++++++++--------- .../catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java | 4 +- .../catre/cre_tin_itid/Test_Cre_Tin_Itid.java | 19 ++++--- .../catre/cre_tin_itpo/Test_Cre_Tin_Itpo.java | 47 +++++++++-------- .../catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java | 5 +- 5 files changed, 70 insertions(+), 55 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index bd4b446..084763b 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -210,6 +210,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 2 */ /*********************************************************************/ + // note that we don't want this method to consume any unnecessary 91XX -> true test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -225,7 +226,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "8104" + // TLV UICC Access application specific parameters "00" + // LV UICC File System AID field "0100" + // LV Access Domain for UICC file system = ALWAYS - "00" ); // LV Access Domain DAP field + "00", // LV Access Domain DAP field + true); // Fetch the SetUpMenu with the menus menuList[0] = "Menu1"; @@ -238,8 +240,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 3 */ /*********************************************************************/ - // Lock Applet1 - test.lockApplication(APPLET_AID_1); + // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.lockApplication(APPLET_AID_1, true); // Fetch the SetUpMenu with the menus menuList[0] = "Menu2"; menuIdList[0] = "02"; @@ -250,8 +252,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 4 */ /*********************************************************************/ - // Make selectable Applet1 - test.unlockApplication(APPLET_AID_1); + // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.unlockApplication(APPLET_AID_1, true); // Fetch the SetUpMenu with the menus menuList[0] = "Menu1"; menuIdList[0] = "01"; @@ -295,8 +297,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 6 */ /*********************************************************************/ - // Lock Applet1 - test.lockApplication(APPLET_AID_1); + // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.lockApplication(APPLET_AID_1, true); // Fetch SetUpEventList command response = test.fetch("0D"); addResult(response.checkData("D00B8103 01050082 02818219 00") || @@ -309,8 +311,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 7 */ /*********************************************************************/ - // Make selectable Applet1 - test.unlockApplication(APPLET_AID_1); + // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.unlockApplication(APPLET_AID_1, true); // Fetch SetUpEventList command response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818219 020003") || @@ -359,8 +361,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030105 00820282 81830100"); addResult(response.checkSw("9000")); - // Delete Applet1 - test.deleteApplet(APPLET_AID_1); + // Delete Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.deleteApplet(APPLET_AID_1, true); // Fetch SetUpEventList command response = test.fetch("0D"); addResult(response.checkData("D00B8103 01050082 02818219 00") || @@ -380,7 +382,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Fetch SetUpEventList command response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818219 020003") || @@ -411,8 +414,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 10 */ /*********************************************************************/ - // Lock Applet1 - test.lockApplication(APPLET_AID_1); + // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.lockApplication(APPLET_AID_1, true); // Fetch Polling Off command response = test.fetch("0B"); addResult(response.checkData("D0098103 01040082 028182")); @@ -424,8 +427,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 11 */ /*********************************************************************/ - // Make selectable Applet1 - test.unlockApplication(APPLET_AID_1); + // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.unlockApplication(APPLET_AID_1, true); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -453,8 +456,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030103 00820282 81830100 84020010"); addResult(response.checkSw("9000")); - // Delete Applet1 - test.deleteApplet(APPLET_AID_1); + // Delete Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.deleteApplet(APPLET_AID_1, true); // Fetch Polling Off command response = test.fetch("0B"); addResult(response.checkData("D0098103 01040082 028182")); @@ -473,7 +476,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -686,8 +690,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030125 00820282 81830100"); addResult(response.checkSw("9000")); - //Lock Applet3 (testcase 14-14) - response = test.lockApplication(APPLET_AID_3); + //Lock Applet3 (testcase 14-14); note that we don't want this method to consume any unnecessary 91XX -> true + response = test.lockApplication(APPLET_AID_3, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); // Fetch the SetUpMenu @@ -703,8 +707,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030125 00820282 81830100"); addResult(response.checkSw("9000")); - //Make selectable Applet3 (testcase 14-15) - test.unlockApplication(APPLET_AID_3); + //Make selectable Applet3 (testcase 14-15); note that we don't want this method to consume any unnecessary 91XX -> true + test.unlockApplication(APPLET_AID_3, true); // Fetch the SetUpMenu response = test.fetch("30"); addResult(response.checkData("D02E8103 01250082 02818285 09554943" + diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java index c6f2fbf..00d0b4a 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_reg_evtr/Test_Cre_Reg_Evtr.java @@ -54,8 +54,8 @@ public class Test_Cre_Reg_Evtr extends UiccTestModel { "00" + // LV TAR Value(s) "00"); // V Maximum number of services - // test script - response = test.makeSelectableApplet(APPLET_AID_1); + // test script; note that we don't want this method to consume any unnecessary 91XX -> true + response = test.makeSelectableApplet(APPLET_AID_1, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00", "0C", "00"); addResult(response.checkSw("910F")); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itid/Test_Cre_Tin_Itid.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itid/Test_Cre_Tin_Itid.java index 0b3e966..9e0184a 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itid/Test_Cre_Tin_Itid.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itid/Test_Cre_Tin_Itid.java @@ -128,7 +128,7 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { /** Testcase 4 */ /*********************************************************************/ - // Good Install Applet2 + // Good Install Applet2; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -140,7 +140,8 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -156,7 +157,7 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { /** Testcase 4 */ /*********************************************************************/ - // Good Install Applet3 + // Good Install Applet3; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_3, APPLET_AID_3, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -168,7 +169,8 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -185,8 +187,8 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { /** Testcase 5 */ /*********************************************************************/ - // Delete Applet2 - response = test.deleteApplet(APPLET_AID_2); + // Delete Applet2; note that we don't want this method to consume any unnecessary 91XX -> true + response = test.deleteApplet(APPLET_AID_2, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -197,7 +199,7 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { menuList[2] = "Menu31"; menuIdList[2] = "81"; fetchSetUpMenu("UICC TEST", null, (byte)3, menuIdList, menuList, null, null); - // Good Install Applet2 + // Good Install Applet2; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -209,7 +211,8 @@ public class Test_Cre_Tin_Itid extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itpo/Test_Cre_Tin_Itpo.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itpo/Test_Cre_Tin_Itpo.java index 6fef871..a759cb9 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itpo/Test_Cre_Tin_Itpo.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_itpo/Test_Cre_Tin_Itpo.java @@ -51,7 +51,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 1 */ /*********************************************************************/ - // Install Applet1 + // Install Applet1; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "8010" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -69,7 +69,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -86,7 +87,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 2 */ /*********************************************************************/ - // Install Applet2 + // Install Applet2; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -98,7 +99,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU @@ -117,7 +119,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 3 */ /*********************************************************************/ - // Install Applet3 + // Install Applet3; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_3, APPLET_AID_3, "800C" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -135,7 +137,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "8104" + // TLV UICC Access application specific parameters "00" + // LV UICC File System AID field "0100" + // LV Access Domain for UICC file system = ALWAYS - "00" ); // LV Access Domain DAP field + "00", // LV Access Domain DAP field + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -155,7 +158,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 4 */ /*********************************************************************/ - // Install Applet4 + // Install Applet4; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_4, APPLET_AID_4, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -167,7 +170,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -188,7 +192,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 5 */ /*********************************************************************/ - // Install Applet5 + // Install Applet5; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_5, APPLET_AID_5, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -200,7 +204,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -236,8 +241,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { menuList[7] = "Menu51"; menuIdList[7] = "09"; fetchSetUpMenu("UICC TEST", null, (byte)8, menuIdList, menuList, null, null); - // Lock Applet2 - response = test.lockApplication(APPLET_AID_2); + // Lock Applet2; note that we don't want this method to consume any unnecessary 91XX -> true + response = test.lockApplication(APPLET_AID_2, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); addResult(response.getStatusWord().substring(0,2).compareTo("91") == 0); @@ -256,7 +261,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 7 */ /*********************************************************************/ - // Install Applet6 + // Install Applet6; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_6, APPLET_AID_6, "800E" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -272,7 +277,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); @@ -312,8 +318,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { menuList[10] = "Menu63"; menuIdList[10] = "12"; fetchSetUpMenu("UICC TEST", null, (byte)11, menuIdList, menuList, null, null); - // Unlock Applet2 - response = test.unlockApplication(APPLET_AID_2); + // Unlock Applet2; note that we don't want this method to consume any unnecessary 91XX -> true + response = test.unlockApplication(APPLET_AID_2, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); addResult(response.getStatusWord().substring(0,2).compareTo("91") == 0); @@ -337,8 +343,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 9 */ /*********************************************************************/ - // Delete Applet2 - response = test.deleteApplet(APPLET_AID_2); + // Delete Applet2; note that we don't want this method to consume any unnecessary 91XX -> true + response = test.deleteApplet(APPLET_AID_2, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); addResult(response.getStatusWord().substring(0,2).compareTo("91") == 0); @@ -361,7 +367,7 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { /** Testcase 10 */ /*********************************************************************/ - // Install Applet2 + // Install Applet2; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -373,7 +379,8 @@ public class Test_Cre_Tin_Itpo extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU response = test.status("00","0C","00"); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java index 0f50d47..8b8a153 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java @@ -47,7 +47,7 @@ public class Test_Cre_Tin_Nbme extends UiccTestModel { /** Testcase 1-2 */ /*********************************************************************/ - // Install Applet1 + // Install Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "800E" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -63,7 +63,8 @@ public class Test_Cre_Tin_Nbme extends UiccTestModel { "00" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00" ); // V Maximum number of services + "00", // V Maximum number of services + true); // Fetch & Terminal response menuList[0] = "Menu1"; menuIdList[0] = "01"; -- GitLab From 591fc793ca2975729f15ec459b7e71c1ec314a4f Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 13:04:58 +0100 Subject: [PATCH 21/40] CR 55 SET(22)000131r1 Allowances for SCP80 in admin methods -Annex D part of the CR --- .../UiccApplicationManagementService.java | 83 +++++++++++++++++-- 1 file changed, 78 insertions(+), 5 deletions(-) diff --git a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccApplicationManagementService.java b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccApplicationManagementService.java index 232d935..da5812f 100644 --- a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccApplicationManagementService.java +++ b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccApplicationManagementService.java @@ -23,7 +23,24 @@ public interface UiccApplicationManagementService { * @param UICC System Specific TLV as defined in 102 226 specification, as String * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response. */ - public APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters); + default APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters) + { + return installApplet(capFilePath, classAID, appAID, uiccSystemSpecificParameters, false); + } + + /** + * install and makeSelectable an instance in the card + * @param relative path of the cap file, as String + * @param Aid of the class, as String + * @param Aid of the instance, as String + * @param UICC System Specific TLV as defined in 102 226 specification, as String + * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation. + * If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80, + * to NOT fetch the corresponding proactive command, + * as it is expected to occur subsequently in the test case. + * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response. + */ + APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters, boolean immediate91XXExpected); /** * install an applet in installed state @@ -40,7 +57,21 @@ public interface UiccApplicationManagementService { * @param AID of the instance, as String * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response. */ - public APDUResponse makeSelectableApplet(String appAID); + default APDUResponse makeSelectableApplet(String appAID) + { + return makeSelectableApplet(appAID, false); + } + + /** + * make an applet selectable (install for make selectable) + * @param AID of the instance, as String + * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation. + * If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80, + * to NOT fetch the corresponding proactive command, + * as it is expected to occur subsequently in the test case. + * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response. + */ + APDUResponse makeSelectableApplet(String appAID, boolean immediate91XXExpected); /** * perform a SelectApplication APDU command @@ -56,21 +87,63 @@ public interface UiccApplicationManagementService { * @param AID of application, as String * @return ResponseAPDU Object, containing the application response */ - public APDUResponse lockApplication(String appletAid); + default APDUResponse lockApplication(String appletAid) + { + return lockApplication(appletAid, false); + } + + /** + * lock an application + * @param AID of application, as String + * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation. + * If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80, + * to NOT fetch the corresponding proactive command, + * as it is expected to occur subsequently in the test case. + * @return ResponseAPDU Object, containing the application response + */ + APDUResponse lockApplication(String appletAid, boolean immediate91XXExpected); + + /** + * unlock an application + * @param AID of application, as String + * @return ResponseAPDU Object, containing the application response + */ + default APDUResponse unlockApplication(String appletAid) + { + return unlockApplication(appletAid, false); + } /** * unlock an application * @param AID of application, as String + * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation. + * If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80, + * to NOT fetch the corresponding proactive command, + * as it is expected to occur subsequently in the test case. * @return ResponseAPDU Object, containing the application response */ - public APDUResponse unlockApplication(String appletAid); + APDUResponse unlockApplication(String appletAid, boolean immediate91XXExpected); + + /** + * delete an applet specified by its AID + * @param AID of applet, as String + * @return ResponseAPDU Object + */ + default APDUResponse deleteApplet(String AID) + { + return deleteApplet(AID, false); + } /** * delete an applet specified by its AID * @param AID of applet, as String + * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation. + * If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80, + * to NOT fetch the corresponding proactive command, + * as it is expected to occur subsequently in the test case. * @return ResponseAPDU Object */ - public APDUResponse deleteApplet(String AID); + APDUResponse deleteApplet(String AID, boolean immediate91XXExpected); /** * delete a package specified by its path -- GitLab From 8919d8cfbf0ade44f7455df1ea3b2e2ef1e0cca6 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 13:15:55 +0100 Subject: [PATCH 22/40] CR 56 SET(22)000132r1 Insert Status/Select commands before sending Fetch --- .../catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 53 +++++++++++++------ .../catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java | 3 +- 2 files changed, 40 insertions(+), 16 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index 084763b..b616e4c 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -228,7 +228,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "0100" + // LV Access Domain for UICC file system = ALWAYS "00", // LV Access Domain DAP field true); - + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch the SetUpMenu with the menus menuList[0] = "Menu1"; menuIdList[0] = "01"; @@ -240,8 +241,10 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 3 */ /*********************************************************************/ - // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true - test.lockApplication(APPLET_AID_1, true); + // Lock Applet1 + test.lockApplication(APPLET_AID_1); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch the SetUpMenu with the menus menuList[0] = "Menu2"; menuIdList[0] = "02"; @@ -297,8 +300,10 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 6 */ /*********************************************************************/ - // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true - test.lockApplication(APPLET_AID_1, true); + // Lock Applet1 + test.lockApplication(APPLET_AID_1); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch SetUpEventList command response = test.fetch("0D"); addResult(response.checkData("D00B8103 01050082 02818219 00") || @@ -361,8 +366,10 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030105 00820282 81830100"); addResult(response.checkSw("9000")); - // Delete Applet1; note that we don't want this method to consume any unnecessary 91XX -> true - test.deleteApplet(APPLET_AID_1, true); + // Delete Applet1 + test.deleteApplet(APPLET_AID_1); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch SetUpEventList command response = test.fetch("0D"); addResult(response.checkData("D00B8103 01050082 02818219 00") || @@ -384,6 +391,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); + // Send a Select command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch SetUpEventList command response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818219 020003") || @@ -414,8 +424,11 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 10 */ /*********************************************************************/ - // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true - test.lockApplication(APPLET_AID_1, true); + // Lock Applet1 + test.lockApplication(APPLET_AID_1); + // Send a Select command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Polling Off command response = test.fetch("0B"); addResult(response.checkData("D0098103 01040082 028182")); @@ -427,8 +440,11 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 11 */ /*********************************************************************/ - // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true - test.unlockApplication(APPLET_AID_1, true); + // Make selectable Applet1 + test.unlockApplication(APPLET_AID_1); + // Send a Select command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -456,8 +472,10 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030103 00820282 81830100 84020010"); addResult(response.checkSw("9000")); - // Delete Applet1; note that we don't want this method to consume any unnecessary 91XX -> true - test.deleteApplet(APPLET_AID_1, true); + // Delete Applet1 + test.deleteApplet(APPLET_AID_1); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch Polling Off command response = test.fetch("0B"); addResult(response.checkData("D0098103 01040082 028182")); @@ -478,6 +496,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); + // Send a Select command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -707,8 +728,10 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030125 00820282 81830100"); addResult(response.checkSw("9000")); - //Make selectable Applet3 (testcase 14-15); note that we don't want this method to consume any unnecessary 91XX -> true - test.unlockApplication(APPLET_AID_3, true); + //Make selectable Applet3 (testcase 14-15) + test.unlockApplication(APPLET_AID_3); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch the SetUpMenu response = test.fetch("30"); addResult(response.checkData("D02E8103 01250082 02818285 09554943" + diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java index 8b8a153..dff3357 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_nbme/Test_Cre_Tin_Nbme.java @@ -65,7 +65,8 @@ public class Test_Cre_Tin_Nbme extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); - + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch & Terminal response menuList[0] = "Menu1"; menuIdList[0] = "01"; menuList[1] = "Menu2"; menuIdList[1] = "02"; -- GitLab From 0f25ec687dfb5b874c7094ded597c1244f405956 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 13:18:31 +0100 Subject: [PATCH 23/40] CR 57 SET(22)000133r1 correct Terminal Responses --- .../uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index 350bd93..bcb8002 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -143,7 +143,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { testresult &= response.checkSw("9110"); response = test.fetch("10"); testresult &= response.checkData("D00E8103 01218082 0281028D 03040000"); - response = test.terminalResponse("81030110 00820282 81830100"); + response = test.terminalResponse("81030121 80820282 81830100"); testresult &= response.checkSw("9000"); //TC 19 response = test.unrecognizedEnvelope(); @@ -152,7 +152,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { testresult &= response.checkSw("9111"); response = test.fetch("11"); testresult &= response.checkData("D00F8103 01218082 0281028D 0404010203"); - response = test.terminalResponse("81030110 00820282 81830100"); + response = test.terminalResponse("81030121 80820282 81830100"); testresult &= response.checkSw("9000"); //TC 20 response = test.unrecognizedEnvelope(); -- GitLab From b45fe979fb4172d66f37c9483439d1700dd94b12 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 13:22:11 +0100 Subject: [PATCH 24/40] CR 58 SET(22)000134r1 Ensure exact Terminal Profile when required -Annex D part --- .../jcapi/userinterface/UiccToolkitService.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java index 9514a8f..d7ea491 100644 --- a/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java +++ b/source/Annex_D_UiccInterfaces/org/etsi/scp/wg3/uicc/jcapi/userinterface/UiccToolkitService.java @@ -16,6 +16,15 @@ public interface UiccToolkitService { */ public APDUResponse terminalProfileSession(String tpStr); + /** + * Perform Terminal Profile APDU command and all fetch/Terminal + * Response APDU until (90 00) status word. + * The test tool must not modify the Terminal Profile command. + * @param Terminal Profile command parameters, as String + * @return APDUResponse Object + */ + public APDUResponse terminalProfileSessionExact(String tpStr); + /** * perform a Terminal Profile APDU command * @param Terminal Profile command parameters, as String @@ -23,6 +32,14 @@ public interface UiccToolkitService { */ public APDUResponse terminalProfile(String tpStr); + /** + * Perform a Terminal Profile APDU command. + * The test tool must not modify the Terminal Profile command. + * @param Terminal Profile command parameters, as String + * @return APDUResponse Object + */ + public APDUResponse terminalProfileExact(String tpStr); + /** * perform a fetch APDU command * This method shall check a) that there is a pending 91XX and b) that expDataLength == XX (from 91XX). -- GitLab From 5ae440c152a3a597765128d9374bad4e16b59bf0 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 13:27:29 +0100 Subject: [PATCH 25/40] CR 58 SET(22)000134r1 Ensure exact Terminal Profile when required -Annex E part --- .../toolkit/api_2_tep_chec_bss/Test_Api_2_Tep_Chec_Bss.java | 2 +- .../uicc/test/toolkit/api_2_tep_checb/Test_Api_2_Tep_Checb.java | 2 +- .../uicc/test/toolkit/api_2_tep_checs/Test_Api_2_Tep_Checs.java | 2 +- .../uicc/test/toolkit/api_2_tep_copy/Test_Api_2_Tep_Copy.java | 2 +- .../uicc/test/toolkit/api_2_tep_gval/Test_Api_2_Tep_Gval.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_chec_bss/Test_Api_2_Tep_Chec_Bss.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_chec_bss/Test_Api_2_Tep_Chec_Bss.java index 8a63d81..d7df2fd 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_chec_bss/Test_Api_2_Tep_Chec_Bss.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_chec_bss/Test_Api_2_Tep_Chec_Bss.java @@ -58,7 +58,7 @@ public class Test_Api_2_Tep_Chec_Bss extends UiccTestModel { // test case 2 to 11 test.reset(); - test.terminalProfileSession("A977FFF1 FFFFFFFF FFFFFFFF FFFFFFFF"); + test.terminalProfileSessionExact("A977FFF1 FFFFFFFF FFFFFFFF FFFFFFFF"); response = test.unrecognizedEnvelope(); addResult(response.checkSw("9000")); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checb/Test_Api_2_Tep_Checb.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checb/Test_Api_2_Tep_Checb.java index 8eb3b17..33d1c0b 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checb/Test_Api_2_Tep_Checb.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checb/Test_Api_2_Tep_Checb.java @@ -58,7 +58,7 @@ public class Test_Api_2_Tep_Checb extends UiccTestModel { // test case 2 to 4 test.reset(); - test.terminalProfileSession("010160"); + test.terminalProfileSessionExact("010160"); response = test.unrecognizedEnvelope(); addResult(response.checkSw("9000")); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checs/Test_Api_2_Tep_Checs.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checs/Test_Api_2_Tep_Checs.java index 9b89670..f693778 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checs/Test_Api_2_Tep_Checs.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_checs/Test_Api_2_Tep_Checs.java @@ -57,7 +57,7 @@ public class Test_Api_2_Tep_Checs extends UiccTestModel { // test case 2 to 4 test.reset(); - test.terminalProfileSession("010160"); + test.terminalProfileSessionExact("010160"); response = test.unrecognizedEnvelope(); addResult(response.checkSw("9000")); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_copy/Test_Api_2_Tep_Copy.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_copy/Test_Api_2_Tep_Copy.java index 8193a07..ad653cc 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_copy/Test_Api_2_Tep_Copy.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_copy/Test_Api_2_Tep_Copy.java @@ -57,7 +57,7 @@ public class Test_Api_2_Tep_Copy extends UiccTestModel { // test cases 2 to 11 test.reset(); - test.terminalProfileSession("A901D2F0 01020000 00000000 008DFF"); + test.terminalProfileSessionExact("A901D2F0 01020000 00000000 008DFF"); response = test.unrecognizedEnvelope(); addResult(response.checkSw("9000")); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_gval/Test_Api_2_Tep_Gval.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_gval/Test_Api_2_Tep_Gval.java index 0d41570..d0cd2d7 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_gval/Test_Api_2_Tep_Gval.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tep_gval/Test_Api_2_Tep_Gval.java @@ -58,7 +58,7 @@ public class Test_Api_2_Tep_Gval extends UiccTestModel { // test case 2 to 9 test.reset(); - test.terminalProfileSession("A901D2F0 00000000 00000000 008DFF"); + test.terminalProfileSessionExact("A901D2F0 00000000 00000000 008DFF"); response = test.unrecognizedEnvelope(); addResult(response.checkSw("9000")); -- GitLab From 434b437096607982a093dc1ec99b3146c45acb4a Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 15:30:09 +0100 Subject: [PATCH 26/40] CR 59 SET(22)000166 Ensure UiccResultsService is used --- .../catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 70 +++++++------- .../catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 93 +++++++++---------- .../catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java | 62 ++++++------- .../catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java | 61 ++++++------ 4 files changed, 141 insertions(+), 145 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index e7ed149..a86e4ec 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -32,14 +32,10 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { /** test applet 1 instance aid */ private static String APPLET_AID_3 = "A0000000 090005FF FFFFFF89 50030102"; - - /** */ private UiccAPITestCardService test = null; /** contains the response from the executed command */ private APDUResponse response = null; - /** stores the test result */ - private boolean testresult = false; /** @@ -52,6 +48,8 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { * Installs the applet, runs the tests and checks the test result. */ public boolean run(){ + initialiseResults(); + // test script test.reset(); test.terminalProfileSession("0301"); @@ -94,90 +92,90 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { response = test.terminalProfileSession("FFFFFFF FFEFF1FFF FF0000FF FF9FFFEF" + "03FF000 0007FE300 01"); response = test.envelopeMenuSelection("900102","9500"); - testresult = response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 4 response = test.envelopeMenuSelection("900101",""); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 5 response = test.envelopeTimerExpiration("A40101"); //TC 6 response = test.envelopeCallControlByNAA(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 7 response = test.envelopeEventDownloadMTCall(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 8 response = test.envelopeEventDownloadCallConnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 9 response = test.envelopeEventDownloadCallDisconnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 10 response = test.envelopeEventDownloadLocationStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 11 response = test.envelopeEventDownloadUserActivity(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 12 response = test.envelopeEventDownloadIdleScreenAvailable(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 13 response = test.envelopeEventDownloadCardReaderStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 14 response = test.envelopeEventDownloadLanguageSelection(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 15 response = test.envelopeEventDownloadBrowserTermination(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 16 response = test.status("00","0C","00"); - testresult &= response.checkSw("911A"); + addResult(response.checkSw("911A")); //TC 17 response = test.fetch("1A"); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); response = test.envelopeEventDownloadDataAvailable("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 18 response = test.envelopeEventDownloadChannelStatus("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 19 response = test.unrecognizedEnvelope(); response = test.fetch("10");//fetch declare service //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 20 response = test.envelopeEventDownloadLocalConnection("C1040000FFFF"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 21 response = test.envelopeEventDownloadAccessTechnologyChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 22 response = test.envelopeEventDownloadDisplayParametersChanged(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 23 //envelope handler availability with //event proactive handler available //TC 24 APPLICATION DESELECT response = test.selectApplication ("A0000000 090005FF FFFFFF89 E0000002"); response = test.sendApdu ("00A4044C 10A00000 00090005 FFFFFFFF 89E00000 02"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 25 response = test.envelopeEventDownloadNetworkSearchModeChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 26 response = test.envelopeEventDownloadBrowsingStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 28 response = test.envelopeEventDownloadFramesInformationChanged(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 29 response = test.envelopeEventDownloadHCIConnectivity(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 27 + 2 test.reset(); response = test.terminalProfileSession("FFFFFFF FFEFF1FFF FF0000FF FF9FFFEF" + @@ -194,21 +192,21 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { "00" + // LV TAR Value(s) "00" ); // V Maximum number of services response = test.selectApplication(APPLET_AID_3); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //CHECK TEST RESULT response = test.selectApplication(APPLET_AID_1); - testresult &= response.checkData("10" +APPLET_AID_1 + + addResult(response.checkData("10" +APPLET_AID_1 + "1CCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCC CCCC"); + "CCCCCCCC CCCCCCCC CCCCCC CCCC")); response = test.selectApplication(APPLET_AID_2); - testresult &= response.checkData("10" +APPLET_AID_2 + + addResult(response.checkData("10" +APPLET_AID_2 + "13CCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCC CCCC"); + "CCCCCC CCCC")); response = test.selectApplication(APPLET_AID_3); - testresult &= response.checkData("10" +APPLET_AID_3 + "01CC"); + addResult(response.checkData("10" +APPLET_AID_3 + "01CC")); // delete applet and package test.reset(); @@ -218,7 +216,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { test.deleteApplet(APPLET_AID_3); test.deletePackage(CAP_FILE_PATH); - return testresult; + return getOverallResult(); } /** diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index bcb8002..1b8db4c 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -34,9 +34,6 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { private UiccAPITestCardService test = null; /** contains the response from the executed command */ private APDUResponse response = null; - /** stores the test result */ - private boolean testresult = false; - /** * */ @@ -47,7 +44,9 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { * Installs the applet, runs the tests and checks the test result. */ public boolean run(){ - // test script + initialiseResults(); + + // test script test.reset(); test.terminalProfileSession("16FF"); // Install Applet @@ -90,114 +89,114 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + "FFFF"); response = test.envelopeMenuSelection("900102","9500"); - testresult = response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 4 response = test.envelopeMenuSelection("900101",""); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 5 response = test.envelopeTimerExpiration("A40101"); //TC 6 response = test.envelopeEventDownloadMTCall(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 7 response = test.envelopeEventDownloadCallConnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 8 response = test.envelopeEventDownloadCallDisconnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 9 response = test.envelopeEventDownloadLocationStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 10 response = test.envelopeEventDownloadUserActivity(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 11 response = test.envelopeEventDownloadIdleScreenAvailable(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 12 response = test.envelopeEventDownloadCardReaderStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 13 response = test.envelopeEventDownloadLanguageSelection(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 14 response = test.envelopeEventDownloadBrowserTermination(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 15 response = test.status("00","0C","00"); - testresult &= response.checkSw("911A"); + addResult(response.checkSw("911A")); //TC 16 response = test.fetch("1A"); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); response = test.envelopeEventDownloadDataAvailable("B8028100");//channel id 1 - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 17 response = test.envelopeEventDownloadChannelStatus("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 18 response = test.envelopeCallControlByNAA(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); response = test.envelopeCallControlByNAA(); - testresult &= response.checkSw("9110"); + addResult(response.checkSw("9110")); response = test.fetch("10"); - testresult &= response.checkData("D00E8103 01218082 0281028D 03040000"); + addResult(response.checkData("D00E8103 01218082 0281028D 03040000")); response = test.terminalResponse("81030121 80820282 81830100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 19 response = test.unrecognizedEnvelope(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); response = test.unrecognizedEnvelope(); - testresult &= response.checkSw("9111"); + addResult(response.checkSw("9111")); response = test.fetch("11"); - testresult &= response.checkData("D00F8103 01218082 0281028D 0404010203"); + addResult(response.checkData("D00F8103 01218082 0281028D 0404010203")); response = test.terminalResponse("81030121 80820282 81830100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 20 response = test.unrecognizedEnvelope(); - testresult &= response.checkSw("9114"); + addResult(response.checkSw("9114")); response = test.envelopeCallControlByNAA(); - testresult &= response.checkSw("9114"); + addResult(response.checkSw("9114")); response = test.fetch("14"); - testresult &= response.checkData("D0128103 01218082 0281028D 07045445 58542031"); + addResult(response.checkData("D0128103 01218082 0281028D 07045445 58542031")); response = test.terminalResponse("81030121 80820282 81030100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 21 response = test.unrecognizedEnvelope(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 22 response = test.envelopeEventDownloadAccessTechnologyChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 23 response = test.envelopeEventDownloadDisplayParametersChanged(); - testresult &= response.checkSw("9110"); + addResult(response.checkSw("9110")); //TC 24 //fetch declare service response = test.fetch("10");//fetch declare service //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 25 response = test.envelopeEventDownloadLocalConnection("C1040000FFFF"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 26 response = test.selectApplication ("A0000000 090005FF FFFFFF89 E0000002"); response = test.sendApdu ("00A4044C 10A00000 00090005 FFFFFFFF 89E00000 02"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 27 response = test.envelopeEventDownloadNetworkSearchModeChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 28 response = test.envelopeEventDownloadBrowsingStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 28 response = test.envelopeEventDownloadFramesInformationChanged(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 29 response = test.envelopeEventDownloadHCIConnectivity(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 27 + 2 test.reset(); response = test.terminalProfileSession("13"); @@ -222,16 +221,16 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { //check results of the tests //test.reset(); response = test.selectApplication(APPLET_AID_1); - testresult &= response.checkData("10" +APPLET_AID_1 + + addResult(response.checkData("10" +APPLET_AID_1 + "1ECCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCC"); + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCC")); response = test.selectApplication(APPLET_AID_2); - testresult &= response.checkData("10" +APPLET_AID_2 + - "02CCCC"); + addResult(response.checkData("10" +APPLET_AID_2 + + "02CCCC")); response = test.selectApplication(APPLET_AID_3); - testresult &= response.checkData("10" +APPLET_AID_3 + "01CC"); + addResult(response.checkData("10" +APPLET_AID_3 + "01CC")); // delete applet and package test.reset(); @@ -241,7 +240,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { test.deleteApplet(APPLET_AID_3); test.deletePackage(CAP_FILE_PATH); - return testresult; + return getOverallResult(); } diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java index 40faa16..892bcc1 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java @@ -39,8 +39,6 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { private UiccAPITestCardService test = null; /** contains the response from the executed command */ private APDUResponse response = null; - /** stores the test result */ - private boolean testresult = false; public final byte[] AID_ADF1 = {(byte)0xA0, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09, (byte)0x00, (byte)0x05, (byte)0xFF, @@ -59,7 +57,9 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { * Installs the applet, runs the tests and checks the test result. */ public boolean run(){ - // test script + initialiseResults(); + + // test script test.reset(); test.terminalProfileSession("0301"); @@ -101,61 +101,61 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + "FFFF"); response = test.envelopeMenuSelection("900102","9500"); - testresult = response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 4 response = test.envelopeMenuSelection("900101",""); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 5 response = test.envelopeTimerExpiration("A40101"); //TC 6 response = test.envelopeCallControlByNAA(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 7 response = test.envelopeEventDownloadMTCall(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 8 response = test.envelopeEventDownloadCallConnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 9 response = test.envelopeEventDownloadCallDisconnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 10 response = test.envelopeEventDownloadLocationStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 11 response = test.envelopeEventDownloadUserActivity(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 12 response = test.envelopeEventDownloadIdleScreenAvailable(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 13 response = test.envelopeEventDownloadCardReaderStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 14 response = test.envelopeEventDownloadLanguageSelection(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 15 response = test.envelopeEventDownloadBrowserTermination(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 16 response = test.status("00","0C","00"); - testresult &= response.checkSw("911A"); + addResult(response.checkSw("911A")); //TC 17 response = test.fetch("1A"); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); response = test.envelopeEventDownloadDataAvailable("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 18 response = test.envelopeEventDownloadChannelStatus("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 19 response = test.unrecognizedEnvelope(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 20 response = test.envelopeEventDownloadAccessTechnologyChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 21 response = test.envelopeEventDownloadDisplayParametersChanged(); //fetch declare service @@ -163,22 +163,22 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 22 response = test.envelopeEventDownloadLocalConnection(servrectlv); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 23 response = test.envelopeEventDownloadCallConnected(); //fetch display text response = test.fetch("14"); response = test.terminalResponse("81030121 80820282 81030100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 24 //- Select for activation ADF1 response = test.selectApplication (byteArrayToHexString(AID_ADF1)); //- Select for termination ADF1 response = test.sendApdu ("00A4044C 10"+byteArrayToHexString(AID_ADF1) ); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 25 test.reset(); //no terminal profile is sent and proactive handler shall not be available. @@ -233,10 +233,10 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + "FFFF"); response = test.envelopeEventDownloadNetworkSearchModeChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 46 response = test.envelopeEventDownloadBrowsingStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 47 test.reset(); // Install Applet @@ -263,7 +263,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { // case that a CAT facility is not supported by the terminal profile, // the applet will not be triggered on an unsupported event. response = test.selectApplication(APPLET_AID_1); - testresult &= (response.checkData("10" +APPLET_AID_1 + + addResult(response.checkData("10" +APPLET_AID_1 + "30CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CC") || @@ -272,7 +272,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { "CCCCCCCC CCCCCCCC CC") ); response = test.selectApplication(APPLET_AID_2); - testresult &= (response.checkData("10" +APPLET_AID_2 + + addResult(response.checkData("10" +APPLET_AID_2 + "25CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCC") || @@ -281,7 +281,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { "CCCC") ); response = test.selectApplication(APPLET_AID_3); - testresult &= response.checkData("10" +APPLET_AID_3 + "01CC"); + addResult(response.checkData("10" +APPLET_AID_3 + "01CC")); // delete applet and package test.reset(); @@ -291,7 +291,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { test.deleteApplet(APPLET_AID_3); test.deletePackage(CAP_FILE_PATH); - return testresult; + return getOverallResult(); } /** diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java index e382158..9711cc9 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java @@ -38,8 +38,6 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { private UiccAPITestCardService test = null; /** contains the response from the executed command */ private APDUResponse response = null; - /** stores the test result */ - private boolean testresult = false; /** * @@ -51,6 +49,7 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { * Installs the applet, runs the tests and checks the test result. */ public boolean run(){ + initialiseResults(); // test script test.reset(); @@ -94,61 +93,61 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + "FFFF"); response = test.envelopeMenuSelection("900102","9500"); - testresult = response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 4 response = test.envelopeMenuSelection("900101",""); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 5 response = test.envelopeTimerExpiration("A40101"); //TC 6 response = test.envelopeCallControlByNAA(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 7 response = test.envelopeEventDownloadMTCall(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 8 response = test.envelopeEventDownloadCallConnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 9 response = test.envelopeEventDownloadCallDisconnected(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 10 response = test.envelopeEventDownloadLocationStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 11 response = test.envelopeEventDownloadUserActivity(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 12 response = test.envelopeEventDownloadIdleScreenAvailable(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 13 response = test.envelopeEventDownloadCardReaderStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 14 response = test.envelopeEventDownloadLanguageSelection(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 15 response = test.envelopeEventDownloadBrowserTermination(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 16 response = test.status("00","0C","00"); - testresult &= response.checkSw("911A"); + addResult(response.checkSw("911A")); //TC 17 response = test.fetch("1A"); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); response = test.envelopeEventDownloadDataAvailable("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 18 response = test.envelopeEventDownloadChannelStatus("B8028100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 19 response = test.unrecognizedEnvelope(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 20 response = test.envelopeEventDownloadAccessTechnologyChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 21 response = test.envelopeEventDownloadDisplayParametersChanged(); //fetch declare service @@ -156,22 +155,22 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 22 response = test.envelopeEventDownloadLocalConnection(servrectlv); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 23 response = test.envelopeEventDownloadCallConnected(); //fetch display text response = test.fetch("14"); response = test.terminalResponse("81030121 80820282 81030100"); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 24 //- Select for activation ADF1 response = test.selectApplication (AID_ADF1); //- Select for termination ADF1 response = test.sendApdu ("00A4044C 10"+AID_ADF1 ); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 25 test.reset(); //no terminal profile is sent and proactive handler shall not be available. @@ -226,10 +225,10 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + "FFFF"); response = test.envelopeEventDownloadNetworkSearchModeChange(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 46 response = test.envelopeEventDownloadBrowsingStatus(); - testresult &= response.checkSw("9000"); + addResult(response.checkSw("9000")); //TC 47 test.reset(); // Install Applet @@ -257,7 +256,7 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { // case that a CAT facility is not supported by the terminal profile, // the applet will not be triggered on an unsupported event. response = test.selectApplication(APPLET_AID_1); - testresult &= (response.checkData("10" +APPLET_AID_1 + + addResult(response.checkData("10" +APPLET_AID_1 + "30CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CC" @@ -269,18 +268,18 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_2); - testresult &= response.checkData("10" +APPLET_AID_2 + + addResult(response.checkData("10" +APPLET_AID_2 + "25CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCC") || response.checkData("10" +APPLET_AID_2 + "15CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCC" - ); + )); response = test.selectApplication(APPLET_AID_3); - testresult &= response.checkData("10" +APPLET_AID_3 + "01CC"); + addResult(response.checkData("10" +APPLET_AID_3 + "01CC")); // delete applet and package test.reset(); @@ -290,7 +289,7 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { test.deleteApplet(APPLET_AID_3); test.deletePackage(CAP_FILE_PATH); - return testresult; + return getOverallResult(); } -- GitLab From 7ea87f03cfb16f9d54c30c1255d194c2df0d2675 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 15:33:44 +0100 Subject: [PATCH 27/40] CR 60 SET(22)000168 insetr "true" argument and Status command --- .../test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java index e0b5427..b639ad3 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java @@ -82,11 +82,13 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { "04" + // V Maximum number of channels "00" + // LV Minimum Security Level field "00" + // LV TAR Value(s) - "00"); // V Maximum number of services + "00", // V Maximum number of services + true); + addResult(response.checkSw("9000")); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); - addResult(response.checkSw("9000")); - // Fetch SetUpMenu test.fetch("20"); test.terminalResponse("81030125 00820282 81830100"); @@ -132,6 +134,8 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { addResult(response.checkSw("9000")); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch SetUpMenu test.fetch("2A"); -- GitLab From 8af2068abf261908af7bddfd41909c68013c1178 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 15:39:49 +0100 Subject: [PATCH 28/40] CR 61 SET(22)0000169 correct AIDs. remove package deletion --- .../Test_Api_2_Trs_IsPrAv.java | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java index 65718d6..bece2a2 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java @@ -12,11 +12,10 @@ import org.etsi.scp.wg3.uicc.jcapi.userclass.*; public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { static final String CAP_FILE_PATH = "uicc/test/toolkit/api_2_trs_isprav"; - static final String CLASS_AID_1 = "A0000000 090005FF FFFFFF89 50010001"; - static final String APPLET_AID_1 = "A0000000 090005FF FFFFFF89 50010102"; - static final String APPLET_AID_2 = "A0000000 090005FF FFFFFF89 50010202"; - static final String APPLET_AID_3 = "A0000000 090005FF FFFFFF89 50010302"; - static final String APPLET_AID_4 = "A0000000 090005FF FFFFFF89 50010402"; + static final String CLASS_AID_1 = "A0000000 090005FF FFFFFF89 20010001"; + static final String CLASS_AID_2 = "A0000000 090005FF FFFFFF89 20020001"; + static final String APPLET_AID_1 = "A0000000 090005FF FFFFFF89 20010102"; + static final String APPLET_AID_2 = "A0000000 090005FF FFFFFF89 20010202"; private UiccAPITestCardService test; APDUResponse response; @@ -56,7 +55,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_2, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "8008" + // TLV UICC Toolkit application specific parameters "02" + // V Priority Level "00" + // V Max. number of timers @@ -101,7 +100,6 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { // delete applets and package test.deleteApplet(APPLET_AID_1); test.deleteApplet(APPLET_AID_2); - test.deletePackage(CAP_FILE_PATH); addResult(response.checkSw("9000")); /*********************************************************************/ @@ -109,7 +107,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ // Install Applet1 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_3, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -123,7 +121,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { addResult(response.checkSw("9000")); // Install Applet2 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_4, + response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "8008" + // TLV UICC Toolkit application specific parameters "01" + // V Priority Level "00" + // V Max. number of timers @@ -151,9 +149,9 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { /*********************************************************************/ /*********************************************************************/ - response = test.selectApplication(APPLET_AID_3); + response = test.selectApplication(APPLET_AID_1); addResult(response.checkData("10" + APPLET_AID_1 + "01" + "CC")); - response = test.selectApplication(APPLET_AID_4); + response = test.selectApplication(APPLET_AID_2); addResult(response.checkData("10" + APPLET_AID_2 + "01" + "CC")); @@ -166,8 +164,8 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { test.reset(); test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); // delete applets and package - test.deleteApplet(APPLET_AID_3); - test.deleteApplet(APPLET_AID_4); + test.deleteApplet(APPLET_AID_1); + test.deleteApplet(APPLET_AID_2); test.deletePackage(CAP_FILE_PATH); addResult(response.checkSw("9000")); -- GitLab From cec495842df96109a9a1cc3f11fb5cd443f1e013 Mon Sep 17 00:00:00 2001 From: sebhans Date: Sat, 26 Nov 2022 15:53:40 +0100 Subject: [PATCH 29/40] CR 65 SET(22)000170 comment out ID3 --- .../catre/cre_apt_epha/Test_Cre_Apt_Epha.java | 128 +++++++++--------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java index e0a71e5..42d7936 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_epha/Test_Cre_Apt_Epha.java @@ -102,72 +102,72 @@ public class Test_Cre_Apt_Epha extends UiccTestModel { test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); test.deleteApplet(APPLET_AID_1); test.deleteApplet(APPLET_AID_2); - - /*********************************************************************/ - /** Testcase 3 */ - /*********************************************************************/ - - // Install Applet1 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, - "8008" + // TLV UICC Toolkit application specific parameters - "01" + // V Priority Level - "00" + // V Max. number of timers - "0A" + // V Maximum text length for a menu entry - "00" + // V Maximum number of menu entries - "00" + // V Maximum number of channels - "00" + // LV Minimum Security Level field - "00" + // LV TAR Value(s) - "00"); // V Maximum number of services - - test.addResult(response.checkSw("9000")); - - // Install Applet2 - response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, - "8008" + // TLV UICC Toolkit application specific parameters - "01" + // V Priority Level - "00" + // V Max. number of timers - "0A" + // V Maximum text length for a menu entry - "00" + // V Maximum number of menu entries - "00" + // V Maximum number of channels - "00" + // LV Minimum Security Level field - "00" + // LV TAR Value(s) - "00"); // V Maximum number of services - - addResult(response.checkSw("9000")); - - // Card Initialisation - test.reset(); - test.terminalProfileSession("09030020 21"); - - // Trigger the applets - response = test.envelopeEventProactiveHandlerAvailable(); - addResult(response.checkSw("9000")); - - /*********************************************************************/ - /*********************************************************************/ - /** Check Applets */ - /*********************************************************************/ - /*********************************************************************/ +// commented out Testcase 3, because envelopeEventProactiveHandlerAvailable() is currently FFS +// /*********************************************************************/ +// /** Testcase 3 */ +// /*********************************************************************/ +// +// // Install Applet1 +// response = test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, +// "8008" + // TLV UICC Toolkit application specific parameters +// "01" + // V Priority Level +// "00" + // V Max. number of timers +// "0A" + // V Maximum text length for a menu entry +// "00" + // V Maximum number of menu entries +// "00" + // V Maximum number of channels +// "00" + // LV Minimum Security Level field +// "00" + // LV TAR Value(s) +// "00"); // V Maximum number of services +// +// test.addResult(response.checkSw("9000")); +// +// // Install Applet2 +// response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, +// "8008" + // TLV UICC Toolkit application specific parameters +// "01" + // V Priority Level +// "00" + // V Max. number of timers +// "0A" + // V Maximum text length for a menu entry +// "00" + // V Maximum number of menu entries +// "00" + // V Maximum number of channels +// "00" + // LV Minimum Security Level field +// "00" + // LV TAR Value(s) +// "00"); // V Maximum number of services +// +// addResult(response.checkSw("9000")); +// +// // Card Initialisation +// test.reset(); +// test.terminalProfileSession("09030020 21"); +// +// // Trigger the applets +// response = test.envelopeEventProactiveHandlerAvailable(); +// addResult(response.checkSw("9000")); +// +// +// /*********************************************************************/ +// /*********************************************************************/ +// /** Check Applets */ +// /*********************************************************************/ +// /*********************************************************************/ +// +// response = test.selectApplication(APPLET_AID_1); +// addResult(response.checkData("10" + APPLET_AID_1 + "01" + "CC")); +// +// +// /*********************************************************************/ +// /*********************************************************************/ +// /** Restore card */ +// /*********************************************************************/ +// /*********************************************************************/ +// +// test.reset(); +// test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); +// // delete applets and package +// test.deleteApplet(APPLET_AID_1); +// test.deleteApplet(APPLET_AID_2); + test.deletePackage(CAP_FILE_PATH); - response = test.selectApplication(APPLET_AID_1); - addResult(response.checkData("10" + APPLET_AID_1 + "01" + "CC")); - - - /*********************************************************************/ - /*********************************************************************/ - /** Restore card */ - /*********************************************************************/ - /*********************************************************************/ - - test.reset(); - test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); - // delete applets and package - test.deleteApplet(APPLET_AID_1); - test.deleteApplet(APPLET_AID_2); - response = test.deletePackage(CAP_FILE_PATH); - addResult(response.checkSw("9000")); - return getOverallResult(); } -- GitLab From 008a746f61eb7aba2fec334919f84db1ddd669c8 Mon Sep 17 00:00:00 2001 From: sebhans Date: Wed, 11 Jan 2023 15:27:47 +0100 Subject: [PATCH 30/40] CR 64 SET(22)000167 Correction of Test --- .../catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 29 ++++++++---------- .../catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 17 ++++++----- .../catre/cre_mha_pahd/Cre_Mha_Pahd_1.java | 2 +- .../catre/cre_mha_pahd/Cre_Mha_Pahd_2.java | 2 +- .../catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java | 30 +++++++++++-------- 5 files changed, 42 insertions(+), 38 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index a86e4ec..1390057 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -170,13 +170,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { //TC 26 response = test.envelopeEventDownloadBrowsingStatus(); addResult(response.checkSw("9000")); - //TC 28 - response = test.envelopeEventDownloadFramesInformationChanged(); - addResult(response.checkSw("9000")); - //TC 29 - response = test.envelopeEventDownloadHCIConnectivity(); - addResult(response.checkSw("9000")); - //TC 27 + 2 + //TC 27 test.reset(); response = test.terminalProfileSession("FFFFFFF FFEFF1FFF FF0000FF FF9FFFEF" + "03FF000 0007FE300 01"); @@ -192,7 +186,16 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { "00" + // LV TAR Value(s) "00" ); // V Maximum number of services response = test.selectApplication(APPLET_AID_3); - addResult(response.checkSw("9000")); + addResult(response.checkSw("9000")); + //TC 28 + // reset, because Applet3 is now selected on channel 0, which we need to use for toolkit activity + test.reset(); + response = test.terminalProfileSession("FFFFFFF FFEFF1FFF FF0000FF FF9FFFEF" + + "03FF000 0007FE300 01"); + response = test.envelopeEventDownloadFramesInformationChanged(); + addResult(response.checkSw("9000")); + response = test.envelopeEventDownloadHCIConnectivity(); + addResult(response.checkSw("9000")); //CHECK TEST RESULT response = test.selectApplication(APPLET_AID_1); @@ -202,8 +205,8 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_2); addResult(response.checkData("10" +APPLET_AID_2 + - "13CCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCC CCCC")); + "15CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "CCCCCCCC CCCC")); response = test.selectApplication(APPLET_AID_3); addResult(response.checkData("10" +APPLET_AID_3 + "01CC")); @@ -241,10 +244,4 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { } - - - - - - } \ No newline at end of file diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index 1b8db4c..e0d8d94 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -191,13 +191,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { //TC 28 response = test.envelopeEventDownloadBrowsingStatus(); addResult(response.checkSw("9000")); - //TC 28 - response = test.envelopeEventDownloadFramesInformationChanged(); - addResult(response.checkSw("9000")); //TC 29 - response = test.envelopeEventDownloadHCIConnectivity(); - addResult(response.checkSw("9000")); - //TC 27 + 2 test.reset(); response = test.terminalProfileSession("13"); @@ -214,8 +208,15 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { "00" ); // V Maximum number of services response = test.selectApplication(APPLET_AID_3); -// test.reset(); -// response = test.terminalProfileSession("13"); + //TC 30 + // reset, because Applet3 is now selected on channel 0, which we need to use for toolkit activity + test.reset(); + response = test.terminalProfileSession("13"); + response = test.envelopeEventDownloadFramesInformationChanged(); + addResult(response.checkSw("9000")); + //TC 31 + response = test.envelopeEventDownloadHCIConnectivity(); + addResult(response.checkSw("9000")); //check results of the tests diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java index 2977585..595fdae 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_1.java @@ -132,7 +132,7 @@ public class Cre_Mha_Pahd_1 extends TestToolkitApplet { testCaseNb==(byte)0x18) {handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x2E ){handler_available=true;} + testCaseNb==(byte)0x2C ){handler_available=true;} switch(event){ //--TC 1 diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java index bcefc19..a61a620 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Cre_Mha_Pahd_2.java @@ -106,7 +106,7 @@ public class Cre_Mha_Pahd_2 extends TestToolkitApplet { testCaseNb==(byte)0x11 ){handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x23){handler_available=true;} + testCaseNb==(byte)0x21){handler_available=true;} switch (event) { diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java index 892bcc1..2155d46 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java @@ -215,19 +215,15 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { response = test.envelopeEventDownloadAccessTechnologyChange(); //TC 41 response = test.envelopeEventDownloadDisplayParametersChanged(); - //TC 49 - response = test.envelopeEventDownloadFramesInformationChanged(); - //TC 50 - response = test.envelopeEventDownloadHCIConnectivity(); //TC 42 //The Proactive Handler is not available before the //Terminal Profile //TC 43 - response = test.envelopeEventDownloadNetworkSearchModeChange(); - //TC 44 - response = test.envelopeEventDownloadBrowsingStatus(); + response = test.envelopeEventDownloadNetworkSearchModeChange(); + //TC 44 + response = test.envelopeEventDownloadBrowsingStatus(); //TC 45 + 2 - test.reset(); + test.reset(); //initialization with all the facilities supported (without SETUP_EVENT_LIST) response = test.terminalProfileSession("FFFFFFFF FEFFFFFF FFFFFFFF FFFFFFFF " + "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + @@ -255,6 +251,16 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { "00" + // LV TAR Value(s) "00" ); // V Maximum number of services response = test.selectApplication(APPLET_AID_3); + //TC 48 + // reset, because Applet3 is now selected on channel 0, which we need to use for toolkit activity + test.reset(); + //initialization with all the facilities supported (without SETUP_EVENT_LIST) + response = test.terminalProfileSession("FFFFFFFF FEFFFFFF FFFFFFFF FFFFFFFF " + + "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + + "FFFF"); + response = test.envelopeEventDownloadFramesInformationChanged(); + //TC 49 + response = test.envelopeEventDownloadHCIConnectivity(); // get result from applets @@ -264,18 +270,18 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { // the applet will not be triggered on an unsupported event. response = test.selectApplication(APPLET_AID_1); addResult(response.checkData("10" +APPLET_AID_1 + - "30CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "2FCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CC") || + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC") || response.checkData("10" +APPLET_AID_1 + "18CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC" + "CCCCCCCC CCCCCCCC CC") ); response = test.selectApplication(APPLET_AID_2); addResult(response.checkData("10" +APPLET_AID_2 + - "25CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "24CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCC") || + "CCCCCCCC CC") || response.checkData("10" +APPLET_AID_2 + "11CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC " + "CCCC") ); -- GitLab From fad49facab3548e97a01e7be8216b30ca50b91f6 Mon Sep 17 00:00:00 2001 From: sebhans Date: Wed, 11 Jan 2023 15:36:43 +0100 Subject: [PATCH 31/40] CR 66 SET(22)000234 removal of incorrect SW check --- .../test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java index b639ad3..35a88cf 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java @@ -84,13 +84,13 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); - addResult(response.checkSw("9000")); // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch SetUpMenu - test.fetch("20"); + response = test.fetch("20"); + addResult(response.checkSw("9000")); test.terminalResponse("81030125 00820282 81830100"); @@ -129,16 +129,16 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { "03" + // V Position of menu entry 1 "07" + // V Maximum number of channels "00" + // LV Minimum Security Level field - "00" + // LV TAR Value(s) - "00"); // V Maximum number of services - - addResult(response.checkSw("9000")); + "00" + // LV TAR Value(s) + "00", // V Maximum number of services + true); // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch SetUpMenu - test.fetch("2A"); + response = test.fetch("2A"); + addResult(response.checkSw("9000")); test.terminalResponse("81030125 00820282 81830100"); -- GitLab From 6bed10caf83536d721f638c53f976441634116cc Mon Sep 17 00:00:00 2001 From: sebhans Date: Wed, 11 Jan 2023 15:40:16 +0100 Subject: [PATCH 32/40] CR 67 SET(22)000235r1 insertion of missing FETCH checks --- .../uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java index e0d8d94..40dedc1 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_erhd/Test_Cre_Mha_Erhd.java @@ -127,6 +127,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { addResult(response.checkSw("911A")); //TC 16 response = test.fetch("1A"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); addResult(response.checkSw("9000")); @@ -174,6 +175,7 @@ public class Test_Cre_Mha_Erhd extends UiccTestModel { //TC 24 //fetch declare service response = test.fetch("10");//fetch declare service + addResult(response.checkSw("9000")); //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); -- GitLab From fa75d4292a8aacf147df32da3061c7ab85fc5eeb Mon Sep 17 00:00:00 2001 From: sebhans Date: Wed, 18 Jan 2023 14:02:28 +0100 Subject: [PATCH 33/40] CR 62 SET(22)000171 Insertion of missing FETCH checks --- .../uicc/test/access/api_1_cont/Test_Api_1_Cont.java | 6 ++++-- .../uicc/test/catre/cre_apt_edat/Test_Cre_Apt_Edat.java | 6 ++++-- .../uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 1 + .../uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java | 3 +++ .../uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java | 3 +++ .../test/toolkit/api_2_tkr_gpol/Test_Api_2_Tkr_Gpol.java | 5 +++++ .../test/toolkit/api_2_tkr_rsid/Test_Api_2_Tkr_Rsid.java | 1 + .../test/toolkit/api_2_tkr_sevl/Test_Api_2_Tkr_Sevl.java | 1 + .../test/toolkit/api_2_tkr_smta/Test_Api_2_Tkr_Smta.java | 1 + 9 files changed, 23 insertions(+), 4 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/access/api_1_cont/Test_Api_1_Cont.java b/source/Annex_E_SourceCode/uicc/test/access/api_1_cont/Test_Api_1_Cont.java index d24ab75..a9446e0 100644 --- a/source/Annex_E_SourceCode/uicc/test/access/api_1_cont/Test_Api_1_Cont.java +++ b/source/Annex_E_SourceCode/uicc/test/access/api_1_cont/Test_Api_1_Cont.java @@ -464,7 +464,8 @@ public class Test_Api_1_Cont extends UiccTestModel { addResult(test.selectFile(EF_NOSH).checkSw("6985")); //5 - test.fetch("13"); + response = test.fetch("13"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030121 80820282 81830100"); /** test case 14 @@ -479,7 +480,8 @@ public class Test_Api_1_Cont extends UiccTestModel { addResult(test.selectFile(EF_NOSH).checkSw("6985")); //5 - test.fetch("13"); + response = test.fetch("13"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030121 80820282 81830100"); /** test case 15 diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_edat/Test_Cre_Apt_Edat.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_edat/Test_Cre_Apt_Edat.java index 7e0b4e8..d8c853d 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_edat/Test_Cre_Apt_Edat.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_apt_edat/Test_Cre_Apt_Edat.java @@ -55,13 +55,15 @@ public class Test_Cre_Apt_Edat extends UiccTestModel { //***TEST CASE 1: 1-APPLET 1 IS REGISTERED TO EVENT_EVENT_DOWNLOAD_ACCESS_TECHNOLOGY_CHANGE*** //***TEST CASE 1: 2-APPLET 1 IS TRIGGERED*** test.envelopeEventDownloadAccessTechnologyChange(); - test.fetch("0D"); + response = test.fetch("0D"); + addResult(response.checkSw("9000")); test.terminalResponse("81030105 00820282 81830100"); //***TEST CASE 2: 1-APPLET 1 IS NOT TRIGGERED*** test.envelopeEventDownloadAccessTechnologyChange(); //***TEST CASE 2: 1 IS REGISTERED TO EVENT_EVENT_DOWNLOAD_ACCESS_TECHNOLOGY_CHANGE*** test.envelopeMenuSelection("100101", "");//Help Request not available - test.fetch("0E"); + response = test.fetch("0E"); + addResult(response.checkSw("9000")); test.terminalResponse("81030105 00820282 81830100"); //***TEST CASE 2: 2-APPLET 1 IS TRIGGERED*** test.envelopeEventDownloadAccessTechnologyChange(); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index 1390057..ac7d6c2 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -144,6 +144,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { //TC 19 response = test.unrecognizedEnvelope(); response = test.fetch("10");//fetch declare service + addResult(response.checkSw("9000")); //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java index 2155d46..26bd325 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java @@ -142,6 +142,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { addResult(response.checkSw("911A")); //TC 17 response = test.fetch("1A"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); addResult(response.checkSw("9000")); @@ -160,6 +161,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { response = test.envelopeEventDownloadDisplayParametersChanged(); //fetch declare service response = test.fetch("10"); + addResult(response.checkSw("9000")); //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); @@ -169,6 +171,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { addResult(response.checkSw("9000")); //TC 23 response = test.envelopeEventDownloadCallConnected(); + addResult(response.checkSw("9000")); //fetch display text response = test.fetch("14"); response = test.terminalResponse("81030121 80820282 81030100"); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java index 9711cc9..86501d0 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java @@ -134,6 +134,7 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { addResult(response.checkSw("911A")); //TC 17 response = test.fetch("1A"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030140 01820282 8183010038 0281003502 " + "03003902 000A"); addResult(response.checkSw("9000")); @@ -152,6 +153,7 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { response = test.envelopeEventDownloadDisplayParametersChanged(); //fetch declare service response = test.fetch("10"); + addResult(response.checkSw("9000")); //get the service record tlv from declare service command String servrectlv = getServiceRecordTLV(response.getData()); response = test.terminalResponse("81030147 0082028281 830100"); @@ -163,6 +165,7 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { response = test.envelopeEventDownloadCallConnected(); //fetch display text response = test.fetch("14"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030121 80820282 81030100"); addResult(response.checkSw("9000")); //TC 24 diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_gpol/Test_Api_2_Tkr_Gpol.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_gpol/Test_Api_2_Tkr_Gpol.java index c51d342..d9d8b69 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_gpol/Test_Api_2_Tkr_Gpol.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_gpol/Test_Api_2_Tkr_Gpol.java @@ -60,11 +60,13 @@ public class Test_Api_2_Tkr_Gpol extends UiccTestModel { response = test.unrecognizedEnvelope(); addResult(response.checkSw("910F")); response = test.fetch("0F"); + addResult(response.checkSw("9000")); test.terminalResponse("81030103 00820282 81830100 840200FF"); test.reset(); response = test.terminalProfile("09017020"); addResult(response.checkSw("910F")); response = test.fetch("0F"); + addResult(response.checkSw("9000")); test.terminalResponse("81030103 00820282 81830100 840200FF"); test.unrecognizedEnvelope(); @@ -74,11 +76,13 @@ public class Test_Api_2_Tkr_Gpol extends UiccTestModel { response = test.unrecognizedEnvelope(); addResult(response.checkSw("910F")); response = test.fetch("0F"); + addResult(response.checkSw("9000")); test.terminalResponse("81030103 00820282 81830100 8402011E"); test.reset(); response = test.terminalProfile("09017020"); addResult(response.checkSw("910F")); response = test.fetch("0F"); + addResult(response.checkSw("9000")); test.terminalResponse("81030103 00820282 81830100 84020175"); test.unrecognizedEnvelope(); @@ -88,6 +92,7 @@ public class Test_Api_2_Tkr_Gpol extends UiccTestModel { response = test.unrecognizedEnvelope(); addResult(response.checkSw("910B")); response = test.fetch("0B"); + addResult(response.checkSw("9000")); test.terminalResponse("81030104 00820282 81830100"); test.reset(); response = test.terminalProfile("09017020"); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_rsid/Test_Api_2_Tkr_Rsid.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_rsid/Test_Api_2_Tkr_Rsid.java index 6de551d..c57ae30 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_rsid/Test_Api_2_Tkr_Rsid.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_rsid/Test_Api_2_Tkr_Rsid.java @@ -76,6 +76,7 @@ public class Test_Api_2_Tkr_Rsid extends UiccTestModel { response = test.envelopeMenuSelection("900102",""); addResult(response.checkSw("9110")); response = test.fetch("10"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030147 00820282 81830100"); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_sevl/Test_Api_2_Tkr_Sevl.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_sevl/Test_Api_2_Tkr_Sevl.java index e024c31..a3ab2d0 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_sevl/Test_Api_2_Tkr_Sevl.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_sevl/Test_Api_2_Tkr_Sevl.java @@ -82,6 +82,7 @@ public class Test_Api_2_Tkr_Sevl extends UiccTestModel { response = test.envelopeMenuSelection("900102", ""); addResult(response.checkSw("910E")); response = test.fetch("0E"); + addResult(response.checkSw("9000")); // check results response = test.selectApplication(APPLET_AID_1); diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_smta/Test_Api_2_Tkr_Smta.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_smta/Test_Api_2_Tkr_Smta.java index c23f479..7829d4b 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_smta/Test_Api_2_Tkr_Smta.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_tkr_smta/Test_Api_2_Tkr_Smta.java @@ -59,6 +59,7 @@ public class Test_Api_2_Tkr_Smta extends UiccTestModel { addResult(response.checkSw("913E")); response = test.fetch("3E"); + addResult(response.checkSw("9000")); test.terminalResponse("81030125 00820282 81830100"); // testcase 1 -- GitLab From f08bb831cb5f53918e6e96be5abdcd4f4c5f0303 Mon Sep 17 00:00:00 2001 From: sebhans Date: Wed, 18 Jan 2023 17:32:10 +0100 Subject: [PATCH 34/40] editorial change --- .../test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java index bece2a2..26a32d8 100644 --- a/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java +++ b/source/Annex_E_SourceCode/uicc/test/toolkit/api_2_trs_isprav/Test_Api_2_Trs_IsPrAv.java @@ -97,7 +97,7 @@ public class Test_Api_2_Trs_IsPrAv extends UiccTestModel { test.reset(); test.terminalProfileSession(UiccCardManagementService.DEFAULT_TERMINAL_PROFILE); - // delete applets and package + // delete applets test.deleteApplet(APPLET_AID_1); test.deleteApplet(APPLET_AID_2); addResult(response.checkSw("9000")); -- GitLab From 4ac038fb3cce7ecba2a80160b349f968de29760e Mon Sep 17 00:00:00 2001 From: sebhans Date: Wed, 18 Jan 2023 17:53:20 +0100 Subject: [PATCH 35/40] correct incomplete implementation of CR 55 and 56 --- .../catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 70 ++++++++++--------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index b616e4c..465e0bb 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -241,9 +241,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 3 */ /*********************************************************************/ - // Lock Applet1 - test.lockApplication(APPLET_AID_1); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.lockApplication(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch the SetUpMenu with the menus menuList[0] = "Menu2"; @@ -257,6 +257,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.unlockApplication(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch the SetUpMenu with the menus menuList[0] = "Menu1"; menuIdList[0] = "01"; @@ -300,9 +302,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 6 */ /*********************************************************************/ - // Lock Applet1 - test.lockApplication(APPLET_AID_1); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.lockApplication(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch SetUpEventList command response = test.fetch("0D"); @@ -318,6 +320,8 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.unlockApplication(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + test.status("00","0C","00"); // Fetch SetUpEventList command response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818219 020003") || @@ -366,9 +370,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030105 00820282 81830100"); addResult(response.checkSw("9000")); - // Delete Applet1 - test.deleteApplet(APPLET_AID_1); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Delete Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.deleteApplet(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch SetUpEventList command response = test.fetch("0D"); @@ -391,9 +395,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); - // Send a Select command to be sure to retrieve the correct status word in the RAPDU - // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) - test.sendApdu("00 A4 00 0C 02 3F 00"); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) + test.sendpdu("00 A4 00 0C 02 3F 00"); // Fetch SetUpEventList command response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818219 020003") || @@ -424,11 +428,11 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 10 */ /*********************************************************************/ - // Lock Applet1 - test.lockApplication(APPLET_AID_1); - // Send a Select command to be sure to retrieve the correct status word in the RAPDU - // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) - test.sendApdu("00 A4 00 0C 02 3F 00"); + // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.lockApplication(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) + test.sendpdu("00 A4 00 0C 02 3F 00"); // Fetch Polling Off command response = test.fetch("0B"); addResult(response.checkData("D0098103 01040082 028182")); @@ -440,11 +444,11 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { /** Testcase 11 */ /*********************************************************************/ - // Make selectable Applet1 - test.unlockApplication(APPLET_AID_1); - // Send a Select command to be sure to retrieve the correct status word in the RAPDU - // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) - test.sendApdu("00 A4 00 0C 02 3F 00"); + // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.unlockApplication(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) + test.sendpdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -472,9 +476,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030103 00820282 81830100 84020010"); addResult(response.checkSw("9000")); - // Delete Applet1 - test.deleteApplet(APPLET_AID_1); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Delete Applet1; note that we don't want this method to consume any unnecessary 91XX -> true + test.deleteApplet(APPLET_AID_1, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch Polling Off command response = test.fetch("0B"); @@ -496,9 +500,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); - // Send a Select command to be sure to retrieve the correct status word in the RAPDU - // Do not send Status, because this would turn off polling (which is coded for the start of Testcase 12) - test.sendApdu("00 A4 00 0C 02 3F 00"); + // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) + test.sendpdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -712,9 +716,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { addResult(response.checkSw("9000")); //Lock Applet3 (testcase 14-14); note that we don't want this method to consume any unnecessary 91XX -> true - response = test.lockApplication(APPLET_AID_3, true); + test.lockApplication(APPLET_AID_3, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU - response = test.status("00","0C","00"); + test.status("00","0C","00"); // Fetch the SetUpMenu response = test.fetch(response.getStatusWord().substring(2)); addResult(response.checkData("D01C8103 01250082 02818285 09554943" + @@ -728,9 +732,9 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030125 00820282 81830100"); addResult(response.checkSw("9000")); - //Make selectable Applet3 (testcase 14-15) - test.unlockApplication(APPLET_AID_3); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + //Make selectable Applet3 (testcase 14-15); note that we don't want this method to consume any unnecessary 91XX -> true + test.unlockApplication(APPLET_AID_3, true); + // Send a status command to be sure to retrieve the correct status word in the RAPDU test.status("00","0C","00"); // Fetch the SetUpMenu response = test.fetch("30"); -- GitLab From 7db068cfde170ed97cda638b640cb01f97bb5881 Mon Sep 17 00:00:00 2001 From: sebhans Date: Thu, 19 Jan 2023 09:35:28 +0100 Subject: [PATCH 36/40] review corrections --- .../catre/cre_mha_prhd/Cre_Mha_Prhd_1.java | 2 +- .../catre/cre_mha_prhd/Cre_Mha_Prhd_2.java | 2 +- .../catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java | 22 ++++++++++++------- .../catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 8 +++---- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java index 64a53d4..45b9f9e 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_1.java @@ -132,7 +132,7 @@ public class Cre_Mha_Prhd_1 extends TestToolkitApplet { testCaseNb==(byte)0x18) {handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x2E ){handler_available=true;} + testCaseNb==(byte)0x2C ){handler_available=true;} switch(event){ //--TC 1 diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java index 17092cc..5bddc22 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Cre_Mha_Prhd_2.java @@ -106,7 +106,7 @@ public class Cre_Mha_Prhd_2 extends TestToolkitApplet { testCaseNb==(byte)0x11 ){handler_available=false;} else if (testCaseNb==(byte)0x02 || - testCaseNb==(byte)0x23){handler_available=true;} + testCaseNb==(byte)0x21){handler_available=true;} switch (event) { diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java index 86501d0..35e9840 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_prhd/Test_Cre_Mha_Prhd.java @@ -210,10 +210,6 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { response = test.envelopeEventDownloadAccessTechnologyChange(); //TC 41 response = test.envelopeEventDownloadDisplayParametersChanged(); - //TC 48 - response = test.envelopeEventDownloadFramesInformationChanged(); - //TC 49 - response = test.envelopeEventDownloadHCIConnectivity(); //TC 42 //The Proactive Handler is not available before the //Terminal Profile @@ -250,6 +246,16 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { "00" + // LV TAR Value(s) "00" ); // V Maximum number of services response = test.selectApplication(APPLET_AID_3); + //TC 48 + // reset, because Applet3 is now selected on channel 0, which we need to use for toolkit activity + test.reset(); + //initialization with all the facilities supported (without SETUP_EVENT_LIST) + response = test.terminalProfileSession("FFFFFFFF FEFFFFFF FFFFFFFF FFFFFFFF " + + "FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF " + + "FFFF"); + response = test.envelopeEventDownloadFramesInformationChanged(); + //TC 49 + response = test.envelopeEventDownloadHCIConnectivity(); // get result from applets @@ -260,9 +266,9 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { // the applet will not be triggered on an unsupported event. response = test.selectApplication(APPLET_AID_1); addResult(response.checkData("10" +APPLET_AID_1 + - "30CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "2FCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CC" + "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC" ) || response.checkData("10" +APPLET_AID_1 + "1CCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ @@ -272,9 +278,9 @@ public class Test_Cre_Mha_Prhd extends UiccTestModel { response = test.selectApplication(APPLET_AID_2); addResult(response.checkData("10" +APPLET_AID_2 + - "25CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ + "24CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ - "CCCCCCCC CCCC") || + "CCCCCCCC CC") || response.checkData("10" +APPLET_AID_2 + "15CCCCCC CCCCCCCC CCCCCCCC CCCCCCCC"+ "CCCCCCCC CCCC" diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index 465e0bb..447aff5 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -397,7 +397,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { true); // Send a status command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) - test.sendpdu("00 A4 00 0C 02 3F 00"); + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch SetUpEventList command response = test.fetch("0F"); addResult(response.checkData("D00D8103 01050082 02818219 020003") || @@ -432,7 +432,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { test.lockApplication(APPLET_AID_1, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) - test.sendpdu("00 A4 00 0C 02 3F 00"); + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Polling Off command response = test.fetch("0B"); addResult(response.checkData("D0098103 01040082 028182")); @@ -448,7 +448,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { test.unlockApplication(APPLET_AID_1, true); // Send a status command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) - test.sendpdu("00 A4 00 0C 02 3F 00"); + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); @@ -502,7 +502,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { true); // Send a status command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) - test.sendpdu("00 A4 00 0C 02 3F 00"); + test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command response = test.fetch("0F"); addResult(response.checkData(pollInterCmd)); -- GitLab From 3b18746f129057f739560d8cb427847ce550b33b Mon Sep 17 00:00:00 2001 From: sebhans Date: Mon, 6 Feb 2023 08:17:19 +0100 Subject: [PATCH 37/40] editorial changes based on e-mail exchange --- .../uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java index 26bd325..21d3e97 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_pahd/Test_Cre_Mha_Pahd.java @@ -171,9 +171,9 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { addResult(response.checkSw("9000")); //TC 23 response = test.envelopeEventDownloadCallConnected(); - addResult(response.checkSw("9000")); //fetch display text response = test.fetch("14"); + addResult(response.checkSw("9000")); response = test.terminalResponse("81030121 80820282 81030100"); addResult(response.checkSw("9000")); //TC 24 @@ -225,7 +225,7 @@ public class Test_Cre_Mha_Pahd extends UiccTestModel { response = test.envelopeEventDownloadNetworkSearchModeChange(); //TC 44 response = test.envelopeEventDownloadBrowsingStatus(); - //TC 45 + 2 + //TC 45 test.reset(); //initialization with all the facilities supported (without SETUP_EVENT_LIST) response = test.terminalProfileSession("FFFFFFFF FEFFFFFF FFFFFFFF FFFFFFFF " + -- GitLab From 72353ca5f1408d89887834f8d2c94cd324ca4c06 Mon Sep 17 00:00:00 2001 From: sebhans Date: Mon, 6 Feb 2023 08:23:18 +0100 Subject: [PATCH 38/40] editorial changes --- .../test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 12 ++++++------ .../test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index 447aff5..0aacb2e 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -381,7 +381,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030105 00820282 81830100"); addResult(response.checkSw("9000")); - // Install Applet1 + // Install Applet1; note that we don't want this method to consume any necessary 91XX -> true test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -395,7 +395,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Send a Select command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch SetUpEventList command @@ -430,7 +430,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { // Lock Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.lockApplication(APPLET_AID_1, true); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Send a Select command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Polling Off command @@ -446,7 +446,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { // Make selectable Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.unlockApplication(APPLET_AID_1, true); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Send a Select command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command @@ -486,7 +486,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030104 00820282 81830100"); addResult(response.checkSw("9000")); - // Install Applet1 + // Install Applet1; note that we don't want this method to consume any necessary 91XX -> true test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -500,7 +500,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { "00" + // LV TAR Value(s) "00", // V Maximum number of services true); - // Send a status command to be sure to retrieve the correct status word in the RAPDU + // Send a Select command to be sure to retrieve the correct status word in the RAPDU // Do not send Status, because this would turn off polling (which is coded for the start of Testcase12) test.sendApdu("00 A4 00 0C 02 3F 00"); // Fetch Poll Interval command diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java index 35a88cf..d5ef22c 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java @@ -70,7 +70,7 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { /** Testcase 2 */ /*********************************************************************/ - // Install Applet2 + // Install Applet2; note that we don't want this method to consume any necessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -118,7 +118,7 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { /** Testcase 5 */ /*********************************************************************/ - // Install Applet3 + // Install Applet3; note that we don't want this method to consume any necessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_3, APPLET_AID_3, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level -- GitLab From cd40f17fb2c7a003498b9a1b8e55fba6764732cb Mon Sep 17 00:00:00 2001 From: sebhans Date: Mon, 6 Feb 2023 16:32:48 +0100 Subject: [PATCH 39/40] editorial corrections --- .../uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java | 1 + .../uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java | 4 ++-- .../uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java index ac7d6c2..8f07ebf 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_mha_enhd/Test_Cre_Mha_Enhd.java @@ -195,6 +195,7 @@ public class Test_Cre_Mha_Enhd extends UiccTestModel { "03FF000 0007FE300 01"); response = test.envelopeEventDownloadFramesInformationChanged(); addResult(response.checkSw("9000")); + // TC 29 response = test.envelopeEventDownloadHCIConnectivity(); addResult(response.checkSw("9000")); diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java index 0aacb2e..75604b7 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_pcs_spco/Test_Cre_Pcs_Spco.java @@ -381,7 +381,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030105 00820282 81830100"); addResult(response.checkSw("9000")); - // Install Applet1; note that we don't want this method to consume any necessary 91XX -> true + // Install Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level @@ -486,7 +486,7 @@ public class Test_Cre_Pcs_Spco extends UiccTestModel { response = test.terminalResponse("81030104 00820282 81830100"); addResult(response.checkSw("9000")); - // Install Applet1; note that we don't want this method to consume any necessary 91XX -> true + // Install Applet1; note that we don't want this method to consume any unnecessary 91XX -> true test.installApplet(CAP_FILE_PATH, CLASS_AID_1, APPLET_AID_1, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java index d5ef22c..58d4c12 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java @@ -118,7 +118,7 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { /** Testcase 5 */ /*********************************************************************/ - // Install Applet3; note that we don't want this method to consume any necessary 91XX -> true + // Install Applet3; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_3, APPLET_AID_3, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level -- GitLab From 68d0893ed98adce2ba4307bc0df52ebe8a2290d3 Mon Sep 17 00:00:00 2001 From: sebhans Date: Mon, 6 Feb 2023 18:04:04 +0100 Subject: [PATCH 40/40] editorial change --- .../uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java index 58d4c12..62d5bd3 100644 --- a/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java +++ b/source/Annex_E_SourceCode/uicc/test/catre/cre_tin_chal/Test_Cre_Tin_Chal.java @@ -70,7 +70,7 @@ public class Test_Cre_Tin_Chal extends UiccTestModel { /** Testcase 2 */ /*********************************************************************/ - // Install Applet2; note that we don't want this method to consume any necessary 91XX -> true + // Install Applet2; note that we don't want this method to consume any unnecessary 91XX -> true response = test.installApplet(CAP_FILE_PATH, CLASS_AID_2, APPLET_AID_2, "800A" + // TLV UICC Toolkit application specific parameters "FF" + // V Priority Level -- GitLab