ItsPki_Functions.ttcn 3.99 KB
Newer Older
/**
 *  @author   ETSI / STF544
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing functions for ITS PKI ATS
 *  @copyright   ETSI Copyright Notification
 *               No part may be reproduced except as authorized by written permission.
 *               The copyright and the foregoing restriction extend to reproduction in all media.
 *               All rights reserved.
 *
 */
module ItsPki_Functions {
    
garciay's avatar
garciay committed
  // LibCommon
  import from LibCommon_Time all;
  import from LibCommon_VerdictControl all;
  import from LibCommon_Sync all;
    
  // LibItsCommon
  import from LibItsCommon_TestSystem all;
  import from LibItsCommon_Functions all;
  import from LibItsCommon_ASN1_NamedNumbers all;
  import from LibItsCommon_Pixits all;
    
  // LibItsSecurity
  import from LibItsSecurity_TypesAndValues all;
  import from LibItsSecurity_Templates all;
  import from LibItsSecurity_Functions all;
  import from LibItsSecurity_Pixits all;
    
  // LibItsHttp
  import from LibItsHttp_TypesAndValues all;
  import from LibItsHttp_TestSystem all;
    
  // LibItsPki
  import from LibItsPki_TestSystem all;
    
Yann Garcia's avatar
Yann Garcia committed
  group pkiConfigurationFunctions { // TODO To be moved in LibItsPki_Functions.ttcn
     
garciay's avatar
garciay committed
    /**
     * @desc    Setups default configuration   
     * @param   p_certificateId The certificate identifier the TA shall use in case of secured IUT
     */
    function f_cfUp(
garciay's avatar
garciay committed
                    in charstring p_certificateId := "CERT_TS_A_EA" // TODO Use a constant
Yann Garcia's avatar
Yann Garcia committed
                   ) runs on ItsPki /* TITAN TODO: system ItsPkiSystem */ {
garciay's avatar
garciay committed
            
garciay's avatar
garciay committed
      map(self:pkiPort, system:pkiPort);
garciay's avatar
garciay committed
      f_connect4SelfOrClientSync();
Yann Garcia's avatar
Yann Garcia committed
      
garciay's avatar
garciay committed
      if( not f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) ) {
        log("*** INFO: TEST CASE NOW STOPPING ITSELF! ***");
        stop;
      }
Yann Garcia's avatar
Yann Garcia committed
      
garciay's avatar
garciay committed
      f_prepareCertificates(p_certificateId, vc_aaCertificate, vc_atCertificate);
      f_readCertificate(p_certificateId, vc_eaCertificate);
garciay's avatar
garciay committed
    } // End of function f_cfUp
Yann Garcia's avatar
Yann Garcia committed
    
    /**
     * @desc    Setups default configuration   
     * @param   p_certificateId The certificate identifier the TA shall use in case of secured IUT
     */
    function f_cfHttpUp(
garciay's avatar
garciay committed
                        in charstring p_certificateId  := "CERT_TS_A_EA" // TODO Use a constant
Yann Garcia's avatar
Yann Garcia committed
                       ) runs on ItsPkiHttp /* TITAN TODO: system ItsPkiHttpSystem */ {
      
      map(self:httpPort, system:httpPort);
      f_connect4SelfOrClientSync();
      
      if( not f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) ) {
        log("*** INFO: TEST CASE NOW STOPPING ITSELF! ***");
        stop;
      }
      
      f_prepareCertificates(p_certificateId, vc_aaCertificate, vc_atCertificate);
garciay's avatar
garciay committed
      f_readCertificate(p_certificateId, vc_eaCertificate);
Yann Garcia's avatar
Yann Garcia committed
    } // End of function f_cfHttpUp
garciay's avatar
garciay committed
        
    /**
     * @desc    Deletes default configuration 
     */
    function f_cfDown() runs on ItsPki /* TITAN TODO: system ItsPkiSystem */ {
Yann Garcia's avatar
Yann Garcia committed
      unmap(self:pkiPort, system:pkiPort);
      f_disconnect4SelfOrClientSync();
    } // End of function f_cfDown
    
    /**
     * @desc    Deletes default configuration 
     */
    function f_cfHttpDown() runs on ItsPkiHttp /* TITAN TODO: system ItsPkiHttpSystem */ {
garciay's avatar
garciay committed
      unmap(self:httpPort, system:httpPort);
      f_disconnect4SelfOrClientSync();
Yann Garcia's avatar
Yann Garcia committed
    } // End of function f_cfHttpDown
    
    /**
     * @desc Initialise secure mode if required
     */
    function f_initialiseSecuredMode() runs on ItsPki {
      // Local variables
      
      // Load certificates
      if( not f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) ) {
        log("*** INFO: TEST CASE NOW STOPPING ITSELF! ***");
        stop;
      }
      
    } // End of function f_initialiseSecuredMode()
        
    function f_uninitialiseSecuredMode() runs on ItsPki {
garciay's avatar
garciay committed
      f_unloadCertificates();
Yann Garcia's avatar
Yann Garcia committed
    } // End of function f_uninitialiseSecuredMode()
garciay's avatar
garciay committed
        
  } // End of pkiConfigurationFunctions
garciay's avatar
garciay committed
} // End of module ItsPki_Functions