Commit f5e18d3d authored by berge's avatar berge
Browse files

Added Simple verdict mode. Removed security pixits

parent dec7a9b0
Loading
Loading
Loading
Loading
+53 −42
Original line number Original line Diff line number Diff line
@@ -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)))) {
@@ -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);
        	}
        	}
@@ -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
+3 −5
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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 := {};
+7 −9
Original line number Original line Diff line number Diff line
@@ -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 {
	    
	    
	    /**
	    /**
@@ -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
+4 −2
Original line number Original line Diff line number Diff line
@@ -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 {
+5 −0
Original line number Original line Diff line number Diff line
@@ -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 {