ItsPki_TestCases.ttcn 7.47 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
/**
 *  @author   ETSI / STF545
 *  @version  $URL$
 *            $Id$
 *  @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 {
garciay's avatar
garciay committed
13
14
15
16
17
  // Libcommon
  import from LibCommon_Time all;
  import from LibCommon_VerdictControl all;
  import from LibCommon_Sync all;
  import from LibCommon_BasicTypesAndValues all;
18
    
garciay's avatar
garciay committed
19
20
21
22
23
24
25
26
27
  // 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;
  import from ITS_Container language "ASN.1:1997" all;
  import from CAM_PDU_Descriptions language "ASN.1:1997" all;
28
    
garciay's avatar
garciay committed
29
30
31
  // LibItsCommon
  import from LibItsCommon_Functions all;
  import from LibItsCommon_ASN1_NamedNumbers all;
32
    
garciay's avatar
garciay committed
33
34
35
36
37
38
  // LibItsCam
  import from LibItsCam_TestSystem all;
  import from LibItsCam_Functions all;
  import from LibItsCam_Templates all;
  import from LibItsCam_TypesAndValues all;
  import from LibItsCam_Pics all;
39
    
garciay's avatar
garciay committed
40
41
42
43
44
45
46
  // 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;
47
    
garciay's avatar
garciay committed
48
49
50
51
52
  // LibItsHttp
  import from LibItsHttp_TypesAndValues all;
  import from LibItsHttp_Templates all;
  import from LibItsHttp_BinaryTemplates all;
  import from LibItsHttp_Functions all;
53
    
garciay's avatar
garciay committed
54
55
56
  // LibItsPki
  import from LibItsPki_Templates all;
  import from LibItsPki_TestSystem all;
57
    
garciay's avatar
garciay committed
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
  // AtsPki
  import from ItsPki_Functions all;

  /**
   * @desc Check that protocolVersion is set to 1 and messageID is 
   *       set to 2.
   * <pre>
   * Pics Selection: PICS_CAM_GENERATION
   * Initial conditions: 
   *     with {
   *         the IUT being in the "initial state"
   *     }
   * Expected behaviour:
   *     ensure that {
   *         when {
   *             a CAM is generated 
   *         }
   *         then {
   *             the IUT sends a valid CAM
   *                 containing ITS PDU header
   *                     containing protocolVersion
   *                         indicating value 1
   *                     and containing messageID
   *                         indicating value 2
   *         }
   *     }
   * </pre>
   * 
   * @see       ETSI TS 102 868-2 v1.4.1 TP/CAM/MSD/FMT/BV-01
   * @reference ETSI EN 302 637-2 v1.3.2, Annex B.1
   */
  testcase TC_SEC_PKI_SND_EA_01_BV() runs on ItsPki system ItsPkiSystem {
90
    
garciay's avatar
garciay committed
91
92
93
94
    // Local variables
    var EtsiTs103097Certificate v_certificate;
    var HeaderLines v_headers;
    var charstring vc_hashedId8ToBeUsed := "CERT_IUT_F_AT";
95
    
garciay's avatar
garciay committed
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
    // Test control
    if (not PICS_CAM_GENERATION or PICS_RSU) {
      log("*** " & testcasename() & ": PICS_CAM_GENERATION and not PICS_RSU required for executing the TC ***");
      setverdict(inconc);
      stop;
    }
    
    // Test component configuration
    vc_hashedId8ToBeUsed := "CERT_IUT_F_AT";
    f_cfUp(); // Initialise IUT with CERT_IUT_F_AT signed with CERT_IUT_F_AA
    
    // Test adapter configuration
    
    // Preamble
    f_prInitialState();
    f_readCertificate(vc_hashedId8ToBeUsed, v_certificate);
    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
    
    // Test Body
    f_init_default_headers_list(v_headers);
    httpPort.send(
                  m_http_request(
                                 m_http_request_post(
                                                     "/", 
                                                     v_headers, 
                                                     m_http_message_body_binary(
                                                                                m_binary_body_innerEcRequest(
                                                                                                             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
                                                                                                                                                             )))))));
    tc_ac.start;
    alt {
      [] httpPort.receive(
                          mw_http_response(
                                           mw_http_response_ok(
                                                               mw_http_message_body_binary(
                                                                                           mw_binary_body_innerEcResponse(
                                                                                                                          mw_innerEcResponse_ok
                                                                                                                          ))))) {
        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_cfDown();
    
  } // End of testcase TC_SEC_ITSS_SND_MSG_01_BV
  
garciay's avatar
garciay committed
159
} // End of module ItsPki_TestCases