Loading ePassport/ttcn/ePassport_Altsteps.ttcn +16 −7 Original line number Diff line number Diff line Loading @@ -75,6 +75,8 @@ module ePassport_Altsteps { var boolean v_checkFailVerdicts, v_checkPassVerdicts; var boolean v_generalVerdict; var template IsVerdictList v_expectedVerdicts; var template IsVerdictList v_expectedVerdicts2; if(not(PXT_AUTOMATIC_TEST_INTERFACE)) { f_waitForManualVerdict(); Loading @@ -82,34 +84,40 @@ module ePassport_Altsteps { if(PXT_VERDICT_MODE == e_verdictSimple) { // Only check global failure/successs v_checkPassVerdicts := match(vc_simu.isPassVerdicts, superset(e_aisNoFailure)); v_expectedVerdicts := superset(e_aisNoFailure); v_checkPassVerdicts := match(vc_simu.isPassVerdicts, v_expectedVerdicts); 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 v_expectedVerdicts := superset(e_aisBacAuthentication); if(vc_simu.securityStatus >= e_basicAccessControl and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication)))) { and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisBacAuthentication); } // Passive Authentication => Pass only if "No Failure" or TA failure v_expectedVerdicts := superset(e_aisPassiveAuthentication); v_expectedVerdicts2 := superset(e_aisBacAuthentication); if(match(vc_simu.isFailVerdicts, IsVerdictList:{}) or (not(match(vc_simu.isFailVerdicts, superset(e_aisPassiveAuthentication))) and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication))))) { or (not(match(vc_simu.isFailVerdicts, v_expectedVerdicts)) and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts2)))) { f_pushPassResult(e_aisPassiveAuthentication); } // Active Authentication v_expectedVerdicts := superset(e_aisActiveAuthentication); if(vc_simu.activeAuthenticationPerformed and not(match(vc_simu.isFailVerdicts, superset(e_aisActiveAuthentication)))) { and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisActiveAuthentication); } // Terminal Authentication v_expectedVerdicts := superset(e_aisChipAuthentication); if(vc_simu.securityStatus >= e_chipAuthenticated and not(match(vc_simu.isFailVerdicts, superset(e_aisChipAuthentication)))) { and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisChipAuthentication); } Loading @@ -117,7 +125,8 @@ module ePassport_Altsteps { // Pass result pushed in a_terminalAuthentication // Communication if(not(match(vc_simu.isFailVerdicts, superset(e_aisCommunication)))) { v_expectedVerdicts := superset(e_aisCommunication); if(not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisCommunication); } Loading ePassport/ttcn/ePassport_Functions.ttcn +5 −3 Original line number Diff line number Diff line Loading @@ -895,6 +895,7 @@ var integer v_decodeResult; var octetstring v_dg1 := ''O; var integer i; var template ChrList v_expectedChrList; var bitstring v_trustPointRawBits:= ''B; // Load profile Loading Loading @@ -934,7 +935,8 @@ if(v_trustPointChr != v_trustPoints[i]) { log("**** f_initializeMRTD: WARNING: " & v_trustPoints[i] & " filename does not match CHR (" & v_trustPointChr & ") ****"); } if(not(match(v_cvcaTrustPoints, superset(v_trustPoints[i])))) { v_expectedChrList := superset(v_trustPoints[i]); if(not(match(v_cvcaTrustPoints, v_expectedChrList))) { log("**** f_initializeMRTD: WARNING: Trustpoint " & v_trustPoints[i] & " not contained in " & c_fileCVCA.filename & " ****"); } vc_simu.trustedCAs := {v_trustPointChr}; Loading Loading
ePassport/ttcn/ePassport_Altsteps.ttcn +16 −7 Original line number Diff line number Diff line Loading @@ -75,6 +75,8 @@ module ePassport_Altsteps { var boolean v_checkFailVerdicts, v_checkPassVerdicts; var boolean v_generalVerdict; var template IsVerdictList v_expectedVerdicts; var template IsVerdictList v_expectedVerdicts2; if(not(PXT_AUTOMATIC_TEST_INTERFACE)) { f_waitForManualVerdict(); Loading @@ -82,34 +84,40 @@ module ePassport_Altsteps { if(PXT_VERDICT_MODE == e_verdictSimple) { // Only check global failure/successs v_checkPassVerdicts := match(vc_simu.isPassVerdicts, superset(e_aisNoFailure)); v_expectedVerdicts := superset(e_aisNoFailure); v_checkPassVerdicts := match(vc_simu.isPassVerdicts, v_expectedVerdicts); 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 v_expectedVerdicts := superset(e_aisBacAuthentication); if(vc_simu.securityStatus >= e_basicAccessControl and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication)))) { and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisBacAuthentication); } // Passive Authentication => Pass only if "No Failure" or TA failure v_expectedVerdicts := superset(e_aisPassiveAuthentication); v_expectedVerdicts2 := superset(e_aisBacAuthentication); if(match(vc_simu.isFailVerdicts, IsVerdictList:{}) or (not(match(vc_simu.isFailVerdicts, superset(e_aisPassiveAuthentication))) and not(match(vc_simu.isFailVerdicts, superset(e_aisBacAuthentication))))) { or (not(match(vc_simu.isFailVerdicts, v_expectedVerdicts)) and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts2)))) { f_pushPassResult(e_aisPassiveAuthentication); } // Active Authentication v_expectedVerdicts := superset(e_aisActiveAuthentication); if(vc_simu.activeAuthenticationPerformed and not(match(vc_simu.isFailVerdicts, superset(e_aisActiveAuthentication)))) { and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisActiveAuthentication); } // Terminal Authentication v_expectedVerdicts := superset(e_aisChipAuthentication); if(vc_simu.securityStatus >= e_chipAuthenticated and not(match(vc_simu.isFailVerdicts, superset(e_aisChipAuthentication)))) { and not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisChipAuthentication); } Loading @@ -117,7 +125,8 @@ module ePassport_Altsteps { // Pass result pushed in a_terminalAuthentication // Communication if(not(match(vc_simu.isFailVerdicts, superset(e_aisCommunication)))) { v_expectedVerdicts := superset(e_aisCommunication); if(not(match(vc_simu.isFailVerdicts, v_expectedVerdicts))) { f_pushPassResult(e_aisCommunication); } Loading
ePassport/ttcn/ePassport_Functions.ttcn +5 −3 Original line number Diff line number Diff line Loading @@ -895,6 +895,7 @@ var integer v_decodeResult; var octetstring v_dg1 := ''O; var integer i; var template ChrList v_expectedChrList; var bitstring v_trustPointRawBits:= ''B; // Load profile Loading Loading @@ -934,7 +935,8 @@ if(v_trustPointChr != v_trustPoints[i]) { log("**** f_initializeMRTD: WARNING: " & v_trustPoints[i] & " filename does not match CHR (" & v_trustPointChr & ") ****"); } if(not(match(v_cvcaTrustPoints, superset(v_trustPoints[i])))) { v_expectedChrList := superset(v_trustPoints[i]); if(not(match(v_cvcaTrustPoints, v_expectedChrList))) { log("**** f_initializeMRTD: WARNING: Trustpoint " & v_trustPoints[i] & " not contained in " & c_fileCVCA.filename & " ****"); } vc_simu.trustedCAs := {v_trustPointChr}; Loading