Rev

Rev 3260 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | Download | SVN | Bug Tracker

/**
 *  @author   ETSI / STF545
 *  @version  $URL: file:///D:/RepositoriesNew/ITS/branches/STF525/ttcn/AtsPki/ItsPki_TestCases.ttcn $
 *            $Id: ItsPki_TestCases.ttcn 3314 2018-07-27 07:36:45Z garciay $
 *  @desc     Testcases  file for Security Protocol
 *  @reference   ETSI TS 103 097 v1.2.1
 *  @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_TestCases {
    // Libcommon
    import from LibCommon_Time all;
    import from LibCommon_VerdictControl all;
    import from LibCommon_Sync all;
    import from LibCommon_BasicTypesAndValues all;
   
    // LibIts
    import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
    import from IEEE1609dot2 language "ASN.1:1997" all;
    import from EtsiTs102941BaseTypes language "ASN.1:1997" all;
    import from EtsiTs102941TypesEnrolment language "ASN.1:1997" all;
    import from EtsiTs102941MessagesItss language "ASN.1:1997" all;
    import from EtsiTs103097Module language "ASN.1:1997" all;
   
    // LibItsCommon
    import from LibItsCommon_TypesAndValues all;
    import from LibItsCommon_Functions all;
    import from LibItsCommon_TypesAndValues all;
    import from LibItsCommon_ASN1_NamedNumbers all;
   
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_TypesAndValues all;
    import from LibItsGeoNetworking_Functions all;
    import from LibItsGeoNetworking_Templates all;
    import from LibItsGeoNetworking_Pics all;

    // LibItsCam
    import from LibItsCam_Templates all;
    import from LibItsCam_TestSystem all;
   
    // LibItsDenm
    import from LibItsDenm_Templates all;
    import from LibItsDenm_TestSystem all;
   
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    import from LibItsSecurity_TestSystem all;
    import from LibItsSecurity_Templates all;
    import from LibItsSecurity_Functions all;
    import from LibItsSecurity_Pixits all;
    import from LibItsSecurity_Pics all;
   
    // LibItsHttp
    import from LibItsHttp_Templates all;
    import from LibItsHttp_BinaryTemplates all;
   
    // LibItsPki
    import from LibItsPki_Templates all;
    import from LibItsPki_TestSystem all;
   
    // AtsPki
    import from ItsPki_Functions all;
   
        testcase TC_SEC_PKI_SND_EA_01_BV() runs on ItsPki system ItsPkiSystem {
               
            // Local variables
            var LongPosVector v_longPosVectorIut;
            var GeoNetworkingPdu v_securedGnPdu;
            var GnRawPayload v_sentRawPayload;
            var EtsiTs103097Certificate v_certificate;
           
            // Test control
            if (not(PICS_GN_SECURITY)) {
                log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' required for executing the TC ***");
                stop;
            }
           
            // Test component configuration
            vc_hashedId8ToBeUsed := "CERT_IUT_F_AT";
            f_cf01Up(); // Initialise IUT with CERT_IUT_F_AT signed with CERT_IUT_F_AA
            v_longPosVectorIut := f_getPosition(c_compIut);
            log("v_longPosVectorIut = ", v_longPosVectorIut);
            f_readCertificate(vc_hashedId8ToBeUsed, v_certificate);
               
            // Test adapter configuration
           
            // Preamble
            f_prNeighbour();
            f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
           
            // Test Body
            f_sendEnrollmentRequest(
                                    m_innerEcRequest(
                                                     "TODO",
                                                     m_publicKeys(
                                                                  v_certificate.toBeSigned.verifyKeyIndicator.verificationKey,
                                                                  v_certificate.toBeSigned.encryptionKey
                                                                 ),
                                                     m_certificateSubjectAttributes(
                                                                                    v_certificate.toBeSigned.appPermissions,
                                                                                    v_certificate.toBeSigned.validityPeriod,
                                                                                    v_certificate.toBeSigned.region,
                                                                                    v_certificate.toBeSigned.assuranceLevel
                               
                                    )),
                                    cc_taCert_A,
                                    valueof(m_headerInfo_gn(-, f_computeGnTimestamp())),
                                    valueof(m_signerIdentifier_digest)
            );
            tc_ac.start;
            alt {
                [] httpPort.receive(
                    mw_http_response(
                        mw_http_response_ok(
                            mw_http_message_body_binary(
                                mw_binary_body_raw
                            /*mw_geoNwSecPdu(
                                mw_etsiTs103097Data_signed(
                                                           mw_innerEcResponse()))*/

                )))) {
                    tc_ac.stop;
                    log("*** " & testcasename() & ": PASS: Security protocol version set to 3 ***");
                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
                }
                [] tc_ac.timeout {
                    log("*** " & testcasename() & ": INCONC: Expected message not received ***");
                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
                }
            } // End of 'alt' statement
           
            // Postamble
            f_poNeighbour();
            f_cf01Down();
           
        } // End of testcase TC_SEC_ITSS_SND_MSG_01_BV
   
} // End of module ItsPki_TestCases