Loading ePassport/ttcn/ePassport_Altsteps.ttcn +53 −42 Original line number Original line Diff line number Diff line Loading @@ -62,11 +62,20 @@ ) runs on MRTD { ) runs on MRTD { var boolean v_checkFailVerdicts, v_checkPassVerdicts; var boolean v_checkFailVerdicts, v_checkPassVerdicts; var boolean v_generalVerdict; if(not(PXT_AUTOMATIC_TEST_INTERFACE)) { if(not(PXT_AUTOMATIC_TEST_INTERFACE)) { f_waitForManualVerdict(); f_waitForManualVerdict(); } } if(PXT_VERDICT_MODE == e_verdictSimple) { v_checkPassVerdicts := match(vc_simu.isPassVerdicts, superset(e_aisNoFailure)); v_generalVerdict := (v_checkPassVerdicts and (sizeof(p_expectedFailResults) == 0)) or (not(v_checkPassVerdicts) and (sizeof(p_expectedFailResults) > 0)) } else if(PXT_VERDICT_MODE == e_verdictComplete) { // Basic Access Control // Basic Access Control if(vc_simu.securityStatus >= e_basicAccessControl if(vc_simu.securityStatus >= e_basicAccessControl and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication)))) { and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication)))) { Loading Loading @@ -108,8 +117,11 @@ log("**** Checking Pass verdicts... ****"); log("**** Checking Pass verdicts... ****"); v_checkPassVerdicts := match(vc_simu.isPassVerdicts, p_expectedPassResults); v_checkPassVerdicts := match(vc_simu.isPassVerdicts, p_expectedPassResults); v_generalVerdict := v_checkFailVerdicts and v_checkPassVerdicts; } // Take decision and assign testcase verdict // Take decision and assign testcase verdict if(v_checkFailVerdicts and v_checkPassVerdicts) { if(v_generalVerdict) { log("**** ", p_testcaseId, ": Pass: Inspection System produced expected result ****"); log("**** ", p_testcaseId, ": Pass: Inspection System produced expected result ****"); setverdict(pass); setverdict(pass); } } Loading @@ -117,7 +129,6 @@ log("**** ", p_testcaseId, ": Error: Inspection Sytem did not produce expected result ****"); log("**** ", p_testcaseId, ": Error: Inspection Sytem did not produce expected result ****"); setverdict(fail); setverdict(fail); } } } // end f_establishVerdict } // end f_establishVerdict } // end verdictFunctions } // end verdictFunctions Loading ePassport/ttcn/ePassport_Functions.ttcn +3 −5 Original line number Original line Diff line number Diff line Loading @@ -501,7 +501,7 @@ log("trailer: ", v_trailer); log("trailer: ", v_trailer); // determine lengths // determine lengths v_c := PXT_ACTIVE_AUTH_MODULUS_LENGTH v_c := 1024 - 8*f_getHashLength(vc_simu.aaHashAlgorithm) - 8*f_getHashLength(vc_simu.aaHashAlgorithm) - 8*lengthof(v_trailer) - 4; - 8*lengthof(v_trailer) - 4; v_m1Length := v_c - 4; v_m1Length := v_c - 4; Loading Loading @@ -730,10 +730,8 @@ vc_simu.aisCertRefIds := f_parseCertRefIds(v_csvCertRefIds); vc_simu.aisCertRefIds := f_parseCertRefIds(v_csvCertRefIds); f_createDg(c_fileDGCertData, f_encodeCertData(vc_simu.aisCertRefIds)); f_createDg(c_fileDGCertData, f_encodeCertData(vc_simu.aisCertRefIds)); // TODO: determine algorithm used by DG15 // Active Authentication // if RSA get modulus.length vc_simu.aaHashAlgorithm := e_sha1; // if (EC)DSA => fx_computeSignature vc_simu.aaHashAlgorithm := PXT_ACTIVE_AUTH_HASH_ALGORITHM; // IS verdicts // IS verdicts vc_simu.isFailVerdicts := {}; vc_simu.isFailVerdicts := {}; Loading ePassport/ttcn/ePassport_Pixits.ttcn +7 −9 Original line number Original line Diff line number Diff line Loading @@ -87,13 +87,6 @@ module ePassport_Pixits { } // end commonTimerPixits } // end commonTimerPixits } // end commonPixits } // end commonPixits group securityPixits { modulepar integer PXT_ACTIVE_AUTH_MODULUS_LENGTH := 1024; // TODO: remove ? modulepar HashAlgorithm PXT_ACTIVE_AUTH_HASH_ALGORITHM := e_sha1; // TODO: remove } // end securityPixits group ePassportPixits { group ePassportPixits { /** /** Loading @@ -107,6 +100,11 @@ module ePassport_Pixits { modulepar boolean PXT_AUTOMATIC_TEST_INTERFACE := false; modulepar boolean PXT_AUTOMATIC_TEST_INTERFACE := false; /** * @desc Does Iut report detailed or simple inspection verdicts */ modulepar VerdictMode PXT_VERDICT_MODE := e_verdictComplete; } // end iutPixits } // end iutPixits } // end ePassport_Pixits } // end ePassport_Pixits ePassport/ttcn/ePassport_Testcases.ttcn +4 −2 Original line number Original line Diff line number Diff line Loading @@ -809,6 +809,8 @@ module ePassport_Testcases { f_initializeMRTD("CFG.EAC.ISO7816.F05"); f_initializeMRTD("CFG.EAC.ISO7816.F05"); f_initializeIS(""); f_initializeIS(""); vc_simu.aaHashAlgorithm := e_sha256; // Test Body // Test Body t_ac.start(PXT_TWAIT); t_ac.start(PXT_TWAIT); alt { alt { Loading ePassport/ttcn/ePassport_Types.ttcn +5 −0 Original line number Original line Diff line number Diff line Loading @@ -54,6 +54,11 @@ module ePassport_Types { e_dh e_dh } } type enumerated VerdictMode { e_verdictSimple, e_verdictComplete } }//end enumeratedTypes }//end enumeratedTypes group simuParamsGroup { group simuParamsGroup { Loading Loading
ePassport/ttcn/ePassport_Altsteps.ttcn +53 −42 Original line number Original line Diff line number Diff line Loading @@ -62,11 +62,20 @@ ) runs on MRTD { ) runs on MRTD { var boolean v_checkFailVerdicts, v_checkPassVerdicts; var boolean v_checkFailVerdicts, v_checkPassVerdicts; var boolean v_generalVerdict; if(not(PXT_AUTOMATIC_TEST_INTERFACE)) { if(not(PXT_AUTOMATIC_TEST_INTERFACE)) { f_waitForManualVerdict(); f_waitForManualVerdict(); } } if(PXT_VERDICT_MODE == e_verdictSimple) { v_checkPassVerdicts := match(vc_simu.isPassVerdicts, superset(e_aisNoFailure)); v_generalVerdict := (v_checkPassVerdicts and (sizeof(p_expectedFailResults) == 0)) or (not(v_checkPassVerdicts) and (sizeof(p_expectedFailResults) > 0)) } else if(PXT_VERDICT_MODE == e_verdictComplete) { // Basic Access Control // Basic Access Control if(vc_simu.securityStatus >= e_basicAccessControl if(vc_simu.securityStatus >= e_basicAccessControl and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication)))) { and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication)))) { Loading Loading @@ -108,8 +117,11 @@ log("**** Checking Pass verdicts... ****"); log("**** Checking Pass verdicts... ****"); v_checkPassVerdicts := match(vc_simu.isPassVerdicts, p_expectedPassResults); v_checkPassVerdicts := match(vc_simu.isPassVerdicts, p_expectedPassResults); v_generalVerdict := v_checkFailVerdicts and v_checkPassVerdicts; } // Take decision and assign testcase verdict // Take decision and assign testcase verdict if(v_checkFailVerdicts and v_checkPassVerdicts) { if(v_generalVerdict) { log("**** ", p_testcaseId, ": Pass: Inspection System produced expected result ****"); log("**** ", p_testcaseId, ": Pass: Inspection System produced expected result ****"); setverdict(pass); setverdict(pass); } } Loading @@ -117,7 +129,6 @@ log("**** ", p_testcaseId, ": Error: Inspection Sytem did not produce expected result ****"); log("**** ", p_testcaseId, ": Error: Inspection Sytem did not produce expected result ****"); setverdict(fail); setverdict(fail); } } } // end f_establishVerdict } // end f_establishVerdict } // end verdictFunctions } // end verdictFunctions Loading
ePassport/ttcn/ePassport_Functions.ttcn +3 −5 Original line number Original line Diff line number Diff line Loading @@ -501,7 +501,7 @@ log("trailer: ", v_trailer); log("trailer: ", v_trailer); // determine lengths // determine lengths v_c := PXT_ACTIVE_AUTH_MODULUS_LENGTH v_c := 1024 - 8*f_getHashLength(vc_simu.aaHashAlgorithm) - 8*f_getHashLength(vc_simu.aaHashAlgorithm) - 8*lengthof(v_trailer) - 4; - 8*lengthof(v_trailer) - 4; v_m1Length := v_c - 4; v_m1Length := v_c - 4; Loading Loading @@ -730,10 +730,8 @@ vc_simu.aisCertRefIds := f_parseCertRefIds(v_csvCertRefIds); vc_simu.aisCertRefIds := f_parseCertRefIds(v_csvCertRefIds); f_createDg(c_fileDGCertData, f_encodeCertData(vc_simu.aisCertRefIds)); f_createDg(c_fileDGCertData, f_encodeCertData(vc_simu.aisCertRefIds)); // TODO: determine algorithm used by DG15 // Active Authentication // if RSA get modulus.length vc_simu.aaHashAlgorithm := e_sha1; // if (EC)DSA => fx_computeSignature vc_simu.aaHashAlgorithm := PXT_ACTIVE_AUTH_HASH_ALGORITHM; // IS verdicts // IS verdicts vc_simu.isFailVerdicts := {}; vc_simu.isFailVerdicts := {}; Loading
ePassport/ttcn/ePassport_Pixits.ttcn +7 −9 Original line number Original line Diff line number Diff line Loading @@ -87,13 +87,6 @@ module ePassport_Pixits { } // end commonTimerPixits } // end commonTimerPixits } // end commonPixits } // end commonPixits group securityPixits { modulepar integer PXT_ACTIVE_AUTH_MODULUS_LENGTH := 1024; // TODO: remove ? modulepar HashAlgorithm PXT_ACTIVE_AUTH_HASH_ALGORITHM := e_sha1; // TODO: remove } // end securityPixits group ePassportPixits { group ePassportPixits { /** /** Loading @@ -107,6 +100,11 @@ module ePassport_Pixits { modulepar boolean PXT_AUTOMATIC_TEST_INTERFACE := false; modulepar boolean PXT_AUTOMATIC_TEST_INTERFACE := false; /** * @desc Does Iut report detailed or simple inspection verdicts */ modulepar VerdictMode PXT_VERDICT_MODE := e_verdictComplete; } // end iutPixits } // end iutPixits } // end ePassport_Pixits } // end ePassport_Pixits
ePassport/ttcn/ePassport_Testcases.ttcn +4 −2 Original line number Original line Diff line number Diff line Loading @@ -809,6 +809,8 @@ module ePassport_Testcases { f_initializeMRTD("CFG.EAC.ISO7816.F05"); f_initializeMRTD("CFG.EAC.ISO7816.F05"); f_initializeIS(""); f_initializeIS(""); vc_simu.aaHashAlgorithm := e_sha256; // Test Body // Test Body t_ac.start(PXT_TWAIT); t_ac.start(PXT_TWAIT); alt { alt { Loading
ePassport/ttcn/ePassport_Types.ttcn +5 −0 Original line number Original line Diff line number Diff line Loading @@ -54,6 +54,11 @@ module ePassport_Types { e_dh e_dh } } type enumerated VerdictMode { e_verdictSimple, e_verdictComplete } }//end enumeratedTypes }//end enumeratedTypes group simuParamsGroup { group simuParamsGroup { Loading