diff --git a/ccsrc/Externals/LibItsSecurity_externals.cc b/ccsrc/Externals/LibItsSecurity_externals.cc index c995049f6ea1b5d35a479df01debcefa6ebe68c9..7424b8edd8b5e4662cef466dfdd8f33fa63601bf 100644 --- a/ccsrc/Externals/LibItsSecurity_externals.cc +++ b/ccsrc/Externals/LibItsSecurity_externals.cc @@ -547,6 +547,21 @@ namespace LibItsSecurity__Functions return os; } + OCTETSTRING fx__test__encrypt__aes__128__gcm__test(const OCTETSTRING& p__k, const OCTETSTRING& p__n, const OCTETSTRING& p__pt) { + loggers::get_instance().log(">>> fx__test__encrypt__aes__128__gcm__test"); + + security_ecc ec(ec_elliptic_curves::nist_p_256); + OCTETSTRING enc_message; + if (ec.encrypt(encryption_algotithm::aes_128_gcm, p__k, p__n, p__pt, enc_message) == -1) { + loggers::get_instance().warning("fx__test__encrypt__aes__128__gcm__test: Failed to encrypt message"); + return OCTETSTRING(0, nullptr); + } + OCTETSTRING os(enc_message + ec.tag()); + loggers::get_instance().log_msg("fx__test__encrypt__aes__128__gcm__test: encrypted message: ", os); + + return os; + } + /** * \fn OCTETSTRING fx__test__decrypt__aes__128__ccm__test(const OCTETSTRING& p__k, const OCTETSTRING& p__n, const OCTETSTRING& p__ct); * \brief Encrypt the message using AES 128 CCM algorithm @@ -593,39 +608,39 @@ namespace LibItsSecurity__Functions * \see http://digital.csic.es/bitstream/10261/32671/1/V2-I2-P7-13.pdf */ // TODO Use common function for both fx__encryptWithEciesxxx and fx__decryptWithEciesxxx function - OCTETSTRING fx__encryptWithEciesNistp256WithSha256(const OCTETSTRING& p__toBeEncryptedSecuredMessage, const OCTETSTRING& p__recipientsPublicKeyCompressed, const INTEGER& p__compressedMode, OCTETSTRING& p__publicEphemeralKeyCompressed, INTEGER& p__ephemeralCompressedMode, OCTETSTRING& p__encrypted__sym__key, OCTETSTRING& p__authentication__vector, OCTETSTRING& p__nonce) { + OCTETSTRING fx__encryptWithEciesNistp256WithSha256(const OCTETSTRING& p__toBeEncryptedSecuredMessage, const OCTETSTRING& p__recipientsPublicKeyCompressed, const INTEGER& p__compressedMode, const OCTETSTRING& p__salt, OCTETSTRING& p__publicEphemeralKeyCompressed, INTEGER& p__ephemeralCompressedMode, OCTETSTRING& p__encrypted__sym__key, OCTETSTRING& p__authentication__vector, OCTETSTRING& p__nonce) { loggers::get_instance().log_msg(">>> fx__encryptWithEciesNistp256WithSha256: p__toBeEncryptedSecuredMessage: ", p__toBeEncryptedSecuredMessage); loggers::get_instance().log_msg(">>> fx__encryptWithEciesNistp256WithSha256: p__recipientsPublicKeyCompressed", p__recipientsPublicKeyCompressed); loggers::get_instance().log(">>> fx__encryptWithEciesNistp256WithSha256: p__compressedMode: %d", static_cast(p__compressedMode)); + loggers::get_instance().log_msg(">>> fx__encryptWithEciesNistp256WithSha256: p__salt", p__salt); - // 1. Generate new Private/Public key + // 1. Generate new Private/Public Ephemeral key security_ecc ec(ec_elliptic_curves::nist_p_256); if (ec.generate() == -1) { loggers::get_instance().warning("fx__encryptWithEciesNistp256WithSha256: Failed to generate ephemeral keys"); return OCTETSTRING(0, nullptr); } - // 2. Generate and derive shared secret + // 2. Generate and derive shared secret based on recipient's private keys security_ecc ec_comp(ec_elliptic_curves::nist_p_256, p__recipientsPublicKeyCompressed, (static_cast(p__compressedMode) == 0) ? ecc_compressed_mode::compressed_y_0 : ecc_compressed_mode::compressed_y_1); - if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y()) == -1) { + if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), p__salt) == -1) { loggers::get_instance().warning("fx__encryptWithEciesNistp256WithSha256: Failed to generate and derive secret key"); return OCTETSTRING(0, nullptr); } // Set the encrypted symmetric key + loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: Symmetric encryption key: ", ec.symmetric_encryption_key()); p__encrypted__sym__key = ec.encrypted_symmetric_key(); - loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: Encrypted symmetric key: ", p__encrypted__sym__key); + loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: p__encrypted__sym__key: ", p__encrypted__sym__key); // Set the tag of the symmetric key encryption p__authentication__vector = ec.tag(); loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: p__authentication__vector: ", p__authentication__vector); // Set ephemeral public keys p__publicEphemeralKeyCompressed = ec.public_key_compressed(); - loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: Ephemeral public compressed key: ", p__publicEphemeralKeyCompressed); + loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: p__publicEphemeralKeyCompressed: ", p__publicEphemeralKeyCompressed); p__ephemeralCompressedMode = (ec.public_key_compressed_mode() == ecc_compressed_mode::compressed_y_0) ? 0 : 1; - loggers::get_instance().log("fx__encryptWithEciesNistp256WithSha256: Ephemeral public compressed mode: %d", p__ephemeralCompressedMode); + loggers::get_instance().log("fx__encryptWithEciesNistp256WithSha256: p__ephemeralCompressedMode: %d", p__ephemeralCompressedMode); // 3. Retrieve AES 128 parameters p__nonce = ec.nonce(); loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: p__nonce: ", p__nonce); - OCTETSTRING enc_symm_key = ec.symmetric_encryption_key(); - loggers::get_instance().log_msg("fx__encryptWithEciesNistp256WithSha256: enc_symm_key: ", enc_symm_key); // 4. Encrypt the data using AES-128 CCM OCTETSTRING enc_message; if (ec.encrypt(encryption_algotithm::aes_128_ccm, ec.symmetric_encryption_key(), ec.nonce(), p__toBeEncryptedSecuredMessage, enc_message) == -1) { @@ -637,7 +652,50 @@ namespace LibItsSecurity__Functions return enc_message; } - + + /** + * @desc Test function for ECIES NIST P-256 Encryption with SHA-256 + * @remark For the purpose of testing, the content of p__toBeEncryptedSecuredMessage is the AES 128 symmetric key to be encrypted + */ + OCTETSTRING fx__test__encryptWithEciesNistp256WithSha256(const OCTETSTRING& p__toBeEncryptedSecuredMessage, const OCTETSTRING& p__privateEphemeralKey, const OCTETSTRING& p__recipientPublicKeyX, const OCTETSTRING& p__recipientPublicKeyY, const OCTETSTRING& p__salt, OCTETSTRING& p__publicEphemeralKeyX, OCTETSTRING& p__publicEphemeralKeyY, OCTETSTRING& p__encrypted__sym__key, OCTETSTRING& p__authentication__vector, OCTETSTRING& p__nonce) { + + // 1. Generate new ephemeral Private/Public keys + security_ecc ec(ec_elliptic_curves::nist_p_256, p__privateEphemeralKey); + p__publicEphemeralKeyX = ec.public_key_x(); + p__publicEphemeralKeyY = ec.public_key_y(); + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: Vx=", p__publicEphemeralKeyX); + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: Vy=", p__publicEphemeralKeyY); + + // 2. Generate and derive shared secret + security_ecc ec_comp(ec_elliptic_curves::nist_p_256, p__recipientPublicKeyX, p__recipientPublicKeyY); + ec.symmetric_encryption_key(p__toBeEncryptedSecuredMessage); + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: ", ec.encrypted_symmetric_key()); + if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), p__salt) == -1) { + loggers::get_instance().warning("fx__test__encryptWithEciesNistp256WithSha256: Failed to generate and derive secret key"); + return OCTETSTRING(0, nullptr); + } + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: symmetric_encryption_key: ", ec.symmetric_encryption_key()); + // Set the encrypted symmetric key + p__encrypted__sym__key = ec.encrypted_symmetric_key(); + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: p__encrypted__sym__key: ", p__encrypted__sym__key); + // Set the tag of the symmetric key encryption + p__authentication__vector = ec.tag(); + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: p__authentication__vector: ", p__authentication__vector); + // 3. Retrieve AES 128 parameters + p__nonce = ec.nonce(); + loggers::get_instance().log_msg("fx__test__encryptWithEciesNistp256WithSha256: p__nonce: ", p__nonce); + // 4. Encrypt the data using AES-128 CCM + OCTETSTRING enc_message; + if (ec.encrypt(encryption_algotithm::aes_128_ccm, ec.symmetric_encryption_key(), ec.nonce(), p__toBeEncryptedSecuredMessage, enc_message) == -1) { + loggers::get_instance().warning("fx__test__encryptWithEciesNistp256WithSha256: Failed to encrypt message"); + return OCTETSTRING(0, nullptr); + } + enc_message += ec.tag(); + loggers::get_instance().log_to_hexa("fx__test__encryptWithEciesNistp256WithSha256: enc message||Tag: ", enc_message); + + return enc_message; + } + /** * \fn OCTETSTRING fx__decryptWithEciesNistp256WithSha256(const OCTETSTRING& p__encryptedSecuredMessage, const OCTETSTRING& p__privateEncKey, const OCTETSTRING& p__publicEphemeralKeyX, const OCTETSTRING& p__publicEphemeralKeyY, const OCTETSTRING& p__encrypted__sym__key, const OCTETSTRING& p__authentication__vector, const OCTETSTRING& p__nonce); * \brief Decrypt the message using ECIES algorithm to decrypt AES 128 CCM symmetric key, as defined in IEEE Std 1609.2-2017 @@ -654,7 +712,7 @@ namespace LibItsSecurity__Functions * \see http://digital.csic.es/bitstream/10261/32671/1/V2-I2-P7-13.pdf */ // TODO Use common function for both fx__encryptWithEciesxxx and fx__decryptWithEciesxxx function - OCTETSTRING fx__decryptWithEciesNistp256WithSha256(const OCTETSTRING& p__encryptedSecuredMessage, const OCTETSTRING& p__privateEncKey, const OCTETSTRING& p__publicEphemeralKeyCompressed, const INTEGER& p__ephemeralCompressedMode, const OCTETSTRING& p__encrypted__sym__key, const OCTETSTRING& p__authentication__vector, const OCTETSTRING& p__nonce) { + OCTETSTRING fx__decryptWithEciesNistp256WithSha256(const OCTETSTRING& p__encryptedSecuredMessage, const OCTETSTRING& p__privateEncKey, const OCTETSTRING& p__publicEphemeralKeyCompressed, const INTEGER& p__ephemeralCompressedMode, const OCTETSTRING& p__encrypted__sym__key, const OCTETSTRING& p__authentication__vector, const OCTETSTRING& p__nonce, const OCTETSTRING& p__salt) { loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__toBeEncryptedSecuredMessage: ", p__encryptedSecuredMessage); loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__privateEncKey: ", p__privateEncKey); loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__publicEphemeralKeyCompressed: ", p__publicEphemeralKeyCompressed); @@ -662,13 +720,14 @@ namespace LibItsSecurity__Functions loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__nonce: ", p__nonce); loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__authentication__vector: ", p__authentication__vector); loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__encrypted__sym__key: ", p__encrypted__sym__key); + loggers::get_instance().log_msg(">>> fx__decryptWithEciesNistp256WithSha256: p__salt", p__salt); - // 1. Create security_ecc instance + // 1. Create security_ecc instance based on recipient's private key security_ecc ec(ec_elliptic_curves::nist_p_256, p__privateEncKey); security_ecc ec_comp(ec_elliptic_curves::nist_p_256, p__publicEphemeralKeyCompressed, (static_cast(p__ephemeralCompressedMode) == 0) ? ecc_compressed_mode::compressed_y_0 : ecc_compressed_mode::compressed_y_1); - // 2. Generate the shared secret value based on recipient's public ephemeral keys will be required - if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, p__privateEncKey, ec_comp.public_key_x(), ec_comp.public_key_y(), p__encrypted__sym__key, p__nonce, p__authentication__vector) == -1) { + // 2. Generate the shared secret value based on public ephemeral keys will be required + if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), p__encrypted__sym__key, p__nonce, p__authentication__vector, p__salt) == -1) { loggers::get_instance().warning("fx__decryptWithEciesNistp256WithSha256: Failed to generate shared secret"); return OCTETSTRING(0, nullptr); } @@ -693,7 +752,7 @@ namespace LibItsSecurity__Functions loggers::get_instance().log_msg(">>> fx__encryptWithEciesBrainpoolp256WithSha256: p__recipientsPublicKeyCompressed: ", p__recipientsPublicKeyCompressed); loggers::get_instance().log(">>> fx__encryptWithEciesBrainpoolp256WithSha256: p__compressedMode: %d", static_cast(p__compressedMode)); - // 1. Generate new Private/Public key + // 1. Generate new ephemeral Private/Public keys security_ecc ec(ec_elliptic_curves::brainpool_p_256_r1); if (ec.generate() == -1) { loggers::get_instance().warning(": Failed to generate ephemeral keys"); @@ -701,7 +760,7 @@ namespace LibItsSecurity__Functions } // 2. Generate and derive shared secret security_ecc ec_comp(ec_elliptic_curves::brainpool_p_256_r1, p__recipientsPublicKeyCompressed, (static_cast(p__compressedMode) == 0) ? ecc_compressed_mode::compressed_y_0 : ecc_compressed_mode::compressed_y_1); - if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y()) == -1) { + if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), OCTETSTRING(0, nullptr)) == -1) { loggers::get_instance().warning(": Failed to generate and derive secret key"); return OCTETSTRING(0, nullptr); } @@ -742,12 +801,12 @@ namespace LibItsSecurity__Functions loggers::get_instance().log_msg(">>> fx__decryptWithEciesBrainpoolp256WithSha256: p__authentication__vector: ", p__authentication__vector); loggers::get_instance().log_msg(">>> fx__decryptWithEciesBrainpoolp256WithSha256: p__encrypted__sym__key: ", p__encrypted__sym__key); - // 1. Create security_ecc instance + // 1. Create security_ecc instance based on public ephemeral keys security_ecc ec(ec_elliptic_curves::brainpool_p_256_r1, p__privateEncKey); security_ecc ec_comp(ec_elliptic_curves::brainpool_p_256_r1, p__publicEphemeralKeyCompressed, (static_cast(p__ephemeralCompressedMode) == 0) ? ecc_compressed_mode::compressed_y_0 : ecc_compressed_mode::compressed_y_1); - // 2. Generate the shared secret value based on recipient's public ephemeral keys will be required - if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, p__privateEncKey, ec_comp.public_key_x(), ec_comp.public_key_y(), p__encrypted__sym__key, p__nonce, p__authentication__vector) == -1) { + // 2. Generate the shared secret value based on public ephemeral keys will be required + if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), p__encrypted__sym__key, p__nonce, p__authentication__vector, OCTETSTRING(0, nullptr)) == -1) { loggers::get_instance().warning("fx__decryptWithEciesBrainpoolp256WithSha256: Failed to generate shared secret"); return OCTETSTRING(0, nullptr); } diff --git a/ccsrc/Protocols/Http/http_codec.cc b/ccsrc/Protocols/Http/http_codec.cc index e0e29d8895608438eeddb184d9dd1e738302c309..dc20310c8222211e0a560e4b46fe183bcfb5165d 100644 --- a/ccsrc/Protocols/Http/http_codec.cc +++ b/ccsrc/Protocols/Http/http_codec.cc @@ -399,10 +399,14 @@ int http_codec::encode_body(const LibItsHttp__MessageBodyTypes::HttpMessageBody& loggers::get_instance().log("http_codec::encode_body: Call '%s'", it->first.c_str()); _codecs["http_its"]->encode((Record_Type&)binary_body.ieee1609dot2__data(), p_encoding_buffer); // TODO Use params - // TODO Encode in hex string + +#if !defined(GEMALTO_FIX) + // GEMALTO Encode in hex string CHARSTRING buf = oct2str(p_encoding_buffer); p_encoding_buffer = OCTETSTRING(buf.lengthof(), (const unsigned char*)(static_cast(buf))); loggers::get_instance().log_msg("http_codec::encode_body: Convert binary to string: ", p_encoding_buffer); +#endif + processed = true; } @@ -472,6 +476,16 @@ int http_codec::decode_body(TTCN_Buffer& decoding_buffer, LibItsHttp__MessageBod OCTETSTRING s(decoding_buffer.get_len() - decoding_buffer.get_pos(), decoding_buffer.get_data() + decoding_buffer.get_pos()); loggers::get_instance().log_msg("http_codec::decode_body: raw body=", s); + + +#if !defined(GEMALTO_FIX) + // GEMALTO Encode in hex string + s = str2oct(CHARSTRING(s.lengthof(), (const char*)(static_cast(s)))); + loggers::get_instance().log_msg("http_codec::decode_body: Convert string to binary: ", s); +#endif + + + // Align the payload length with the specified Content-lenght value loggers::get_instance().log("http_codec::decode_body: _dc.length=%d - body length=%d", _dc.length, s.lengthof()); OCTETSTRING body; diff --git a/ccsrc/Protocols/Security/hmac.hh b/ccsrc/Protocols/Security/hmac.hh index 28b86d68fa5f947aa78d7e130d9ab5a146d8777d..65b75a2909d0b82572ba1ba02abe323b35bc041b 100644 --- a/ccsrc/Protocols/Security/hmac.hh +++ b/ccsrc/Protocols/Security/hmac.hh @@ -51,7 +51,7 @@ public: * \param[out] p_hmac The HMAC value based of the provided data * \return 0 on success, -1 otherwise */ - int generate(const OCTETSTRING p_buffer, const OCTETSTRING p_secret_key, OCTETSTRING& p_hmac); + int generate(const OCTETSTRING p_buffer, const OCTETSTRING p_secret_key, OCTETSTRING& p_hmac); // TODO Use reference & /*! * \fn int generate(const unsigned char* p_buffer, const size_t p_buffer_length, const unsigned char* p_secret_key, const size_t p_secret_key_length, OCTETSTRING& p_hmac); diff --git a/ccsrc/Protocols/Security/security_ecc.cc b/ccsrc/Protocols/Security/security_ecc.cc index 26e2d968492209eeebe0decba78df6554b8c6bdf..85890fe3499dbaa540bda905383dc8c130a69943 100644 --- a/ccsrc/Protocols/Security/security_ecc.cc +++ b/ccsrc/Protocols/Security/security_ecc.cc @@ -13,6 +13,8 @@ #include #include +#include "sha256.hh" + #include "hmac.hh" #include "security_ecc.hh" @@ -103,6 +105,7 @@ security_ecc::security_ecc(const ec_elliptic_curves p_elliptic_curve, const OCTE } } ::EC_POINT_free(ec_point); + loggers::get_instance().log_msg("security_ecc::security_ecc (1): _pri_key=", _pri_key); loggers::get_instance().log_msg("security_ecc::security_ecc (1): _pub_key_x=", _pub_key_x); loggers::get_instance().log_msg("security_ecc::security_ecc (1): _pub_key_y=", _pub_key_y); loggers::get_instance().log_msg("security_ecc::security_ecc (1): _pub_key_compressed=", _pub_key_compressed); @@ -331,8 +334,11 @@ int security_ecc::generate() { return 0; } -int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_recipients_public_key_x, const OCTETSTRING& p_recipients_public_key_y) { - loggers::get_instance().log(">>> security_ecc::generate_and_derive_ephemeral_key (1)"); +int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_recipients_public_key_x, const OCTETSTRING& p_recipients_public_key_y, const OCTETSTRING& p_salt) { + loggers::get_instance().log(">>> security_ecc::generate_and_derive_ephemeral_key (1): %d", p_enc_algorithm); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (1): p_recipients_public_key_x=", p_recipients_public_key_x); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (1): p_recipients_public_key_y=", p_recipients_public_key_y); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (1): p_salt=", p_salt); // Sanity checks if (_pri_key.lengthof() == 0) { @@ -347,6 +353,7 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p // Set buffers size int len = (EC_GROUP_get_degree(_ec_group) + 7) / 8; + loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (1): _secret_key len:%d", len); _secret_key = int2oct(0, len); unsigned int nonce_length; unsigned int sym_key_length; @@ -363,15 +370,18 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (1): Unsupported encryption algorithm"); return -1; } // End of 'switch' statement - unsigned int k_length; + unsigned int k_enc; + unsigned int k_mac; switch (_elliptic_curve) { case ec_elliptic_curves::nist_p_256: // Use the ANSI X9.62 Prime 256v1 curve // No break; case ec_elliptic_curves::brainpool_p_256_r1: - k_length = 32; + k_enc = 16; + k_mac = 32; break; case ec_elliptic_curves::brainpool_p_384_r1: - k_length = 48; + k_enc = 24; // TODO To be checked + k_mac = 48; break; default: loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (1): Unsupported encryption algorithm"); @@ -381,8 +391,13 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p // Convert the ephemeral public encryption keys to an EC point EC_POINT *ec_point = nullptr; bin_to_ec_point(p_recipients_public_key_x, p_recipients_public_key_y, &ec_point); - // Generate the shared secret key - int result = ::ECDH_compute_key((unsigned char*)static_cast(_secret_key), _secret_key.lengthof(), ec_point, _ec_key, nullptr); + // Generate the shared secret key (Key Agreement) + int result = ::ECDH_compute_key( + (unsigned char*)static_cast(_secret_key), + _secret_key.lengthof(), + ec_point, // From sender's public key + _ec_key, // From recipient's private key + nullptr); if (result == -1) { loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (1): Failed to generate shared secret key"); ::EC_POINT_free(ec_point); @@ -392,45 +407,65 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _secret_key: ", _secret_key); // Derive the shared secret key - const int k_enc = nonce_length + sym_key_length + tag_length; - const int k_mac = k_length + k_length; - OCTETSTRING digest = int2oct(0, k_enc + k_mac); - loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (1): k_enc size:%d - k_mac size: %d - digest size:%d: ", k_enc, k_mac, digest.lengthof()); - if (PKCS5_PBKDF2_HMAC((const char*)static_cast(_secret_key), _secret_key.lengthof(), nullptr, 0, 2000, EVP_sha256(), digest.lengthof(), (unsigned char*)static_cast(digest)) != 1) { + OCTETSTRING digest; + loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (1): k_enc size:%d - k_mac size: %d", k_enc, k_mac); + loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (1): salt length:%d", p_salt.lengthof()); + if (kdf2(_secret_key, p_salt, 0x00/*sha256*/, k_enc + k_mac, digest) != 0) { loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key: Failed to derive shared secret key"); return -1; } loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): digest: ", digest); - // Extract AES 128 parameters - _nonce = OCTETSTRING(nonce_length, static_cast(digest)); - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _nonce: ", _nonce); - _sym_key = OCTETSTRING(sym_key_length, _nonce.lengthof() + static_cast(digest)); - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _sym_key: ", _sym_key); - _tag = OCTETSTRING(tag_length, _nonce.lengthof() + + _sym_key.lengthof() + static_cast(digest)); // TODO Useless??? - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _tag: ", _tag); - // Extract the HMAC key - OCTETSTRING hmac_secret = OCTETSTRING(k_length + k_length, nonce_length + sym_key_length + tag_length + static_cast(digest)); - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): hmac_secret: ", hmac_secret); - - // Encrypt the _sym_key - if (encrypt(encryption_algotithm::aes_128_ccm, _sym_key, _nonce, _sym_key, _enc_sym_key) == -1) { - loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (1): Failed to encrypt key"); - return -1; + // Extract K1 and generate encrypted symmetric key + OCTETSTRING k1(k_enc, static_cast(digest)); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): k1: ", k1); + if (!_sym_key.is_bound()) { // Generate random AES 128 key + BIGNUM* r = ::BN_new(); + ::BN_pseudo_rand(r, k_enc * 8, -1, 0); + _sym_key = int2oct(0, k_enc); + ::BN_bn2bin(r, (unsigned char*)static_cast(_sym_key)); + ::BN_free(r); } + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _sym_key: ", _sym_key); + _enc_sym_key = k1 ^ _sym_key; loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): Encrypted symmetric key: ", encrypted_symmetric_key()); + // Extract K2 and generate Tag vector + OCTETSTRING k2(k_enc * 2, k_enc + static_cast(digest)); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): k2: ", k2); + hmac hmac_256; + _tag = int2oct(0, tag_length); + hmac_256.generate(static_cast(_enc_sym_key), _enc_sym_key.lengthof(), static_cast(k2), k2.lengthof(), _tag); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _tag: ", _tag); + + // Generate random IV (nonce + BIGNUM* r = ::BN_new(); + ::BN_pseudo_rand(r, k_enc * 8, -1, 0); + _nonce = int2oct(0, k_enc); + ::BN_bn2bin(r, (unsigned char*)static_cast(_nonce)); + ::BN_free(r); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (1): _nonce: ", _nonce); + return 0; } -int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_private_enc_key, const OCTETSTRING& p_ephemeral_public_key_x, const OCTETSTRING& p_ephemeral_public_key_y, const OCTETSTRING& p_enc_sym_key, const OCTETSTRING& p_expected_nonce, const OCTETSTRING& p_authentication_vector) { - loggers::get_instance().log(">>> security_ecc::generate_and_derive_ephemeral_key (2)"); - +int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_ephemeral_public_key_x, const OCTETSTRING& p_ephemeral_public_key_y, const OCTETSTRING& p_enc_sym_key, const OCTETSTRING& p_expected_nonce, const OCTETSTRING& p_authentication_vector, const OCTETSTRING& p_salt) { + loggers::get_instance().log(">>> security_ecc::generate_and_derive_ephemeral_key (2): %d", p_enc_algorithm); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (2): p_ephemeral_public_key_x", p_ephemeral_public_key_x); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (2): p_ephemeral_public_key_y", p_ephemeral_public_key_y); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (2): p_enc_sym_key", p_enc_sym_key); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (2): p_expected_nonce", p_expected_nonce); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (2): p_authentication_vector", p_authentication_vector); + loggers::get_instance().log_msg(">>> security_ecc::generate_and_derive_ephemeral_key (2): p_salt", p_salt); + // Sanity checks - if (_pri_key.lengthof() == 0) { + if ((_pub_key_x.lengthof() == 0) || (_pub_key_y.lengthof() == 0)) { loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (2): Key shall be generated"); return -1; } + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): _pub_key_x", _pub_key_x); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): _pub_key_y", _pub_key_y); + _encryption_algotithm = p_enc_algorithm; _nonce = p_expected_nonce; _enc_sym_key = p_enc_sym_key; @@ -438,6 +473,7 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p // Set buffers size int len = (EC_GROUP_get_degree(_ec_group) + 7) / 8; + loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (2): _secret_key len:%d", len); _secret_key = int2oct(0, len); unsigned int nonce_length; unsigned int sym_key_length; @@ -454,15 +490,16 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (2): Unsupported encryption algorithm"); return -1; } // End of 'switch' statement - unsigned int k_length; + unsigned int k_enc; + unsigned int k_mac; switch (_elliptic_curve) { case ec_elliptic_curves::nist_p_256: // Use the ANSI X9.62 Prime 256v1 curve // No break; case ec_elliptic_curves::brainpool_p_256_r1: - k_length = 32; + k_enc = 16; + k_mac = 32; break; case ec_elliptic_curves::brainpool_p_384_r1: - k_length = 48; break; default: loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (2): Unsupported encryption algorithm"); @@ -470,11 +507,18 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p } // End of 'switch' statement // Convert the peer public encryption key to an EC point + security_ecc ec(ec_elliptic_curves::nist_p_256, p_ephemeral_public_key_x, p_ephemeral_public_key_y); EC_POINT *ec_point = nullptr; - bin_to_ec_point(p_ephemeral_public_key_x, p_ephemeral_public_key_y, &ec_point); + bin_to_ec_point(ec.public_key_x(), ec.public_key_y(), &ec_point); // EC_POINT from recipient's private key // Generate the shared symmetric key - int result = ::ECDH_compute_key((unsigned char*)static_cast(_secret_key), _secret_key.lengthof(), ec_point, _ec_key, nullptr); + int result = ::ECDH_compute_key( + (unsigned char*)static_cast(_secret_key), + _secret_key.lengthof(), + ec_point, // From recipient's private key + _ec_key, // From sender's public key + nullptr); if (result == -1) { + loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (2): Failed to compute shared secret key"); ::EC_POINT_free(ec_point); return -1; } @@ -482,54 +526,36 @@ int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): _secret_key: ", _secret_key); // Derive the shared secret key - const int k_enc = nonce_length + sym_key_length + tag_length; - const int k_mac = k_length + k_length; - OCTETSTRING digest = int2oct(0, k_enc + k_mac); - loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (2): k_enc size:%d - k_mac size: %d - digest size:%d: ", k_enc, k_mac, digest.lengthof()); - if (PKCS5_PBKDF2_HMAC((const char*)static_cast(_secret_key), _secret_key.lengthof(), nullptr, 0, 2000, EVP_sha256(), digest.lengthof(), (unsigned char*)static_cast(digest)) != 1) { + OCTETSTRING digest; + loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (2): k_enc size:%d - k_mac size: %d", k_enc, k_mac); + loggers::get_instance().log("security_ecc::generate_and_derive_ephemeral_key (2): salt length:%d", p_salt.lengthof()); + if (kdf2(_secret_key, p_salt, 0x00, k_enc + k_mac, digest) != 0) { loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key: Failed to derive shared secret key"); return -1; } loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): digest: ", digest); - // Extract AES 128 parameters - OCTETSTRING nonce(nonce_length, static_cast(digest)); - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): Generated nonce: ", nonce); - OCTETSTRING sym_key(sym_key_length, nonce.lengthof() + static_cast(digest)); - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): sym_key: ", sym_key); - OCTETSTRING tag(tag_length, nonce.lengthof() + sym_key.lengthof() + static_cast(digest)); // TODO Useless??? - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): tag: ", tag); - // Extract the HMAC key - OCTETSTRING hmac_secret(k_length + k_length, nonce_length + sym_key_length + tag_length + static_cast(digest)); - loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): hmac_secret: ", hmac_secret); - - // Check if nonce vectors are valid - if (_nonce != nonce) { - loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (2): Failed to derive nonce vector"); - return -1; - } - - // Decrypt the symmetric key - OCTETSTRING skey; - if (decrypt(p_enc_algorithm, sym_key, nonce, p_authentication_vector, p_enc_sym_key, skey) == -1) { - loggers::get_instance().warning("security_ecc::generate_and_derive_ephemeral_key (2): Failed to decrypt key"); - return -1; - } - _sym_key = skey; + // Extract K2 and generate Tag vector + OCTETSTRING k2(k_enc * 2, k_enc + static_cast(digest)); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): k2: ", k2); + hmac hmac_256; + _tag = int2oct(0, tag_length); + hmac_256.generate(static_cast(_enc_sym_key), _enc_sym_key.lengthof(), static_cast(k2), k2.lengthof(), _tag); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): _tag: ", _tag); + + // Extract K1 and generate encrypted symmetric key + OCTETSTRING k1(k_enc, static_cast(digest)); + loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): k1: ", k1); + _sym_key = p_enc_sym_key ^ k1; loggers::get_instance().log_msg("security_ecc::generate_and_derive_ephemeral_key (2): Decrypted symmetric key: ", symmetric_encryption_key()); return 0; } -int security_ecc::generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_private_enc_key, const OCTETSTRING& p_recipients_compressed_key_x, const INTEGER& p_compressed_mode, const OCTETSTRING& p_enc_sym_key, const OCTETSTRING& p_expected_nonce, const OCTETSTRING& p_authentication_vector) { - loggers::get_instance().log(">>> security_ecc::generate_and_derive_ephemeral_key (3)"); - - security_ecc ec(ec_elliptic_curves::nist_p_256, p_recipients_compressed_key_x, (p_compressed_mode == 0) ? ecc_compressed_mode::compressed_y_0 : ecc_compressed_mode::compressed_y_1); // FIXME Why using ec_elliptic_curves::nist_p_256, it can be brainpool_p_256_r1 - return generate_and_derive_ephemeral_key(p_enc_algorithm, p_private_enc_key, ec.public_key_x(), ec.public_key_y(), p_enc_sym_key, p_expected_nonce, p_authentication_vector); -} - int security_ecc::encrypt(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_message, OCTETSTRING& p_enc_message) { loggers::get_instance().log(">>> security_ecc::encrypt: %d", p_enc_algorithm); + loggers::get_instance().log_msg(">>> security_ecc::encrypt: p_message=", p_message); + loggers::get_instance().log_msg(">>> security_ecc::encrypt: p_enc_message=", p_enc_message); // Sanity checks if ((_pub_key_x.lengthof() != 0) || (_pub_key_y.lengthof() != 0)) { @@ -540,6 +566,7 @@ int security_ecc::encrypt(const encryption_algotithm p_enc_algorithm, const OCTE // Initialize the context and encryption operation EVP_CIPHER_CTX *ctx = ::EVP_CIPHER_CTX_new(); + unsigned int ctr_set_iv_len, ctr_set_tag, ctr_get_tag; switch (_encryption_algotithm) { case encryption_algotithm::aes_128_ccm: ::EVP_EncryptInit_ex(ctx, EVP_aes_128_ccm(), nullptr, nullptr, nullptr); @@ -548,15 +575,32 @@ int security_ecc::encrypt(const encryption_algotithm p_enc_algorithm, const OCTE _tag = int2oct(0, 16); _sym_key = int2oct(0, 16); p_enc_message = int2oct(0, p_message.lengthof()); + ctr_set_iv_len = EVP_CTRL_CCM_SET_IVLEN; + ctr_set_tag = EVP_CTRL_CCM_SET_TAG; + ctr_get_tag = EVP_CTRL_CCM_GET_TAG; break; case encryption_algotithm::aes_256_ccm: ::EVP_EncryptInit_ex(ctx, EVP_aes_256_ccm(), nullptr, nullptr, nullptr); + ctr_set_iv_len = EVP_CTRL_CCM_SET_IVLEN; + ctr_set_tag = EVP_CTRL_CCM_SET_TAG; + ctr_get_tag = EVP_CTRL_CCM_GET_TAG; break; case encryption_algotithm::aes_128_gcm: ::EVP_EncryptInit_ex(ctx, EVP_aes_128_gcm(), nullptr, nullptr, nullptr); + // Allocate buffers size + _nonce = int2oct(0, 12); + _tag = int2oct(0, 16); + _sym_key = int2oct(0, 16); + p_enc_message = int2oct(0, p_message.lengthof()); + ctr_set_iv_len = EVP_CTRL_GCM_SET_IVLEN; + ctr_set_tag = EVP_CTRL_GCM_SET_TAG; + ctr_get_tag = EVP_CTRL_GCM_GET_TAG; break; case encryption_algotithm::aes_256_gcm: ::EVP_EncryptInit_ex(ctx, EVP_aes_256_gcm(), nullptr, nullptr, nullptr); + ctr_set_iv_len = EVP_CTRL_GCM_SET_IVLEN; + ctr_set_tag = EVP_CTRL_GCM_SET_TAG; + ctr_get_tag = EVP_CTRL_GCM_GET_TAG; break; } // End of 'switch' statement // Generate _sym_key @@ -566,9 +610,9 @@ int security_ecc::encrypt(const encryption_algotithm p_enc_algorithm, const OCTE ::RAND_bytes((unsigned char*)static_cast(_nonce), _nonce.lengthof()); loggers::get_instance().log_msg("security_ecc::encrypt: nonce: ", _nonce); // Set nonce length - ::EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_IVLEN, _nonce.lengthof(), nullptr); + ::EVP_CIPHER_CTX_ctrl(ctx, ctr_set_iv_len, _nonce.lengthof(), nullptr); // Set tag length - ::EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_TAG, _tag.lengthof(), nullptr); + ::EVP_CIPHER_CTX_ctrl(ctx, ctr_set_tag, _tag.lengthof(), nullptr); // Prime the key and nonce ::EVP_EncryptInit_ex(ctx, nullptr, nullptr, static_cast(_sym_key), static_cast(_nonce)); // No authentication data @@ -578,7 +622,7 @@ int security_ecc::encrypt(const encryption_algotithm p_enc_algorithm, const OCTE // Finalize the encryption session ::EVP_EncryptFinal_ex(ctx, (unsigned char*)static_cast(p_enc_message) + len, &len); // Get the authentication tag(const char*)static_cast( - ::EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_GET_TAG, _tag.lengthof(), (unsigned char*)static_cast(_tag)); + ::EVP_CIPHER_CTX_ctrl(ctx, ctr_get_tag, _tag.lengthof(), (unsigned char*)static_cast(_tag)); loggers::get_instance().log_msg("security_ecc::encrypt: tag: ", _tag); ::EVP_CIPHER_CTX_free(ctx); @@ -858,3 +902,51 @@ int security_ecc::public_key_to_bin(OCTETSTRING& p_bin_key) { // ec_key_public_k return 0; } + +int security_ecc::kdf2(const OCTETSTRING& p_secret_key, const OCTETSTRING& p_salt, const unsigned char p_hash_algorithm, const int p_key_length, OCTETSTRING& p_digest) { + loggers::get_instance().log(">>> security_ecc::kdf2"); + + // Sanity checks + + int result = -1; + switch (p_hash_algorithm) { + case 0x00: // SHA 256 + result = kdf2_sha256(p_secret_key, p_salt, p_key_length, p_digest); + break; + } // End of 'switch' statement + + + return result; +} + +int security_ecc::kdf2_sha256(const OCTETSTRING& p_secret_key, const OCTETSTRING& p_salt, const int p_key_length, OCTETSTRING& p_digest) { + loggers::get_instance().log_msg(">>> security_ecc::kdf2_sha256: p_secret_key: ", p_secret_key); + loggers::get_instance().log_msg(">>> security_ecc::kdf2_sha256: p_salt: ", p_salt); + loggers::get_instance().log(">>> security_ecc::kdf2_sha256: p_key_length:%d", p_key_length); + + // Sanity checks + + + int sha256_blk_len = 32; + int num_blk_out = (int)ceil(p_key_length/(float)sha256_blk_len); + loggers::get_instance().log("security_ecc::kdf2_sha256: num_blk_out= %d", num_blk_out); + p_digest = OCTETSTRING(0, nullptr); + sha256 hash; + for (int i = 1; i < num_blk_out + 1; i++) { + OCTETSTRING hash_input = p_secret_key + int2oct(i, 4) + p_salt; + loggers::get_instance().log_msg("security_ecc::kdf2_sha256: hash_input: ", hash_input); + OCTETSTRING h; + hash.generate(hash_input, h); + loggers::get_instance().log_msg("security_ecc::kdf2_sha256: h: ", h); + p_digest += h; + loggers::get_instance().log_msg("security_ecc::kdf2_sha256: p_digest: ", p_digest); + loggers::get_instance().log("security_ecc::kdf2_sha256: p_digest: %d", p_digest.lengthof()); + } // End of 'for' statement + if (p_digest.lengthof() > p_key_length * 2) { + p_digest = OCTETSTRING(p_key_length * 2, static_cast(p_digest)); + } + + loggers::get_instance().log_msg("<<< security_ecc::kdf2_sha256: p_secret_key: ", p_digest); + return 0; +} + diff --git a/ccsrc/Protocols/Security/security_ecc.hh b/ccsrc/Protocols/Security/security_ecc.hh index 928d73fee141a020ccd9021d8b7de5254ca4d2fe..61aab3ea21e15547abd12aa6676f24586fd473ec 100644 --- a/ccsrc/Protocols/Security/security_ecc.hh +++ b/ccsrc/Protocols/Security/security_ecc.hh @@ -128,7 +128,7 @@ public: //! \publicsection /*! * \fn int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_recipients_public_key_x, const OCTETSTRING& p_recipients_public_key_y); * \brief Generate a shared secret key and derive it using KDF2 algorithm. - * This method shall be used by the sender. Fresh keys will be genrated for each cyphering operation + * This method shall be used for encryption, fresh keys will be genrated for each cyphering operation * \param[in] p_enc_algorithm The encryption algorithm to be used * \param[in] p_recipients_public_key_x The recipient public key X-coordinate * \param[in] p_recipients_public_key_x The recipient public key Y-coordinate @@ -138,21 +138,20 @@ public: //! \publicsection * \see encrypt methog to encrypt a message based of the generated symetric encryption key * \return 0 on success, -1 otherwise */ - int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_recipients_public_key_x, const OCTETSTRING& p_recipients_public_key_y); + int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_recipients_public_key_x, const OCTETSTRING& p_recipients_public_key_y, const OCTETSTRING& p_salt); /*! * \fn int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_private_enc_key, const OCTETSTRING& p_ephemeral_public_key_x, const OCTETSTRING& p_ephemeral_public_key_y); * \brief Generate a shared secret key and derive it using KDF2 algorithm. + * This method shall be used for decryption process * \param[in] p_enc_algorithm The encryption algorithm to be used - * \param[in] p_private_enc_key The private encryption key associated to the public encryption key * \param[in] p_ephemeral_public_key_x The recipient public key X-coordinate - * \param[in] p_ephemeral_public_key_x The recipient public key Y-coordinate + * \param[in] p_ephemeral_public_key_y The recipient public key Y-coordinate * \remark To get the secret key, uses \see secret_key method * \remark To get the decrypteded symmetric encryption key, uses \see symmetric_encryption_key method * \return 0 on success, -1 otherwise */ - int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_private_enc_key, const OCTETSTRING& p_ephemeral_public_key_x, const OCTETSTRING& p_ephemeral_public_key_y, const OCTETSTRING& p_enc_sym_key, const OCTETSTRING& p_expected_nonce, const OCTETSTRING& p_authentication_vector); - int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_private_enc_key, const OCTETSTRING& p_recipients_compressed_key_x, const INTEGER& p_compressed_mode, const OCTETSTRING& p_enc_sym_key, const OCTETSTRING& p_expected_nonce, const OCTETSTRING& p_authentication_vector); + int generate_and_derive_ephemeral_key(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_ephemeral_public_key_x, const OCTETSTRING& p_ephemeral_public_key_y, const OCTETSTRING& p_enc_sym_key, const OCTETSTRING& p_expected_nonce, const OCTETSTRING& p_authentication_vector, const OCTETSTRING& p_salt); /*! * \fn int encrypt(const encryption_algotithm p_enc_algorithm, const OCTETSTRING& p_message, OCTETSTRING& p_enc_message); @@ -217,6 +216,13 @@ public: //! \publicsection inline const OCTETSTRING& encryption_key_y() const { return _enc_key_y; }; inline const OCTETSTRING& encrypted_symmetric_key() const { return _enc_sym_key; }; inline const OCTETSTRING& symmetric_encryption_key() const { return _sym_key; }; + /*! + * \fn void symmetric_encryption_key(const OCTETSTRING& p_sym_key); + * \brief Set AES symmetric key value. + * To be used for test purpose only + * \see IEEE Std 1609.2-2017 Clause 5.3.5 Public key encryption algorithms: ECIES + */ + inline void symmetric_encryption_key(const OCTETSTRING& p_sym_key) { _sym_key = p_sym_key; }; inline const OCTETSTRING& nonce() const { return _nonce; }; inline const OCTETSTRING& tag() const { return _tag; }; @@ -240,10 +246,6 @@ private: //! \privatesection */ int public_key_to_bin(OCTETSTRING& p_bin_key); - /*int multiply_point_with_bn(const EC_POINT &a, const BIGNUM* b, EC_POINT **P); - // R: XY-coordinate compressed, S: Share Secret - int derive_s_from_private_key(BIGNUM *S, BIGNUM *R); - // R: XY-coordinate compressed, S: Share Secret - int derive_s_from_public_key(BIGNUM *S, BIGNUM *R);*/ - + int kdf2(const OCTETSTRING& p_secret_key, const OCTETSTRING& p_salt, const unsigned char p_hash_algorithm, const int p_key_length, OCTETSTRING& p_digest); + int kdf2_sha256(const OCTETSTRING& p_secret_key, const OCTETSTRING& p_salt, const int p_key_length, OCTETSTRING& p_digest); }; // End of class security_ecc diff --git a/ccsrc/Protocols/Security/security_services.cc b/ccsrc/Protocols/Security/security_services.cc index 81af5993b325f394a02aa52df086e573e677f25e..c71c6d82cde9821375f9999bac7f105b03393b29 100644 --- a/ccsrc/Protocols/Security/security_services.cc +++ b/ccsrc/Protocols/Security/security_services.cc @@ -383,16 +383,16 @@ int security_services::process_ieee_1609_dot2_encrypted_data(const IEEE1609dot2: } // 3. Generate the shared secret value based on recipient's public ephemeral keys will be required - security_ecc ec(ec_elliptic_curves::nist_p_256, p_enc_key); int result; + security_ecc ec(ec_elliptic_curves::nist_p_256, p_enc_key); if (ecies->v().ischosen(IEEE1609dot2BaseTypes::EccP256CurvePoint::ALT_uncompressedP256)) { - result = ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, p_enc_key, ecies->v().uncompressedP256().x(), ecies->v().uncompressedP256().y(), ecies->c(), p_encrypted_data.ciphertext().aes128ccm().nonce(), ecies->t()); + result = ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ecies->v().uncompressedP256().x(), ecies->v().uncompressedP256().y(), ecies->c(), p_encrypted_data.ciphertext().aes128ccm().nonce(), ecies->t(), OCTETSTRING(0, nullptr)); } else if (ecies->v().ischosen(IEEE1609dot2BaseTypes::EccP256CurvePoint::ALT_compressed__y__0)) { - const INTEGER compressed_mode(0); - result = ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, p_enc_key, ecies->v().compressed__y__0(), compressed_mode, ecies->c(), p_encrypted_data.ciphertext().aes128ccm().nonce(), ecies->t()); + security_ecc ec_comp(ec_elliptic_curves::nist_p_256, ecies->v().compressed__y__0(), ecc_compressed_mode::compressed_y_0); + result = ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), ecies->c(), p_encrypted_data.ciphertext().aes128ccm().nonce(), ecies->t(), OCTETSTRING(0, nullptr)); } else if(ecies->v().ischosen(IEEE1609dot2BaseTypes::EccP256CurvePoint::ALT_compressed__y__1)) { - const INTEGER compressed_mode(1); - result = ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, p_enc_key, ecies->v().compressed__y__1(), compressed_mode, ecies->c(), p_encrypted_data.ciphertext().aes128ccm().nonce(), ecies->t()); + security_ecc ec_comp(ec_elliptic_curves::nist_p_256, ecies->v().compressed__y__1(), ecc_compressed_mode::compressed_y_1); + result = ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, ec_comp.public_key_x(), ec_comp.public_key_y(), ecies->c(), p_encrypted_data.ciphertext().aes128ccm().nonce(), ecies->t(), OCTETSTRING(0, nullptr)); } else { loggers::get_instance().warning("security_services::process_ieee_1609_dot2_encrypted_data: Failed to decode Decrypt Ieee1609Dot2Data-Encrypted"); return -1; @@ -592,7 +592,7 @@ int security_services::encrypt_gn_payload(const OCTETSTRING& p_unsecured_gn_payl } // 3. Generate and derive shared secret - if (_ec_keys_enc.get()->generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, r_public_key_x, r_public_key_y) == -1) { + if (_ec_keys_enc.get()->generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, r_public_key_x, r_public_key_y, OCTETSTRING(0, nullptr)) == -1) { loggers::get_instance().warning("security_services::encrypt_gn_payload: Failed to generate and derive secret key"); return -1; } diff --git a/docker/run-container.sh b/docker/run-container.sh index 161beaa18cce0a5f2a191b23bb666d7dae463ddb..5f1cffa87ebe913f210aec520b787690a102c513 100755 --- a/docker/run-container.sh +++ b/docker/run-container.sh @@ -5,7 +5,7 @@ #set -e set -vx -docker run -i --rm stf525_its:latest /bin/bash #-c "sudo etsi" +docker run -i --rm stf525_its:latest /bin/bash -c "cd /home/etsi/dev/etsi_its/src/TestCodec/objs && ../bin/run_all.bash" # That's all Floks exit 0 diff --git a/etc/TestCodec/TestCodec.cfg b/etc/TestCodec/TestCodec.cfg index abdc2df1b1b8a1cd607e1e3f0964a67dd4e34a20..615d9b9aaeeb020eea3aa101350e35ddeedf7284 100644 --- a/etc/TestCodec/TestCodec.cfg +++ b/etc/TestCodec/TestCodec.cfg @@ -285,7 +285,7 @@ system.pkiPort.params := "PKI/HTTP(device_mode=1,uri=/its/inner_ec_request,host= #TestCodec_SecuredFuntions.tc_sha384_1 #TestCodec_SecuredFuntions.tc_f_generate_key_pair_1 #TestCodec_SecuredFuntions.tc_f_generate_key_pair_2 -TestCodec_SecuredFuntions.tc_f_generate_key_pair_3 +#TestCodec_SecuredFuntions.tc_f_generate_key_pair_3 #TestCodec_SecuredFuntions.tc_f_signWithEcdsaNistp256WithSha256_1 #TestCodec_SecuredFuntions.tc_f_verifyWithEcdsaNistp256WithSha256_1 #TestCodec_SecuredFuntions.tc_f_verifyWithEcdsaNistp256WithSha256_2 @@ -327,12 +327,17 @@ TestCodec_SecuredFuntions.tc_f_generate_key_pair_3 #TestCodec_SecuredFuntions.tc_read_certificate_digest #TestCodec_SecuredFuntions.tc_read_certificate_hash # Encryption -#TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test1 -#TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test2 -#TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test3 -#TestCodec_SignedAndEncryptedMessages.tc_test_encrypt_aes_128_ccm_test_1 -#TestCodec_SignedAndEncryptedMessages.tc_test_encrypt_aes_128_ccm_test_2 -#TestCodec_SignedAndEncryptedMessages.tc_test_encrypt_aes_128_ccm_test_3 +TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test1 +TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test2 +TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test3 +TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test4 +TestCodec_SignedAndEncryptedMessages.tc_test_encrypt_aes_128_ccm_test_1 +TestCodec_SignedAndEncryptedMessages.tc_test_encrypt_aes_128_ccm_test_2 +TestCodec_SignedAndEncryptedMessages.tc_test_encrypt_aes_128_ccm_test_3 +TestCodec_SignedAndEncryptedMessages.tc_test_encryptWithEciesNistp256WithSha256_1 +TestCodec_SignedAndEncryptedMessages.tc_test_encryptWithEciesNistp256WithSha256_2 +TestCodec_SignedAndEncryptedMessages.tc_test_encryptWithEciesNistp256WithSha256_3 +TestCodec_SignedAndEncryptedMessages.tc_test_encryptWithEciesNistp256WithSha256_4 #TestCodec_SignedAndEncryptedMessages.tc_encrypted_signed_message_1 #TestCodec_SignedAndEncryptedMessages.tc_decrypted_signed_message_2 #TestCodec_SignedAndEncryptedMessages.tc_decrypted_signed_message_3 diff --git a/javasrc/CeCILL-C LICENSE.txt b/javasrc/CeCILL-C LICENSE.txt deleted file mode 100644 index cfe9f1dd72da53c582710a544ef02006f0ade583..0000000000000000000000000000000000000000 --- a/javasrc/CeCILL-C LICENSE.txt +++ /dev/null @@ -1,516 +0,0 @@ -CeCILL-C FREE SOFTWARE LICENSE AGREEMENT - - - Notice - -This Agreement is a Free Software license agreement that is the result -of discussions between its authors in order to ensure compliance with -the two main principles guiding its drafting: - - * firstly, compliance with the principles governing the distribution - of Free Software: access to source code, broad rights granted to - users, - * secondly, the election of a governing law, French law, with which - it is conformant, both as regards the law of torts and - intellectual property law, and the protection that it offers to - both authors and holders of the economic rights over software. - -The authors of the CeCILL-C (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre]) -license are: - -Commissariat à l'Energie Atomique - CEA, a public scientific, technical -and industrial research establishment, having its principal place of -business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France. - -Centre National de la Recherche Scientifique - CNRS, a public scientific -and technological establishment, having its principal place of business -at 3 rue Michel-Ange, 75794 Paris cedex 16, France. - -Institut National de Recherche en Informatique et en Automatique - -INRIA, a public scientific and technological establishment, having its -principal place of business at Domaine de Voluceau, Rocquencourt, BP -105, 78153 Le Chesnay cedex, France. - - - Preamble - -The purpose of this Free Software license agreement is to grant users -the right to modify and re-use the software governed by this license. - -The exercising of this right is conditional upon the obligation to make -available to the community the modifications made to the source code of -the software so as to contribute to its evolution. - -In consideration of access to the source code and the rights to copy, -modify and redistribute granted by the license, users are provided only -with a limited warranty and the software's author, the holder of the -economic rights, and the successive licensors only have limited liability. - -In this respect, the risks associated with loading, using, modifying -and/or developing or reproducing the software by the user are brought to -the user's attention, given its Free Software status, which may make it -complicated to use, with the result that its use is reserved for -developers and experienced professionals having in-depth computer -knowledge. Users are therefore encouraged to load and test the -suitability of the software as regards their requirements in conditions -enabling the security of their systems and/or data to be ensured and, -more generally, to use and operate it in the same conditions of -security. This Agreement may be freely reproduced and published, -provided it is not altered, and that no provisions are either added or -removed herefrom. - -This Agreement may apply to any or all software for which the holder of -the economic rights decides to submit the use thereof to its provisions. - - - Article 1 - DEFINITIONS - -For the purpose of this Agreement, when the following expressions -commence with a capital letter, they shall have the following meaning: - -Agreement: means this license agreement, and its possible subsequent -versions and annexes. - -Software: means the software in its Object Code and/or Source Code form -and, where applicable, its documentation, "as is" when the Licensee -accepts the Agreement. - -Initial Software: means the Software in its Source Code and possibly its -Object Code form and, where applicable, its documentation, "as is" when -it is first distributed under the terms and conditions of the Agreement. - -Modified Software: means the Software modified by at least one -Integrated Contribution. - -Source Code: means all the Software's instructions and program lines to -which access is required so as to modify the Software. - -Object Code: means the binary files originating from the compilation of -the Source Code. - -Holder: means the holder(s) of the economic rights over the Initial -Software. - -Licensee: means the Software user(s) having accepted the Agreement. - -Contributor: means a Licensee having made at least one Integrated -Contribution. - -Licensor: means the Holder, or any other individual or legal entity, who -distributes the Software under the Agreement. - -Integrated Contribution: means any or all modifications, corrections, -translations, adaptations and/or new functions integrated into the -Source Code by any or all Contributors. - -Related Module: means a set of sources files including their -documentation that, without modification to the Source Code, enables -supplementary functions or services in addition to those offered by the -Software. - -Derivative Software: means any combination of the Software, modified or -not, and of a Related Module. - -Parties: mean both the Licensee and the Licensor. - -These expressions may be used both in singular and plural form. - - - Article 2 - PURPOSE - -The purpose of the Agreement is the grant by the Licensor to the -Licensee of a non-exclusive, transferable and worldwide license for the -Software as set forth in Article 5 hereinafter for the whole term of the -protection granted by the rights over said Software. - - - Article 3 - ACCEPTANCE - -3.1 The Licensee shall be deemed as having accepted the terms and -conditions of this Agreement upon the occurrence of the first of the -following events: - - * (i) loading the Software by any or all means, notably, by - downloading from a remote server, or by loading from a physical - medium; - * (ii) the first time the Licensee exercises any of the rights - granted hereunder. - -3.2 One copy of the Agreement, containing a notice relating to the -characteristics of the Software, to the limited warranty, and to the -fact that its use is restricted to experienced users has been provided -to the Licensee prior to its acceptance as set forth in Article 3.1 -hereinabove, and the Licensee hereby acknowledges that it has read and -understood it. - - - Article 4 - EFFECTIVE DATE AND TERM - - - 4.1 EFFECTIVE DATE - -The Agreement shall become effective on the date when it is accepted by -the Licensee as set forth in Article 3.1. - - - 4.2 TERM - -The Agreement shall remain in force for the entire legal term of -protection of the economic rights over the Software. - - - Article 5 - SCOPE OF RIGHTS GRANTED - -The Licensor hereby grants to the Licensee, who accepts, the following -rights over the Software for any or all use, and for the term of the -Agreement, on the basis of the terms and conditions set forth hereinafter. - -Besides, if the Licensor owns or comes to own one or more patents -protecting all or part of the functions of the Software or of its -components, the Licensor undertakes not to enforce the rights granted by -these patents against successive Licensees using, exploiting or -modifying the Software. If these patents are transferred, the Licensor -undertakes to have the transferees subscribe to the obligations set -forth in this paragraph. - - - 5.1 RIGHT OF USE - -The Licensee is authorized to use the Software, without any limitation -as to its fields of application, with it being hereinafter specified -that this comprises: - - 1. permanent or temporary reproduction of all or part of the Software - by any or all means and in any or all form. - - 2. loading, displaying, running, or storing the Software on any or - all medium. - - 3. entitlement to observe, study or test its operation so as to - determine the ideas and principles behind any or all constituent - elements of said Software. This shall apply when the Licensee - carries out any or all loading, displaying, running, transmission - or storage operation as regards the Software, that it is entitled - to carry out hereunder. - - - 5.2 RIGHT OF MODIFICATION - -The right of modification includes the right to translate, adapt, -arrange, or make any or all modifications to the Software, and the right -to reproduce the resulting software. It includes, in particular, the -right to create a Derivative Software. - -The Licensee is authorized to make any or all modification to the -Software provided that it includes an explicit notice that it is the -author of said modification and indicates the date of the creation thereof. - - - 5.3 RIGHT OF DISTRIBUTION - -In particular, the right of distribution includes the right to publish, -transmit and communicate the Software to the general public on any or -all medium, and by any or all means, and the right to market, either in -consideration of a fee, or free of charge, one or more copies of the -Software by any means. - -The Licensee is further authorized to distribute copies of the modified -or unmodified Software to third parties according to the terms and -conditions set forth hereinafter. - - - 5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION - -The Licensee is authorized to distribute true copies of the Software in -Source Code or Object Code form, provided that said distribution -complies with all the provisions of the Agreement and is accompanied by: - - 1. a copy of the Agreement, - - 2. a notice relating to the limitation of both the Licensor's - warranty and liability as set forth in Articles 8 and 9, - -and that, in the event that only the Object Code of the Software is -redistributed, the Licensee allows effective access to the full Source -Code of the Software at a minimum during the entire period of its -distribution of the Software, it being understood that the additional -cost of acquiring the Source Code shall not exceed the cost of -transferring the data. - - - 5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE - -When the Licensee makes an Integrated Contribution to the Software, the -terms and conditions for the distribution of the resulting Modified -Software become subject to all the provisions of this Agreement. - -The Licensee is authorized to distribute the Modified Software, in -source code or object code form, provided that said distribution -complies with all the provisions of the Agreement and is accompanied by: - - 1. a copy of the Agreement, - - 2. a notice relating to the limitation of both the Licensor's - warranty and liability as set forth in Articles 8 and 9, - -and that, in the event that only the object code of the Modified -Software is redistributed, the Licensee allows effective access to the -full source code of the Modified Software at a minimum during the entire -period of its distribution of the Modified Software, it being understood -that the additional cost of acquiring the source code shall not exceed -the cost of transferring the data. - - - 5.3.3 DISTRIBUTION OF DERIVATIVE SOFTWARE - -When the Licensee creates Derivative Software, this Derivative Software -may be distributed under a license agreement other than this Agreement, -subject to compliance with the requirement to include a notice -concerning the rights over the Software as defined in Article 6.4. -In the event the creation of the Derivative Software required modification -of the Source Code, the Licensee undertakes that: - - 1. the resulting Modified Software will be governed by this Agreement, - 2. the Integrated Contributions in the resulting Modified Software - will be clearly identified and documented, - 3. the Licensee will allow effective access to the source code of the - Modified Software, at a minimum during the entire period of - distribution of the Derivative Software, such that such - modifications may be carried over in a subsequent version of the - Software; it being understood that the additional cost of - purchasing the source code of the Modified Software shall not - exceed the cost of transferring the data. - - - 5.3.4 COMPATIBILITY WITH THE CeCILL LICENSE - -When a Modified Software contains an Integrated Contribution subject to -the CeCILL license agreement, or when a Derivative Software contains a -Related Module subject to the CeCILL license agreement, the provisions -set forth in the third item of Article 6.4 are optional. - - - Article 6 - INTELLECTUAL PROPERTY - - - 6.1 OVER THE INITIAL SOFTWARE - -The Holder owns the economic rights over the Initial Software. Any or -all use of the Initial Software is subject to compliance with the terms -and conditions under which the Holder has elected to distribute its work -and no one shall be entitled to modify the terms and conditions for the -distribution of said Initial Software. - -The Holder undertakes that the Initial Software will remain ruled at -least by this Agreement, for the duration set forth in Article 4.2. - - - 6.2 OVER THE INTEGRATED CONTRIBUTIONS - -The Licensee who develops an Integrated Contribution is the owner of the -intellectual property rights over this Contribution as defined by -applicable law. - - - 6.3 OVER THE RELATED MODULES - -The Licensee who develops a Related Module is the owner of the -intellectual property rights over this Related Module as defined by -applicable law and is free to choose the type of agreement that shall -govern its distribution under the conditions defined in Article 5.3.3. - - - 6.4 NOTICE OF RIGHTS - -The Licensee expressly undertakes: - - 1. not to remove, or modify, in any manner, the intellectual property - notices attached to the Software; - - 2. to reproduce said notices, in an identical manner, in the copies - of the Software modified or not; - - 3. to ensure that use of the Software, its intellectual property - notices and the fact that it is governed by the Agreement is - indicated in a text that is easily accessible, specifically from - the interface of any Derivative Software. - -The Licensee undertakes not to directly or indirectly infringe the -intellectual property rights of the Holder and/or Contributors on the -Software and to take, where applicable, vis-à-vis its staff, any and all -measures required to ensure respect of said intellectual property rights -of the Holder and/or Contributors. - - - Article 7 - RELATED SERVICES - -7.1 Under no circumstances shall the Agreement oblige the Licensor to -provide technical assistance or maintenance services for the Software. - -However, the Licensor is entitled to offer this type of services. The -terms and conditions of such technical assistance, and/or such -maintenance, shall be set forth in a separate instrument. Only the -Licensor offering said maintenance and/or technical assistance services -shall incur liability therefor. - -7.2 Similarly, any Licensor is entitled to offer to its licensees, under -its sole responsibility, a warranty, that shall only be binding upon -itself, for the redistribution of the Software and/or the Modified -Software, under terms and conditions that it is free to decide. Said -warranty, and the financial terms and conditions of its application, -shall be subject of a separate instrument executed between the Licensor -and the Licensee. - - - Article 8 - LIABILITY - -8.1 Subject to the provisions of Article 8.2, the Licensee shall be -entitled to claim compensation for any direct loss it may have suffered -from the Software as a result of a fault on the part of the relevant -Licensor, subject to providing evidence thereof. - -8.2 The Licensor's liability is limited to the commitments made under -this Agreement and shall not be incurred as a result of in particular: -(i) loss due the Licensee's total or partial failure to fulfill its -obligations, (ii) direct or consequential loss that is suffered by the -Licensee due to the use or performance of the Software, and (iii) more -generally, any consequential loss. In particular the Parties expressly -agree that any or all pecuniary or business loss (i.e. loss of data, -loss of profits, operating loss, loss of customers or orders, -opportunity cost, any disturbance to business activities) or any or all -legal proceedings instituted against the Licensee by a third party, -shall constitute consequential loss and shall not provide entitlement to -any or all compensation from the Licensor. - - - Article 9 - WARRANTY - -9.1 The Licensee acknowledges that the scientific and technical -state-of-the-art when the Software was distributed did not enable all -possible uses to be tested and verified, nor for the presence of -possible defects to be detected. In this respect, the Licensee's -attention has been drawn to the risks associated with loading, using, -modifying and/or developing and reproducing the Software which are -reserved for experienced users. - -The Licensee shall be responsible for verifying, by any or all means, -the suitability of the product for its requirements, its good working -order, and for ensuring that it shall not cause damage to either persons -or properties. - -9.2 The Licensor hereby represents, in good faith, that it is entitled -to grant all the rights over the Software (including in particular the -rights set forth in Article 5). - -9.3 The Licensee acknowledges that the Software is supplied "as is" by -the Licensor without any other express or tacit warranty, other than -that provided for in Article 9.2 and, in particular, without any warranty -as to its commercial value, its secured, safe, innovative or relevant -nature. - -Specifically, the Licensor does not warrant that the Software is free -from any error, that it will operate without interruption, that it will -be compatible with the Licensee's own equipment and software -configuration, nor that it will meet the Licensee's requirements. - -9.4 The Licensor does not either expressly or tacitly warrant that the -Software does not infringe any third party intellectual property right -relating to a patent, software or any other property right. Therefore, -the Licensor disclaims any and all liability towards the Licensee -arising out of any or all proceedings for infringement that may be -instituted in respect of the use, modification and redistribution of the -Software. Nevertheless, should such proceedings be instituted against -the Licensee, the Licensor shall provide it with technical and legal -assistance for its defense. Such technical and legal assistance shall be -decided on a case-by-case basis between the relevant Licensor and the -Licensee pursuant to a memorandum of understanding. The Licensor -disclaims any and all liability as regards the Licensee's use of the -name of the Software. No warranty is given as regards the existence of -prior rights over the name of the Software or as regards the existence -of a trademark. - - - Article 10 - TERMINATION - -10.1 In the event of a breach by the Licensee of its obligations -hereunder, the Licensor may automatically terminate this Agreement -thirty (30) days after notice has been sent to the Licensee and has -remained ineffective. - -10.2 A Licensee whose Agreement is terminated shall no longer be -authorized to use, modify or distribute the Software. However, any -licenses that it may have granted prior to termination of the Agreement -shall remain valid subject to their having been granted in compliance -with the terms and conditions hereof. - - - Article 11 - MISCELLANEOUS - - - 11.1 EXCUSABLE EVENTS - -Neither Party shall be liable for any or all delay, or failure to -perform the Agreement, that may be attributable to an event of force -majeure, an act of God or an outside cause, such as defective -functioning or interruptions of the electricity or telecommunications -networks, network paralysis following a virus attack, intervention by -government authorities, natural disasters, water damage, earthquakes, -fire, explosions, strikes and labor unrest, war, etc. - -11.2 Any failure by either Party, on one or more occasions, to invoke -one or more of the provisions hereof, shall under no circumstances be -interpreted as being a waiver by the interested Party of its right to -invoke said provision(s) subsequently. - -11.3 The Agreement cancels and replaces any or all previous agreements, -whether written or oral, between the Parties and having the same -purpose, and constitutes the entirety of the agreement between said -Parties concerning said purpose. No supplement or modification to the -terms and conditions hereof shall be effective as between the Parties -unless it is made in writing and signed by their duly authorized -representatives. - -11.4 In the event that one or more of the provisions hereof were to -conflict with a current or future applicable act or legislative text, -said act or legislative text shall prevail, and the Parties shall make -the necessary amendments so as to comply with said act or legislative -text. All other provisions shall remain effective. Similarly, invalidity -of a provision of the Agreement, for any reason whatsoever, shall not -cause the Agreement as a whole to be invalid. - - - 11.5 LANGUAGE - -The Agreement is drafted in both French and English and both versions -are deemed authentic. - - - Article 12 - NEW VERSIONS OF THE AGREEMENT - -12.1 Any person is authorized to duplicate and distribute copies of this -Agreement. - -12.2 So as to ensure coherence, the wording of this Agreement is -protected and may only be modified by the authors of the License, who -reserve the right to periodically publish updates or new versions of the -Agreement, each with a separate number. These subsequent versions may -address new issues encountered by Free Software. - -12.3 Any Software distributed under a given version of the Agreement may -only be subsequently distributed under the same version of the Agreement -or a subsequent version. - - - Article 13 - GOVERNING LAW AND JURISDICTION - -13.1 The Agreement is governed by French law. The Parties agree to -endeavor to seek an amicable solution to any disagreements or disputes -that may arise during the performance of the Agreement. - -13.2 Failing an amicable solution within two (2) months as from their -occurrence, and unless emergency proceedings are necessary, the -disagreements or disputes shall be referred to the Paris Courts having -jurisdiction, by the more diligent Party. - - -Version 1.0 dated 2006-09-05. \ No newline at end of file diff --git a/javasrc/adapter/org/etsi/adapter/GnssSupportFactory.java b/javasrc/adapter/org/etsi/adapter/GnssSupportFactory.java deleted file mode 100644 index a8944fde5badaaa77c816d7fec27e0ae3aa23278..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/adapter/GnssSupportFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Factory for GNSS Support implementations. - * Implementations have to register to this factory. - * - */ -package org.etsi.adapter; - -/** - * Factory for Test Execution Required implementations. - * Implementations have to register to this factory. - */ -public class GnssSupportFactory { - - /** - * Registered IGnssSupport implementation - */ - private static IGnssSupport instance; - - /** - * Gets the registered IGnssSupport implementation - * @return Instance of IGnssSupport implementation registered through setImpl() or null - * @see setImpl - */ - public static IGnssSupport getInstance() { - return instance; - } - - /** - * Private constructor (Singleton pattern) - */ - private GnssSupportFactory() { - //empty - } - - /** - * Sets the implementation instance to be returned by the factory - * @param impl Instance of the implementation to be registered - */ - public static void setImpl(IGnssSupport impl) { - instance = impl; - } -} diff --git a/javasrc/adapter/org/etsi/adapter/IGnssSupport.java b/javasrc/adapter/org/etsi/adapter/IGnssSupport.java deleted file mode 100644 index ea179f2d31bfff7e499c20ef5ffdec13f72feec5..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/adapter/IGnssSupport.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * (C) Copyright Testing Technologies, 2001-2015. All Rights Reserved. - * - * All copies of this program, whether in whole or in part, and whether - * modified or not, must display this and all other embedded copyright - * and ownership notices in full. - * - * See the file COPYRIGHT for details of redistribution and use. - * - * You should have received a copy of the COPYRIGHT file along with - * this file; if not, write to the Testing Technologies, - * Michaelkirchstr. 17/18, 10179 Berlin, Germany. - * - * TESTING TECHNOLOGIES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE. IN NO EVENT SHALL TESTING TECHNOLOGIES BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF - * THIS SOFTWARE. - * - * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, - * EITHER EXPRESSED OR IMPLIED, INCLUDING ANY KIND OF IMPLIED OR - * EXPRESSED WARRANTY OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES - * OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * ----------------------------------------------------------------------------- */ -/** - * GNSS support interface to be implemented by TE providers. - */ -package org.etsi.adapter; - -import java.math.BigInteger; - -import org.etsi.its.adapter.ports.AdapterPort; -import org.etsi.ttcn.tri.TriStatus; - -/** - * Test Execution Required interface to be implemented by TE providers. - */ -public interface IGnssSupport { - - /** - * Initialize the GNSS support. - * @return TRI_OK in case of success, false otherwise - */ - public TriStatus init(); - - /** - * Loads a scenario - * @param id of predefined scenario - * @return TRUE on success, FALSE otherwise - */ - public boolean loadScenario(int p_id); - - /** - * Starts a loaded scenario - * @return TRUE on success, FALSE otherwise - */ - public boolean startScenario(); - - /** - * Stops a started scenario - * @return TRUE on success, FALSE otherwise - */ - public boolean stopScenario(); - - /** - * Signals when the requested distance was covered - * @param distance The requested distance in m. - * @return TRUE on success, FALSE otherwise - */ - public boolean awaitDistanceToCover(AdapterPort notifier, double distance); - - /** - * Changes dynamically the speed in the running scenario - * @param The new speed value. - * @return TRUE on success, FALSE otherwise - */ - public boolean changeSpeed(double speed); - - /** - * Changes dynamically the heading in the running scenario - * @param heading The new heading value. - * @return TRUE on success, FALSE otherwise - */ - public boolean changeHeading(double heading); - - /** - * Gets the current GPS time - * @return the time - */ - public BigInteger getGpsTime(); - - /** - * Signals when the requested time in the running scenario is reached - * @param time The requested time in msec. - * @return TRUE on success, FALSE otherwise - */ - public boolean awaitTimeInRunningScenario(AdapterPort notifier, int time); - - /** - * Dispose object - */ - public void dispose(); - -} diff --git a/javasrc/adapter/org/etsi/adapter/ITERequired.java b/javasrc/adapter/org/etsi/adapter/ITERequired.java deleted file mode 100644 index f663cbd319819d817702bce5fe60f21fcf51864b..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/adapter/ITERequired.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Test Execution Required interface to be implemented by TE providers. - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.adapter; - -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriCommunicationTE; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriStatus; - -/** - * Test Execution Required interface to be implemented by TE providers. - */ -public interface ITERequired { - - /** - * Gets TriCommunicationTE implementation - * @return TriCommunicationTE implementation - */ - TriCommunicationTE getCommunicationTE(); - - /** - * Creates TriStatus object corresponding to statusCode - * @param statusCode Status value - * @return TriStatus corresponding to statusCode - */ - TriStatus getTriStatus(int statusCode); - - /** - * Creates TriStatus object corresponding to statusCode (non TRI-standard) - * @param statusCode Status value - * @param message Informational message (Error cause, ...) - * @return TriStatus corresponding to statusCode - */ - TriStatus getTriStatus(int statusCode, String message); - - /** - * Gets TriAddress - * @param message - * @return TriAddress - */ - TriAddress getTriAddress(byte[] message); - - /** - * Gets TriMessage - * @param message - * @return TriMessage - */ - TriMessage getTriMessage(byte[] message); - - /** - * Gets Test Adapter configuration parameter (non TRI-standard) - * @param param Name of the configuration parameter - * @return Value associated to the TA parameter - */ - Value getTaParameter(String param); - - /** - * Logs the debug message. - */ - void logDebug(String debugMessage); - - /** - * Logs the error message. - */ - void logError(String errorMessage); - -} diff --git a/javasrc/adapter/org/etsi/adapter/TERFactory.java b/javasrc/adapter/org/etsi/adapter/TERFactory.java deleted file mode 100644 index d0b53552d48509aa654da62ac7544bd87da1bf8f..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/adapter/TERFactory.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Factory for Test Execution Required implementations. - * Implementations have to register to this factory. - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.adapter; - -/** - * Factory for Test Execution Required implementations. - * Implementations have to register to this factory. - */ -public class TERFactory { - - /** - * Registered ITERequired implementation - */ - private static ITERequired instance; - - /** - * Gets the registered ITERequired implementation - * @return Instance of ITERequired implementation registered through setImpl() or null - * @see setImpl - */ - public static ITERequired getInstance() { - return instance; - } - - /** - * Private constructor (Singleton pattern) - */ - private TERFactory() { - //empty - } - - /** - * Sets the implementation instance to be returned by the factory - * @param impl Instance of the implementation to be registered - */ - public static void setImpl(ITERequired impl) { - instance = impl; - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ComponentMgr.java b/javasrc/adapter/org/etsi/its/adapter/ComponentMgr.java deleted file mode 100644 index 41a41a808a2edeeaa87179fddd7e545b439a2a3b..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ComponentMgr.java +++ /dev/null @@ -1,262 +0,0 @@ -/** - * Component manager that handles ports and component creation - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter; - -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Observer; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ITuple; -import org.etsi.common.Tuple; -import org.etsi.its.adapter.ports.IObservable; -import org.etsi.its.adapter.ports.IPort; -import org.etsi.ttcn.tri.TriComponentId; -import org.etsi.ttcn.tri.TriPortId; - -/** - * Component manager that handles ports and component creation - */ -public class ComponentMgr{ - - /** - * Association Component ID <-> Component reference - */ - private LinkedHashMap mapCompNameToTriComp; - - /** - * Association Component ID <-> { (TTCN-3 Port reference / SUT Port reference) } - */ - private LinkedHashMap>> mapTriPortToTuple; - - /** - * Used to add Observer object - */ - private TestAdapter adapter; - - /** - * Constructor - * @param adapter TestAdapter reference, required for Observer/Observable pattern - */ - public ComponentMgr(final TestAdapter adapter) { - - this.adapter = adapter; - mapCompNameToTriComp = new LinkedHashMap(); - mapTriPortToTuple = new LinkedHashMap>>(); - } - - /** - * Adds a new component - * If the component was already added, nothing is done - * @param component The component to add - */ - public void addComponent(TriComponentId component) { - // Sanity check - if(component == null) { - TERFactory.getInstance().logError("Error: Trying to add null component"); - return; - } - - if(!mapCompNameToTriComp.containsKey(component.getComponentId())) { - // Create an entry in the list of Component - mapCompNameToTriComp.put(component.getComponentId(), component); - if(!mapTriPortToTuple.containsKey(component.getComponentId())) { - // Create an entry in the list of Component/Ports - mapTriPortToTuple.put(component.getComponentId(), new LinkedHashMap>()); - } - } - } - - /** - * Adds a new port to the specified component - * @param component The component reference - * @param portname The port name - * @param port The port to add - */ - public void addPort(final String componentName, final TriPortId ttcnPort, final IPort port) { - // Sanity checks - if(componentName.isEmpty() || (ttcnPort == null) || (port == null)) { - TERFactory.getInstance().logError("ComponentMgr.addPort: Wrong parameters"); - return; - } - if(!mapCompNameToTriComp.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.addPort: Trying to add port to unknown component"); - return; - } - if(!mapTriPortToTuple.containsKey(componentName)) { - // Create an entry in the list of Component/Ports - mapTriPortToTuple.put(componentName, new LinkedHashMap>()); - } - - Map> portItem = mapTriPortToTuple.get(componentName); - if(!portItem.containsKey(ttcnPort.getPortName())) { - portItem.put(ttcnPort.getPortName(), new Tuple(ttcnPort, port)); - ((IObservable)port).addObserver((Observer) adapter); - mapTriPortToTuple.put(componentName, portItem); - } - } - - /** - * Gets the component reference from its name - * @param componentName The component name - * @return The component reference if the component exists, null otherwise - */ - public TriComponentId getComponent(String componentName) { - - // Sanity checks - if(componentName == null || componentName.isEmpty()) { - TERFactory.getInstance().logError("ComponentMgr.getComponent: Invalid component"); - return null; - } - - return mapCompNameToTriComp.get(componentName); - } - - /** - * Retrieves the TTCN-3 port identifier (TriPortId) from component/port names - * @param componentName The component reference - * @param portName The port name - * @return The TTCN-3 port identifier if the component and the port exists, null otherwise - */ - public TriPortId getPortId(String componentName, String portName) { - - // Sanity checks - if(componentName.isEmpty() || portName.isEmpty()) { - TERFactory.getInstance().logError("ComponentMgr.getPortId: Wrong parameters"); - return null; - } - if(!mapCompNameToTriComp.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.getPortId: Unknown component"); - return null; - } - if(!mapTriPortToTuple.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.getPortId: No port list entry"); - return null; - } - - Map> portItem = mapTriPortToTuple.get(componentName); - if(!portItem.containsKey(portName)) { - return null; - } - - ITuple item = portItem.get(portName); - return item.getA(); - } - - /** - * Retrieves the test adapter port identifier (Port or IAdapterPort) from component/port names - * @param componentName The component owner - * @return The port reference if the component and the port exists, null otherwise - * - * @see Port - * @see IAdapterPort - */ - public IPort getPort(String componentName, String portName) { - - // Sanity checks - if(componentName.isEmpty() || portName.isEmpty()) { - TERFactory.getInstance().logError("ComponentMgr.getPort: Wrong parameters"); - return null; - } - if(!mapCompNameToTriComp.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.getPort: Unknown component"); - return null; - } - if(!mapTriPortToTuple.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.getPort: No port list entry"); - return null; - } - - Map> portItem = mapTriPortToTuple.get(componentName); - if(!portItem.containsKey(portName)) { - return null; - } - - ITuple item = portItem.get(portName); - return item.getB(); - } - - /** - * Removes the specified component - * - * Note that after the port removal, if the component has no more port, it will be removed also - * - * @param component The component reference - */ - public void removeComponent(String componentName) { - - removeAllPorts(); - } - - /** - * Removes the specified port - * - * Note that all ports attached to this component will be removed also - * - * @param componentName The component name to remove - */ - public void removePort(String componentName, String portName) { - - // Sanity checks - if(componentName.isEmpty() || portName.isEmpty()) { - TERFactory.getInstance().logError("ComponentMgr.removePort: Wrong parameters"); - return; - } - if(!mapCompNameToTriComp.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.removePort: Unknown component"); - return; - } - if(!mapTriPortToTuple.containsKey(componentName)) { - TERFactory.getInstance().logError("ComponentMgr.removePort: No port list entry"); - return; - } - - Map> portItem = mapTriPortToTuple.get(componentName); - if(!portItem.containsKey(portName)) { - return; - } - // Remove Observers - ((IObservable)portItem.get(portName).getB()).deleteObservers(); - - // Call dispose - ((IPort)portItem.get(portName).getB()).dispose(); - - // Remove item - portItem.remove(portName); - if(portItem.size() != 0) { - mapTriPortToTuple.put(componentName, portItem); - } else { - mapTriPortToTuple.remove(componentName); - mapCompNameToTriComp.remove(componentName); - if(mapCompNameToTriComp.isEmpty()) { - mapCompNameToTriComp.clear(); - } - } - if(mapTriPortToTuple.isEmpty()) { - mapTriPortToTuple.clear(); - } - } - - /** - * Removes all ports. - */ - public void removeAllPorts() { - - // Remove all ports - for(Object componentName : mapTriPortToTuple.keySet().toArray()) { - Map> portItem = mapTriPortToTuple.get(componentName); - for(Object portName : portItem.keySet().toArray()) { - removePort((String)componentName, (String)portName); - } - } - - // Remove component mapping - mapCompNameToTriComp.clear(); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/IManagementLayers.java b/javasrc/adapter/org/etsi/its/adapter/IManagementLayers.java deleted file mode 100644 index 920e281083b8d4904af73a147f5967196db657b8..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/IManagementLayers.java +++ /dev/null @@ -1,147 +0,0 @@ -/** - * Management interface for protocol layers - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ - -package org.etsi.its.adapter; - -import java.math.BigInteger; - -import org.etsi.its.adapter.ports.FsapPort; -import org.etsi.its.adapter.ports.GnPort; - -/** - * Management interface for protocol layers - */ -public interface IManagementLayers { - - /** - * Gets the GeoNetworking beacon header to be sent by Test Adapter for the current component - * @return Beacon header, or null if no Beacon shall be sent - */ - public byte[] getGnBeacon(); - - /** - * Registers a GN port - */ - public void registerGnPort(GnPort gnPort); - - /** - * Registers a FSAP port - * @param The FSAP port to register - */ - public void registerFsapPort(final FsapPort fntpPort); - - - /** - * Gets the GeoNetworking beaconing interval - * @return GeoNetworking beaconing interval in ms - */ - public int getGnBeaconInterval(); - - /** - * Gets the GeoNetworking beacon header acting as filter for enqueueing Beacons received from neighbours - * @return Beacon header, or null if no Beacon shall be enqueued - */ - public byte[] getGnEnqueueBeacon(); - - /** - * Inserts or updates a neighbour position vector in Test Adapter internal tables - * @param mid Mid part of the neighbour's GN_Address - * @param timestamp Timestamp of the carrying message - * @param lpv Long position vector of the neighbour - */ - public void gnUpdateLocTable(byte[] mid, long timestamp, byte[] lpv); - - /** - * Sets the link layer address of this component - * param linkLayerAddress Link-layer address (6 bytes) - */ - public void setLinkLayerAddress(byte[] linkLayerAddress); - - /** - * Gets the link layer address of this component - * @return Link-layer address (6 bytes) - */ - public byte[] getLinkLayerAddress(); - - /** - * Gets the latitude of this component - * @return Latitude - */ - public byte[] getLatitude(); - - /** - * Gets the Longitude of this component - * @return Longitude - */ - public byte[] getLongitude(); - - /** - * Enable the secured mode - * @param securityData data required to execute the signing process on beacons - */ - public void setSecuredMode(final byte[] securityData); - - /** - * Disable the secured mode - */ - public void unsetSecuredMode(); - - /** - * In case TA shall fully support secured mode, security checks shall be applied - * Otherwise the Security ATS shall manage the security checks as part of testing - * @return true if secured mode is set, false otherwise - */ - public boolean isEnforceSecuredModeSet(); - - /** - * Gets the secured mode status - * @return true if secured mode is set, false otherwise - * - * @remark When the secured mode status is set, the TA shall at least filter secured packet to extract SOPV, LS_REQUEST and so on - */ - public boolean isSecuredModeSet(); - - /** - * Gets the private key for signing process - * @return The private key - */ - public BigInteger getSigningPrivateKey(); - - /** - * Gets the public key X for signing check - * @return The public key X - */ - public byte[] getSigningPublicKeyX(); - - /** - * Gets the public key Y for signing check - * @return The public key Y - */ - public byte[] getSigningPublicKeyY(); - - /** - * Gets the AT certificate value - * @return The AT certificate value - * @remark It shall not be used when secured mode is set by the test execution - */ - byte[] getAtCertificate(); - - /** - * Gets the Hashed8 value from the AT certificate - * @return The Hashed8 value - * @remark It shall not be used when secured mode is set by the test execution - */ - byte[] getAtCertificateDigest(); - - /** - * Requests ITS-AID for other profile - */ - int getItsAidOther(); - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/IManagementTA.java b/javasrc/adapter/org/etsi/its/adapter/IManagementTA.java deleted file mode 100644 index c1ac94f27548b467f2e0a15f0203ebefcbf64994..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/IManagementTA.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * Management interface for Test Adapter main class - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ - -package org.etsi.its.adapter; - -/** - * Management interface for Test Adapter main class - */ -public interface IManagementTA { - - /** - * Requests Test Adapter to start sending periodic beacons for the current component - * @param beaconHeader Beacon to be sent (TST field will be updated) - */ - public void startBeaconing(byte[] beaconHeader); - - /** - * Requests Test Adapter to stop sending periodic beacons for the current component - */ - public void stopBeaconing(); - - /** - * Requests Test Adapter to start enqueueing beacon messages on the current component GN port - * @param beaconHeader Only messages matching this beacon header will be enqueued - */ - public void startEnqueueingBeacons(byte[] beaconHeader); - - /** - * Requests Test Adapter to stop enqueueing beacon messages on the current component GN port - */ - public void stopEnqueueingBeacons(); - - /** - * Requests Test Adapter to start simulating neighbour presence by sending multiple periodic beacons for the current component - * @param beaconHeader Beacon to be sent (TST field will be updated, GN addresses will be random) - * @param nbNeighbours Number of neighbours to simulate - */ - public void startMultipleBeaconing(byte[] beaconHeader, int nbNeighbours); - - /** - * Requests Test Adapter to stop simulating neighbour presence - */ - public void stopMultipleBeaconing(); - - /** - * Gets the long position vector of a neighbour given its GN_Address - * @param targetGnAddress GN_Address of the target neighbour - * @return Long position vector of the target neighbour as received in its last beacon, or null - */ - public byte[] getLongPositionVector(byte[] targetGnAddress); - - /** - * Requests Test Adapter to trigger a Service Provider InSapPrimitiveUp/SAM message sending - * @param sam The SAM message to transmit - */ - public void startSamTransmission(final byte[] sam); - - /** - * Requests Test Adapter to stop a Service Provider InSapPrimitiveUp/SAM message sending - * @param sam The SAM message to transmit - */ - public void stopSamTransmission(); - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/LEDataInputStream.java b/javasrc/adapter/org/etsi/its/adapter/LEDataInputStream.java deleted file mode 100644 index 6550a78ad23381570277f10ec2b192803033a835..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/LEDataInputStream.java +++ /dev/null @@ -1,330 +0,0 @@ -/* - * @(#)LEDataInputStream.java - * - * Summary: Little-Endian version of DataInputStream. - * - * Copyright: (c) 1998-2010 Roedy Green, Canadian Mind Products, http://mindprod.com - * - * Licence: This software may be copied and used freely for any purpose but military. - * http://mindprod.com/contact/nonmil.html - * - * Requires: JDK 1.1+ - * - * Created with: IntelliJ IDEA IDE. - * - * Version History: - * 1.8 2007-05-24 - */ -package org.etsi.its.adapter; - -import java.io.DataInput; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; - -/** - * Little-Endian version of DataInputStream. - *

- * Very similar to DataInputStream except it reads little-endian instead of - * big-endian binary data. We can't extend DataInputStream directly since it has - * only final methods, though DataInputStream itself is not final. This forces - * us implement LEDataInputStream with a DataInputStream object, and use wrapper - * methods. - * - * @author Roedy Green, Canadian Mind Products - * @version 1.8 2007-05-24 - * @since 1998 - */ -public final class LEDataInputStream implements DataInput { - // ------------------------------ CONSTANTS ------------------------------ - - /** - * undisplayed copyright notice. - * - * @noinspection UnusedDeclaration - */ - private static final String EMBEDDED_COPYRIGHT = "copyright (c) 1999-2010 Roedy Green, Canadian Mind Products, http://mindprod.com"; - - // ------------------------------ FIELDS ------------------------------ - - /** - * to get at the big-Endian methods of a basic DataInputStream - * - * @noinspection WeakerAccess - */ - protected final DataInputStream dis; - - /** - * to get at the a basic readBytes method. - * - * @noinspection WeakerAccess - */ - protected final InputStream is; - - /** - * work array for buffering input. - * - * @noinspection WeakerAccess - */ - protected final byte[] work; - - // -------------------------- PUBLIC STATIC METHODS - // -------------------------- - - /** - * Note. This is a STATIC method! - * - * @param in - * stream to read UTF chars from (endian irrelevant) - * - * @return string from stream - * @throws IOException - * if read fails. - */ - public static String readUTF(DataInput in) throws IOException { - return DataInputStream.readUTF(in); - } - - // -------------------------- PUBLIC INSTANCE METHODS - // -------------------------- - - /** - * constructor. - * - * @param in - * binary inputstream of little-endian data. - */ - public LEDataInputStream(InputStream in) { - this.is = in; - this.dis = new DataInputStream(in); - work = new byte[8]; - } - - /** - * close. - * - * @throws IOException - * if close fails. - */ - public final void close() throws IOException { - dis.close(); - } - - /** - * Read bytes. Watch out, read may return fewer bytes than requested. - * - * @param ba - * where the bytes go. - * @param off - * offset in buffer, not offset in file. - * @param len - * count of bytes to read. - * - * @return how many bytes read. - * @throws IOException - * if read fails. - */ - public final int read(byte ba[], int off, int len) throws IOException { - // For efficiency, we avoid one layer of wrapper - return is.read(ba, off, len); - } - - /** - * read only a one-byte boolean. - * - * @return true or false. - * @throws IOException - * if read fails. - * @see java.io.DataInput#readBoolean() - */ - @Override - public final boolean readBoolean() throws IOException { - return dis.readBoolean(); - } - - /** - * read byte. - * - * @return the byte read. - * @throws IOException - * if read fails. - * @see java.io.DataInput#readByte() - */ - @Override - public final byte readByte() throws IOException { - return dis.readByte(); - } - - /** - * Read on char. like DataInputStream.readChar except little endian. - * - * @return little endian 16-bit unicode char from the stream. - * @throws IOException - * if read fails. - */ - @Override - public final char readChar() throws IOException { - dis.readFully(work, 0, 2); - return (char) ((work[1] & 0xff) << 8 | (work[0] & 0xff)); - } - - /** - * Read a double. like DataInputStream.readDouble except little endian. - * - * @return little endian IEEE double from the datastream. - * @throws IOException - */ - @Override - public final double readDouble() throws IOException { - return Double.longBitsToDouble(readLong()); - } - - /** - * Read one float. Like DataInputStream.readFloat except little endian. - * - * @return little endian IEEE float from the datastream. - * @throws IOException - * if read fails. - */ - @Override - public final float readFloat() throws IOException { - return Float.intBitsToFloat(readInt()); - } - - /** - * Read bytes until the array is filled. - * - * @see java.io.DataInput#readFully(byte[]) - */ - @Override - public final void readFully(byte ba[]) throws IOException { - dis.readFully(ba, 0, ba.length); - } - - /** - * Read bytes until the count is satisfied. - * - * @throws IOException - * if read fails. - * @see java.io.DataInput#readFully(byte[],int,int) - */ - @Override - public final void readFully(byte ba[], int off, int len) throws IOException { - dis.readFully(ba, off, len); - } - - /** - * Read an int, 32-bits. Like DataInputStream.readInt except little endian. - * - * @return little-endian binary int from the datastream - * @throws IOException - * if read fails. - */ - @Override - public final int readInt() throws IOException { - dis.readFully(work, 0, 4); - return (work[3]) << 24 | (work[2] & 0xff) << 16 | (work[1] & 0xff) << 8 - | (work[0] & 0xff); - } - - /** - * Read a line. - * - * @return a rough approximation of the 8-bit stream as a 16-bit unicode - * string - * @throws IOException - * @noinspection deprecation - * @deprecated This method does not properly convert bytes to characters. - * Use a Reader instead with a little-endian encoding. - */ - @Deprecated - @Override - public final String readLine() throws IOException { - return dis.readLine(); - } - - /** - * read a long, 64-bits. Like DataInputStream.readLong except little endian. - * - * @return little-endian binary long from the datastream. - * @throws IOException - */ - @Override - public final long readLong() throws IOException { - dis.readFully(work, 0, 8); - return (long) (work[7]) << 56 | - /* long cast needed or shift done modulo 32 */ - (long) (work[6] & 0xff) << 48 | (long) (work[5] & 0xff) << 40 - | (long) (work[4] & 0xff) << 32 | (long) (work[3] & 0xff) << 24 - | (long) (work[2] & 0xff) << 16 | (long) (work[1] & 0xff) << 8 - | work[0] & 0xff; - } - - /** - * Read short, 16-bits. Like DataInputStream.readShort except little endian. - * - * @return little endian binary short from stream. - * @throws IOException - * if read fails. - */ - @Override - public final short readShort() throws IOException { - dis.readFully(work, 0, 2); - return (short) ((work[1] & 0xff) << 8 | (work[0] & 0xff)); - } - - /** - * Read UTF counted string. - * - * @return String read. - */ - @Override - public final String readUTF() throws IOException { - return dis.readUTF(); - } - - /** - * Read an unsigned byte. Note: returns an int, even though says Byte - * (non-Javadoc) - * - * @throws IOException - * if read fails. - * @see java.io.DataInput#readUnsignedByte() - */ - @Override - public final int readUnsignedByte() throws IOException { - return dis.readUnsignedByte(); - } - - /** - * Read an unsigned short, 16 bits. Like DataInputStream.readUnsignedShort - * except little endian. Note, returns int even though it reads a short. - * - * @return little-endian int from the stream. - * @throws IOException - * if read fails. - */ - @Override - public final int readUnsignedShort() throws IOException { - dis.readFully(work, 0, 2); - return ((work[1] & 0xff) << 8 | (work[0] & 0xff)); - } - - /** - * Skip over bytes in the stream. See the general contract of the - * skipBytes method of DataInput. - *

- * Bytes for this operation are read from the contained input stream. - * - * @param n - * the number of bytes to be skipped. - * - * @return the actual number of bytes skipped. - * @throws IOException - * if an I/O error occurs. - */ - @Override - public final int skipBytes(int n) throws IOException { - return dis.skipBytes(n); - } -} \ No newline at end of file diff --git a/javasrc/adapter/org/etsi/its/adapter/Main.java b/javasrc/adapter/org/etsi/its/adapter/Main.java deleted file mode 100644 index bc5f5378e051f7bd69ffad6be191582b7e44bc73..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/Main.java +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Test and debug module. - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ - -package org.etsi.its.adapter; - -import org.etsi.its.adapter.ports.ProtocolPort; -import org.etsi.its.adapter.ports.ProtocolPortFactory; - -/** - * Test and debug module. - */ -public class Main { - - /** - * @param args - */ - public static void main(String[] args) { - - } - - /** - * Creates CAM port using stack LoopBack/Debug and sends a message - */ - @SuppressWarnings("unused") - private static void camTest() { - - ProtocolPort port = ProtocolPortFactory.getInstance().createPort("camPort", "toto", "GN/Debug", "ACACACACACAC"); - port.send("CAM MESSAGE !".getBytes()); - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - port.dispose(); - } - - /** - * Creates BTP port using stack GN/LoopBack/Debug and sends a message - */ - @SuppressWarnings("unused") - private static void btpTest() { - - ProtocolPort port = ProtocolPortFactory.getInstance().createPort("btpPort", "toto", "GN/Loopback/Debug", "ACACACACACAC"); - port.send("BTP MESSAGE !".getBytes()); - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - port.dispose(); - } - - /** - * Creates GN port using stack GnSource and sends a message - */ - @SuppressWarnings("unused") - private static void gnTest() { - byte[] gnMsg = {(byte)0x00, (byte)0x50, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x1f, (byte)0x00, (byte)0xff, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0x54, (byte)0x45, (byte)0x53, (byte)0x54, (byte)0x20, (byte)0x31, (byte)0x20, (byte)0x54, (byte)0x45, (byte)0x53, (byte)0x54, (byte)0x20, - (byte)0x54, (byte)0x45, (byte)0x53, (byte)0x54, (byte)0x20, (byte)0x54, (byte)0x45, (byte)0x53, (byte)0x54, (byte)0x20, (byte)0x54, (byte)0x45, (byte)0x53, (byte)0x54, (byte)0x20, (byte)0x54, - (byte)0x45, (byte)0x53, (byte)0x54}; - - ProtocolPort port = ProtocolPortFactory.getInstance().createPort("geoNetworkingPort", "toto", "Loopback/Debug", "ACACACACACAC"); - port.send(gnMsg); - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - port.dispose(); - - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/Management.java b/javasrc/adapter/org/etsi/its/adapter/Management.java deleted file mode 100644 index fd79ff9c73f98925ecd575f51aac294663d1181a..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/Management.java +++ /dev/null @@ -1,481 +0,0 @@ -/** - * This class is used to centralise test adapter configuration and execution parameters - * All settings are component specific (multiton) - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ - -package org.etsi.its.adapter; - -import java.io.ByteArrayOutputStream; -import java.math.BigInteger; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import org.etsi.adapter.TERFactory; -import org.etsi.certificates.CertificatesIOFactory; -import org.etsi.certificates.io.ICertificatesIO; -import org.etsi.common.ByteHelper; -import org.etsi.common.ITuple; -import org.etsi.common.Tuple; -import org.etsi.its.adapter.ports.FsapPort; -import org.etsi.its.adapter.ports.GnPort; -import org.etsi.ttcn.tci.CharstringValue; - -import de.fraunhofer.sit.c2x.CryptoLib; - -/** - * This class is used to centralise test adapter configuration and execution parameters - * All settings are component specific (multiton) - */ -public class Management implements IManagementTA, IManagementLayers { - - /** - * Instances of Management - */ - private static final ConcurrentMap instances = new ConcurrentHashMap(); - - /** - * GeoNetworking beaconning interval - */ - private static final int GN_BEACON_INTERVAL = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("TsBeaconInterval")).getString()); - - /** - * Maximum time for getting Long position vector (in seconds) - */ - private static final int GET_LPV_TIMEOUT = 10; //FIXME: Might be a parameter rather than a constant - - /** - * Interval for polling the location table during GetLpv (in ms) - */ - private static final long GET_LPV_POLL_INTERVAL = 1000; - - /** - * Test system latitude - */ - private static final int latitude = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("TsLatitude")).getString()); - - /** - * Test system longitude - */ - private static final int longitude = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("TsLongitude")).getString()); - - /** - * Enforce secured mode status - */ - //private static String TsEnforceSecuredMode = ((CharstringValue)TERFactory.getInstance().getTaParameter("TsEnforceSecuredMode")).getString(); - private static String TsEnforceSecuredMode = "false"; - - /** - * Secured root path to access certificates & private keys - */ - private static final String TsSecuredRootPath = ((CharstringValue)TERFactory.getInstance().getTaParameter("TsSecuredRootPath")).getString(); - - /** - * Secured configuration identifier - */ - private static final String TsSecuredConfiId = ((CharstringValue)TERFactory.getInstance().getTaParameter("TsSecuredConfiId")).getString(); - - /** - * ITS-AID for Secure other profile - */ - private static final String TsItsAidOther = "141"; // GN-MGMT ((CharstringValue)TERFactory.getInstance().getTaParameter("TsItsAidOther")).getString(); - - /** - * Link-layer address of Component - */ - private byte[] linkLayerAddress = null; - - /** - * Registered GN Port - */ - private GnPort gnPort = null; - - /** - * Registered FSAP Port - */ - private FsapPort fsapPort = null; // FIXME Enhance this using Fsap.send() method - - /** - * Set to true is secured mode is set - */ - private boolean securedMode = false; - - /** - * The certificate identifier to used - */ - private String certificateId = "CERT_TS_A_AT"; - - /** - * The AT certificate - */ - private byte[] atCertificate = null; - - /** - * The certificate digest to used - */ - private byte[] atCertificateDigest = null; - - /** - * The private signing key to used - */ - private byte[] signingPrivateKey = null; - - /** - * The public signing key X to used - */ - private byte[] signingPublicKeyX = null; - - /** - * The public signing key Y to used - */ - private byte[] signingPublicKeyY = null; -// private byte[] toBeSignedDataDigest = null; -// private byte[] toBeSignedDataCertificate = null; - - /** - * Private constructor (Multiton pattern) - */ - private Management() { - - // For debug only: - byte[] mid = new byte[] {(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00}; - byte[] lpv = new byte[] {(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00}; - gnUpdateLocTable(mid, 0, lpv); - } - - /** - * Gets the Management instance associated to a component - * @param key Component name - * @return Management instance - */ - public static Management getInstance(String key) { - if (instances.get(key) == null){ - // Lazily create instance and try to add it to the map - Management instance = new Management(); - instances.putIfAbsent(key, instance); - } - return instances.get(key); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#startBeaconing(byte[]) - */ - @Override - public void startBeaconing(byte[] beaconHeader) { - this.beaconHeader = beaconHeader; - if(gnPort != null) { - gnPort.startBeaconning(); - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#stopBeaconing() - */ - @Override - public void stopBeaconing() { - this.beaconHeader = null; - if(gnPort != null) { - gnPort.stopBeaconning(); - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#startEnqueueingBeacons(byte[]) - */ - @Override - public void startEnqueueingBeacons(byte[] beaconHeader) { - this.enqueueBeacon = beaconHeader; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#stopEnqueueingBeacons() - */ - @Override - public void stopEnqueueingBeacons() { - this.enqueueBeacon = null; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#startMultipleBeaconing(byte[], int) - */ - @Override - public void startMultipleBeaconing(byte[] beaconHeader, int nbNeighbours) { - /* TODO: Multiple beacons */ - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#stopMultipleBeaconing() - */ - @Override - public void stopMultipleBeaconing() { - /* TODO: Multiple beacons */ - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementTA#getLongPositionVector(byte[]) - */ - @Override - public byte[] getLongPositionVector(byte[] targetGnAddress) { - byte[] mid = ByteHelper.extract(targetGnAddress, 2, 6); - TERFactory.getInstance().logDebug("getLongPositionVector: Looking for Loc Entry: " + ByteHelper.byteArrayToString(mid)); - long key = ByteHelper.byteArrayToLong(mid); - for(int i = 0; i < GET_LPV_TIMEOUT; ++i) { - if (locTable.containsKey(key)) { - ITuple entry = locTable.get(key); - return entry.getB(); - } - try { - Thread.sleep(GET_LPV_POLL_INTERVAL); - } catch (InterruptedException e) { - // Do nothing, we do not care - } - } - return null; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getGnBeacon() - */ - @Override - public byte[] getGnBeacon() { - return beaconHeader; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getGnBeaconInterval() - */ - @Override - public int getGnBeaconInterval() { - return GN_BEACON_INTERVAL; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getGnEnqueueBeacon() - */ - @Override - public byte[] getGnEnqueueBeacon() { - return enqueueBeacon; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#gnUpdateLocTable(byte[], long, byte[]) - */ - @Override - public void gnUpdateLocTable(byte[] mid, long timestamp, byte[] lpv) { - // Java does not provide unsigned int - timestamp &= 0xffffffffL; - long key = ByteHelper.byteArrayToLong(mid); - ITuple entry = locTable.get(key); - if(entry == null || entry.getA() < timestamp) { -// TERFactory.getInstance().logDebug("gnUpdateLocTable: Adding Loc Entry for: " + ByteHelper.byteArrayToString(mid)); - locTable.put(key, new Tuple(timestamp, lpv)); - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getLinkLayerAddress() - */ - @Override - public byte[] getLinkLayerAddress() { - return linkLayerAddress; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getLinkLayerAddress() - */ - @Override - public void setLinkLayerAddress(byte[] linkLayerAddress) { - this.linkLayerAddress = linkLayerAddress; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getLatitude() - */ - @Override - public byte[] getLatitude() { - return ByteHelper.intToByteArray(latitude, 4); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#getLongitude() - */ - @Override - public byte[] getLongitude() { - return ByteHelper.intToByteArray(longitude, 4); - } - - /** - * Set to null in order to prevent Test Adapter from sending beacons - * Otherwise, it shall be set to a valid encoded beacon header to be send periodically by Test Adapter - * @see startEnqueueingBeacons - * @see stopEnqueueingBeacons - */ - private byte[] beaconHeader = null; - - /** - * Set to null if received Beacon messages have to be discarded by test adapter (= not enqueued) - * Otherwise, it shall be set to the to an encoded beacon header value acting as a filter for enqueueing received beacons - * @see startBeaconing - * @see stopBeaconing - */ - private byte[] enqueueBeacon = null; - - /** - * Table used to store neighbours (= SUT) position vectors - * @see gnUpdateLocTable - * @see getLongPositionVector - */ - private static Map> locTable = new HashMap>(); - - /* (non-Javadoc) - * @see org.etsi.its.adapter.IManagementLayers#registerBeaconThread(java.lang.Thread) - */ - @Override - public void registerGnPort(GnPort gnPort) { - this.gnPort = gnPort; - - // Ensure that management settings are reset - beaconHeader = null; - enqueueBeacon = null; - - locTable.clear(); - } - - @Override - public void setSecuredMode(final byte[] securityData) { - certificateId = ByteHelper.byteArrayWithLengthToString(ByteHelper.concat(ByteHelper.intToByteArray(securityData.length - 1, 4), securityData)); - if (securityData[securityData.length - 1] == 0x01) { - TsEnforceSecuredMode = "true"; - } else { - TsEnforceSecuredMode = "false"; - } - setupSecuredMode(); - } - - @Override - public void unsetSecuredMode() { - securedMode = false; - signingPrivateKey = null; - signingPublicKeyX = null; - signingPublicKeyY = null; - atCertificate = null; - atCertificateDigest = null; - } - - @Override - public boolean isEnforceSecuredModeSet() { - return TsEnforceSecuredMode.equals("true"); - } - - @Override - public boolean isSecuredModeSet() { - return securedMode; - } - - @Override - public BigInteger getSigningPrivateKey() { - return new BigInteger(signingPrivateKey); - } - - @Override - public byte[] getSigningPublicKeyX() { - return signingPublicKeyX; - } - - @Override - public byte[] getSigningPublicKeyY() { - return signingPublicKeyY; - } - - @Override - public byte[] getAtCertificate() { - return atCertificate; - } - - @Override - public byte[] getAtCertificateDigest() { - return atCertificateDigest; - } - - @Override - public int getItsAidOther() { - return new Integer(TsItsAidOther).intValue(); - } - - /** - * @desc This method setup secured mode according to ATS settings (AcSecPrimitive) and the Test adapter settings (TsEnforceSecuredMode flags) - * @see TsEnforceSecuredMode flags. - * @remark This method shall be called by the constructor only - */ - private void setupSecuredMode() { - TERFactory.getInstance().logDebug(">>> setupSecuredMode: " + certificateId); - - securedMode = true; - ICertificatesIO _certCache = CertificatesIOFactory.getInstance(); - if (!_certCache.loadCertificates(TsSecuredRootPath, TsSecuredConfiId)) { - securedMode = false; - } else { - ByteArrayOutputStream certificate = new ByteArrayOutputStream(); - _certCache.readCertificate(certificateId, certificate); - // Extract public keys - atCertificate = certificate.toByteArray(); - TERFactory.getInstance().logDebug("Management.setupSecuredMode: certificate=" + ByteHelper.byteArrayToString(atCertificate)); - // Compute AT certificate digest - byte[] atHash = CryptoLib.hashWithSha256(atCertificate); - atCertificateDigest = ByteHelper.extract(atHash, atHash.length - 8, 8); - TERFactory.getInstance().logDebug("Management.setupSecuredMode: atCertificateDigest=" + ByteHelper.byteArrayToString(atCertificateDigest)); - int offset = 16; // FIXME To be enhanced - // KeyX - signingPublicKeyX = new byte[32]; - System.arraycopy(atCertificate, offset, signingPublicKeyX, 0, 32); - offset += 32; - TERFactory.getInstance().logDebug("Management.setupSecuredMode: signingPublicKeyX=" + ByteHelper.byteArrayToString(signingPublicKeyX)); - // KeyY - signingPublicKeyY = new byte[32]; - System.arraycopy(atCertificate, offset, signingPublicKeyY, 0, 32); - TERFactory.getInstance().logDebug("Management.setupSecuredMode: signingPublicKeyY=" + ByteHelper.byteArrayToString(signingPublicKeyY)); - // Extract private keys - ByteArrayOutputStream signingPrivateKey = new ByteArrayOutputStream(); - _certCache.readSigningKey(certificateId, signingPrivateKey); - this.signingPrivateKey = signingPrivateKey.toByteArray().clone(); - TERFactory.getInstance().logDebug("Management.setupSecuredMode: signingPrivateKey=" + ByteHelper.byteArrayToString(this.signingPrivateKey)); - // TODO Add support of encryption - } - } - - /** - * Registers a FSAP port - * @param The FSAP port to register - */ - @Override - public void registerFsapPort(final FsapPort fsapPort) { - this.fsapPort = fsapPort; - } - - @Override - public void startSamTransmission(final byte[] sam) { - if(fsapPort != null) { - fsapPort.startSamTransmission(sam); - } - } - - @Override - public void stopSamTransmission() { - if(fsapPort != null) { - fsapPort.stopSamTransmission(); - } - } - -} // End of class Management diff --git a/javasrc/adapter/org/etsi/its/adapter/PcapMultiplexer.java b/javasrc/adapter/org/etsi/its/adapter/PcapMultiplexer.java deleted file mode 100644 index be065cc41d33a406f22b3ef1e7029647191348b0..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/PcapMultiplexer.java +++ /dev/null @@ -1,298 +0,0 @@ -/** - * Pcap capture multiplexor - * - * @author ETSI / STF424 - * @version $URL: $ - * $Id: $ - * Note Copy jnetpcap.jar in C:\WINDOWS\Sun\Java\lib\ext, location of jpcap library - */ -package org.etsi.its.adapter; - -import java.io.IOException; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.Layer; -import org.etsi.ttcn.tci.CharstringValue; /* FIXME: import tci */ - -import org.jnetpcap.ByteBufferHandler; -import org.jnetpcap.Pcap; -import org.jnetpcap.PcapBpfProgram; -import org.jnetpcap.PcapHeader; -import org.jnetpcap.PcapIf; - -public class PcapMultiplexer implements Runnable { - - /** - * Unique instance of the factory - */ - private static final PcapMultiplexer instance = new PcapMultiplexer(); - - private static byte[] MAC_BROADCAST = new byte[]{(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF}; - - private StringBuilder errbuf = new StringBuilder(); // For any error msgs - - private String timestampOffset = ""; - - private PcapMultiplexer() { - - filter = ""; - offlineMode = ((CharstringValue)TERFactory.getInstance().getTaParameter("OfflineMode")).getString().toLowerCase().equals("true"); - if (!offlineMode) { - // Obtain the list of network interfaces - List alldevs = new ArrayList(); // Will be filled with NICs - - - int r = Pcap.findAllDevs(alldevs, errbuf); - if (r != Pcap.OK || alldevs.isEmpty()) { - TERFactory.getInstance().logError("Can't read list of devices, error is %s" + errbuf.toString()); - return; - } - - // Find the right interface - int ifaceIndex = 0; - String expectedIface = ((CharstringValue)TERFactory.getInstance().getTaParameter("LocalEthernetMAC")).getString().toLowerCase(); - for( ; ifaceIndex < alldevs.size(); ifaceIndex++) { - try { - if (expectedIface.equalsIgnoreCase(ByteHelper.byteArrayToString(alldevs.get(ifaceIndex).getHardwareAddress()))) { - // Interface found - break; - } - } catch (IOException e) { - // ignore - } - } - // Check result - if (ifaceIndex == alldevs.size()) { - throw new RuntimeException(String.format("PcapMultiplexer: Network interface %s not found", expectedIface)); - } - - device = alldevs.get(ifaceIndex); - //TERFactory.getInstance().logDebug("Listening: " + device.getName()); - } else { - file = ((CharstringValue)TERFactory.getInstance().getTaParameter("PcapFile")).getString().toLowerCase(); - if ((file == null) || file.isEmpty()) { - throw new RuntimeException(String.format("PcapMultiplexer: failed to open '%s'", file)); - } - timestampOffset = ((CharstringValue)TERFactory.getInstance().getTaParameter("OffsetTime")).getString().toLowerCase(); - } - } - - /** - * Gets the unique factory instance - * @return PcapMultiplexer instance - */ - public static PcapMultiplexer getInstance(){ - return instance; - } - - public synchronized void register(Layer client, byte[] macAddress, short frameType) { - //TERFactory.getInstance().logDebug(">>>PcapMultiplexer.registering: " + frameType); - - if(clientsToMacs.isEmpty()) { - if (!offlineMode) { // Open interface - int snaplen = 64 * 1024; // Capture all packets, no truncation - int flags = Pcap.MODE_PROMISCUOUS; // capture all packets - int timeout = 10; // 10 millis - pcap = Pcap.openLive(device.getName(), snaplen, flags, timeout, errbuf); - if (pcap == null) { // Check result - TERFactory.getInstance().logError("Error while opening device for capture: " + errbuf.toString()); - return; - } - captureThread = new Thread(this); - captureThread.start(); - filter = ""; - } else { // Open file - pcap = Pcap.openOffline(file, errbuf); - if (pcap == null) { // Check result - TERFactory.getInstance().logError("Error while opening device for capture: " + errbuf.toString()); - return; - } - captureThread = new Thread(this); - captureThread.start(); - filter = ""; - } - if (pcap == null) { // Check result - TERFactory.getInstance().logError("Error while opening device for capture: " + errbuf.toString()); - return; - } - captureThread = new Thread(this); - captureThread.start(); - if (!timestampOffset.isEmpty()) { - filter = "frame time_delta " + timestampOffset + " and "; - } - } - else { - //TERFactory.getInstance().logDebug("Another Client !"); - filter = filter + " and "; - } - - // Update Filter - String strMacAddress = String.format("%02x", macAddress[0]); - for(int i=1; i < macAddress.length; i++) { - strMacAddress += String.format(":%02x", macAddress[i]); - } - - filter = filter + "not ether src " + strMacAddress; - //TERFactory.getInstance().logDebug("New filter: " + filter); - - // Apply filter - PcapBpfProgram bpfFilter = new PcapBpfProgram(); - int optimize = 0; // 1 means true, 0 means false - int netmask = 0; - int r = pcap.compile(bpfFilter, filter, optimize, netmask); - if (r != Pcap.OK) { - //TERFactory.getInstance().logDebug("Filter error: " + pcap.getErr()); - } - pcap.setFilter(bpfFilter); - - // Register client - clientsToMacs.put(client.toString(), macAddress); - clientsToLayers.put(client.toString(), client); - clientsToFrameTypes.put(client.toString(), frameType); - } - - public synchronized void unregister(Layer client) { - if(clientsToMacs.containsKey(client.toString())) { - clientsToMacs.remove(client.toString()); - clientsToFrameTypes.remove(client.toString()); - clientsToLayers.remove(client.toString()); - - if(clientsToMacs.isEmpty()) { - pcap.breakloop(); - try { - captureThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - pcap.close(); - } - } - } - - /** - * Thread function for jpcap capture loop - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - - ByteBufferHandler handler = new ByteBufferHandler() { - - @Override - public void nextPacket(PcapHeader pcapHeader, ByteBuffer byteBuffer, Object user) { - if(byteBuffer.remaining() < 14) { - return; - } - - Map lowerInfo = new HashMap(); - - // Extract Dst info - byte[] dst = new byte[6]; - byteBuffer.get(dst, 0, dst.length); - lowerInfo.put(EthernetLayer.LINK_LAYER_DESTINATION, dst); - - // Skip Src - byteBuffer.position(byteBuffer.position() + 6); - - // Extract FrameType info - byte[] rawFrameType = new byte[2]; - byteBuffer.get(rawFrameType, 0, rawFrameType.length); - short frameType = ByteHelper.byteArrayToInt(rawFrameType).shortValue(); - - // Extract Data - byte[] data = new byte[byteBuffer.remaining()]; - byteBuffer.get(data, 0, byteBuffer.remaining()); - - // Dispatch - for (String mapKey : clientsToMacs.keySet()) { - if(frameType == clientsToFrameTypes.get(mapKey)) { - if(Arrays.equals(dst, MAC_BROADCAST) - || Arrays.equals(dst, clientsToMacs.get(mapKey))) { - - lowerInfo.put(Layer.RECEPTION_TIMESTAMP, pcapHeader.timestampInMicros()); - clientsToLayers.get(mapKey).receive(data, lowerInfo); - } - } - } - - } - }; - - if (offlineMode) { - try { - Thread.sleep(4000); // TOTO Use a parameter instead of an hardcoded value - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - pcap.loop(-1, handler, null); - } - - public byte[] sendPacket(Layer client, byte[] dest, byte[] payload) { - - if(clientsToMacs.containsKey(client.toString())) { - - byte[] packet = ByteHelper.concat( - dest, - clientsToMacs.get(client.toString()), - ByteHelper.intToByteArray(clientsToFrameTypes.get(client.toString()), 2), - payload); - - pcap.sendPacket(packet); - return packet; - } - return null; - } - - public void resetFilter(String pcapFilter) { - // Sanity check - if ((pcapFilter == null) || pcapFilter.isEmpty()) { - return; - } - - filter = pcapFilter; - TERFactory.getInstance().logDebug("resetFilter: New filter: " + filter); - - // Apply filter - PcapBpfProgram bpfFilter = new PcapBpfProgram(); - int optimize = 0; // 1 means true, 0 means false - int netmask = 0; - int r = pcap.compile(bpfFilter, filter, optimize, netmask); - if (r != Pcap.OK) { - TERFactory.getInstance().logError("Filter error: " + pcap.getErr()); - } else { - r = pcap. setFilter(bpfFilter); - if (r != Pcap.OK) { - TERFactory.getInstance().logError("Filter error: " + pcap.getErr()); - } - } - } - - /** - * Jpcap capture device - */ - private Pcap pcap; - - /** - * Jpcap capture thread instance. - */ - private Thread captureThread; - - PcapIf device = null; - boolean offlineMode = false; - String file = ""; - private String filter; - private Map clientsToMacs = new HashMap(); - private Map clientsToFrameTypes = new HashMap(); - private HashMap clientsToLayers = new HashMap(); - -} \ No newline at end of file diff --git a/javasrc/adapter/org/etsi/its/adapter/SecurityHelper.java b/javasrc/adapter/org/etsi/its/adapter/SecurityHelper.java deleted file mode 100644 index 2741311d21993c18016e4599b044dd31407217bf..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/SecurityHelper.java +++ /dev/null @@ -1,785 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.its.adapter; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -//import org.etsi.its.adapter.layers.ETSI; - - - -import de.fraunhofer.sit.c2x.CryptoLib; - -public class SecurityHelper { - - private static SecurityHelper Instance = new SecurityHelper(); - - public static SecurityHelper getInstance() { return Instance; } - - /** - * SSP value - * @see ETSI TS 103 097 - */ - public static final String SEC_SSP = "SSP"; - - /** - * ITS-AID value - * @see ETSI TS 103 097 - */ - public static final String SEC_ITS_AID = "ITS_AID"; - - /** - * Storage for received certificates - */ - private Map _neighborsCertificates = null; - - private SecurityHelper() { - _neighborsCertificates = new HashMap(); - } - - public byte[] size2tls(final int intx_value) { - byte[] result = null; - if (intx_value < 128) { // One byte length - result = new byte[] { (byte)intx_value }; - } else { - long lv = intx_value; - long bitLen = bitLength(lv); - long byteLen = byteLength(bitLen); - long flags = (long) ((byteLen | 1) << (byteLen * Byte.SIZE - bitLength(byteLen) - 1)); - long len = (long) (byteLen << (byteLen * Byte.SIZE - bitLength(byteLen) - 1)); - if ((flags & lv) != 0) { // We can encode the length on the MSB part - byteLen += 1; - len = (long) (byteLen << (byteLen * Byte.SIZE - bitLength(byteLen)) - 1); - } - result = ByteHelper.longToByteArray((long)(lv | len), (int) byteLen); - } - - return result; - } - - public long tls2size(final ByteArrayInputStream buf) { - // Sanity check - if (buf.available() == 0) { - return 0; - } - - // Read the first byte - byte msb = (byte) buf.read(); - if ((msb & 0x80) == 0x00) { // Integer < 128 - return msb; - } else { - // Decode the length. The encoding of the length shall use at most 7 bits set to 1 (see Draft ETSI TS 103 097 V1.1.14 Clause 4.1 Presentation Language Table 1/8) - byte bit; - byte byteLen = 1; - do { - bit = (byte) ((byte) (msb << byteLen++) & 0x80); - } while (bit != 0x00); - // Set the IntX length - byte[] data = new byte[byteLen - 1]; - buf.read(data, 0, byteLen - 1); - byte[] length = ByteHelper.concat(new byte[] { msb }, data); - length[0] &= (byte)(Math.pow(2.0, 8 - byteLen + 1) - 1); - long lv = ByteHelper.byteArrayToLong(length); - return lv; - } - } - - public long bitLength(final long value) { - return (long) Math.ceil(Math.log(value) / Math.log(2)); - } - - public long byteLength(final long value) { - double d = value; // Convert int to double - return (long) Math.ceil(d / Byte.SIZE); - } - - public byte[] checkSecuredProfileAndExtractPayload(final byte[] p_message, final int p_offset, final boolean p_enforceSecurityCheck, final int p_itsAidOther, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> SecurityHelper.checkSecuredProfileAndExtractPayload: " + ByteHelper.byteArrayToString(p_message)); - - ByteArrayInputStream decvalue = new ByteArrayInputStream(p_message, p_offset, p_message.length - p_offset); - - // Check version - if (decvalue.read() != 2) { - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkSecuredProfileAndExtractPayload: Drop packet - Wrong version number"); - return null; - } - } - // Extract header fields length and header fields - long headerFieldsLength = tls2size(decvalue); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: headerFieldsLength:" + headerFieldsLength); - byte[] headerFields = new byte[(int) headerFieldsLength]; - decvalue.read(headerFields, 0, (int) headerFieldsLength); - ByteArrayOutputStream certificateKeys = new ByteArrayOutputStream(); - if (!checkHeaderfields(headerFields, certificateKeys, p_enforceSecurityCheck, p_itsAidOther, lowerInfo)) { - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkSecuredProfileAndExtractPayload: Drop packet - Wrong Headerfields"); - return null; - } - } - byte[] aaSigningPublicKeyX = null, aaSigningPublicKeyY = null; - if (p_enforceSecurityCheck) { - byte[] keys = certificateKeys.toByteArray(); - if ((keys[0] == 0x02) || (keys[0] == 0x03)) { // Key length = 32 bytes - aaSigningPublicKeyX = ByteHelper.extract(keys, 1, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - } else { // Key length = 64 bytes - aaSigningPublicKeyX = ByteHelper.extract(keys, 1, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - aaSigningPublicKeyY = ByteHelper.extract(keys, 33, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - } - } - // FIXME Add encryption support -// if (p_enforceSecurityCheck) { -// } - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: headerFields:" + ByteHelper.byteArrayToString(headerFields)); - // Extract payload, decvalue is updated with the payload - if (decvalue.read() != 1) { - //TERFactory.getInstance().logError("SecurityHelper.checkSecuredProfileAndExtractPayload: Drop packet - Wrong Payload type"); - if (p_enforceSecurityCheck) { - // Drop it - return null; - } - } - long payloadLength = tls2size(decvalue); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: payloadLength:" + payloadLength); - byte[] payload = new byte[(int) payloadLength]; - decvalue.read(payload, 0, (int) payloadLength); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: payload:" + ByteHelper.byteArrayToString(payload)); - if (p_enforceSecurityCheck) { // Extract Secure Trailer - long secureTrailerLength = tls2size(decvalue); - byte[] secureTrailer = new byte[(int) secureTrailerLength]; - decvalue.read(secureTrailer, 0, secureTrailer.length); - ByteArrayOutputStream signature = new ByteArrayOutputStream(); - if (!extractMessageSignature(secureTrailer, signature)) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkSecuredProfileAndExtractPayload: Drop packet - Wrong Signatures"); - return null; - } - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: signature:" + ByteHelper.byteArrayToString(signature.toByteArray())); - // Build signed data - byte[] toBeVerifiedData = ByteHelper.extract( - p_message, - p_offset, - p_message.length - (int)(p_offset + secureTrailerLength - 1 /* Exclude signature structure but keep signature type and signature length */) - ); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload:" + ByteHelper.byteArrayToString(toBeVerifiedData)); - boolean result; - try { - if (aaSigningPublicKeyY == null) { - // FIXME FSCOM: Check how t verify compressed signature - return payload; - } - result = CryptoLib.verifyWithEcdsaNistp256WithSha256( - toBeVerifiedData, - signature.toByteArray(), - aaSigningPublicKeyX, - aaSigningPublicKeyY - ); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: Verify signature: " + new Boolean(result)); - if (!result) { - // Drop packet - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: toBeVerifiedData :" + ByteHelper.byteArrayToString(toBeVerifiedData)); - // Calculate Digest digest from the buffer toBeVerifiedData - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: Hash :" + ByteHelper.byteArrayToString(CryptoLib.hashWithSha256(toBeVerifiedData))); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: signature :" + ByteHelper.byteArrayToString(signature.toByteArray())); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - //TERFactory.getInstance().logDebug("SecurityHelper.checkSecuredProfileAndExtractPayload: aaSigningPublicKeyY:" + ByteHelper.byteArrayToString(aaSigningPublicKeyY)); - //TERFactory.getInstance().logError("SecurityHelper.checkSecuredProfileAndExtractPayload: Drop packet - Invalid signature"); - return null; - } - - return payload; - } catch (Exception e) { - e.printStackTrace(); - } - - // Drop packet - //TERFactory.getInstance().logError("<<< SecurityHelper.checkSecuredProfileAndExtractPayload: dropped"); - return null; - } - - return payload; - } - - public boolean checkHeaderfields(final byte[] p_headerfields, final ByteArrayOutputStream p_keys, final boolean p_enforceSecurityCheck, final int p_itsAidOther, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> SecurityHelper.checkHeaderfields: " + ByteHelper.byteArrayToString(p_headerfields)); - - // Sanity check - if (p_headerfields.length == 0) { - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Invalid header fields"); - return false; - } - // Extract digest or certificate - int signerInfoTypeIndex = 0; - if ( - ((p_headerfields[signerInfoTypeIndex] & 0x80) != 0x80) || // SignerInfo Type: certificate digest with ecdsap256 (1) - ( - (p_headerfields[signerInfoTypeIndex + 1] != 0x01) && // SignerInfo Type: certificate digest with ecdsap256 (1) - (p_headerfields[signerInfoTypeIndex + 1] != 0x02) && // SignerInfo Type: certificate (2) - (p_headerfields[signerInfoTypeIndex + 1] != 0x03) // SignerInfo Type: certificate chain (3) - ) - ) { - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Certificate"); - if (p_enforceSecurityCheck) { - // Drop it - return false; - } - } - signerInfoTypeIndex += 1; - if (p_headerfields[signerInfoTypeIndex] == 0x02) { // SignerInfo Type: Certificate (2) - signerInfoTypeIndex += 1; - // Extract certificate because of it is an Other message profile - byte[] certificate = decodeCertificate(p_headerfields, signerInfoTypeIndex, p_keys, p_enforceSecurityCheck, lowerInfo); - if (certificate == null) { - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Certificate not decoded"); - if (p_enforceSecurityCheck) { - // Drop it - return false; - } - } - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Certificate=" + ByteHelper.byteArrayToString(certificate)); - // Add it in our map - Long lKey = ByteHelper.byteArrayToLong(calculateDigestFromCertificate(certificate)); - if (!_neighborsCertificates.containsKey(lKey)) { - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Add keys for " + ByteHelper.byteArrayToString(calculateDigestFromCertificate(certificate)) + " / " + lKey); - _neighborsCertificates.put(lKey, p_keys); - } - signerInfoTypeIndex += certificate.length; - } else if (p_headerfields[signerInfoTypeIndex] == 0x01) { // SignerInfo Type: certificate digest with SHA256 (1) - signerInfoTypeIndex += 1; - byte[] hashedid8 = ByteHelper.extract(p_headerfields, signerInfoTypeIndex, Long.SIZE / Byte.SIZE); - signerInfoTypeIndex += (Long.SIZE / Byte.SIZE); - Long lKey = ByteHelper.byteArrayToLong(hashedid8); - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Certificate digest with SHA256=" + lKey + " / " + ByteHelper.byteArrayToString(hashedid8)); - if (!_neighborsCertificates.containsKey(lKey) || (_neighborsCertificates.get(lKey) == null)) { //FIXME as long as the cert chain is not complete, it should not be seen as error -> raise CR - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Unknown HahedId8"); - return false; - } - } - try { - p_keys.write(_neighborsCertificates.get(lKey).toByteArray()); - } catch (Exception e) { - // Drop it - //e.printStackTrace(); - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: key " + lKey + "_neighbors certificates table"); - return false; - } - } - } else { // TODO Add certchain support - signerInfoTypeIndex += 1; - ByteArrayInputStream ba = new ByteArrayInputStream(ByteHelper.extract(p_headerfields, signerInfoTypeIndex, p_headerfields.length - signerInfoTypeIndex)); - int certChainLength = (int) this.tls2size(ba); - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Certchain length = " + certChainLength); - signerInfoTypeIndex += this.size2tls(certChainLength).length; - ByteArrayOutputStream keys; - do { - // Extract certificate because of it is an Other message profile - keys = new ByteArrayOutputStream(); - byte[] certificate = decodeCertificate(p_headerfields, signerInfoTypeIndex, keys, p_enforceSecurityCheck, lowerInfo); - if (certificate == null) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Failed to decode chain of certificate"); - return false; - } - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Certificate=" + ByteHelper.byteArrayToString(certificate)); - // Add it in our map - Long lKey = ByteHelper.byteArrayToLong(calculateDigestFromCertificate(certificate)); - if (!_neighborsCertificates.containsKey(lKey)) { - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Add keys for " + ByteHelper.byteArrayToString(calculateDigestFromCertificate(certificate)) + " / " + lKey); - _neighborsCertificates.put(lKey, p_keys); - } - certChainLength -= certificate.length; - signerInfoTypeIndex += certificate.length; - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: Extracted certificate = " + ByteHelper.byteArrayToString(certificate)); - } while (certChainLength > 0); - } - // Check generation time - if (p_headerfields[signerInfoTypeIndex++] != 0x00) { // Header Field: Generation Time (0) - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - GenerationTime not found"); - return false; - } - } - long generationTime = ByteHelper.byteArrayToLong(ByteHelper.extract(p_headerfields, signerInfoTypeIndex, Long.SIZE / Byte.SIZE)); - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: generationTime=" + generationTime); - if (Math.abs(System.currentTimeMillis() - generationTime) < 1000) { - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - GenerationTime out of range"); - return false; - } - } - signerInfoTypeIndex += (Long.SIZE / Byte.SIZE); - - if (signerInfoTypeIndex < p_headerfields.length) { - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: dump #1=" + ByteHelper.byteArrayToString(ByteHelper.extract(p_headerfields, signerInfoTypeIndex, p_headerfields.length - signerInfoTypeIndex))); - if (p_headerfields[signerInfoTypeIndex] == 0x03) { // Header Field: Generation Location (3) - signerInfoTypeIndex += 1; - byte[] lat = ByteHelper.extract(p_headerfields, signerInfoTypeIndex, 4); - signerInfoTypeIndex += 4; - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: latitude=" + ByteHelper.byteArrayToString(lat)); - byte[] lon = ByteHelper.extract(p_headerfields, signerInfoTypeIndex, 4); - signerInfoTypeIndex += 4; - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: longitude=" + ByteHelper.byteArrayToString(lon)); - byte[] ele = ByteHelper.extract(p_headerfields, signerInfoTypeIndex, 2); - signerInfoTypeIndex += 2; - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: elevation=" + ByteHelper.byteArrayToString(ele)); - } - } - if (signerInfoTypeIndex < p_headerfields.length) { - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: dump #2=" + ByteHelper.byteArrayToString(ByteHelper.extract(p_headerfields, signerInfoTypeIndex, p_headerfields.length - signerInfoTypeIndex))); - if (p_headerfields[signerInfoTypeIndex] == 0x05) { // Header Field: Its AID (5) - signerInfoTypeIndex += 1; - // Check ItsAid - if ((p_headerfields[signerInfoTypeIndex] & 0x80) == 0x00) { // Short integer - if ( - (p_headerfields[signerInfoTypeIndex] != 0x24) && // CAM - (p_headerfields[signerInfoTypeIndex] != 0x25) && // DENM - (p_headerfields[signerInfoTypeIndex] != p_itsAidOther) - ) { - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Unknown ItsAid value"); - return false; - } - } - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: ItsAid=" + p_headerfields[signerInfoTypeIndex]); - lowerInfo.put(SecurityHelper.SEC_ITS_AID, ByteHelper.intToByteArray(p_headerfields[signerInfoTypeIndex], Integer.SIZE / Byte.SIZE)); - signerInfoTypeIndex += 1; - } else { // FIXME To be refined - signerInfoTypeIndex += 1; - if ( - (p_headerfields[signerInfoTypeIndex] != 0x89) && // SPATEM - (p_headerfields[signerInfoTypeIndex] != 0x8a) && // MAPEM - (p_headerfields[signerInfoTypeIndex] != 0x8b) && // IVIM - (p_headerfields[signerInfoTypeIndex] != 0x8d) && // EVCSN TODO Use the correct value - (p_headerfields[signerInfoTypeIndex] != 0x8c) // SREM/SSEM - ) { - if (p_enforceSecurityCheck) { - // Drop it - //TERFactory.getInstance().logError("SecurityHelper.checkHeaderfields: Drop packet - Unknown ItsAid value"); - return false; - } - } - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: ItsAid=" + p_headerfields[signerInfoTypeIndex]); - lowerInfo.put(SecurityHelper.SEC_ITS_AID, ByteHelper.intToByteArray(p_headerfields[signerInfoTypeIndex], Integer.SIZE / Byte.SIZE)); - signerInfoTypeIndex += 1; - } - } - } - if (signerInfoTypeIndex < p_headerfields.length) { - // TODO check other fields - //TERFactory.getInstance().logDebug("SecurityHelper.checkHeaderfields: dump #3=" + ByteHelper.byteArrayToString(ByteHelper.extract(p_headerfields, signerInfoTypeIndex, p_headerfields.length - signerInfoTypeIndex))); - } - - return true; - } - - public byte[] decodeCertificate(final byte[] p_headerfields, final int p_offset, final ByteArrayOutputStream p_keys, final boolean p_enforceSecurityCheck, Map p_lowerInfo) { - //TERFactory.getInstance().logDebug(">>> SecurityHelper.decodeCertificate: " + ByteHelper.byteArrayToString(ByteHelper.extract(p_headerfields, p_offset, p_headerfields.length - p_offset))); - - ByteArrayInputStream headerfields = new ByteArrayInputStream(p_headerfields, p_offset, p_headerfields.length - p_offset); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: headerfields length=" + headerfields.available()); - ByteArrayOutputStream cert = new ByteArrayOutputStream(); // FIXME To be removed - try { - // Version - cert.write((byte)headerfields.read()); - if (cert.toByteArray()[0] != 0x02) { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Wrong version number"); - if (p_enforceSecurityCheck) { - // Drop it - return null; - } // else continue - } - // SignerInfo type - byte signerInfoType = (byte)headerfields.read(); - cert.write(signerInfoType); - switch (signerInfoType) { - case 0x01: - byte[] digest = new byte[8]; - headerfields.read(digest, 0, digest.length); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: hashedid8=" + ByteHelper.byteArrayToString(digest)); - cert.write(digest); - break; - // FIXME To be continued - } // End of 'switch' statement - // SubjectInfo type - byte subjectInfoType = (byte)headerfields.read(); - if ( - (subjectInfoType != 0x01) && // Subject Info: authorization ticket (1) - (subjectInfoType != 0x02) // Subject Info: authorization authority (2) - ) { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Subject Info: authorization authority/ticket expected - " + ByteHelper.byteArrayToString(cert.toByteArray())); - return null; - } - cert.write(subjectInfoType); - long length = tls2size(headerfields); - if (length != 0) { - cert.write(size2tls((int) length)); - byte[] subjectInfo = new byte[(int) length]; - headerfields.read(subjectInfo, 0, subjectInfo.length); - cert.write(subjectInfo); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: subjectInfo: " + ByteHelper.byteArrayToString(subjectInfo)); - } else { - cert.write(0x00); - } - // Subject Attributes length - length = tls2size(headerfields); - cert.write(size2tls((int) length)); - // Subject Attributes - byte[] b = new byte[(int) length]; - headerfields.read(b, 0, b.length); - cert.write(b); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Subject Attributes length=" + length + " / " + headerfields.available()); - ByteArrayInputStream subjectAttributes = new ByteArrayInputStream(b); - if (subjectAttributes.read() == 0x00) { // Subject Attribute: verification key (0) - Mandatory - if (subjectAttributes.read() == 0x00) { // Public Key Alg: ecdsa nistp256 with sha256 (0) - byte v = (byte) subjectAttributes.read(); - p_keys.write(v); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: ECC Point Type: =" + v); - if (v == 0x02) { // ECC Point Type: compressed lsb y-0(2) - byte[] key = new byte[32]; - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Verification lsb y-1 key=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - } else if (v == 0x03) { // ECC Point Type: compressed lsb y-1(3) - byte[] key = new byte[32]; - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Verification lsb y-1 key=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - } else if (v == 0x04) { // ECC Point Type: uncompressed (4) - byte[] key = new byte[32]; - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Verification key1=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Verification key2=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - - // Read the next header - byte v = (byte) subjectAttributes.read(); - if (v == 0x01) { // // Subject Attribute: encryption key (1) - if (subjectAttributes.read() == 0x01) { // Public Key Alg: ecdsa nistp256 (1) - if (subjectAttributes.read() == 0x00) { // Symmetric Algorithm: aes 128 ccm (0) - v = (byte) subjectAttributes.read(); - p_keys.write(v); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: ECC Point Type: =" + v); - if (v == 0x02) { // ECC Point Type: compressed lsb y-0(2) - byte[] key = new byte[32]; - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Encryption lsb y-0 key=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - } else if (v == 0x03) { // ECC Point Type: compressed lsb y-1(3) - byte[] key = new byte[32]; - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Encryption lsb y-1 key=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - } else if (v == 0x04) { // ECC Point Type: uncompressed (4) - byte[] key = new byte[32]; - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Encryption key1=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - subjectAttributes.read(key, 0, 32); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Encryption key2=" + ByteHelper.byteArrayToString(key)); - p_keys.write(key); - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - - // Read the next header - v = (byte) subjectAttributes.read(); - } // FIXME To be continued - - // Assurance level - if (v != 0x02) { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Assurance level expected - " + ByteHelper.byteArrayToString(cert.toByteArray())); - return null; - } - v = (byte) subjectAttributes.read(); // Skip assurance level value - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: assurance level value=" + v); - if (subjectInfoType == 0x01) { // Authorization Ticket - if (subjectAttributes.read() != 0x21) { // Subject Attribute: its aid ssp list (33) - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Its aid ssp list expected - " + ByteHelper.byteArrayToString(cert.toByteArray())); - return null; - } - length = tls2size(subjectAttributes); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Its aid ssp length=" + length); - byte[] its_aid_ssp_list = new byte[(int) length]; - subjectAttributes.read(its_aid_ssp_list, 0, (int) length); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: its_aid_list=" + ByteHelper.byteArrayToString(its_aid_ssp_list)); - byte[] padding = new byte[32 - (int) length]; - ByteHelper.fill(padding, 32 - (int) length, (byte)0x00); - p_lowerInfo.put( - SecurityHelper.SEC_SSP, - ByteHelper.concat( - padding, - its_aid_ssp_list - )); - // TODO Process ATS AID list - } else if (subjectInfoType == 0x02) { // Authorization Authority - if (subjectAttributes.read() != 0x20) { // Subject Attribute: its aid ssp (32) - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Its aid list expected - " + ByteHelper.byteArrayToString(cert.toByteArray())); - return null; - } - length = tls2size(subjectAttributes); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: its_aid_list length=" + length); - byte[] its_aid_list = new byte[(int) length]; - subjectAttributes.read(its_aid_list, 0, (int) length); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: its_aid_list=" + ByteHelper.byteArrayToString(its_aid_list)); - // TODO Process ATS AID list - } else { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Unknown subjectInfoType - " + subjectInfoType); - return null; - } - - // Validity restrictions - length = tls2size(headerfields); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Length=" + length + " / " + headerfields.available()); - cert.write(size2tls((int)length)); - v = (byte)headerfields.read(); - if (v == 0x00) { // Validity Restriction: time end (0) - cert.write(v); - byte[] time = new byte[4]; - headerfields.read(time, 0, 4); - cert.write(time); - int endTime = ByteHelper.byteArrayToInt(time); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: endTime=" + endTime); - // Check times - long currentTime = (System.currentTimeMillis() - 1072915200000L) / 1000L; - if (currentTime > endTime) { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Validity Restriction: time end not matched"); - return null; - } - v = (byte)headerfields.read(); - } - if (v == 0x01) { // Validity Restriction: time start and end (1) - cert.write(v); - byte[] time = new byte[4]; - headerfields.read(time, 0, 4); - cert.write(time); - int startTime = ByteHelper.byteArrayToInt(time); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: startTime=" + startTime); - headerfields.read(time, 0, 4); - cert.write(time); - int endTime = ByteHelper.byteArrayToInt(time); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: endTime=" + endTime); - // Check times - long currentTime = (System.currentTimeMillis() - 1072915200000L) / 1000L; - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: currentTime=" + currentTime); - if ((currentTime < startTime) || (currentTime > endTime)) { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Validity Restriction: time start and end not matched"); - return null; - } - v = (byte)headerfields.read(); - } - if (v == 0x02) { // Validity Restriction: time start and duration (2) - cert.write(v); - byte[] time = new byte[4]; - headerfields.read(time, 0, 4); - cert.write(time); - int startTime = ByteHelper.byteArrayToInt(time); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: startTime=" + startTime); - byte[] dur = new byte[2]; - headerfields.read(dur, 0, 2); - cert.write(dur); - short duration = ByteHelper.byteArrayToShort(dur); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: duration=" + duration); - int unit = (duration & 0xe0000) >>> 13; - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: unit=" + unit); - long value = (duration & 0x1fff); - switch (unit) { - case 0: - // Nothing to do - break; - case 1: - value *= 60; - break; - case 2: - value *= 3600; - break; - default: - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Validity Restriction: time start and duration not processed"); - value = Long.MAX_VALUE; - } // End of 'switch' statement - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Validity Restriction: value=" + value); - // Check times - long currentTime = (System.currentTimeMillis() - 1072915200000L) / 1000L; - if ((currentTime < startTime) || (currentTime > (startTime + value))) { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Validity Restriction: time start and duration not matched"); - return null; - } - v = (byte)headerfields.read(); - } - if (v == 0x03) { // region (3) - cert.write(v); - // Region type - v = (byte)headerfields.read(); - cert.write(v); - if (v == 0x00) { // none (0) - // Nothing to do - } else if (v == 0x01) { // circle (1) - byte[] lat = new byte[4]; - headerfields.read(lat, 0, lat.length); - cert.write(lat); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Circle lat=" + ByteHelper.byteArrayToString(lat)); - byte[] lon = new byte[4]; - headerfields.read(lon, 0, lon.length); - cert.write(lon); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Circle lon=" + ByteHelper.byteArrayToString(lon)); - byte[] rad = new byte[2]; - headerfields.read(rad, 0, rad.length); - cert.write(rad); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Circle rad=" + ByteHelper.byteArrayToInt(rad)); - } else if (v == 0x02) { // rectangle (2) - int rlength = (int) tls2size(headerfields); - cert.write(size2tls(rlength)); - while (rlength > 0) { - byte[] ulat = new byte[4]; - headerfields.read(ulat, 0, ulat.length); - cert.write(ulat); - byte[] ulon = new byte[4]; - headerfields.read(ulon, 0, ulon.length); - cert.write(ulon); - byte[] llat = new byte[4]; - headerfields.read(llat, 0, llat.length); - cert.write(llat); - byte[] llon = new byte[4]; - headerfields.read(llon, 0, llon.length); - cert.write(llon); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Rectangle ulat=" + ByteHelper.byteArrayToString(ulat)); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Rectangle ulon=" + ByteHelper.byteArrayToString(ulon)); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Rectangle llat=" + ByteHelper.byteArrayToString(llat)); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Rectangle llon=" + ByteHelper.byteArrayToString(llon)); - rlength -= 4 * 4; - } - } else if (v == 0x03) { // polygon (3) - int plength = (int) tls2size(headerfields); - cert.write(size2tls((int) plength)); - byte[] polygonalRegion = new byte[plength]; - while (plength > 0) { - byte[] lat = new byte[4]; - headerfields.read(lat, 0, lat.length); - cert.write(lat); - byte[] lon = new byte[4]; - headerfields.read(lon, 0, lon.length); - cert.write(lon); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: poly point lat=" + ByteHelper.byteArrayToString(lat)); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: poly point lon=" + ByteHelper.byteArrayToString(lon)); - plength -= 2 * 4; - } - headerfields.read(polygonalRegion, 0, polygonalRegion.length); - cert.write(polygonalRegion); - // TODO Process Validity Restriction - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: polygonal=" + ByteHelper.byteArrayToString(polygonalRegion)); - - } else if (v == 0x04) { // id (4) - v = (byte)headerfields.read(); - cert.write(v); - byte[] ri = new byte[2]; - headerfields.read(ri, 0, ri.length); - cert.write(ri); - int lr = (int) tls2size(headerfields); - cert.write(size2tls((int) lr)); - // TODO Process Validity Restriction - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Region t=" + v); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Region ri=" + ByteHelper.byteArrayToString(ri)); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Region lr=" + lr); - } else { - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Unexpected geographical region"); - return null; - } - } - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Before signature: " + ByteHelper.byteArrayToString(cert.toByteArray())); - // Signature - byte publicKeyAlg = (byte)headerfields.read(); - cert.write(publicKeyAlg); - switch (publicKeyAlg) { - case 0x00: // ecdsa nistp256 with sha256 - byte eccPointType = (byte)headerfields.read(); - cert.write(eccPointType); - switch (eccPointType) { - case 0x00: // ECC Point Type: x-coordinate only - byte[] key = new byte[64]; - headerfields.read(key, 0, key.length); - cert.write(key); - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Signature=" + ByteHelper.byteArrayToString(key)); - break; - } // End of 'switch' statement - break; - } // End of 'switch' statement - // TODO Check certificate signature - - //TERFactory.getInstance().logDebug("SecurityHelper.decodeCertificate: Processed cert=" + ByteHelper.byteArrayToString(cert.toByteArray())); - return cert.toByteArray(); - } catch (IOException e) { - e.printStackTrace(); - } - - //TERFactory.getInstance().logError("SecurityHelper.decodeCertificate: Unsupported certificate - " + ByteHelper.byteArrayToString(cert.toByteArray())); - return null; - } - - public boolean extractMessageSignature(final byte[] p_secureTrailer, final ByteArrayOutputStream p_signature) { - //TERFactory.getInstance().logDebug(">>> SecurityHelper.extractMessageSignature: " + ByteHelper.byteArrayToString(p_secureTrailer)); - - // Sanity check - if (p_secureTrailer.length == 0) { - return false; - } - - // Extract digest or certificate - int secureTrailerIndex = 0; - if (p_secureTrailer[secureTrailerIndex++] == 0x01) { // Trailer Type: signature (1) - if (p_secureTrailer[secureTrailerIndex++] == 0x00) { // Public Key Alg: ecdsa nistp256 with sha256 (0) - byte v = p_secureTrailer[secureTrailerIndex++]; - if ((v == 0x00) || (v == 0x02)) { // ECC Point Type: compressed lsb y-0 (2) - if (p_secureTrailer.length == (3 + 2 * 32)) { - // Build the signature vector - try { - p_signature.write(new byte[] { (byte)0x00, (byte)0x00 }); - p_signature.write(ByteHelper.extract(p_secureTrailer, 3, 64)); - - //TERFactory.getInstance().logDebug("<<< SecurityHelper.extractMessageSignature: true"); - return true; - } catch (IOException e) { - e.printStackTrace(); - } - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - - // Else, drop it - //TERFactory.getInstance().logError("SecurityHelper.extractMessageSignature: Drop packet - Wrong signature"); - return false; - } - - public byte[] calculateDigestFromCertificate(final byte[] p_toBeHashedData) { - //TERFactory.getInstance().logDebug("SecurityHelper.calculateDigestFromCertificate: " + ByteHelper.byteArrayToString(p_toBeHashedData)); - byte[] hash = CryptoLib.hashWithSha256(p_toBeHashedData); - //TERFactory.getInstance().logDebug("SecurityHelper.calculateDigestFromCertificate: " + ByteHelper.byteArrayToString(hash)); - return ByteHelper.extract(hash, hash.length - 8, 8); - } - -} // End of class SecurityHelper diff --git a/javasrc/adapter/org/etsi/its/adapter/TestAdapter.java b/javasrc/adapter/org/etsi/its/adapter/TestAdapter.java deleted file mode 100644 index cdc39f2f7b76145258c0136c7bad0ce883d6270c..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/TestAdapter.java +++ /dev/null @@ -1,344 +0,0 @@ -/** - * Main Test Adapter class. Implements TRI API - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * @see "http://t-ort.etsi.org/view_all_bug_page.php?page_number=1" - */ -package org.etsi.its.adapter; - -import java.util.Observable; -import java.util.Observer; - -import org.etsi.adapter.ITERequired; -import org.etsi.adapter.TERFactory; -import org.etsi.its.adapter.ports.AdapterControlPort; -import org.etsi.its.adapter.ports.ConfigTesterPort; -import org.etsi.its.adapter.ports.IPort; -import org.etsi.its.adapter.ports.PortEvent; -import org.etsi.its.adapter.ports.ProtocolPortFactory; -import org.etsi.its.adapter.ports.UpperTesterPort; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriAddressList; -import org.etsi.ttcn.tri.TriCommunicationSA; -import org.etsi.ttcn.tri.TriComponentId; -import org.etsi.ttcn.tri.TriException; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriParameter; -import org.etsi.ttcn.tri.TriParameterList; -import org.etsi.ttcn.tri.TriPortId; -import org.etsi.ttcn.tri.TriPortIdList; -import org.etsi.ttcn.tri.TriSignatureId; -import org.etsi.ttcn.tri.TriStatus; -import org.etsi.ttcn.tri.TriTestCaseId; - -/** - * Main Test Adapter class. Implements TRI API in a tool independent manner - */ -@SuppressWarnings({ "serial", "deprecation" }) -public class TestAdapter implements TriCommunicationSA, Observer { - - /** - * Mapping (component-) support for layered port - */ - protected ComponentMgr compPortMgr; - - /** - * Provides all TE related interfaces - */ - protected ITERequired required; - - /** - * Constructor - */ - public TestAdapter() { - super(); - - compPortMgr = new ComponentMgr(this); - required = TERFactory.getInstance(); - } - - /** - * This method will force a Test adapter reset - * @see org.etsi.ttcn.tri.TriCommunicationSA#triEndTestCase() - */ - @Override - public TriStatus triEndTestCase() { - triSAReset(); - return required.getTriStatus(TriStatus.TRI_OK); - } - - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triExecuteTestcase(org.etsi.ttcn.tri.TriTestCaseId, org.etsi.ttcn.tri.TriPortIdList) - */ - public TriStatus triExecuteTestcase(final TriTestCaseId tcId, final TriPortIdList portList) { - return required.getTriStatus(TriStatus.TRI_OK); - } - - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triMap(org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriPortId) - */ - @Override - public TriStatus triMap(final TriPortId compPortId, final TriPortId tsiPortId) { - - IPort port; - String portName = tsiPortId.getPortName(); - String ComponentId = compPortId.getComponent().getComponentId(); - - if (tsiPortId.getPortName().equals("acPort")) { - port = new AdapterControlPort(portName, ComponentId); - } else if (tsiPortId.getPortName().toLowerCase().endsWith("utport")) { - port = new UpperTesterPort(portName, ComponentId); - } else if (tsiPortId.getPortName().toLowerCase().endsWith("cfport")) { - port = new ConfigTesterPort(portName, ComponentId); - } else { - String componentName = compPortId.getComponent().getComponentName(); - - // Dirty hack due to LinkLayer_MTC removal. - if(componentName.equalsIgnoreCase("MTC")) { - componentName = "NodeB"; - } - - port = ProtocolPortFactory.getInstance().createPort( - tsiPortId.getPortName(), - ComponentId, - ((CharstringValue)required.getTaParameter(portName)).getString(), - ((CharstringValue)required.getTaParameter("LinkLayer_" + componentName)).getString()); - } - - compPortMgr.addComponent(compPortId.getComponent()); - compPortMgr.addPort(ComponentId, tsiPortId, port); - - return required.getTriStatus(TriStatus.TRI_OK); - } - - /** - * This method will force port unmapping - * @see org.etsi.ttcn.tri.TriCommunicationSA#triSAReset() - */ - @Override - public TriStatus triSAReset() { - - // Force port unmapping - compPortMgr.removeAllPorts(); - - // Load certificates - org.etsi.certificates.CertificatesIOFactory.getInstance().loadCertificates(((CharstringValue)TERFactory.getInstance().getTaParameter("TsSecuredRootPath")).getString(), ((CharstringValue)TERFactory.getInstance().getTaParameter("TsSecuredConfiId")).getString()); - - return required.getTriStatus(TriStatus.TRI_OK); - } - - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triSend(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddress, org.etsi.ttcn.tri.TriMessage) - */ - @Override - public TriStatus triSend(TriComponentId componentId, TriPortId tsiPortId, TriAddress address, TriMessage message) { - - IPort port = compPortMgr.getPort(componentId.getComponentId(), tsiPortId.getPortName()); - if (port == null) { - return required.getTriStatus(TriStatus.TRI_ERROR, "Unknown port"); - } - - port.send(message.getEncodedMessage()); - return required.getTriStatus(TriStatus.TRI_OK); - } - - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triSendBC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriMessage) - */ - @Override - public TriStatus triSendBC(TriComponentId componentId, TriPortId portId, TriMessage message) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triSendBC not implemented"); - } - - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triSendMC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddressList, org.etsi.ttcn.tri.TriMessage) - */ - @Override - public TriStatus triSendMC(TriComponentId componentId, TriPortId portId, TriAddressList addressList, TriMessage message) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triSendMC not implemented"); - } - - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triUnmap(org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriPortId) - */ - @Override - public TriStatus triUnmap(final TriPortId compPortId, final TriPortId tsiPortId) { - - compPortMgr.removePort(compPortId.getComponent().getComponentId(), tsiPortId.getPortName()); - - return required.getTriStatus(TriStatus.TRI_OK); - } - - /** - * Enqueues a message on the specified port - * @param tsiPort Port where the message will be enqueued - * @param sutAddress SUT address - * @param receiverComp Component on which port the message will be enqueued - * @param rcvMessage Message to be enqueued - */ - private void enqueueMsg(TriPortId tsiPort, TriAddress sutAddress, TriComponentId receiverComp, TriMessage rcvMessage) { - - required.getCommunicationTE().triEnqueueMsg(tsiPort, sutAddress, receiverComp, rcvMessage); - } - - /* (non-Javadoc) - * @see java.util.Observer#update(java.util.Observable, java.lang.Object) - */ - @Override - public void update(Observable o, Object context) { - - if(context instanceof PortEvent) { - // Extract context - PortEvent p = (PortEvent)context; - TriPortId port = null; - TriComponentId compId = null; - - port = (TriPortId)compPortMgr.getPortId(p.getComponentName(), p.getPortName()); - compId = compPortMgr.getComponent(p.getComponentName()); - - // Enqueue message - if (port != null) { - enqueueMsg( - port, - required.getTriAddress(new byte[] { }), - compId, - required.getTriMessage(p.get_message())); - } - } - } // End of method update - - /** - * TriCall not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triCall(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddress, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriParameterList) - */ - @Override - public TriStatus triCall(TriComponentId componentId, TriPortId tsiPortId, TriAddress sutAddress, TriSignatureId signatureId, TriParameterList parameterList) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triCall not implemented"); - } - - /** - * TriCallBC not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triCallBC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriParameterList) - */ - @Override - public TriStatus triCallBC(TriComponentId componentId, TriPortId tsiPortId, TriSignatureId signatureId, TriParameterList parameterList) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triCallBC not implemented"); - } - - /** - * TriCallMC not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triCallMC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddressList, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriParameterList) - */ - @Override - public TriStatus triCallMC(TriComponentId componentId, TriPortId tsiPortId, TriAddressList sutAddresses, TriSignatureId signatureId, TriParameterList parameterList) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triCallMC not implemented"); - } - - /** - * triRaise not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triRaise(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddress, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriException) - */ - @Override - public TriStatus triRaise(TriComponentId componentId, TriPortId tsiPortId, TriAddress sutAddress, TriSignatureId signatureId, TriException exception) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triRaise not implemented"); - } - - /** - * triRaiseBC not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triRaiseBC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriException) - */ - @Override - public TriStatus triRaiseBC(TriComponentId componentId, TriPortId tsitPortId, TriSignatureId signatureId, TriException exc) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triRaiseBC not implemented"); - } - - /** - * triRaiseMC not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triRaiseMC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddressList, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriException) - */ - @Override - public TriStatus triRaiseMC(TriComponentId componentId, TriPortId tsitPortId, TriAddressList sutAddresses, TriSignatureId signatureId, TriException exc) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triRaiseMC not implemented"); - } - - /** - * triReply not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triReply(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddress, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriParameterList, org.etsi.ttcn.tri.TriParameter) - */ - @Override - public TriStatus triReply(TriComponentId componentId, TriPortId tsiPortId, TriAddress sutAddress, TriSignatureId signatureId, TriParameterList parameterList, TriParameter returnValue) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triReply not implemented"); - } - - /** - * triReplyBC not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triReplyBC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriParameterList, org.etsi.ttcn.tri.TriParameter) - */ - @Override - public TriStatus triReplyBC(TriComponentId componentId, TriPortId tsiPortId, TriSignatureId signatureId, TriParameterList parameterList, TriParameter returnValue) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triReplyBCnot implemented"); - } - - /** - * triReplyMC not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triReplyMC(org.etsi.ttcn.tri.TriComponentId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriAddressList, org.etsi.ttcn.tri.TriSignatureId, org.etsi.ttcn.tri.TriParameterList, org.etsi.ttcn.tri.TriParameter) - */ - @Override - public TriStatus triReplyMC(TriComponentId componentId, TriPortId tsiPortId, TriAddressList sutAddresses, TriSignatureId signatureId, TriParameterList parameterList, TriParameter returnValue) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triReplyMC not implemented"); - } - - /** - * triSutActionInformal not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triSutActionInformal(java.lang.String) - */ - @Override - public TriStatus triSutActionInformal(String description) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triSutActionInformal not implemented"); - } - - /** - * triMapParam not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triMapParam(org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriParameterList) - */ - @Override - public TriStatus triMapParam(TriPortId compPortId, TriPortId tsiPortId, TriParameterList paramList) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triMapParam not implemented"); - } - - /** - * triUnmapParam not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triUnmapParam(org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriParameterList) - */ - @Override - public TriStatus triUnmapParam(TriPortId compPortId, TriPortId tsiPortId, TriParameterList paramList) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triUnmapParam not implemented"); - } - - @Override - public TriStatus triExecuteTestCase(TriTestCaseId arg0, TriPortIdList arg1) { - // TODO Auto-generated method stub - return triExecuteTestcase(arg0, arg1); - } - - @Override - public TriStatus triGetStreamValue(TriComponentId arg0, TriPortId arg1, TriAddress arg2, TriMessage arg3) { - // TODO Auto-generated method stub - return null; - } - - @Override - public TriStatus triSetStreamValue(TriComponentId arg0, TriPortId arg1, TriAddress arg2, TriMessage arg3) { - // TODO Auto-generated method stub - return null; - } - - @Override - public TriStatus triStaticMap(TriPortId arg0, TriPortId arg1) { - // TODO Auto-generated method stub - return null; - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/UdpMultiplexer.java b/javasrc/adapter/org/etsi/its/adapter/UdpMultiplexer.java deleted file mode 100644 index 804b6734afdddf556864281fd4aad0d4461039ac..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/UdpMultiplexer.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.etsi.its.adapter; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.util.HashMap; -import java.util.Map; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.UdpMultiplexer; -import org.etsi.its.adapter.layers.Layer; - -public class UdpMultiplexer { - - /** - * Parameter name for UDP port destination - */ - public static final String UDP_PORT_KEY = "Udport"; - - public String UdpAddress = "10.200.1.101"; // FIXME Use a generic way to retrieve UDP settings - - public int UdpRecvPort = 18501; // FIXME Use a generic way to retrieve UDP settings - - public int UdpSendPort = 18502; // FIXME Use a generic way to retrieve UDP settings - - /** - * Unique instance of the factory - */ - private static final UdpMultiplexer instance = new UdpMultiplexer(); - - private Map clientsToMacs = new HashMap(); - - //private Map clientsToFrameTypes = new HashMap(); - - private HashMap clientsToLayers = new HashMap(); - - private DatagramSocket iutSocket; - private InetAddress iutAddress; - private int iutPort; - private Thread iutThread; - - /** - * Gets the unique factory instance - * @return UdpMultiplexer instance - */ - public static UdpMultiplexer getInstance(){ - return instance; - } - - public UdpMultiplexer() { - } - - public synchronized void register(Layer client, byte[] macAddress, short frameType) { - //TERFactory.getInstance().logDebug(">>>UdpMultiplexer.registering: " + frameType); - - if(clientsToMacs.isEmpty()) { - try { - iutAddress = InetAddress.getByName(UdpAddress); - //TERFactory.getInstance().logDebug("UdpIpLayer.register: IUT Address: " + iutAddress.getHostAddress()); - iutPort = UdpSendPort; - iutSocket = new DatagramSocket(UdpRecvPort); - iutThread = new UdpThread(iutSocket); - iutThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - // Register client - clientsToMacs.put(client.toString(), macAddress); - clientsToLayers.put(client.toString(), client); - //clientsToFrameTypes.put(client.toString(), frameType); - } - - public synchronized void unregister(Layer client) { - if(clientsToMacs.containsKey(client.toString())) { - clientsToMacs.remove(client.toString()); - //clientsToFrameTypes.remove(client.toString()); - clientsToLayers.remove(client.toString()); - - if(clientsToMacs.isEmpty()) { - iutSocket.close(); - iutThread.interrupt(); - try { - iutThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - } - - public byte[] send(Layer client, byte[] dest, byte[] payload, Map params) { - - if(clientsToMacs.containsKey(client.toString())) { - - DatagramPacket packet = null; - if(params.containsKey(UDP_PORT_KEY)) { - packet = new DatagramPacket(payload, payload.length, iutAddress, Integer.parseInt((String) params.get(UDP_PORT_KEY))); - } else { - packet = new DatagramPacket(payload, payload.length, iutAddress, iutPort); - } - try { - iutSocket.send(packet); - return packet.getData(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - return null; - } - - private class UdpThread extends Thread { - - private DatagramSocket taSocket; - private boolean running = true; - - public UdpThread(DatagramSocket taSocket) throws IOException { - this.taSocket = taSocket; - } - - @Override - public void run() { - - while(running) { - try { - byte[] buf = new byte[4096]; - - // receive packet - DatagramPacket packet = new DatagramPacket(buf, buf.length); - taSocket.receive(packet); - - byte[] buffer = ByteHelper.extract(packet.getData(), packet.getOffset(), packet.getLength()); - if(buffer.length < 28) { - continue; - } - - Map lowerInfo = new HashMap(); - lowerInfo.put(Layer.RECEPTION_TIMESTAMP, System.currentTimeMillis()); - - // Dispatch - for (String mapKey : clientsToMacs.keySet()) { - clientsToLayers.get(mapKey).receive(buffer, lowerInfo); - } - } catch (IOException e) { - running = false; - } - } - } - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/AtspLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/AtspLayer.java deleted file mode 100644 index 01d5e3a82d00e8c8f2eab357dab41919b801d894..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/AtspLayer.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.util.Map; -import java.util.Stack; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.ttcn.tci.CharstringValue; - -/** - * Implementation of ITS IICP layer - */ -public class AtspLayer extends Layer implements IEthernetSpecific { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public AtspLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - return super.send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - super.receive(message, lowerInfo); - } - -} // End of class AtspLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/BtpLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/BtpLayer.java deleted file mode 100644 index ee098d08bf8d3f69e31eb38ed74fe6e6ba2d0783..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/BtpLayer.java +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Implementation of ITS Basic Transport Protocol layer - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers; - -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; - -/** - * Implementation of ITS Basic Transport Protocol layer - */ -public class BtpLayer extends Layer { - - /** - * Parameter name for BTP packet type - */ - public static final String BTP_TYPE = "BtpType"; - - /** - * Parameter name for BTP destination port - */ - public static final String BTP_DSTPORT = "BtpDstPort"; - - /** - * Parameter name for BTP source port - */ - public static final String BTP_SRCPORT = "BtpSrcPort"; - - /** - * Parameter name for BTP destination port information - */ - public static final String BTP_DSTPORTINFO = "BtpDstPortInfo"; - - /** - * BTP packet type A - */ - public static final int TYPE_A = 0; - - /** - * BTP packet type B - */ - public static final int TYPE_B = 1; - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public BtpLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - - // Destination Port (16 bits) - int dstPort; - try { - dstPort = (Integer)params.get(BTP_DSTPORT); - } - catch (NullPointerException e) { - dstPort = 0; - } - byte[] encapsulated = ByteHelper.intToByteArray(dstPort, 2); - - if(params.get(BTP_TYPE).equals(TYPE_A)) { - // Source Port (16 bits) - int srcPort; - try { - srcPort = (Integer)params.get(BTP_SRCPORT); - } - catch (NullPointerException e) { - srcPort = 0; - } - encapsulated = ByteHelper.concat(encapsulated, ByteHelper.intToByteArray(srcPort, 2)); - } - else { - // Destination port info (16 bits) - int dstPortInfo; - try { - dstPortInfo = (Integer)params.get(BTP_DSTPORTINFO); - } - catch (NullPointerException e) { - dstPortInfo = 0; - } - encapsulated = ByteHelper.concat(encapsulated, ByteHelper.intToByteArray(dstPortInfo, 2)); - } - - // Update params -// if(lowerLayerName != null && lowerLayerName.equals("GN")) { -// params.put(GnLayer.GN_NEXTHEADER, "BTP-A"); // TODO Alex to confirm removal -// } - - return super.send(ByteHelper.concat(encapsulated, message), params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - - byte[] dstPort = new byte[2]; - System.arraycopy(message, 0, dstPort, 0, 2); - - byte[] srcPort = new byte[2]; - System.arraycopy(message, 2, srcPort, 0, 2); - - int payloadLength = message.length - 4; - byte[] payload = new byte[payloadLength]; - System.arraycopy(message, 4, payload, 0, payloadLength); - - lowerInfo.put(BTP_DSTPORT, dstPort); - lowerInfo.put(BTP_DSTPORTINFO, srcPort); - - super.receive(payload, lowerInfo); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/CommsigniaLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/CommsigniaLayer.java deleted file mode 100644 index 22226ee1c6051c291864274c24f4c34a9163d829..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/CommsigniaLayer.java +++ /dev/null @@ -1,296 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.nio.ByteBuffer; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; -import java.util.concurrent.TimeoutException; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.PcapMultiplexer; - -import com.commsignia.v2x.client.ITSApplication; -import com.commsignia.v2x.client.MessageSet; -import com.commsignia.v2x.client.exception.ClientException; -import com.commsignia.v2x.client.model.BTPType; -import com.commsignia.v2x.client.model.InjectData; -import com.commsignia.v2x.client.model.InjectData.Builder; -import com.commsignia.v2x.client.model.InjectData.Type; -import com.commsignia.v2x.client.model.dev.DeviceInfoResponse; -import com.commsignia.v2x.client.model.dev.FacilityModule; - -public class CommsigniaLayer extends Layer implements IEthernetSpecific { - - private static final byte[] DeviceMacAddress = new byte[] { (byte)0x70, (byte)0xb3, (byte)0xd5, (byte)0xf2, (byte)0xa1, (byte)0xe3 }; - private static final String TargetHost = "10.200.1.101"; - private static final int TargetPort = 7942; - private static final int SourcePort = 7943; - private static final int ItsAid = 5; - private static final int InterfaceID = 2; - private static final int TxPowerDbm = -32; // Max value: -33dBm, RSU: -30dBm, Lab: -10dBm - private static String pcapFilter = null; - - /** - * Well-known Ethernet broadcast address - */ - public static byte[] MAC_BROADCAST = new byte[]{(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF}; - - /** - * Parameter name for Link-Layer destination - */ - public static final String LINK_LAYER_DESTINATION = "LinkLayerDestination"; - - private Map ClientsToMacs = new HashMap(); - private Map ClientsToFrameTypes = new HashMap(); - private HashMap ClientsToLayers = new HashMap(); - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public CommsigniaLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - - MessageSet defaultMessageSet = MessageSet.C; - itsApplication = new ITSApplication(ItsAid, TargetHost, TargetPort, defaultMessageSet); - try { - itsApplication.connect(1000); - itsApplication.registerBlocking(); -// itsApplication.setFacilityModuleStatus(FacilityModule.BSM, false); -// itsApplication.setFacilityModuleStatus(FacilityModule.CAM, false); -// itsApplication. gnBindBlocking(BTPType.NONE, 65535); - } catch (TimeoutException e) { - e.printStackTrace(); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (ClientException e) { - e.printStackTrace(); - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#register(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void register(Layer upperLayer) { - TERFactory.getInstance().logDebug(">>> CommsigniaLayer.register: " + upperLayer); - - if(registeredUpperLayer == null) { - super.register(upperLayer); - - try { - Method getEthernetType = registeredUpperLayer.getClass().getMethod("getEthernetType", (Class[])null); - if (getEthernetType != null) { - upperLayerFrameType = (Short) getEthernetType.invoke(registeredUpperLayer, (Object[]) null); - } - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - - localMacAddress = management.getLinkLayerAddress(); - PcapMultiplexer.getInstance().register(this, DeviceMacAddress, this.getEthernetType()); - } - - if(ClientsToMacs.isEmpty()) { - pcapFilter = - "udp dst port " + SourcePort + -// " and not ether[0x56:4]==0x04e54800 and not ether[0x56:4]==0x04f02122 and not ether[0x56:4]==0xa60e3f16 and not ether[0x56:4]==0x04e54800 and not ether[0x56:4]==0x92232f44 and not ether[0x56:4]==0x4a74556d" + - " and not ether[0x56:4]==0x4a74556d" + - " and "; - } else { - TERFactory.getInstance().logDebug("CommsigniaLayer.register: Another Client !"); - pcapFilter = pcapFilter + " and "; - } - // Update Filter - String strMacAddress = String.format("%02x%02x%02x%02x", localMacAddress[0], localMacAddress[1], localMacAddress[2], localMacAddress[3]); -// String strMacAddress = String.format("%02x", localMacAddress[0]); -// for(int i=1; i < localMacAddress.length; i++) { -// strMacAddress += String.format(":%02x", localMacAddress[i]); -// } - //udp dst port 7493 && wlan src 8b:ad:f0:0d:01:02 - pcapFilter = pcapFilter + "not ether[0x56:4]==0x" + strMacAddress; - // Reset filter - System.out.println("Reset PCAP filter: " + pcapFilter); - PcapMultiplexer.getInstance().resetFilter(pcapFilter); - // Register client - ClientsToMacs.put(this.toString(), localMacAddress); - ClientsToLayers.put(this.toString(), upperLayer); - ClientsToFrameTypes.put(this.toString(), upperLayerFrameType); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> CommsigniaLayer.receive: " + ByteHelper.byteArrayToString(message)); - - if (message.length <= 20+8+29+26) { // TODO To be refine - // Skip it - return; - } - ByteBuffer byteBuffer = ByteBuffer.wrap(message); - - // Skip C2P protocol - byteBuffer.position( - 20 + // IP Layer: 45 00 01 1f 13 8c 00 00 80 11 6b 0b ac 11 0f 26 ff ff ff ff - 8 + // UDP Layer: 75 30 1f 07 01 0b a6 cd - 34 + // C2P Layer: 12 00 00 33 41 00 00 03 5c ac 00 02 0c 02 35 a4 e9 01 6b 49 d2 01 3f ff 00 00 7f ff 16 - 4 // IEEE 802.11L Layer: 88 00 00 00 00 - ); - - // Extract Dst - byte[] dst = new byte[6]; - byteBuffer.get(dst, 0, dst.length); - lowerInfo.put(EthernetLayer.LINK_LAYER_DESTINATION, dst); - - // Skip Src - byteBuffer.position(byteBuffer.position() + 6); - - // Skip IEEE 802.11L Layer - byteBuffer.position(byteBuffer.position() + 10); - - // Skip LLC header - byteBuffer.position(byteBuffer.position() + 6); - - // Extract FrameType info - byte[] rawFrameType = new byte[2]; - byteBuffer.get(rawFrameType, 0, rawFrameType.length); - short frameType = ByteHelper.byteArrayToInt(rawFrameType).shortValue(); - - // Extract Data - byte[] data = new byte[byteBuffer.remaining()]; - byteBuffer.get(data, 0, byteBuffer.remaining()); - - // Dispatch - for (String mapKey : ClientsToMacs.keySet()) { - if(frameType == ClientsToFrameTypes.get(mapKey)) { - if(Arrays.equals(dst, MAC_BROADCAST) || Arrays.equals(dst, ClientsToMacs.get(mapKey))) { - ClientsToLayers.get(mapKey).receive(data, lowerInfo); - } - } - } - - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - //TERFactory.getInstance().logDebug(">>> CommsigniaLayer.send: " + ByteHelper.byteArrayToString(message)); - - byte[] dst = (byte[])params.get(LINK_LAYER_DESTINATION); - if(dst == null) { - dst = MAC_BROADCAST; - } - - byte[] packet = ByteHelper.concat( - dst, - localMacAddress, - ByteHelper.intToByteArray(upperLayerFrameType, 2), - message - ); - - try { - String dstAddress = String.format( - "%02x:%02x:%02x:%02x:%02x:%02x", - dst[0], - dst[1], - dst[2], - dst[3], - dst[4], - dst[5]); - String srcAddress = String.format( - "%02x:%02x:%02x:%02x:%02x:%02x", - localMacAddress[0], - localMacAddress[1], - localMacAddress[2], - localMacAddress[3], - localMacAddress[4], - localMacAddress[5]); - Builder build = new InjectData.Builder(); - build - .withDstAddress(dstAddress) - .withSrcAddress(srcAddress) - .withType(Type.GNP) - .withInterfaceID(InterfaceID) - .withTxPowerDbm(TxPowerDbm) - .withData(message); - InjectData injectData = build.build(); - //TERFactory.getInstance().logDebug("CommsigniaLayer.send: " + ByteHelper.byteArrayToString(injectData.getData())); - - itsApplication.sendOnRadioBlocking(injectData); - //TERFactory.getInstance().logDebug("<<< CommsigniaLayer.send: " + ByteHelper.byteArrayToString(packet)); - return true;//super.send(packet, params); - } catch (ClientException e) { - e.printStackTrace(); - } catch (Exception ex) { - ex.printStackTrace(); - } - - return false; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - PcapMultiplexer.getInstance().unregister(this); - if(ClientsToMacs.containsKey(this.toString())) { - ClientsToMacs.remove(this.toString()); - ClientsToFrameTypes.remove(this.toString()); - ClientsToLayers.remove(this.toString()); - - if(ClientsToMacs.isEmpty()) { - if (itsApplication != null) { - try { -// itsApplication.gnCloseBlocking(BTPType.NONE, 65535); - itsApplication.deregisterBlocking(); - } catch (ClientException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - itsApplication.shutdown(); - itsApplication = null; - } - } - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - return (short)0x0800; - } - - /** - * Local Ethernet address - */ - private byte[] localMacAddress; - - /** - * Upper layer's frame type - */ - private short upperLayerFrameType; - - private ITSApplication itsApplication = null; - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/EthernetLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/EthernetLayer.java deleted file mode 100644 index 803e4902375ebc4f00daf3f530f5e7478a87ead3..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/EthernetLayer.java +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Implementation of Ethernet layer using jpcap (background thread) - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Map; -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.PcapMultiplexer; - -/** - * Implementation of Ethernet layer using jpcap (background thread) - */ -public class EthernetLayer extends Layer { - - /** - * Well-known Ethernet broadcast address - */ - public static byte[] MAC_BROADCAST = new byte[]{(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF}; - - /** - * Parameter name for Link-Layer destination - */ - public static final String LINK_LAYER_DESTINATION = "LinkLayerDestination"; - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public EthernetLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#register(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void register(Layer upperLayer) { - if(registeredUpperLayer == null) { - super.register(upperLayer); - - try { - Method getEthernetType = registeredUpperLayer.getClass().getMethod("getEthernetType", (Class[])null); - if (getEthernetType != null) { - upperLayerFrameType = (Short) getEthernetType.invoke(registeredUpperLayer, (Object[]) null); - } - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - - localMacAddress = management.getLinkLayerAddress(); - PcapMultiplexer.getInstance().register(this, localMacAddress, upperLayerFrameType); - - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - - byte[] dst = (byte[])params.get(LINK_LAYER_DESTINATION); - if(dst == null) { - dst = MAC_BROADCAST; - } - - byte[] sent = PcapMultiplexer.getInstance().sendPacket(this, dst, message); - - return super.send(sent, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - - PcapMultiplexer.getInstance().unregister(this); - } - - /** - * Local Ethernet address - */ - private byte[] localMacAddress; - - /** - * Upper layer's frame type - */ - private short upperLayerFrameType; - -} - diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/FntpLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/FntpLayer.java deleted file mode 100644 index 11455388efdbc24215c6074a249e0dc9c2c3c38c..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/FntpLayer.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.util.Map; -import java.util.Stack; - -import org.etsi.adapter.TERFactory; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.ttcn.tci.CharstringValue; - -/** - * Implementation of ITS FNTP layer - */ -public class FntpLayer extends Layer implements IEthernetSpecific { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public FntpLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - return super.send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - super.receive(message, lowerInfo); - } - -} // End of class FntpLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/FsapLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/FsapLayer.java deleted file mode 100644 index 1fb0745d9c24e255c7048102493adb85312458bf..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/FsapLayer.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.util.Map; -import java.util.Stack; - -import org.etsi.adapter.TERFactory; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.ttcn.tci.CharstringValue; - -/** - * Implementation of ITS FSAP layer - */ -public class FsapLayer extends Layer implements IEthernetSpecific { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public FsapLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - return super.send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - super.receive(message, lowerInfo); - } - -} // End of class FntpLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/G5Layer.java b/javasrc/adapter/org/etsi/its/adapter/layers/G5Layer.java deleted file mode 100644 index 58c66929d6075315e452916576bb41620f01f179..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/G5Layer.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Implementation of ITS G5 layer - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers; - -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; - -/** - * Implementation of ITS G5 layer - */ -public class G5Layer extends Layer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public G5Layer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/GnLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/GnLayer.java deleted file mode 100644 index 13d4e8484eff6db92ff590b4d06d8115a2d4b4c1..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/GnLayer.java +++ /dev/null @@ -1,831 +0,0 @@ -/** - * Implementation of ITS GeoNetworking layer (background thread) - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.ttcn.tci.CharstringValue; - -import de.fraunhofer.sit.c2x.CryptoLib; - -/** - * Implementation of ITS GeoNetworking layer (background thread) - */ -public class GnLayer extends Layer implements Runnable, IEthernetSpecific { - - /** - * Implemented version of GeoNetworking specification - */ - private static final int GN_VERSION = 0; - - /** - * Parameter name for GeoNetworking packet type - */ - public static final String GN_TYPE = "GnType"; - - /** - * Parameter name for GeoNetworking packet sub-type - */ - public static final String GN_SUBTYPE = "GnSubType"; - - /** - * Parameter name for GeoNetworking payload type - */ - public static final String GN_NEXTHEADER = "GnNextHeader"; - - /** - * Parameter name for destination position vector - */ - public static final String GN_DEPV = "GnDePV"; - - /** - * Parameter name for Location Service's Target GN_Address - */ - public static final String GN_TARGETGNADDR = "GnTargetGnAddress"; - - /** - * Parameter name for destination area's latitude - */ - public static final String GN_LATITUDE = "GnLatitude"; - - /** - * Parameter name for destination area's longitude - */ - public static final String GN_LONGITUDE = "GnLongitude"; - - /** - * Parameter name for destination area's distance A - */ - public static final String GN_DISTANCEA = "GnDistanceA"; - - /** - * Parameter name for destination area's distance B - */ - public static final String GN_DISTANCEB = "GnDistanceB"; - - /** - * Parameter name for destination area's angle - */ - public static final String GN_ANGLE = "GnAngle"; - - /** - * Parameter name for traffic class - */ - public static final String GN_TRAFFICCLASS = "GnTrafficClass"; - - /** - * Parameter name for packet's lifetime - */ - public static final String GN_LIFETIME = "GnLifetime"; - - /** - * GeoNetworking header type for unknown messages - */ - public static final int HT_ANY = 0; - - /** - * GeoNetworking header type for beacon messages - */ - public static final int HT_BEACON = 1; - - /** - * GeoNetworking header type for GeoUnicast messages - */ - public static final int HT_GEOUNICAST = 2; - - /** - * GeoNetworking header type for GeoAnycast messages - */ - public static final int HT_GEOANYCAST = 3; - - /** - * GeoNetworking header type for GeoBroadcast messages - */ - public static final int HT_GEOBROADCAST = 4; - - /** - * GeoNetworking header type for Topology-scoped broadcast messages - */ - public static final int HT_TSB = 5; - - /** - * GeoNetworking header type for Location Service messages - */ - public static final int HT_LS = 6; - - - /** - * Unspecified GeoNetworking header sub-type - */ - public static final int HST_UNSPECIFIED = 0; - - /** - * Circle sub-type for GeoBroadcast/GeoAnycast messages - */ - public static final int HST_CIRCLE = 0; - - /** - * Rectangle sub-type for GeoBroadcast/GeoAnycast messages - */ - public static final int HST_RECT = 1; - - /** - * Ellipse sub-type for GeoBroadcast/GeoAnycast messages - */ - public static final int HST_ELIPSE = 2; - - /** - * Single-hop sub-type for TSB messages - */ - public static final int HST_SINGLEHOP = 0; - - /** - * Multi-hop sub-type for TSB messages - */ - public static final int HST_MULTIHOP = 1; - - /** - * LS-Request sub-type for LS messages - */ - public static final int HST_LSREQUEST = 0; - - /** - * LS-Reply sub-type for LS messages - */ - public static final int HST_LSREPLY = 1; - - /** - * UTC ITS time reference: 01/01/2004 00:00:00 GMT - */ - private static final long ITS_REF_TIME = 1072915200000L; - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public GnLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - sequenceNumber = 0; - running = true; - beaconThread = new Thread(this); - beaconThread.start(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /** - * Thread function for sending periodic beacons - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - Map params = new HashMap(); - params.put(GN_TYPE, HT_BEACON); - while(running) { - if(management.getGnBeacon() != null) { - send(null, params); - } - try { - Thread.sleep(management.getGnBeaconInterval()); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - if(running) { - running = false; - try { - beaconThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - super.unregister(upperLayer); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - //TERFactory.getInstance().logDebug(">>> GnLayer.send: " + ByteHelper.byteArrayToString(message)); - - byte [] extHdr = null; - int ht; - int hst; - int hoplimit = 255; - - try { - ht = (Integer)params.get(GN_TYPE); - } - catch (NullPointerException e) { - ht = HT_ANY; - } - - try { - hst = (Integer)params.get(GN_SUBTYPE); - } - catch (NullPointerException e) { - hst = HST_UNSPECIFIED; - } - - switch(ht) { - case HT_LS: - if(hst == HST_LSREPLY) { - extHdr = createLsReplyHeader((byte[])params.get(GN_DEPV)); - } - else { - extHdr = createLsRequestHeader((byte[])params.get(GN_TARGETGNADDR)); - } - break; - case HT_GEOUNICAST: - extHdr = createGeoUnicastHeader((byte[])params.get(GN_DEPV)); - break; - case HT_TSB: - if(hst == HST_MULTIHOP) { - extHdr = createTsbHeader(); - } - else { - hoplimit = 1; - extHdr = createShbHeader(); - } - break; - case HT_GEOBROADCAST: - case HT_GEOANYCAST: - extHdr = createGeoBroadcastHeader( - (Long)params.get(GN_LATITUDE), - (Long)params.get(GN_LONGITUDE), - (Integer)params.get(GN_DISTANCEA), - (Integer)params.get(GN_DISTANCEB), - (Integer)params.get(GN_ANGLE) - ); - } - - byte[] toBeSent = null; - byte[] basicHdr = createBasicHeader(); - byte[] commonHdr = createCommonHeader((String)params.get(GN_NEXTHEADER), ht, hst, (message == null)?0:message.length, hoplimit); - if (!management.isSecuredModeSet()) { // Secure mode disabled - toBeSent = ByteHelper.concat(basicHdr, commonHdr, extHdr, message); - } else { - toBeSent = createSecuredMessage(basicHdr, commonHdr, extHdr, message, params); - } - - //TERFactory.getInstance().logDebug("<<< GnLayer.send: " + ByteHelper.byteArrayToString(toBeSent)); - return super.send(toBeSent, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> GnLayer.receive: " + ByteHelper.byteArrayToString(message)); - - byte[] basicHdr = new byte[4]; - System.arraycopy(message, 0, basicHdr, 0, 4); - byte[] versionNh = new byte[1]; - System.arraycopy(basicHdr, 0, versionNh, 0, 1); - byte nextHeader = (byte)(versionNh[0] & (byte)0x0F); - int lt_multiplier = ((basicHdr[2] & (byte)0xFC) >> 2)&0x3F; - int lt_base = basicHdr[2] & (byte)0x03; - int lifetime = computeGnLifeTime(lt_multiplier, lt_base); - - if (nextHeader == 0x01) { // Common header - Secure mode disabled - byte[] commonHdr = new byte[8]; - System.arraycopy(message, 4, commonHdr, 0, 8); - nextHeader = (byte)((commonHdr[0] & (byte)0xF0) >> 4); - int trafficClass = (int)(commonHdr[2]); - - byte[] htHst = new byte[1]; - System.arraycopy(commonHdr, 1, htHst, 0, 1); - int headerSubType = (int)(htHst[0] & (byte)0x0F); - int headerType = (int)(htHst[0] >> 4); - - byte[] pl = new byte[2]; - System.arraycopy(commonHdr, 4, pl , 0, 2); - int payloadLength = ByteHelper.byteArrayToInt(pl); - - if(headerType == HT_LS) { - // Process LS messages - if(headerSubType == HST_LSREQUEST) { - byte[] gnAddress = new byte[8]; - System.arraycopy(message, 68, gnAddress, 0, 8); - byte[] mid = new byte[6]; - System.arraycopy(gnAddress, 2, mid, 0, 6); - if(Arrays.equals(mid, management.getLinkLayerAddress()) == true) { - // Send LS Reply - byte[] depv = new byte[20]; - System.arraycopy(message, 40, depv, 0, 20); - - Map params = new HashMap(); - params.put(GN_DEPV, depv); - params.put(GN_TYPE, HT_LS); - params.put(GN_SUBTYPE, HST_LSREPLY); - //TERFactory.getInstance().logDebug("GnLayer.receive: Send LS_REPLAY in unsecured mode"); - send(null, params); - } - } - else { - // we are not interested in LS replies so far. - } - } - else { - // Other messages - if(payloadLength > 0) { - byte[] mpayload = new byte[payloadLength]; - int extendedHeader = 0; - if (headerType == 1) { // Beacon - extendedHeader = 24; - } else if (headerType == 4) { // Geo Broadcast - extendedHeader = 44; - } else if (headerType == 5) { // Topology-Scoped Broadcast - extendedHeader = 28; - } // TODO To be continued - System.arraycopy(message, basicHdr.length + commonHdr.length + extendedHeader, mpayload, 0, payloadLength); - lowerInfo.put(GN_NEXTHEADER, nextHeader); - lowerInfo.put(GN_TYPE, headerType); - lowerInfo.put(GN_SUBTYPE, headerSubType); - lowerInfo.put(GN_LIFETIME, lifetime); - lowerInfo.put(GN_TRAFFICCLASS, trafficClass); - super.receive(mpayload, lowerInfo); - } - } - // Security disable, null will be translated into omit - lowerInfo.put(SecurityHelper.SEC_SSP, null); - lowerInfo.put(SecurityHelper.SEC_ITS_AID, null); - } else if (nextHeader == 0x02) { // Secured tag - byte[] payload = SecurityHelper.getInstance().checkSecuredProfileAndExtractPayload(message, basicHdr.length, management.isEnforceSecuredModeSet(), management.getItsAidOther(), lowerInfo); - if (payload != null) { - //TERFactory.getInstance().logDebug("GnLayer.receive: payload=" + ByteHelper.byteArrayToString(payload)); - byte[] commonHdr = new byte[8]; - System.arraycopy(payload, 0, commonHdr, 0, 8); - //TERFactory.getInstance().logDebug("GnLayer.receive: commonHdr=" + ByteHelper.byteArrayToString(commonHdr)); - nextHeader = (byte)((commonHdr[0] & (byte)0xF0) >> 4); - int trafficClass = (int)(commonHdr[2]); - - byte[] htHst = new byte[1]; - System.arraycopy(commonHdr, 1, htHst, 0, 1); - int headerType = (int)(htHst[0] >> 4); - int headerSubType = (int)(htHst[0] & 0x000000000F); - - byte[] pl = new byte[2]; - System.arraycopy(commonHdr, 4, pl , 0, 2); - int payloadLength = ByteHelper.byteArrayToInt(pl); - //TERFactory.getInstance().logDebug("GnLayer.receive: Message payload length=" + payloadLength); - - if(headerType == HT_LS) { - // Process LS messages - if(headerSubType == HST_LSREQUEST) { - int sopvPos = commonHdr.length + 3 + 8 + 3 * 4 + 2 * 2; // FIXME To be changed - byte[] gnAddress = new byte[8]; - System.arraycopy(message, sopvPos, gnAddress, 0, 8); - byte[] mid = new byte[6]; - System.arraycopy(gnAddress, 2, mid, 0, 6); - if(Arrays.equals(mid, management.getLinkLayerAddress()) == true) { - // Send LS Reply - byte[] depv = new byte[20]; - System.arraycopy(payload, sopvPos, depv, 0, 20); // FIXME Check indexes - - Map params = new HashMap(); - params.put(GN_DEPV, depv); - params.put(GN_TYPE, HT_LS); - params.put(GN_SUBTYPE, HST_LSREPLY); - //TERFactory.getInstance().logDebug("GnLayer.receive: Send LS_REPLAY in secured mode"); - send(null, params); - } - } else { - // we are not interested in LS replies so far. - } - } else { - // Other messages - if(payloadLength > 0) { - byte[] mpayload = new byte[payloadLength]; - int extendedHeader = 0; - if (headerType == 1) { // Beacon - extendedHeader = 24; - } else if (headerType == 4) { // Geo Broadcast - extendedHeader = 44; - } else if (headerType == 5) { // Topology-Scoped Broadcast - extendedHeader = 28; - } // TODO To be continued - System.arraycopy(payload, commonHdr.length + extendedHeader, mpayload, 0, payloadLength); - //TERFactory.getInstance().logDebug("GnLayer.receive: Message =" + ByteHelper.byteArrayToString(mpayload)); - lowerInfo.put(GN_NEXTHEADER, nextHeader); - lowerInfo.put(GN_TYPE, headerType); - lowerInfo.put(GN_SUBTYPE, headerSubType); - lowerInfo.put(GN_LIFETIME, lifetime); - lowerInfo.put(GN_TRAFFICCLASS, trafficClass); - super.receive(mpayload, lowerInfo); - } - } - } else { - // Drop it - // FIXME as long as the cert chain is not complete, it should not be seen as error -> raise CR - //TERFactory.getInstance().logError("GnLayer.receive: Invalid basic header type"); - return; - } - } - } // End of method receive - - /** - * Computes GN lifetime value - * @param lt_multiplier GN LT multiplier - * @param lt_base GN LT base - * @return GN lifetime value in ms - */ - private int computeGnLifeTime(int lt_multiplier, int lt_base) { - - final int[] base = {50, 1000, 10000, 100000}; - - return base[lt_base] * lt_multiplier; - } - - /** - * Builds encoded Basic Header - * @return Encoded Basic Header - */ - private byte[] createBasicHeader() { - // Version 4 bits - // NextHeader 4 bits - byte[] versionNh = new byte[1]; - int nh = 1; - - versionNh[0] = (byte)(GN_VERSION << 4); - versionNh[0] |= (byte)nh & 0x0F; - if (management.isSecuredModeSet()) { // Secure mode enabled - // Set nextHeader to secured - versionNh[0] &= 0xFE; - versionNh[0] |= 0x02; - } - - // Reserved 1 byte - byte[] reserved = new byte[]{(byte)0x00}; - - // Lifetime 1 byte - byte[] lifetime = new byte[]{(byte)0x2B}; - - // RHL 1 byte - byte[] rhl = new byte[]{(byte)0x01}; - - return ByteHelper.concat(versionNh, reserved, lifetime, rhl); - } - - /** - * Builds encoded Common Header - * @param nextHeader Payload type - * @param ht Packet type - * @param hst Packet sub-type - * @param msgLength Length of payload - * @return Encoded Common Header - */ - private byte[] createCommonHeader(String nextHeader, int ht, int hst, int msgLength, int hoplimit) { - - // Version 4 bits - // NextHeader 4 bits - byte[] nhReserved = new byte[1]; - int nh = 0; - if(nextHeader != null) { - if(nextHeader.equals("BTP-A")) { - nh = 1; - } - else if(nextHeader.equals("BTP-B")) { - nh = 2; - } - else if(nextHeader.equals("IPv6")) { - nh = 3; - } - } - nhReserved[0] = (byte)(nh << 4); - - // HeaderType 4 bits - // HeaderSubType 4 bits - byte[] htHst = new byte[1]; - htHst[0] = (byte)(ht << 4); - htHst[0] |= (byte)hst & 0x0F; - - // Traffic Class 1 byte - byte[] tc = new byte[]{(byte)0x00}; - - // Flags 1 byte - byte[] flags = new byte[]{(byte)0x00}; - - // PayloadLength 2 bytes - byte[] pl = ByteHelper.intToByteArray(msgLength, 2); - - // Maximum HopLimit 1 byte - byte[] mhl = ByteHelper.intToByteArray(hoplimit, 1); - - // Reserved 1 byte - byte[] reserved = new byte[]{(byte)0x00}; - - return ByteHelper.concat(nhReserved, htHst, tc, flags, pl, mhl, reserved); - } - - /** - * Builds self GN_Address based on link-layer address - * @return Encoded GN_Address - */ - private byte[] createMyGnAddress() { - int ssc = 208; // France - byte[] flags = new byte[2]; - flags[0] = (byte)(1 << 7); // Manual address - flags[0] |= (byte)(9 << 3); // Ordinary RSU - flags[0] |= (byte)(1 << 2); // Private - flags[0] |= (byte)(ssc >> 10); // SSC - flags[1] = (byte)ssc; // SSC - byte[] mid = management.getLinkLayerAddress(); - return ByteHelper.concat(flags, mid); - } - - /** - * Builds self long position vector - * @return Encoded long position vector - */ - private byte[] createMyLpv() { - - byte[] gn = createMyGnAddress(); // 8 bytes - // Timestamp is 1s older than current time to avoid sending beacons coming from the future (time sync between nodes) - byte[] tst = ByteHelper.intToByteArray((int)((System.currentTimeMillis() - ITS_REF_TIME) % (long)Math.pow(2,32) - 1000), 4); - byte[] latitude = management.getLatitude(); - byte[] longitude = management.getLongitude(); - byte[] speed = ByteHelper.intToByteArray(0, 2); - byte[] heading = ByteHelper.intToByteArray(0, 2); - return ByteHelper.concat(gn, tst, latitude, longitude, speed, heading); - } - - /** - * Builds GeoUnicast extension header - * @param depv Destination position vector (short position vector) - * @return Encoded GeoUnicast extension header - */ - private byte[] createGeoUnicastHeader(byte[] depv) { - byte[] tsb = createTsbHeader(); - return ByteHelper.concat(tsb, depv); - } - - /** - * Builds SHB extension header - * @return Encoded SHB extension header - */ - private byte[] createShbHeader() { - byte[] sopv = createMyLpv(); - byte[] reserved = ByteHelper.intToByteArray(0, 4); - return ByteHelper.concat(sopv, reserved); - } - - /** - * Builds TSB extension header - * @return Encoded TSB extension header - */ - private byte[] createTsbHeader() { - byte[] sn = ByteHelper.intToByteArray(sequenceNumber++ , 2); - byte[] reserved = ByteHelper.intToByteArray(0, 2); - byte[] sopv = createMyLpv(); - return ByteHelper.concat(sn, reserved, sopv); - } - - /** - * Builds GeoBroadcast extension header - * @param geoAreaLatitude Destination GeoArea's latitude - * @param geoAreaLongitude Destination GeoArea's longitude - * @param distanceA Destination GeoArea's distance A - * @param distanceB Destination GeoArea's distance B - * @param angle Destination GeoArea's angle - * @return Encoded GeoBroadcast extension header - */ - private byte[] createGeoBroadcastHeader(long geoAreaLatitude, long geoAreaLongitude, int distanceA, int distanceB, int angle) { - byte[] tsb = createTsbHeader(); - byte[] lat = ByteHelper.longToByteArray(geoAreaLatitude & 0xffffffffL, 4); - byte[] lng = ByteHelper.longToByteArray(geoAreaLongitude & 0xffffffffL, 4); - byte[] distA = ByteHelper.intToByteArray(distanceA, 2); - byte[] distB = ByteHelper.intToByteArray(distanceB, 2); - byte[] ang = ByteHelper.intToByteArray(angle, 2); - byte[] reserved = ByteHelper.intToByteArray(0, 2); - return ByteHelper.concat(tsb, lat, lng, distA, distB, ang, reserved); - } - - /** - * Builds LS Request extension header - * @param gnAddress Target GN_Address - * @return Encoded LS Request extension header - */ - private byte[] createLsRequestHeader(byte[] gnAddress) { - byte[] tsb = createTsbHeader(); - return ByteHelper.concat(tsb, gnAddress); - } - - /** - * Builds LS Reply extension header - * @param depv Destination position vector (short position vector) - * @return Encoded LS Reply extension header - */ - private byte[] createLsReplyHeader(byte[] depv) { - byte[] tsb = createTsbHeader(); - return ByteHelper.concat(tsb, depv); - } - - private byte[] createSecuredMessage(final byte[] basicHdr, final byte[] commonHdr, final byte[] extHdr, final byte[] message, Map params) { - //TERFactory.getInstance().logDebug(">>> GnLayer.createSecuredMessage"); - - // SecuredMessage payload length - int payloadLength = commonHdr.length + extHdr.length + message.length; - - // Build the generation time value - long curtime = System.currentTimeMillis(); - byte[] generationTime = ByteHelper.longToByteArray((long)(curtime - 1072915200000L) * 1000L, Long.SIZE / Byte.SIZE); // In microseconds - //TERFactory.getInstance().logDebug("GnLayer.createSecuredMessage: generationTime=" + ByteHelper.byteArrayToString(generationTime)); - // Build the payload to be signed - byte[] headersField = null; - boolean withCertificate = true; // FIXME Check that GnLayer is really used only for PICS_xxxM_RECEPTION tests. If so, always add AT certificate - if (withCertificate) { - headersField = ByteHelper.concat( - ByteHelper.concat( // SecuredMessage HeaderFields - new byte[] { - (byte)0x80, // signerInfo - (byte)0x02 // Certificate - }, - management.getAtCertificate(), // Hashed8 - new byte[] { - (byte)0x00, // generationTime - }, - generationTime // Time64 value - ) - ); - } else { - headersField = ByteHelper.concat( - ByteHelper.concat( // SecuredMessage HeaderFields - new byte[] { - (byte)0x80, // signerInfo - (byte)0x01 // Certificate digest with ecdsap256 - }, - management.getAtCertificateDigest(), // Hashed8 - new byte[] { - (byte)0x00, // generationTime - }, - generationTime // Time64 value - ) - ); - } - int its_aid = -1; - switch ((int) params.get(BtpLayer.BTP_DSTPORT)) { - case 2001: // CAM - its_aid = 36; - break; - case 2002: // DENM - its_aid = 37; - break; - case 2003: // MAPEM - its_aid = 137; - break; - case 2004: // SPATEM - its_aid = 138; - break; - case 2006: // IVIM - its_aid = 140; - break; - case 2007: // SREM/SSEM - // No break; - case 2008: - its_aid = 140; - break; - case 2010: - its_aid = 100; // FIXME Use the correct value - break; - } // End of 'switch' statement - if (its_aid == 36) { // CAM - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x05, // its-aid - (byte)its_aid // 36 = CAM - } - ); - } else if (its_aid == 37) { // DENM - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x03 // GenerationLocation - }, - management.getLatitude(), // Latitude - management.getLongitude(), // Longitude - new byte[] { (byte)0x00, (byte)0x00 }, // Elevation - new byte[] { - (byte)0x05, // its-aid - (byte)its_aid // 37 = DENM - } - ); - } else { // Add Its-Aid for Other profile - byte[] b; - if (its_aid < 128) { - b = new byte[] { (byte)its_aid }; - } else { - b = SecurityHelper.getInstance().size2tls(its_aid); - } - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x03 // GenerationLocation - }, - management.getLatitude(), // Latitude - management.getLongitude(), // Longitude - new byte[] { (byte)0x00, (byte)0x00 }, // Elevation - new byte[] { - (byte)0x05 // Its-aid - }, - b // Other profile - ); - } - byte[] payloadLengthTls = SecurityHelper.getInstance().size2tls(payloadLength); - byte[] headersFieldLength = null; - if (headersField.length < 127) { - headersFieldLength = new byte[] { (byte)headersField.length }; - } else { - headersFieldLength = SecurityHelper.getInstance().size2tls(headersField.length); - } - byte[] toBeSignedData = ByteHelper.concat( - new byte[] { // SecuredMessage version - (byte)0x02 // version - }, - headersFieldLength, // HeadersField length - headersField, // HeaderFields - new byte[] { // SecuredMessage Payloads - (byte)0x01, // Secured payload type: signed (1) - }, - payloadLengthTls, // Data payload length - commonHdr, - extHdr, - message, // End of SecuredMessage Payloads - new byte[] { (byte)0x43 }, // Signature length - new byte[] { (byte)0x01 } // Signature - ); - //TERFactory.getInstance().logDebug("GnLayer.createSecuredMessage: toBeSignedData=" + ByteHelper.byteArrayToString(toBeSignedData)); - - byte[] toBeSent = null; - try { - // Signed the data - byte[] signatureBytes = CryptoLib.signWithEcdsaNistp256WithSha256(toBeSignedData, management.getSigningPrivateKey()); - //TERFactory.getInstance().logDebug("GnLayer.createSecuredMessage: signatureBytes=" + ByteHelper.byteArrayToString(signatureBytes)); - // Add signature - toBeSent = ByteHelper.concat( - basicHdr, - toBeSignedData, - new byte[] { - (byte)0x00, // Public Key Alg: ecdsa nistp256 with sha256 (0) - (byte)0x02 // ECC Point Type: compressed lsb y-0 (2) - }, // Signature header - ByteHelper.extract(signatureBytes, 2, signatureBytes.length - 2) - ); - } catch (Exception e) { - e.printStackTrace(); - } - - //TERFactory.getInstance().logDebug("GnLayer.createSecuredMessage: toBeSent=" + ByteHelper.byteArrayToString(toBeSent)); - return toBeSent; - } - - /** - * Indicates whether the layer is still active. Setting this field to false will cause - * the beaconning thread to stop its execution. - */ - private boolean running; - - /** - * Beaconning thread instance. - */ - private Thread beaconThread; - - /** - * Packet sequence number. Incremented after sending each unicast packet - */ - private int sequenceNumber; -} - diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/IEthernetSpecific.java b/javasrc/adapter/org/etsi/its/adapter/layers/IEthernetSpecific.java deleted file mode 100644 index a685525b99109103639fa70e79f9f4c5c03fbb27..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/IEthernetSpecific.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Implementations of IUT specific settings for Ethernet support - * - * @author ETSI / STF424 - * @version $URL:$ - * $Id:$ - * - */ -package org.etsi.its.adapter.layers; - -/** - * Implementations of IUT specific settings for Ethernet support - */ -public interface IEthernetSpecific { - - /** - * Gets the Ethernet frame type for upper layer packets - * @return The Ethernet frame type value - */ - public short getEthernetType(); - -} // End of interface IEthernetSpecific diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/IicpLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/IicpLayer.java deleted file mode 100644 index 651b9f56a3dbbfb37bde246facd001065d7912f5..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/IicpLayer.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.util.Map; -import java.util.Stack; - -import org.etsi.adapter.TERFactory; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.ttcn.tci.CharstringValue; - -/** - * Implementation of ITS IICP layer - */ -public class IicpLayer extends Layer implements IEthernetSpecific { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public IicpLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - return super.send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - super.receive(message, lowerInfo); - } - -} // End of class FntpLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/Layer.java b/javasrc/adapter/org/etsi/its/adapter/layers/Layer.java deleted file mode 100644 index e988fc5515f0bc78a0f964b849fcf4604371fadb..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/Layer.java +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Layer abstract class implementing generic behaviour of a protocol layer - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers; - -import java.util.Map; -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; - -/** - * Layer abstract class implementing generic behaviour of a protocol layer - */ -public abstract class Layer { - - /** - * Parameter name for reception timestamp - */ - public static final String RECEPTION_TIMESTAMP = "ReceptionTimestamp"; - - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public Layer(IManagementLayers management, Stack lowerStack) { - this.management = management; - this.lowerStack = lowerStack; - this.initialized = false; - } - - /** - * Initialises lower stack - */ - protected void initialize() { - if(!initialized && lowerStack != null && !lowerStack.isEmpty()) { - lowerLayerName = lowerStack.pop(); - lowerLayer = LayerFactory.getInstance().createLayer(management, lowerLayerName, lowerStack); - lowerLayer.register(this); - } - initialized = true; - } - - /** - * Transmits a message to registered lower layer after encapsulation - * @param message Encoded message to be sent - * @param params Layer parameters for sending message - * @return true if send operation is successful, false otherwise - */ - public boolean send(byte[] message, Map params) { - if(lowerLayer != null) { - return lowerLayer.send(message, params); - } - return true; - } - - /** - * Callback method invoked by registered lower layer upon message reception from lower stack - * @param message Message received from lower layer - * @param lowerInfo Additional information transmitted by lower layers - * @param receptionTime Message reception time - */ - public void receive(byte[] message, Map lowerInfo) { - if(registeredUpperLayer != null) { - registeredUpperLayer.receive(message, lowerInfo); - } - } - - /** - * Registers an upper layer. - * This method will also cause current layer to initialise its lower stack - * Messages received from lower layer will now be transmitted to upper layer, if necessary - * @param upperLayer Instance of the upper layer - */ - public void register(Layer upperLayer) { - registeredUpperLayer = upperLayer; - initialize(); - } - - /** - * Unregisters upper layer. - * This method will also cause current layer to unregister from its lower layer - * @param upperLayer - */ - public void unregister(Layer upperLayer) { - registeredUpperLayer = null; - if(lowerLayer != null) { - lowerLayer.unregister(this); - } - } - - /** - * Name of the lower layer - */ - protected String lowerLayerName; - - /** - * Registered upper layer instance - */ - protected Layer registeredUpperLayer = null; - - /** - * Lower layer instance - */ - protected Layer lowerLayer = null; - - /** - * Management instance - */ - protected IManagementLayers management = null; - - /** - * Lower stack - */ - private Stack lowerStack; - - /** - * Set to true if lower stack has been initialised (true if layer is operational), false otherwise - */ - private boolean initialized; -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/LayerFactory.java b/javasrc/adapter/org/etsi/its/adapter/layers/LayerFactory.java deleted file mode 100644 index 65ec1c681038e61264ee90e80a268e7b455385a9..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/LayerFactory.java +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Layer factory (Singleton) - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers; - -import java.lang.reflect.Constructor; -import java.util.Map; -import java.util.Stack; -import java.util.TreeMap; - -import org.etsi.adapter.TERFactory; -import org.etsi.its.adapter.IManagementLayers; - -/** - * Layer factory (Singleton) - */ -public class LayerFactory { - - /** - * Unique instance of the factory - */ - private static LayerFactory instance = new LayerFactory(); - - /** - * List of the registered layer types - */ - protected Map> layers = new TreeMap>(); - - /** - * Private constructor (Singleton pattern) - */ - private LayerFactory() { - // Register the layers - layers.put("BTP", BtpLayer.class); - layers.put("GN", GnLayer.class); - layers.put("G5", G5Layer.class); - layers.put("ETH", EthernetLayer.class); - layers.put("UdpIp", UdpIpLayer.class); - layers.put("UdpIpCSG", UdpIpCommsigniaLayer.class); - layers.put("CSG", CommsigniaLayer.class); - layers.put("UdpIpMarben", UdpIpMarbenLayer.class); - -// layers.put("Loopback", LoopbackLayer.class); -// layers.put("Debug", DebugLayer.class); -// layers.put("CamSource", CamSourceLayer.class); -// layers.put("DenmSource", DenmSourceLayer.class); -// layers.put("GnSource", GnSourceLayer.class); -// layers.put("BtpSource", BtpSourceLayer.class); -// layers.put("Gn6Source", Gn6SourceLayer.class); - } - - /** - * Gets the unique factory instance - * @return LayerFactory instance - */ - public static LayerFactory getInstance(){ - return instance; - } - - /** - * Creates a port of the desired type - * @param management Layer management instance - * @param layerName Name of the layer - * @param lowerStack Lower protocol stack - * @return Protocol port instance - */ - public Layer createLayer(IManagementLayers management, String layerName, Stack lowerStack) { - //TERFactory.getInstance().logDebug(">>> LayerFactory.createLayer: " + layerName); - Layer layer = null; - Class[] ctorParams = {IManagementLayers.class, lowerStack.getClass()}; - - try { - Class cls = layers.get(layerName); - if (cls == null) { - throw new RuntimeException("No class registered under " + layerName); - } - Constructor ctor = cls.getConstructor(ctorParams); - layer = ctor.newInstance(management, lowerStack); - } catch (Exception ex) { - ex.printStackTrace(); - } - return layer; - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpCommsigniaLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpCommsigniaLayer.java deleted file mode 100644 index e49b590ceadad3d0a3a91f3f0f26c8b43ad2fe1d..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpCommsigniaLayer.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.nio.ByteBuffer; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.UdpMultiplexer; - -public class UdpIpCommsigniaLayer extends UdpIpLayer { - - private static String UdpAddress = "80.98.62.165"; //"10.200.1.101"; // FIXME Use a generic way to retrieve UDP settings - - private static int UdpRecvPort = 18501; // FIXME Use a generic way to retrieve UDP settings - - private static int UdpSendPort = 18502; // FIXME Use a generic way to retrieve UDP settings - - private Map clientsToFrameTypes = new HashMap(); - - public UdpIpCommsigniaLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - UdpMultiplexer.getInstance().UdpAddress = UdpAddress; - UdpMultiplexer.getInstance().UdpRecvPort = UdpRecvPort; - UdpMultiplexer.getInstance().UdpSendPort = UdpSendPort; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#register(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void register(Layer upperLayer) { - if(registeredUpperLayer == null) { - super.register(upperLayer); - // Workaround for Commsignia CAM send module - Map lowerInfo = new HashMap(); - lowerInfo.put(UdpMultiplexer.getInstance().UDP_PORT_KEY, new Integer(UdpRecvPort).toString()); - super.send(new byte[] { (byte)0xAA, (byte)0xAA, (byte)0xAA, (byte)0xAA }, lowerInfo); - } else { - super.register(upperLayer); - } - clientsToFrameTypes.put(this.toString(), upperLayerFrameType); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - super.unregister(upperLayer); - clientsToFrameTypes.remove(this.toString(), upperLayerFrameType); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - //TERFactory.getInstance().logDebug("UdpIpLayer.send: " + ByteHelper.byteArrayToString(message)); - - byte[] dst = (byte[])params.get(LINK_LAYER_DESTINATION); - if(dst == null) { - dst = MAC_BROADCAST; - } - - byte[] buffer = ByteHelper.concat( - new byte[] { (byte) 0xe0 }, - localMacAddress, - dst, - ByteHelper.intToByteArray(message.length, Short.SIZE / Byte.SIZE) , - message - ); - - return super.send(buffer, params); - } - - public void receive(byte[] message, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> UdpIpLayer.run: Receive packet from " + packet.getSocketAddress() + "/" + packet.getPort()); - - if (message.length < 36) { - // Skip it - return; - } - - ByteBuffer byteBuffer = ByteBuffer.wrap(message); - //TERFactory.getInstance().logDebug("UdpIpLayer.run: Receive packet from " + ByteHelper.byteArrayToString(byteBuffer.array())); - - // Skip IEEE 802.11L Layer: 88 00 00 00 00 - byteBuffer.position(4); - - // Extract Dst - byte[] dst = new byte[6]; - byteBuffer.get(dst, 0, dst.length); - lowerInfo.put(EthernetLayer.LINK_LAYER_DESTINATION, dst); - - // Skip Src - byteBuffer.position(byteBuffer.position() + 6); - - // Skip LLC header - byteBuffer.position(byteBuffer.position() + 16); - - // Extract FrameType info - byte[] rawFrameType = new byte[2]; - byteBuffer.get(rawFrameType, 0, rawFrameType.length); - short frameType = ByteHelper.byteArrayToInt(rawFrameType).shortValue(); - - if (clientsToFrameTypes.containsKey(this.toString())) { - if(frameType == clientsToFrameTypes.get(this.toString())) { - if(Arrays.equals(dst, MAC_BROADCAST) || Arrays.equals(dst, localMacAddress)) { - if(registeredUpperLayer != null) { - // Extract Data - byte[] data = new byte[byteBuffer.remaining() - 4]; // Remove CRC added by the device - byteBuffer.get(data, 0, byteBuffer.remaining() - 4); - - registeredUpperLayer.receive(data, lowerInfo); - } - } - } - } - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpLayer.java deleted file mode 100644 index afde6f35a3358772d78840c1f174323d245be8b9..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpLayer.java +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Implementation of Udp layer using jpcap (background thread) - * - * @author ETSI / STF424 - * @version $URL: https://forge.etsi.org/svn/ITS/branches/STF517/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpLayer.java $ - * $Id: UdpIpLayer.java 2518 2016-09-02 05:27:47Z garciay $ - * - */ -package org.etsi.its.adapter.layers; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Map; -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.UdpMultiplexer; - -/** - * Implementation of Udp layer using jpcap (background thread) - */ -public class UdpIpLayer extends Layer { - - /** - * Well-known Udp broadcast address - */ - public static byte[] MAC_BROADCAST = new byte[]{(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF}; - - /** - * Parameter name for Link-Layer destination - */ - public static final String LINK_LAYER_DESTINATION = "LinkLayerDestination"; - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public UdpIpLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#register(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void register(Layer upperLayer) { - if(registeredUpperLayer == null) { - super.register(upperLayer); - - try { - Method getEthernetType = registeredUpperLayer.getClass().getMethod("getEthernetType", (Class[])null); - if (getEthernetType != null) { - upperLayerFrameType = (Short) getEthernetType.invoke(registeredUpperLayer, (Object[]) null); - } - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - - localMacAddress = management.getLinkLayerAddress(); - UdpMultiplexer.getInstance().register(this, localMacAddress, upperLayerFrameType); - - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - - byte[] dst = (byte[])params.get(LINK_LAYER_DESTINATION); - if(dst == null) { - dst = MAC_BROADCAST; - } - - byte[] sent = UdpMultiplexer.getInstance().send(this, dst, message, params); - - return super.send(sent, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - - UdpMultiplexer.getInstance().unregister(this); - } - - /** - * Local Udp address - */ - protected byte[] localMacAddress; - - /** - * Upper layer's frame type - */ - protected short upperLayerFrameType; - -} - diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpMarbenLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpMarbenLayer.java deleted file mode 100644 index c52cfb90e18bec5f8ae256e974a68306cc770b90..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/UdpIpMarbenLayer.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.etsi.its.adapter.layers; - -import java.nio.ByteBuffer; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.UdpMultiplexer; - -public class UdpIpMarbenLayer extends UdpIpLayer { - - // Marben 88:ceres 182:Jupiter VM32G - private static String UdpAddress = "192.168.7.182"; //"10.200.1.101"; // FIXME Use a generic way to retrieve UDP settings - - private static int UdpRecvPort = 3751; //18501; // FIXME Use a generic way to retrieve UDP settings - - private static int UdpSendPort = 3750; //18502; // FIXME Use a generic way to retrieve UDP settings - - private Map clientsToFrameTypes = new HashMap(); - - public UdpIpMarbenLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - UdpMultiplexer.getInstance().UdpAddress = UdpAddress; - UdpMultiplexer.getInstance().UdpRecvPort = UdpRecvPort; - UdpMultiplexer.getInstance().UdpSendPort = UdpSendPort; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#register(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void register(Layer upperLayer) { - if(registeredUpperLayer == null) { - super.register(upperLayer); - // Workaround for Marben CAM send module - Map lowerInfo = new HashMap(); - lowerInfo.put(UdpMultiplexer.getInstance().UDP_PORT_KEY, new Integer(UdpRecvPort).toString()); - super.send(new byte[] { (byte)0xAA, (byte)0xAA, (byte)0xAA, (byte)0xAA }, lowerInfo); - } else { - super.register(upperLayer); - } - clientsToFrameTypes.put(this.toString(), upperLayerFrameType); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - super.unregister(upperLayer); - clientsToFrameTypes.remove(this.toString(), upperLayerFrameType); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - System.out.println("UdpIpMarbenLayer.send: " + ByteHelper.byteArrayToString(message)); - - return super.send(message, params); // ML(Marben) : no lower header added - } - - public void receive(byte[] message, Map lowerInfo) { - - System.out.println("UdpIpMarbenLayer.run: Received packet " + ByteHelper.byteArrayToString(message)); - - lowerInfo.put(EthernetLayer.LINK_LAYER_DESTINATION, MAC_BROADCAST); - - registeredUpperLayer.receive(message, lowerInfo); // no MAC+LLC headers expected for Marben (ML) - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/BtpSourceLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/BtpSourceLayer.java deleted file mode 100644 index 2cd0a50ee8dee45d350fcada33ecf5c67d49ea46..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/BtpSourceLayer.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * BTP source pseudo layer. It forwards a BTP message to upper layer every second - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL: svn+ssh://vcs.etsi.org/TTCN3/TOOL/ITS_TestPlatform/trunk/javasrc/adapter/org/etsi/its/adapter/layers/test/CamSourceLayer.java $ - * $Id: CamSourceLayer.java 146 2011-04-21 11:33:57Z berge $ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.layers.GnLayer; - -/** - * BTP source pseudo layer. It forwards a BTP message to upper layer every second - */ -public class BtpSourceLayer extends SourceLayer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public BtpSourceLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - // Do not forget to modify line 40/41 when switching from BTP-A to BTP-B - //message = _btpa/*_btpb*/; - message = _btpb_payload/*_btpa_payload*/; - } - - @Override - public void run() { - while(running) { - MaplowerInfo = new HashMap(); - //lowerInfo.put(GnLayer.GN_NEXTHEADER, 1); // BTP-A - lowerInfo.put(GnLayer.GN_NEXTHEADER, 2); // BTP-B - super.receive(message, lowerInfo); - try { - Thread.sleep(SOURCE_INTERVAL); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - /** - * BTP A message - * - * This header causes a TC failure because of payload expected - */ - @SuppressWarnings("unused") - private byte[] _btpa = new byte[]{ - (byte)0x02, (byte)0x3c, // destinationPort: 572 - (byte)0x02, (byte)0x3b // sourcePort: 571 - }; - - /** - * BTP A message - */ - @SuppressWarnings("unused") - private byte[] _btpa_payload = new byte[]{ - (byte)0x02, (byte)0x3c, // destinationPort: 572 - (byte)0x02, (byte)0x3b, // sourcePort: 571 - (byte)0xde, (byte)0xce, (byte)0xa5, (byte)0xed - }; - - /** - * BTP B message - * - * This header causes a TC failure because of payload expected - */ - @SuppressWarnings("unused") - private byte[] _btpb = new byte[]{ - (byte)0x02, (byte)0x3c, // destinationPort: 572 - (byte)0x02, (byte)0x3d // destinationPortInfo: 573 - }; - - /** - * BTP B message - */ - private byte[] _btpb_payload = new byte[]{ - (byte)0x02, (byte)0x3c, // destinationPort: 572 - (byte)0x02, (byte)0x3d, // destinationPortInfo: 573 - (byte)0xbe, (byte)0xef, (byte)0xde, (byte)0xad - }; - -} // End of class BtpSourceLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/CamSourceLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/CamSourceLayer.java deleted file mode 100644 index 3430bdc014c3c6304ecaa3c107bfa1634b208977..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/CamSourceLayer.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * CAM source pseudo layer. It forwards a CAM message to upper layer every second - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; - -/** - * CAM source pseudo layer. It forwards a CAM message to upper layer every second - */ -public class CamSourceLayer extends SourceLayer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public CamSourceLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - //message = new byte[]{}; - } - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/DebugLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/DebugLayer.java deleted file mode 100644 index 8636b0a0937aa8af90b50cf7caea77c6d15f2a45..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/DebugLayer.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Pseudo layer that prints what it receives from upper layer - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.Map; -import java.util.Stack; - -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.layers.Layer; - -/** - * Pseudo layer that prints what it receives from upper layer - */ -public class DebugLayer extends Layer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public DebugLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - - ByteHelper.dump("Sending: ", message); - return true; - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/DenmSourceLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/DenmSourceLayer.java deleted file mode 100644 index 9daf9b6b2a39870a7bd44a7a635b878038ec1abf..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/DenmSourceLayer.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * DENM source pseudo layer. It forwards a DENM message to upper layer every second - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; - -/** - * DENM source pseudo layer. It forwards a DENM message to upper layer every second - */ -public class DenmSourceLayer extends SourceLayer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public DenmSourceLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - message = new byte[]{}; - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/Gn6SourceLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/Gn6SourceLayer.java deleted file mode 100644 index 55acda03a03c415e2236abe0266dba55b8f34db0..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/Gn6SourceLayer.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * GeoNetworking over IPv6 source pseudo layer. It forwards a BTP message to upper layer every second - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL: svn+ssh://vcs.etsi.org/TTCN3/TOOL/ITS_TestPlatform/trunk/javasrc/adapter/org/etsi/its/adapter/layers/test/CamSourceLayer.java $ - * $Id: CamSourceLayer.java 146 2011-04-21 11:33:57Z berge $ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; - -/** - * GeoNetworking over IPv6 source pseudo layer. It forwards a BTP message to upper layer every second - */ -public class Gn6SourceLayer extends SourceLayer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public Gn6SourceLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - // message = - } - - /** - * AcGn6InterfaceInfoList message - */ - @SuppressWarnings("unused") - private byte[] _acGn6InterfaceInfoList = new byte[]{ - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03, // Number of items - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0c, // Length of the interface name #0 - (byte)0x49, (byte)0x6e, (byte)0x74, (byte)0x65, (byte)0x72, (byte)0x66, (byte)0x61, (byte)0x63, (byte)0x65, (byte)0x20, (byte)0x23, (byte)0x30, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03, // Number of Ipv6Address - (byte)0x10, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x70, // Ipv6Address #1 - (byte)0x10, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x71, // Ipv6Address #2 - (byte)0x10, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x72, // Ipv6Address #3 - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0c, // Length of the interface name #1 - (byte)0x49, (byte)0x6e, (byte)0x74, (byte)0x65, (byte)0x72, (byte)0x66, (byte)0x61, (byte)0x63, (byte)0x65, (byte)0x20, (byte)0x23, (byte)0x31, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03, // Number of Ipv6Address - (byte)0x20, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x70, // Ipv6Address #1 - (byte)0x20, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x71, // Ipv6Address #2 - (byte)0x20, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x72, // Ipv6Address #3 - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0c, // Length of the interface name #2 - (byte)0x49, (byte)0x6e, (byte)0x74, (byte)0x65, (byte)0x72, (byte)0x66, (byte)0x61, (byte)0x63, (byte)0x65, (byte)0x20, (byte)0x23, (byte)0x32, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03, // Number of Ipv6Address - (byte)0x30, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x70, // Ipv6Address #1 - (byte)0x30, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x71, // Ipv6Address #2 - (byte)0x30, (byte)0x01, (byte)0x06, (byte)0x18, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x51, (byte)0x99, (byte)0xcc, (byte)0x72 // Ipv6Address #3 - }; - -} // End of class Gn6SourceLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/GnSourceLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/GnSourceLayer.java deleted file mode 100644 index b2542fc99dd1b5bb4f21f59a899fa5fa02f1e6f5..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/GnSourceLayer.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * GeoNetworking source pseudo layer. It forwards a GN message to upper layer every second - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; - -/** - * GeoNetworking source pseudo layer. It forwards a GN message to upper layer every second - */ -public class GnSourceLayer extends SourceLayer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public GnSourceLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - message = lsRequest/*beacon*/; - } - - /** - * Beacon message - */ - @SuppressWarnings("unused") - private byte[] beacon = new byte[]{ - // CommonHdr - (byte)0x00, (byte)0x10, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff, - // SEPV - // GN_ADDR - (byte)0xcc, (byte)0x2a, (byte)0xab, (byte)0xcd, - (byte)0xef, (byte)0xab, (byte)0xcd, (byte)0xe2, - // TST - (byte)0x4a, (byte)0x27, (byte)0x87, (byte)0x79, - // Lat - (byte)0x00, (byte)0x00, (byte)0x7e, (byte)0xca, - // Long - (byte)0x00, (byte)0x00, (byte)0x30, (byte)0xaa, - // Speed + Heading - (byte)0x00, (byte)0x00, (byte)0x30, (byte)0xaa, - // Alt + acc - (byte)0x00, (byte)0x00, (byte)0x30, (byte)0xaa - }; - - /** - * LS-Request - */ - private byte[] lsRequest = new byte[]{ - // CommonHdr - (byte)0x00, (byte)0x60, (byte)0x00, (byte)0x00, - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xFF, - // SEPV - // GN_ADDR - (byte)0x00, (byte)0x42, (byte)0xDE, (byte)0xAD, - (byte)0xBE, (byte)0xEF, (byte)0x00, (byte)0x01, - // TST - (byte)0x54, (byte)0x84, (byte)0x75, (byte)0x10, - // Lat - (byte)0x42, (byte)0x54, (byte)0x00, (byte)0x00, - // Long - (byte)0x07, (byte)0x54, (byte)0x00, (byte)0x00, - // Speed + Heading - (byte)0x00, (byte)0x10, (byte)0x00, (byte)0x00, - // Alt + acc - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - // SN + LT - (byte)0x00, (byte)0x42, (byte)0x33, (byte)0x00, - // SOPV - // GN_ADDR - (byte)0x00, (byte)0x42, (byte)0xDE, (byte)0xAD, - (byte)0xBE, (byte)0xEF, (byte)0x00, (byte)0x02, - // TST - (byte)0x54, (byte)0x84, (byte)0x75, (byte)0x10, - // Lat - (byte)0x42, (byte)0x54, (byte)0x00, (byte)0x00, - // Long - (byte)0x07, (byte)0x54, (byte)0x00, (byte)0x00, - // Speed + Heading - (byte)0x00, (byte)0x10, (byte)0x00, (byte)0x00, - // Alt + acc - (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - // Target Gn_Address - (byte)0x00, (byte)0x42, (byte)0xDE, (byte)0xAD, - (byte)0xBA, (byte)0xBE, (byte)0xBE, (byte)0xEF - }; -} // End of class GnSourceLayer diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/LoopbackLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/LoopbackLayer.java deleted file mode 100644 index 9705cfb83e347c4cbc2079e4730e03e977863c0a..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/LoopbackLayer.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Pseudo layer that sends back what it receives from upper layer - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.Layer; - -/** - * Pseudo layer that sends back what it receives from upper layer - */ -public class LoopbackLayer extends Layer { - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public LoopbackLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - HashMap lowerInfo = new HashMap(); - lowerInfo.put(EthernetLayer.LINK_LAYER_DESTINATION, new byte[] {(byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF}); - super.receive(message, lowerInfo); - return super.send(message, params); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/layers/test/SourceLayer.java b/javasrc/adapter/org/etsi/its/adapter/layers/test/SourceLayer.java deleted file mode 100644 index bbd40932019a5b3817643df3ebae72a8232c54aa..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/layers/test/SourceLayer.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Abstract class for packet source pseudo layers. It forwards a message to upper layer every second - * SHALL NOT BE INCLUDED IN RELEASE - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.layers.test; - -import java.util.HashMap; -import java.util.Stack; - -import org.etsi.its.adapter.IManagementLayers; -import org.etsi.its.adapter.layers.Layer; - -/** - * Abstract class for packet source pseudo layers. It forwards a message to upper layer every second - */ -public abstract class SourceLayer extends Layer implements Runnable { - - /** - * Default interval for sending messages - */ - protected static final long SOURCE_INTERVAL = 1000; - - /** - * Constructor - * @param management Layer management instance - * @param lowerStack Lower protocol stack - */ - public SourceLayer(IManagementLayers management, Stack lowerStack) { - super(management, lowerStack); - } - - /** - * Thread function for sending periodic messages - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - while(running) { - super.receive(message, new HashMap()); - try { - Thread.sleep(SOURCE_INTERVAL); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#register(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void register(Layer upperLayer) { - running = true; - sourceThread = new Thread(this); - sourceThread.start(); - super.register(upperLayer); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#unregister(org.etsi.its.adapter.layers.Layer) - */ - @Override - public void unregister(Layer upperLayer) { - if(running) { - running = false; - try { - sourceThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - super.unregister(upperLayer); - } - - /** - * Indicates whether the source is still active. Setting this field to false will cause - * the sending thread to stop its execution. - */ - protected boolean running; - - /** - * Sending thread instance. - */ - private Thread sourceThread; - - /** - * Message to be sent periodically - */ - protected byte[] message = "DUMMY".getBytes(); -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/AdapterControlPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/AdapterControlPort.java deleted file mode 100644 index cb767d45dd154dd3c31fa2b1943db1bfd899c731..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/AdapterControlPort.java +++ /dev/null @@ -1,345 +0,0 @@ -/** - * Adapter control port implementation for dynamic interactions with Test Adapter - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import org.etsi.adapter.GnssSupportFactory; -import org.etsi.adapter.IGnssSupport; -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.Management; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tri.TriStatus; - -/** This class implements behaviour for Adapter controller port - * - */ - -public class AdapterControlPort extends AdapterPort implements IPort, IObservable { - - /* AdapterControl Primitives */ - private static final byte AcGnPrimitive = 0; - private static final byte AcGn6Primitive = 1; - private static final byte AcGnssPrimitive = 2; - private static final byte AcSecPrimitive = 3; - - /* AdapterControl Response */ - private static final byte AcGnResponse = 0; - //private static final byte AcGn6Response = 1; - public static final byte AcGnssResponse = 2; - public static final byte AcGnssDistanceCovered = 3; - public static final byte AcGnssTimeReached = 4; - public static final byte AcSecResponse = 5; - - /* GN Commands */ - private static final byte AcStartBeaconing = 0; - private static final byte AcStopBeaconing = 1; - private static final byte AcStartPassBeaconing = 2; - private static final byte AcStopPassBeaconing = 3; - private static final byte AcStartBeaconingMultipleNeighbour = 4; - private static final byte AcStopBeaconingMultipleNeighbour = 5; - private static final byte AcGetLongPosVector = 6; - - /* GN Responses */ - protected static final byte AcGnResponseFailure = 0; - protected static final byte AcLongPosVector = 6; - - /* SCENARIO commands */ - private static final byte AcLoadScenario = 0x70; - private static final byte AcStartScenario = 0x71; - private static final byte AcStopScenario = 0x72; - private static final byte AcAwaitDistanceToCover = 0x73; - private static final byte AcChangeSpead = 0x74; - private static final byte AcChangeHeading = 0x75; - private static final byte AcAwaitTimeInRunningScenario = 0x76; - - /* Set the certificate to be used by the Test Adapter */ - private static final byte AcEnableSecurity = 0x7a; - private static final byte AcDisableSecurity = 0x7b; - - - public static final byte AcTrue = 0x01; - public static final byte AcFalse = 0x00; - - private static final String GNSS_SCENARIO_SUPPORT = "GnssScenarioSupport"; - private IGnssSupport GNSS; - private boolean isScenarioStarted = false; - private boolean gnssScenarioSupport; - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - */ - public AdapterControlPort(final String portName, final String componentName) { - super(portName, componentName); - try { - gnssScenarioSupport = ((BooleanValue) TERFactory.getInstance().getTaParameter(GNSS_SCENARIO_SUPPORT)).getBoolean(); - } - catch (Throwable th) { - gnssScenarioSupport = false; - } - if (gnssScenarioSupport) { - GNSS = GnssSupportFactory.getInstance(); - } - } - - @Override - public boolean send(final byte[] message) { - - boolean result = true; - try { - // Decode non protocol part - switch(message[0]) { - case AcGnPrimitive: { - byte[] data = ByteHelper.extract(message, 2, message.length - 2); - switch (message[1]) { - case AcGetLongPosVector: - ProcessAcGetLongPosVector(data); - break; - case AcStartBeaconing: - Management.getInstance(getComponentName()).startBeaconing(data); - break; - case AcStopBeaconing: - Management.getInstance(getComponentName()).stopBeaconing(); - break; - case AcStartPassBeaconing: - Management.getInstance(getComponentName()).startEnqueueingBeacons(data); - break; - case AcStopPassBeaconing: - Management.getInstance(getComponentName()).stopEnqueueingBeacons(); - break; - case AcStartBeaconingMultipleNeighbour: - // TODO - break; - case AcStopBeaconingMultipleNeighbour: - // TODO - break; - } - } - break; - case AcGn6Primitive: - /* FIXME - try { - byte[] buf = new byte[4096]; - DatagramSocket remoteAdapterSocket = new DatagramSocket(); - InetAddress remoteAdapterAddress = InetAddress.getByName(((CharstringValue)TERFactory.getInstance().getTaParameter("Gn6RemoteAdapterIp")).getString()); - int remoteAdapterPort = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("Gn6RemoteAdapterPort")).getString()); - - DatagramPacket command = new DatagramPacket(new byte[] {CMD_IFACES}, 1, remoteAdapterAddress, remoteAdapterPort); - DatagramPacket response = new DatagramPacket(buf, buf.length); - - remoteAdapterSocket.send(command); - remoteAdapterSocket.receive(response); - - byte[] data = ByteHelper.extract(response.getData(), response.getOffset(), response.getLength()); - if(data[0] == RPL_IFACES) { - // enqueue response... - byte[] buffer = impl.Encode(TestAdapterMessageTypeEnum.AcGn6Response, ByteHelper.extract(data, 1, data.length - 1), new Date().getTime()); - setChanged(); - notifyObservers(new PortEvent(buffer, getPortName(), getComponentName())); - } - } catch (SocketException e) { - e.printStackTrace(); - } catch (UnknownHostException e) { - e.printStackTrace(); - } - */ - break; - case AcGnssPrimitive: - if (gnssScenarioSupport) { - byte[] data = ByteHelper.extract(message, 2, message.length - 2); - switch (message[1]) { - case AcLoadScenario: - LoadScenario(ByteHelper.byteArrayToShort(data)); - break; - case AcStartScenario: - StartScenario(); - break; - case AcStopScenario: - StopScenario(); - break; - case AcAwaitDistanceToCover: - Float distance = ByteHelper.byteArrayToFloat(data); - AwaitDistanceToCover(distance); - break; - case AcChangeSpead: -// ChangeSpeed(speed); - break; - case AcChangeHeading: -// ChangeHeading(heading); - break; - case AcAwaitTimeInRunningScenario: - int time = ByteHelper.byteArrayToInt(data); - AwaitTimeInRunningScenario(time); - break; - } - } - else { - TERFactory.getInstance().getTriStatus(TriStatus.TRI_OK, "AcGnssPrimitive cannot be handled as the " - + GNSS_SCENARIO_SUPPORT + " is set to false!"); - result = false; - } - break; - case AcSecPrimitive: - switch (message[1]) { - case AcEnableSecurity: - byte[] data = ByteHelper.extract(message, 2, message.length - 2); - ProcessAcEnableSecurity(data); - break; - case AcDisableSecurity: - ProcessAcDisableSecurity(); - break; - } // End of 'switch' statement - break; - default: - ByteHelper.dump("Unsupported AC primitive", message); - break; - } // End of 'switch' statement - - return result; - } catch (Exception e) { - e.printStackTrace(); - } - - return false; - } // End of method send - - /** - * Processes AcGetLongPosVector command - * @param data - */ - private void ProcessAcGetLongPosVector(final byte[] gnAddress) { - - new Thread(new Runnable() { - @Override - public void run() { - - byte[] response = null; - byte[] responseHdr = {(byte)AcGnResponse, (byte)0x00}; - byte[] longPosVector = Management.getInstance(getComponentName()).getLongPositionVector(gnAddress); - if((longPosVector == null) || (longPosVector.length == 0)) { - responseHdr[1] = (byte)AcGnResponseFailure; - response = ByteHelper.concat(responseHdr, new byte[]{AcTrue}); - } - else { - responseHdr[1] = (byte)AcLongPosVector; - response = ByteHelper.concat(responseHdr, longPosVector); - } - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void LoadScenario(final int scenario) { - new Thread(new Runnable() { - @Override - public void run() { - boolean result = GNSS.loadScenario(scenario); - byte[] response = {(byte)AcGnssResponse, (byte)(result?AcTrue:AcFalse)}; - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void StartScenario() { - new Thread(new Runnable() { - @Override - public void run() { - isScenarioStarted = GNSS.startScenario(); - byte[] response = {(byte)AcGnssResponse, (byte)(isScenarioStarted?AcTrue:AcFalse)}; - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void StopScenario() { - new Thread(new Runnable() { - @Override - public void run() { - boolean result = GNSS.stopScenario(); - isScenarioStarted = !result; - byte[] response = {(byte)AcGnssResponse, (byte)(isScenarioStarted?AcFalse:AcTrue)}; - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void AwaitDistanceToCover(final double distance) { - new Thread(new Runnable() { - @Override - public void run() { - boolean result = GNSS.awaitDistanceToCover(AdapterControlPort.this, distance); - byte[] response = {(byte)AcGnssResponse, (byte)(result?AcFalse:AcTrue)}; - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void AwaitTimeInRunningScenario(final int time) { - new Thread(new Runnable() { - @Override - public void run() { - boolean result = GNSS.awaitTimeInRunningScenario(AdapterControlPort.this, time); - byte[] response = {(byte)AcGnssResponse, (byte)(result?AcFalse:AcTrue)}; - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void ProcessAcEnableSecurity(final byte[] data) { - new Thread(new Runnable() { - @Override - public void run() { - Management.getInstance(getComponentName()).setSecuredMode(data); - byte[] response = {(byte)AcSecResponse, (byte)AcTrue }; - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - private void ProcessAcDisableSecurity() { - new Thread(new Runnable() { - @Override - public void run() { - Management.getInstance(getComponentName()).unsetSecuredMode(); - byte[] response = {(byte)AcSecResponse, (byte)AcTrue }; - - setChanged(); - notifyObservers(new PortEvent(response, getPortName(), getComponentName())); - } - }).start(); - } - - - @Override - public void dispose() { - if (gnssScenarioSupport) { - if (GNSS!=null) { - if (isScenarioStarted) { - GNSS.stopScenario(); - } - GNSS.dispose(); - } - GNSS = null; - } - } - -} // End of class AdapterControlPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/AdapterPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/AdapterPort.java deleted file mode 100644 index 0791f31eae928cb9cfbb89ddcd2b46c495bb1abb..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/AdapterPort.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Abstract class for Adapter-related port implementations - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.Observable; -import java.util.Observer; - -/** - * Abstract class for Adapter-related port implementations - */ -public abstract class AdapterPort implements IPort, IObservable { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - */ - public AdapterPort(final String portName, final String componentName) { - this.portName = portName; - this.componentName = componentName; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#getPortName() - */ - @Override - public String getPortName() { - return portName; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#getComponentName() - */ - @Override - public String getComponentName() { - return componentName; - } - - /** - * Marks this Observable object as having been changed - */ - public void setChanged() { - observable.setChanged(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IObservable#notifyObservers(java.lang.Object) - */ - @Override - public void notifyObservers(Object arg) { - observable.notifyObservers(arg); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IObservable#addObserver(java.util.Observer) - */ - @Override - public void addObserver(Observer observer) { - observable.addObserver(observer); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IObservable#deleteObservers() - */ - @Override - public void deleteObservers() { - observable.deleteObservers(); - } - - /** - * Embedded object for implementing Observable behaviour - */ - private ObservablePort observable = new ObservablePort(); - - /** - * Name of the port - */ - private String portName; - - /** - * Name of the component owner; needed for enqueueing message - */ - private String componentName; - - /** - * Nested class for implementing Observable behaviour - */ - private class ObservablePort extends Observable implements IObservable { - - /* (non-Javadoc) - * @see java.util.Observable#setChanged() - */ - @Override - public void setChanged() { - super.setChanged(); - } - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/AtspPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/AtspPort.java deleted file mode 100644 index 5b1b5c64f127a9f229b33db3e89b25d706c1a03c..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/AtspPort.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.IEthernetSpecific; -import org.etsi.ttcn.tci.CharstringValue; - -public class AtspPort extends ProtocolPort implements IEthernetSpecific { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public AtspPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - // Encode with IicpInd indication header - // Extract LINK_LAYER_DESTINATION - byte[] iicpInd = ByteHelper.concat(message, (byte[])lowerInfo.get(EthernetLayer.LINK_LAYER_DESTINATION)); - super.receive(iicpInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - ByteHelper.dump("AtspPort.send", message); - HashMap params = new HashMap(); - return send(message, params); - } - - public boolean triggerInSapPrimitiveUp(byte[] inSapPrimitiveUp) { - ByteHelper.dump("AtspPort.triggerInSapPrimitiveUp", inSapPrimitiveUp); - HashMap params = new HashMap(); - params.put(EthernetLayer.LINK_LAYER_DESTINATION, management.getLinkLayerAddress()); - return send(inSapPrimitiveUp, params); - } - -} // End of class FntpPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/BtpPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/BtpPort.java deleted file mode 100644 index 6229e38c1420e22f807abc3e0bb4e2bb8aa40b36..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/BtpPort.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * BTP port implementation - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.BtpLayer; -import org.etsi.its.adapter.layers.GnLayer; - -/** - * BTP port implementation - */ -public class BtpPort extends ProtocolPort { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public BtpPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - - // Encode with GN next header info - BTP A or BTP B - byte[] msgInd = ByteHelper.concat( - new byte[] { ((Byte)(lowerInfo.get(GnLayer.GN_NEXTHEADER))).byteValue() }, - message - ); - super.receive(msgInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - - HashMap params = new HashMap(); - switch (message[0]) { - case 1: - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_A); - params.put(GnLayer.GN_NEXTHEADER, "BTP-A"); - break; - case 2: - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_B); - params.put(GnLayer.GN_NEXTHEADER, "BTP-B"); - break; - default: - //otherwise GN next header is ANY - break; - } - params.put(BtpLayer.BTP_DSTPORT, 2001); - params.put(BtpLayer.BTP_SRCPORT, 500); - params.put(GnLayer.GN_TYPE, GnLayer.HT_TSB); - params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_MULTIHOP); - - byte[] msg2sent = new byte[message.length-1]; - //cut the next header indication byte - System.arraycopy(message, 1, msg2sent, 0, msg2sent.length); - - return send(msg2sent, params); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/CamPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/CamPort.java deleted file mode 100644 index b8fe4bfd32cc8ac6f72c73fd806851f885692f18..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/CamPort.java +++ /dev/null @@ -1,90 +0,0 @@ -/** - * CAM port implementation - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.its.adapter.layers.BtpLayer; -import org.etsi.its.adapter.layers.GnLayer; - -/** - * CAM port implementation - */ -public class CamPort extends ProtocolPort { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public CamPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[], java.util.Map) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { -// TERFactory.getInstance().logDebug(">>> CamPort.receive: " + ByteHelper.byteArrayToString(message)); - - if (message[1] != 0x02) { // Check that received packet has CAM message id - See ETSI TS 102 894 - TERFactory.getInstance().logDebug("CamPort.receive: drop packet " + ByteHelper.byteArrayToString(message)); - return; // Drop it - } - - // Encode with CAM indication header - byte[] msgInd = ByteHelper.concat( - message, - new byte[] { (Byte) lowerInfo.get(GnLayer.GN_NEXTHEADER) }, - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_SUBTYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_LIFETIME), Integer.SIZE / Byte.SIZE), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TRAFFICCLASS), 1), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORT), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORTINFO) - ); - // Add security info to pass to the ATS - if (lowerInfo.get(SecurityHelper.SEC_SSP) == null) { - byte[] buf = new byte[32]; - msgInd = ByteHelper.concat(msgInd, buf); - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_SSP)); - } - if (lowerInfo.get(SecurityHelper.SEC_ITS_AID) == null) { // It shall not be possible to have SSP absent and ATS_AID present but... - msgInd = ByteHelper.concat(msgInd, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 }); - - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_ITS_AID)); - } - super.receive(msgInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - - HashMap params = new HashMap(); - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_B); - params.put(BtpLayer.BTP_DSTPORT, 2001); - params.put(BtpLayer.BTP_SRCPORT, 500); - params.put(GnLayer.GN_TYPE, GnLayer.HT_TSB); - params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_SINGLEHOP); - params.put(GnLayer.GN_NEXTHEADER, "BTP-B"); - return send(message, params); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/ConfigTesterPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/ConfigTesterPort.java deleted file mode 100644 index 1c3f081c809dc6c3635720f3da361ad94fcee9ed..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/ConfigTesterPort.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.etsi.its.adapter.ports; - -/** - * Upper Tester port implementation. This port is used to trigger IUT's upper interface - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.CharstringValue; - -/** This class implements behaviour for Configuration Tester port. This port is used to access to the IUT management port - * The Configuration tester entity in the SUT enables triggering Protocol functionalities by simulating primitives from - * from SAPs - * It is required to trigger the Protocol layer in the SUT to send Protocol specific messages, which are - * resulting from management layer primitives - */ -public class ConfigTesterPort extends AdapterPort implements IPort, IObservable { - - private static final String SETTINGS_PATTERN = "(\\S+)\\:(\\d+)"; - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param localPortNumber Local port number for the UDP listener - * @param remotePortNumber UDP port listener of remote UT application - */ - public ConfigTesterPort(final String portName, final String componentName) { - super(portName, componentName); - - // UDP connection parameters - String settings = ((CharstringValue)TERFactory.getInstance().getTaParameter("ConfigTesterSettings")).getString(); - Matcher matcher = settingsPattern.matcher(settings); - if (matcher.find()) { - try { - cfPeerAddress = InetAddress.getByName(matcher.group(1)); - } catch (UnknownHostException e1) { - e1.printStackTrace(); - } - cfPeerPort = Integer.parseInt(matcher.group(2)); - } else { - // FIXME - } - - // UDP socket for communication with Configuration module - running = true; - try { - cfSocket = new DatagramSocket(cfPeerPort + 1); - cfThread = new UdpThread(cfSocket); - cfThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public boolean send(final byte[] message) { - try { - ByteArrayOutputStream dataToSent = new ByteArrayOutputStream(); - dataToSent.write(message); - byte[] output = dataToSent.toByteArray(); - DatagramPacket packet = new DatagramPacket(output, output.length, cfPeerAddress, cfPeerPort); - cfSocket.send(packet); - - return true; - } catch (Exception e) { - e.printStackTrace(); - } - - return false; - } - - @Override - public void dispose() { - if(running) { - running = false; - if(cfThread != null) { - try { - cfSocket.close(); - cfThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - } - - private DatagramSocket cfSocket; - private Thread cfThread; - private InetAddress cfPeerAddress = null; - private int cfPeerPort = 0; - private Pattern settingsPattern = Pattern.compile(SETTINGS_PATTERN); - - /** - * Indicates whether the port is still active. Setting this field to false will cause - * the UDP communication with Upper Tester to be stopped - */ - private volatile boolean running; - - private class UdpThread extends Thread { - - private DatagramSocket taSocket; - - public UdpThread(DatagramSocket taSocket) throws IOException { - this.taSocket = taSocket; - } - - @Override - public void run() { - - while(running) { - try { - byte[] buf = new byte[4096]; - - // receive packet - DatagramPacket packet = new DatagramPacket(buf, buf.length); - taSocket.receive(packet); - - setChanged(); - notifyObservers(new PortEvent(ByteHelper.extract(packet.getData(), packet.getOffset(), packet.getLength()), getPortName(), getComponentName())); - } catch (IOException e) { - running = false; - } - } - taSocket.close(); - } - - } // End of class UdpThread - -} // End of class ConfigTesterPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/DenmPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/DenmPort.java deleted file mode 100644 index 9ef087f76ceadfd8e8b422ea803f632c5d11f3b1..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/DenmPort.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * DENM port implementation - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.its.adapter.layers.BtpLayer; -import org.etsi.its.adapter.layers.GnLayer; - -/** - * DENM port implementation - */ -public class DenmPort extends ProtocolPort { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public DenmPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[], java.util.Map) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { -// TERFactory.getInstance().logDebug(">>> DenmPort.receive: " + ByteHelper.byteArrayToString(message)); - - if (message[1] != 0x01) { // Check that received packet has DENM message id - See ETSI TS 102 894 - TERFactory.getInstance().logDebug("DenmPort.receive: drop packet " + ByteHelper.byteArrayToString(message)); - return; // Drop it - } - - // Encode with DENM indication header - byte[] msgInd = ByteHelper.concat( - message, - new byte[] { (Byte) lowerInfo.get(GnLayer.GN_NEXTHEADER) }, - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_SUBTYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_LIFETIME), Integer.SIZE / Byte.SIZE), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TRAFFICCLASS), 1), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORT), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORTINFO) - ); - // Add security info to pass to the ATS - if (lowerInfo.get(SecurityHelper.SEC_SSP) == null) { - byte[] buf = new byte[32]; - msgInd = ByteHelper.concat(msgInd, buf); - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_SSP)); - } - if (lowerInfo.get(SecurityHelper.SEC_ITS_AID) == null) { // It shall not be possible to have SSP absent and ATS_AID present but... - msgInd = ByteHelper.concat(msgInd, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 }); - - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_ITS_AID)); - } - super.receive(msgInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - - HashMap params = new HashMap(); - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_B); - params.put(BtpLayer.BTP_DSTPORT, 2002); - params.put(BtpLayer.BTP_SRCPORT, 500); -// params.put(GnLayer.GN_TYPE, GnLayer.HT_TSB); -// params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_SINGLEHOP); - params.put(GnLayer.GN_NEXTHEADER, "BTP-B"); - - params.put(GnLayer.GN_TYPE, GnLayer.HT_GEOBROADCAST); - params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_ELIPSE); - params.put(GnLayer.GN_LATITUDE, ByteHelper.byteArrayToLong(management.getLatitude())); - params.put(GnLayer.GN_LONGITUDE, ByteHelper.byteArrayToLong(management.getLongitude())); - params.put(GnLayer.GN_DISTANCEA, 200); - params.put(GnLayer.GN_DISTANCEB, 200); - params.put(GnLayer.GN_ANGLE, 0); -// - return send(message, params); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/FntpPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/FntpPort.java deleted file mode 100644 index 99e482917a35a6d4391c0c0aeee6e5e142a55288..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/FntpPort.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.IEthernetSpecific; -import org.etsi.ttcn.tci.CharstringValue; - -public class FntpPort extends ProtocolPort implements IEthernetSpecific { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public FntpPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - // Encode with FntpInd indication header - // Extract LINK_LAYER_DESTINATION - byte[] fntpInd = ByteHelper.concat(message, (byte[])lowerInfo.get(EthernetLayer.LINK_LAYER_DESTINATION)); - super.receive(fntpInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - ByteHelper.dump("FntpPort.send", message); - HashMap params = new HashMap(); - return send(message, params); - } - - public boolean triggerInSapPrimitiveUp(byte[] inSapPrimitiveUp) { - ByteHelper.dump("FntpPort.triggerInSapPrimitiveUp", inSapPrimitiveUp); - HashMap params = new HashMap(); - params.put(EthernetLayer.LINK_LAYER_DESTINATION, management.getLinkLayerAddress()); - return send(inSapPrimitiveUp, params); - } - -} // End of class FntpPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/FsapPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/FsapPort.java deleted file mode 100644 index 1d112b5c376620514e7cfc24b8ff9a2c50427b24..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/FsapPort.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.IEthernetSpecific; -import org.etsi.ttcn.tci.CharstringValue; - -public class FsapPort extends ProtocolPort implements Runnable, IEthernetSpecific { - - private volatile boolean _running; - - /** - * Service Provider thread instance. - */ - private Thread _beaconThread; - - private byte[] _sam; - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public FsapPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - management.registerFsapPort(this); - _running = false; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - // Encode with FsapInd indication header - // Extract LINK_LAYER_DESTINATION - byte[] fsapInd = ByteHelper.concat(message, (byte[])lowerInfo.get(EthernetLayer.LINK_LAYER_DESTINATION)); - super.receive(fsapInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - ByteHelper.dump("FsapPort.send", message); - HashMap params = new HashMap(); - return send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#dispose() - */ - @Override - public void dispose() { - if(_running && _beaconThread != null) { - _running = false; - try { - _beaconThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - _sam = null; - super.dispose(); - } - - public boolean startSamTransmission(final byte[] sam) { - ByteHelper.dump("FsapPort.startSamTransmission", sam); - - _sam = sam.clone();//ByteHelper.extract(sam, 2, sam.length - 2); - if(_beaconThread == null) { - _beaconThread = new Thread(this); - _beaconThread.start(); - } - - return true; - } - - public boolean stopSamTransmission() { - _running = false; - try { - _beaconThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - _sam = null; - - return true; - } - - @Override - public void run() { - HashMap params = new HashMap(); - params.put(EthernetLayer.LINK_LAYER_DESTINATION, management.getLinkLayerAddress()); - _running = true; - while (_running) { - send(_sam, params); - try { - Thread.sleep(3000); // 3 second - } catch (InterruptedException e) { - - } - } // End of 'while' statement - - - } - -} // End of FntpPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/Gn6Port.java b/javasrc/adapter/org/etsi/its/adapter/ports/Gn6Port.java deleted file mode 100644 index 140fe00b71de796a8fac295121410b23c26f84f9..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/Gn6Port.java +++ /dev/null @@ -1,173 +0,0 @@ -/** - * GN6 port implementation - * - * @author ETSI / STF424 - * @version $URL: svn+ssh://vcs.etsi.org/TTCN3/TOOL/ITS_TestPlatform/trunk/javasrc/adapter/org/etsi/its/adapter/ports/CamPort.java $ - * $Id: CamPort.java 203 2011-05-03 09:17:50Z berge $ - * - */ -package org.etsi.its.adapter.ports; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.Layer; -import org.etsi.ttcn.tci.CharstringValue; - -/** - * CAM port implementation - */ -public class Gn6Port extends ProtocolPort implements Runnable { - - private static final byte CMD_REGISTER = 0x01; - private static final byte CMD_UNREGISTER = 0x02; - private static final byte CMD_PACKET = 0x04; - - private static final byte RPL_PACKET = 0x04; - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public Gn6Port(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - - try { - remoteAdapterSocket = new DatagramSocket(); - remoteAdapterAddress = InetAddress.getByName(((CharstringValue)TERFactory.getInstance().getTaParameter("Gn6RemoteAdapterIp")).getString()); - remoteAdapterPort = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("Gn6RemoteAdapterPort")).getString()); - } catch (SocketException e) { - e.printStackTrace(); - } catch (UnknownHostException e) { - e.printStackTrace(); - } - running = true; - - // Start reception Thread - receptionThread = new Thread(this); - receptionThread.start(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - HashMap params = new HashMap(); - - int ipv6pos = ByteHelper.byteArrayToInt(new byte[] {message[0]}) + 12 + 1; - byte [] parameters = ByteHelper.extract(message, 0, ipv6pos); - byte [] ipv6 = ByteHelper.extract(message, ipv6pos, message.length - ipv6pos); - - byte [] sent = ByteHelper.concat(new byte[] {CMD_PACKET}, parameters, ByteHelper.intToByteArray(ipv6.length, 2), ipv6); - DatagramPacket packet = new DatagramPacket(sent, sent.length, remoteAdapterAddress, remoteAdapterPort); - try { - remoteAdapterSocket.send(packet); - } catch (IOException e) { - e.printStackTrace(); - } - - return send(sent, params); - } - - /** - * Thread function for sending periodic beacons - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - - byte[] buf = new byte[4096]; - byte[] data; - - // Send REGISTER to remote adapter - DatagramPacket command = new DatagramPacket(new byte[] {CMD_REGISTER}, 1, remoteAdapterAddress, remoteAdapterPort); - DatagramPacket response = new DatagramPacket(buf, buf.length); - try { - remoteAdapterSocket.send(command); - remoteAdapterSocket.receive(response); - } catch (IOException e) { - e.printStackTrace(); - } - - // Process messages from remote adapter - try { - remoteAdapterSocket.setSoTimeout(1000); - } catch (SocketException e1) { - e1.printStackTrace(); - } - while(running) { - - Map lowerInfo = new HashMap(); - try { - // receive packet - remoteAdapterSocket.receive(response); - } catch (SocketTimeoutException e) { - // ignore - continue; - } catch (IOException e) { - running = false; - } - - data = ByteHelper.extract(response.getData(), response.getOffset(), response.getLength()); - if(data[0] == RPL_PACKET) { - ByteHelper.dump("GN6 receive", data); - lowerInfo.put(Layer.RECEPTION_TIMESTAMP, System.currentTimeMillis()); - receive(ByteHelper.extract(data, 1, data.length - 1), lowerInfo); - } - } - - // Send UNREGISTER to remote adapter - command = new DatagramPacket(new byte[] {CMD_UNREGISTER}, 1, remoteAdapterAddress, remoteAdapterPort); - response = new DatagramPacket(buf, buf.length); - try { - remoteAdapterSocket.send(command); - remoteAdapterSocket.receive(response); - } catch (IOException e) { - e.printStackTrace(); - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#dispose() - */ - @Override - public void dispose() { - if(running && receptionThread != null) { - running = false; - try { - receptionThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - super.dispose(); - } - - /** - * Indicates whether the port is still active. Setting this field to false will cause - * the reception thread to stop its execution. - */ - private volatile boolean running; - - /** - * Reception thread instance. - */ - private Thread receptionThread = null; - - private volatile DatagramSocket remoteAdapterSocket; - private InetAddress remoteAdapterAddress; - private int remoteAdapterPort; -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/GnPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/GnPort.java deleted file mode 100644 index a95528960367670262492cc08c792088af54cb3d..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/GnPort.java +++ /dev/null @@ -1,523 +0,0 @@ -/** - * GeoNetworking port implementation (background thread) - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.IEthernetSpecific; -import org.etsi.ttcn.tci.CharstringValue; - -import de.fraunhofer.sit.c2x.CryptoLib; - -/** - * GeoNetworking port implementation (background thread) - */ -public class GnPort extends ProtocolPort implements Runnable, IEthernetSpecific { - - /** - * GeoNetworking header type for beacon messages - */ - private static final int HT_BEACON = 1; - private static final int HT_TSB = 5; - private static final int HST_SHB = 0; - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public GnPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - running = true; - management.registerGnPort(this); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /** - * Starts beaconning - */ - public void startBeaconning() { - running = true; - if(beaconThread == null) { - beaconThread = new Thread(this); - beaconThread.start(); - } - } - - /** - * Stops beaconning - */ - public void stopBeaconning() { - if(beaconThread != null) { - running = false; - try { - beaconThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - beaconThread = null; - } - } - - /** - * Thread function for sending periodic beacons - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - byte[] beaconHeader = management.getGnBeacon(); - if(beaconHeader != null) { - long modulo = (long)Math.pow(2,32); - Map params = new HashMap(); -// long triggerTime = System.currentTimeMillis(); - while(running) { - // Update timestamp. Timestamp is 1s older than current time to avoid sending beacons coming from the future (time sync between nodes) - long currentTime = System.currentTimeMillis(); - byte[] tst = ByteHelper.intToByteArray((int)(((currentTime - 1072915200000L) % modulo) - 3000), 4); - System.arraycopy(tst, 0, beaconHeader, 20, 4); - if (!management.isSecuredModeSet()) { // Secure mode disabled - send(beaconHeader, params); - } else { // Send a secured beacon - byte[] securedBeaconHeader = buildSecuredBeacon(beaconHeader, tst, currentTime, false); -// triggerTime = currentTime; - // Send the secured beacon - //TERFactory.getInstance().logDebug("GnPort: Call send " + ByteHelper.byteArrayToString(securedBeaconHeader)); - send(securedBeaconHeader, params); - } - try { - Thread.sleep(management.getGnBeaconInterval()); - } catch (InterruptedException e) { - // Do nothing, we do not care - } - } - } - } - - private byte[] buildSecuredBeacon(final byte[] p_beacon, byte[] p_tst, final long p_currentTime, final boolean p_sendDigest) { - //TERFactory.getInstance().logDebug("GnPort.buildSecuredBeacon (1): " + ByteHelper.byteArrayToString(p_beacon)); - - byte[] basicHeader = ByteHelper.extract(p_beacon, 0, 4); - basicHeader[0] &= 0xFE; - basicHeader[0] |= 0x02; // Secured mode - - // Basic Header is not part of signed data - byte[] beacon = ByteHelper.extract(p_beacon, 4, p_beacon.length - 4); - //TERFactory.getInstance().logDebug("GnPort.buildSecuredBeacon (2): " + ByteHelper.byteArrayToString(beacon)); - // Prepare the message to be signed - byte[] toBeSignedData = buildToBeSignedData(beacon, p_currentTime, p_sendDigest); - //TERFactory.getInstance().logDebug("GnPort.buildSecuredBeacon: toBeSignedData " + ByteHelper.byteArrayToString(toBeSignedData)); - // Sign the message - byte[] securedBeaconHeader = signSecuredMessage(toBeSignedData); - - // Return the complete message to be sent - return ByteHelper.concat(basicHeader, securedBeaconHeader); - } - - private byte[] buildToBeSignedData(final byte[] p_beacon, final long p_currentTime, final boolean p_sendDigest) { - //TERFactory.getInstance().logDebug("GnPort.buildToBeSignedData: " + ByteHelper.byteArrayToString(p_beacon)); - - // Build the SignerInfo field - byte[] signerInfo = null; - if (!p_sendDigest) { - signerInfo = ByteHelper.concat( - new byte[] { - (byte)0x80, // signerInfo - (byte)0x02 // Certificate - }, - management.getAtCertificate() // Certificate value - ); - } else { - signerInfo = ByteHelper.concat( - new byte[] { - (byte)0x80, // signerInfo - (byte)0x01 // Certificate digest with ecdsap256 - }, - management.getAtCertificateDigest() // Hashed8 - ); - } - - // Build the generation time value - byte[] generationTime = ByteHelper.longToByteArray((long)(p_currentTime - 1072915200000L) * 1000L, Long.SIZE / Byte.SIZE); // In microseconds - //TERFactory.getInstance().logDebug("GnPort.buildToBeSignedData: generationTime=" + ByteHelper.byteArrayToString(generationTime)); - byte[] headersField = ByteHelper.concat( - ByteHelper.concat( // SecuredMessage HeaderFields - signerInfo, // signerInfo - new byte[] { - (byte)0x00, // generationTime - }, - generationTime // Time64 value - ) - ); - // Add Its-Aid for Other profile - int itsAid = management.getItsAidOther(); - byte[] b; - if (itsAid < 128) { - b = new byte[] { (byte)itsAid }; - } else { - b = SecurityHelper.getInstance().size2tls(itsAid); - } - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x03 // GenerationLocation - }, - management.getLatitude(), // Latitude - management.getLongitude(), // Longitude - new byte[] { (byte)0x00, (byte)0x00 }, // Elevation - new byte[] { - (byte)0x05 // Its-aid - }, - b - ); - byte[] headersFieldLength = SecurityHelper.getInstance().size2tls(headersField.length); - //TERFactory.getInstance().logDebug("GnPort.buildToBeSignedData: headersField=" + ByteHelper.byteArrayToString(headersField)); - byte[] toBeSignedData = ByteHelper.concat( - new byte[] { // SecuredMessage version - (byte)0x02 // version - }, - headersFieldLength, // HeadersField length - headersField, // HeaderFields - new byte[] { // SecuredMessage Payloads - (byte)0x01, // Secured payload type: signed (1) - (byte)p_beacon.length // Data payload length - }, - p_beacon, // End of SecuredMessage Payloads - new byte[] { (byte)0x43 }, // Signature length - new byte[] { (byte)0x01 } // Signature - ); - //TERFactory.getInstance().logDebug("GnPort.buildToBeSignedData: toBeSignedData=" + ByteHelper.byteArrayToString(toBeSignedData)); - - return toBeSignedData; - } - - private byte[] signSecuredMessage(final byte[] p_toBeSignedData) { - //TERFactory.getInstance().logDebug("GnPort.signSecuredMessage: toBeSignedData: " + ByteHelper.byteArrayToString(p_toBeSignedData)); - - byte[] securedBeaconHeader = null; - // Signed the data - byte[] signatureBytes; - try { - signatureBytes = CryptoLib.signWithEcdsaNistp256WithSha256(p_toBeSignedData, management.getSigningPrivateKey()); - //TERFactory.getInstance().logDebug("GnPort.signSecuredMessage: signatureBytes=" + ByteHelper.byteArrayToString(signatureBytes)); - // Add signature - securedBeaconHeader = ByteHelper.concat( - p_toBeSignedData, - new byte[] { - (byte)0x00, // Public Key Alg: ecdsa nistp256 with sha256 (0) - (byte)0x02 // ECC Point Type: compressed lsb y-0 (2) - }, // Signature header - ByteHelper.extract(signatureBytes, 2, signatureBytes.length - 2) - ); - - - if (management.isEnforceSecuredModeSet()) { - boolean result = CryptoLib.verifyWithEcdsaNistp256WithSha256(p_toBeSignedData, signatureBytes, management.getSigningPublicKeyX(), management.getSigningPublicKeyY()); - //TERFactory.getInstance().logDebug("GnPort.signSecuredMessage: Verify signature: pubX" + ByteHelper.byteArrayToString(management.getSigningPublicKeyX())); - //TERFactory.getInstance().logDebug("GnPort.signSecuredMessage: Verify signature: pubY" + ByteHelper.byteArrayToString(management.getSigningPublicKeyY())); - //TERFactory.getInstance().logDebug("GnPort.signSecuredMessage: Verify signature: " + new Boolean(result));*/ - //TERFactory.getInstance().logDebug("<<< GnPort.signSecuredMessage: sendBeacon: " + ByteHelper.byteArrayToString(securedBeaconHeader)); - return (result) ? securedBeaconHeader : null; - } - return securedBeaconHeader; - } catch (Exception e) { - e.printStackTrace(); - } - - return null; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - //TERFactory.getInstance().logDebug(">>> GnPort.send: " + ByteHelper.byteArrayToString(message)); - - HashMap params = new HashMap(); - - byte[] destMacAddress = ByteHelper.extract(message, message.length - 10, 6); - int its_aid = ByteHelper.byteArrayToInt(ByteHelper.extract(message, message.length - 4, 4)); - message = ByteHelper.extract(message, 0, message.length - 10); - params.put(EthernetLayer.LINK_LAYER_DESTINATION, destMacAddress); - if (management.isSecuredModeSet()) { // Secure mode disabled - message = createSecuredMessage(message, its_aid); - } - -// ByteHelper.dump("GnPort.send", message); - return send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> GnPort.receive: " + ByteHelper.byteArrayToString(message)); - - byte[] basicHdr = new byte[4]; - System.arraycopy(message, 0, basicHdr, 0, 4); - int headerType = -1; - int headerSubType = -1; - byte[] sopv = new byte[24]; - if ((basicHdr[0] & 0x0f) == 0x01) { // Common header - Secure mode disabled - byte[] commonHdr = new byte[8]; - System.arraycopy(message, 4, commonHdr, 0, 8); - byte[] htHst = new byte[1]; - System.arraycopy(commonHdr, 1, htHst, 0, 1); - headerType = (int)(htHst[0] >> 4); - headerSubType = (int)(htHst[0] & 0x000000000F); - // Update LPV table - int sopvPos = 12; - if(headerType != HT_BEACON && !(headerType == HT_TSB && headerSubType == HST_SHB) ) { - sopvPos += 4; - } - try { - System.arraycopy(message, sopvPos, sopv, 0, 24); - } - catch (IndexOutOfBoundsException e) { // Decoding issue - return; - } - //TERFactory.getInstance().logDebug("GnPort.receive: sopv=" + ByteHelper.byteArrayToString(sopv)); - // Security disable, null will be translated into omit - lowerInfo.put(SecurityHelper.SEC_SSP, null); - lowerInfo.put(SecurityHelper.SEC_ITS_AID, null); - } else if ((basicHdr[0] & 0x0f) == 0x02) { // Secured tag - byte[] payload = SecurityHelper.getInstance().checkSecuredProfileAndExtractPayload(message, basicHdr.length, management.isEnforceSecuredModeSet(), management.getItsAidOther(), lowerInfo); - if (payload != null) { - //TERFactory.getInstance().logDebug("GnPort.receive: payload=" + ByteHelper.byteArrayToString(payload)); - byte[] commonHdr = new byte[8]; - System.arraycopy(payload, 0, commonHdr, 0, 8); - //TERFactory.getInstance().logDebug("GnPort.receive: commonHdr=" + ByteHelper.byteArrayToString(commonHdr)); - byte[] htHst = new byte[1]; - System.arraycopy(commonHdr, 1, htHst, 0, 1); - headerType = (int)(htHst[0] >> 4); - headerSubType = (int)(htHst[0] & 0x000000000F); - // Update LPV table - int sopvPos = commonHdr.length; - if(headerType != HT_BEACON && !(headerType == HT_TSB && headerSubType == HST_SHB) ) { - sopvPos += 4; - } - System.arraycopy(payload, sopvPos, sopv, 0, 24); - } else { - // Drop it - TERFactory.getInstance().logError("GnPort.receive: Invalid packet"); - return; - } - } else { - // Drop it - TERFactory.getInstance().logError("GnPort.receive: Invalid basic header type"); - return; - } - //TERFactory.getInstance().logDebug("GnPort.receive: sopv=" + ByteHelper.byteArrayToString(sopv)); - - byte[] gn = new byte[8]; - System.arraycopy(sopv, 0, gn, 0, 8); - byte[] mid = new byte[6]; - System.arraycopy(gn, 2, mid, 0, 6); - byte[] tst = new byte[4]; - System.arraycopy(sopv, 8, tst, 0, 4); - management.gnUpdateLocTable(mid, ByteHelper.byteArrayToInt(tst), sopv); - - // Filter beacons - byte [] beaconFilter = management.getGnEnqueueBeacon(); - if(headerType != HT_BEACON || beaconFilter != null) { - if(headerType == HT_BEACON) { - byte[] filterMid = new byte[6]; - System.arraycopy(beaconFilter, 2, filterMid, 0, 6); - if(java.util.Arrays.equals(mid, filterMid) == false) { - // Received beacon does not match filter - return; - } - } - // Encode with GN indication header - // Extract LINK_LAYER_DESTINATION - byte[] msgInd = ByteHelper.concat(message, (byte[])lowerInfo.get(EthernetLayer.LINK_LAYER_DESTINATION)); - // Add security info to pass to the ATS - if (lowerInfo.get(SecurityHelper.SEC_SSP) == null) { - byte[] buf = new byte[32]; - msgInd = ByteHelper.concat(msgInd, buf); - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_SSP)); - } - if (lowerInfo.get(SecurityHelper.SEC_ITS_AID) == null) { // It shall not be possible to have SSP absent and ATS_AID present but... - msgInd = ByteHelper.concat(msgInd, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 }); - - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_ITS_AID)); - } - super.receive(msgInd, lowerInfo); - } - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#dispose() - */ - @Override - public void dispose() { - if(running && beaconThread != null) { - running = false; - try { - beaconThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - super.dispose(); - } - - private byte[] createSecuredMessage(final byte[] message, int its_aid) { - //TERFactory.getInstance().logDebug(">>> GnPort.createSecuredMessage:" + ByteHelper.byteArrayToString(message)); - - // Extract and update the basicHeader - byte[] basicHdr = ByteHelper.extract(message, 0, 4); - if ((basicHdr[0] & 0x02) == 0x02) { // Message already secured by the TE - return message; - } - // Set nextHeader to secured - basicHdr[0] &= 0xFE; - basicHdr[0] |= 0x02; - //TERFactory.getInstance().logDebug("GnPort.createSecuredMessage: basicHdr=" + ByteHelper.byteArrayToString(basicHdr)); - - // Extract and update the basicHeader - byte[] commonHdr = ByteHelper.extract(message, 4, 8); - //TERFactory.getInstance().logDebug("GnPort.createSecuredMessage: commonHdr=" + ByteHelper.byteArrayToString(commonHdr)); - - // Extract SecuredMessage payload - byte[] securedPayload = ByteHelper.extract(message, 4, message.length - 4); - int payloadLength = securedPayload.length; - - // Build the generation time value - long curtime = System.currentTimeMillis(); - byte[] generationTime = ByteHelper.longToByteArray((long)(curtime - 1072915200000L) * 1000L, Long.SIZE / Byte.SIZE); // In microseconds - // Build the payload to be signed - byte[] headersField = ByteHelper.concat( - ByteHelper.concat( // SecuredMessage HeaderFields - new byte[] { - (byte)0x80, // signerInfo - (byte)0x01 // Certificate digest with ecdsap256 - }, - management.getAtCertificateDigest(), // HashedId8 - new byte[] { - (byte)0x00, // generationTime - }, - generationTime // Time64 value - ) - ); - if (its_aid == 36) { // CAM - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x05, // its-aid - (byte)its_aid // 36 = CAM - } - ); - } else if (its_aid == 37) { // DENM - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x03 // GenerationLocation - }, - management.getLatitude(), // Latitude - management.getLongitude(), // Longitude - new byte[] { (byte)0x00, (byte)0x00 }, // Elevation - new byte[] { - (byte)0x05, // its-aid - (byte)its_aid // 37 = DENM - } - ); - } else { // Add Its-Aid for Other profile - byte[] b; - if (its_aid < 128) { - b = new byte[] { (byte)its_aid }; - } else { - b = SecurityHelper.getInstance().size2tls(its_aid); - } - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x03 // GenerationLocation - }, - management.getLatitude(), // Latitude - management.getLongitude(), // Longitude - new byte[] { (byte)0x00, (byte)0x00 }, // Elevation - new byte[] { - (byte)0x05 // Its-aid - }, - b // Other profile - ); - } - byte[] payloadLengthTls = SecurityHelper.getInstance().size2tls(payloadLength); - byte[] toBeSignedData = ByteHelper.concat( - new byte[] { // SecuredMessage version - (byte)0x02 // version - }, - new byte[] { (byte)headersField.length }, // HeadersField length - headersField, // HeaderFields - new byte[] { // SecuredMessage Payloads - (byte)0x01, // Secured payload type: signed (1) - }, - payloadLengthTls, // Data payload length - securedPayload, - new byte[] { (byte)0x43 }, // Signature length - new byte[] { (byte)0x01 } // Signature - ); - //TERFactory.getInstance().logDebug("GnPort.createSecuredMessage: toBeSignedData=" + ByteHelper.byteArrayToString(toBeSignedData)); - - byte[] toBeSent = null; - try { - // Signed the data - byte[] signatureBytes = CryptoLib.signWithEcdsaNistp256WithSha256(toBeSignedData, management.getSigningPrivateKey()); - //TERFactory.getInstance().logDebug("GnPort.createSecuredMessage: signatureBytes=" + ByteHelper.byteArrayToString(signatureBytes)); - // Add signature - toBeSent = ByteHelper.concat( - basicHdr, - toBeSignedData, - new byte[] { - (byte)0x00, // Public Key Alg: ecdsa nistp256 with sha256 (0) - (byte)0x02 // ECC Point Type: compressed lsb y-0 (2) - }, // Signature header - ByteHelper.extract(signatureBytes, 2, signatureBytes.length - 2) - ); - } catch (Exception e) { - e.printStackTrace(); - } - - //TERFactory.getInstance().logDebug("GnPort.createSecuredMessage: toBeSent=" + ByteHelper.byteArrayToString(toBeSent)); - return toBeSent; - } - - /** - * Indicates whether the port is still active. Setting this field to false will cause - * the beaconing thread to stop its execution. - */ - private volatile boolean running; - - /** - * Beaconing thread instance. - */ - private Thread beaconThread = null; -} - diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/IObservable.java b/javasrc/adapter/org/etsi/its/adapter/ports/IObservable.java deleted file mode 100644 index daa188a8ea704160e7fccd6e456548a421e4c33c..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/IObservable.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Interface for observable objects - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.Observer; - -/** - * Interface for observable objects - */ -public interface IObservable { - - /** - * If this object has changed then notify all of its observers - * @param arg - */ - void notifyObservers(Object arg); - - /** - * Adds an observer to the set of observers for this object, provided that it is not the same as some observer already in the set - * @param observer Observer to be registered - */ - void addObserver(Observer observer); - - /** - * Clears the observer list so that this object no longer has any observers - */ - void deleteObservers(); - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/IPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/IPort.java deleted file mode 100644 index 2a983fbb9be7e957a92322cc333e8aa00efa4960..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/IPort.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Interface to port implementation - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -/** - * Interface to port implementation - */ -public interface IPort { - - /** - * Gets the name of the component on which this port instance is mapped - * @return Component's name - */ - String getComponentName(); - - /** - * Gets the name of the port - * @return Port's name - */ - String getPortName(); - - /** - * Sends a message to SUT through the port - * @param message encoded message to be sent - * @return true if send operation is successful, false otherwise - */ - boolean send(byte[] message); - - /** - * Deletes the port instance in a clean manner (stops background threads, ...) - */ - void dispose(); - -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/IicpPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/IicpPort.java deleted file mode 100644 index 0c4159d03f6b59c3d168e7d9af5481bc2fe4f638..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/IicpPort.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.EthernetLayer; -import org.etsi.its.adapter.layers.IEthernetSpecific; -import org.etsi.ttcn.tci.CharstringValue; - -public class IicpPort extends ProtocolPort implements IEthernetSpecific { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public IicpPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IEthernetSpecific#getEthernetType() - */ - @Override - public short getEthernetType() { - - // Retrieve EthernetType value - Integer iutEthernetTypeValue = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("IutEthernetTypeValue")).getString()); - return iutEthernetTypeValue.shortValue(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - // Encode with IicpInd indication header - // Extract LINK_LAYER_DESTINATION - byte[] iicpInd = ByteHelper.concat(message, (byte[])lowerInfo.get(EthernetLayer.LINK_LAYER_DESTINATION)); - super.receive(iicpInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - ByteHelper.dump("IicpPort.send", message); - HashMap params = new HashMap(); - return send(message, params); - } - - public boolean triggerInSapPrimitiveUp(byte[] inSapPrimitiveUp) { - ByteHelper.dump("IicpPort.triggerInSapPrimitiveUp", inSapPrimitiveUp); - HashMap params = new HashMap(); - params.put(EthernetLayer.LINK_LAYER_DESTINATION, management.getLinkLayerAddress()); - return send(inSapPrimitiveUp, params); - } - -} // End of class FntpPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/IvimPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/IvimPort.java deleted file mode 100644 index cfda5dc16a37e19f3bf179bafbe90d6687a2f642..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/IvimPort.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * CAM port implementation - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.its.adapter.layers.BtpLayer; -import org.etsi.its.adapter.layers.GnLayer; - -/** - * CAM port implementation - */ -public class IvimPort extends ProtocolPort { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public IvimPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[], java.util.Map) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> IvimPort.receive: " + ByteHelper.byteArrayToString(message)); - - if (message[1] != 0x06) { // Check that received packet has IVIM message id - See ETSI TS 102 894 - TERFactory.getInstance().logDebug("IvimPort.receive: drop packet " + ByteHelper.byteArrayToString(message)); - return; // Drop it - } - - // Encode with CAM indication header - byte[] msgInd = ByteHelper.concat( - message, - new byte[] { (Byte) lowerInfo.get(GnLayer.GN_NEXTHEADER) }, - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_SUBTYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_LIFETIME), Integer.SIZE / Byte.SIZE), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TRAFFICCLASS), 1), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORT), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORTINFO) - ); - // Add security info to pass to the ATS - if (lowerInfo.get(SecurityHelper.SEC_SSP) == null) { - byte[] buf = new byte[32]; - msgInd = ByteHelper.concat(msgInd, buf); - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_SSP)); - } - if (lowerInfo.get(SecurityHelper.SEC_ITS_AID) == null) { // It shall not be possible to have SSP absent and ATS_AID present but... - msgInd = ByteHelper.concat(msgInd, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 }); - - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_ITS_AID)); - } - super.receive(msgInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - - HashMap params = new HashMap(); - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_B); - params.put(BtpLayer.BTP_DSTPORT, 2006); - params.put(BtpLayer.BTP_SRCPORT, 500); - params.put(GnLayer.GN_TYPE, GnLayer.HT_GEOBROADCAST); - params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_MULTIHOP); - params.put(GnLayer.GN_LATITUDE, ByteHelper.byteArrayToLong(management.getLatitude())); - params.put(GnLayer.GN_LONGITUDE, ByteHelper.byteArrayToLong(management.getLongitude())); - params.put(GnLayer.GN_DISTANCEA, 0); - params.put(GnLayer.GN_DISTANCEB, 0); - params.put(GnLayer.GN_ANGLE, 0); - params.put(GnLayer.GN_NEXTHEADER, "BTP-B"); - return send(message, params); - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/MapemSpatemPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/MapemSpatemPort.java deleted file mode 100644 index 1b72ec59fb387cb40db5a19958cc8dd41ec84098..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/MapemSpatemPort.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.its.adapter.layers.BtpLayer; -import org.etsi.its.adapter.layers.GnLayer; - -public class MapemSpatemPort extends ProtocolPort { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public MapemSpatemPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[], java.util.Map) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - //TERFactory.getInstance().logDebug(">>> MapemSpatemPort.receive: " + ByteHelper.byteArrayToString(message)); - - if ((message[1] != 0x04) && (message[1] != 0x05)) { // Check that received packet has MAPEM/SPATEM message id - See ETSI TS 102 894 - TERFactory.getInstance().logDebug("MapemSpatemPort.receive: drop packet " + ByteHelper.byteArrayToString(message)); - return; // Drop it - } - - // Encode with MAPEM/SPATEM indication header - byte[] msgInd = ByteHelper.concat( - message, - new byte[] { (Byte) lowerInfo.get(GnLayer.GN_NEXTHEADER) }, - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_SUBTYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_LIFETIME), Integer.SIZE / Byte.SIZE), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TRAFFICCLASS), 1), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORT), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORTINFO) - ); - // Add security info to pass to the ATS - if (lowerInfo.get(SecurityHelper.SEC_SSP) == null) { - byte[] buf = new byte[32]; - msgInd = ByteHelper.concat(msgInd, buf); - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_SSP)); - } - if (lowerInfo.get(SecurityHelper.SEC_ITS_AID) == null) { // It shall not be possible to have SSP absent and ATS_AID present but... - msgInd = ByteHelper.concat(msgInd, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 }); - - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_ITS_AID)); - } - super.receive(msgInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - - HashMap params = new HashMap(); - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_B); - if (message[1] == 0x5) { // MAPEM, see ITS-Container - params.put(BtpLayer.BTP_DSTPORT, 2003); - } else if (message[1] == 0x4) { // SPATEM, see ITS-Container - params.put(BtpLayer.BTP_DSTPORT, 2004); - } else { - params.put(BtpLayer.BTP_DSTPORT, 0); - } - params.put(BtpLayer.BTP_SRCPORT, 0); - params.put(GnLayer.GN_TYPE, GnLayer.HT_GEOBROADCAST); - params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_MULTIHOP); - params.put(GnLayer.GN_LATITUDE, ByteHelper.byteArrayToLong(management.getLatitude())); - params.put(GnLayer.GN_LONGITUDE, ByteHelper.byteArrayToLong(management.getLongitude())); - params.put(GnLayer.GN_DISTANCEA, 0); - params.put(GnLayer.GN_DISTANCEB, 0); - params.put(GnLayer.GN_ANGLE, 0); - params.put(GnLayer.GN_NEXTHEADER, "BTP-B"); - return send(message, params); - } -} // End of class MapSpatPort - diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/PortEvent.java b/javasrc/adapter/org/etsi/its/adapter/ports/PortEvent.java deleted file mode 100644 index 089ae7aeeba94e1ac33d45ec198bc395c94784e7..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/PortEvent.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Event transmitted by ports as observable objects to observers - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -/** - * Event transmitted by ports as observable objects to observers - */ -public class PortEvent { - - /** - * Byte data to transmit - */ - private byte[] _message; - - /** - * Name of the port - */ - private String _portName; - - /** - * Name of the component owner; needed for enqueueing message - */ - private String _componentName; - - /** - * Constructor - * @param message Data to be transmitted - * @param receptionTime Message reception time - * @param portName Name of the port - * @param componentName Name of the component owning the port instance - */ - public PortEvent(final byte[] message, String portName, String componentName) { - _message = message; - _portName = portName; - _componentName = componentName; - } - - /** - * Gets the data buffer - * @return Data as a byte array - */ - public byte[] get_message() { - return _message; - } - - /** - * Gets the port name - * @return Name of the port - */ - public String getPortName() { - return _portName; - } - - /** - * Gets the component name - * @return Name of the component - */ - public String getComponentName() { - return _componentName; - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/ProtocolPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/ProtocolPort.java deleted file mode 100644 index e88983c312892fe7275068b199e236e6e16c0555..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/ProtocolPort.java +++ /dev/null @@ -1,160 +0,0 @@ -/** - * Abstract class for Protocol-related port implementations - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; -import java.util.Observable; -import java.util.Observer; -import java.util.Stack; - -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.Management; -import org.etsi.its.adapter.layers.Layer; - -/** - * Abstract class for Protocol-related port implementations - */ -public abstract class ProtocolPort extends Layer implements IPort, IObservable { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public ProtocolPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(Management.getInstance(componentName), parseStackDesc(lowerStackDesc)); - this.portName = portName; - this.componentName = componentName; - Management.getInstance(componentName).setLinkLayerAddress(ByteHelper.hexStringToByteArray(linkLayerAddress)); - initialize(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#getPortName() - */ - @Override - public String getPortName() { - return portName; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#getComponentName() - */ - @Override - public String getComponentName() { - return componentName; - } - - /** - * Parses a stack description in the form "Layer/Layer/Layer/..." - * @param lowerStackDesc String representing a stack description - * @return Parsed stack description - */ - private static Stack parseStackDesc(String lowerStackDesc) { - Stack lowerStack = new Stack(); - String [] layers = lowerStackDesc.split("/"); - for(int i=layers.length-1; i >=0; i--) { - if(!layers[i].equalsIgnoreCase("")) { - lowerStack.push(layers[i]); - } - } - return lowerStack; - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - HashMap params = new HashMap(); - -// ByteHelper.dump("ProtocolPortLayer.send", message); - return send(message, params); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#receive(byte[]) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { - setChanged(); - notifyObservers(new PortEvent(message, portName, componentName)); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#dispose() - */ - @Override - public void dispose() { - unregister(null); - } - - /** - * Marks this Observable object as having been changed - */ - protected void setChanged() { - observable.setChanged(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IObservable#notifyObservers(java.lang.Object) - */ - @Override - public void notifyObservers(Object arg) { - observable.notifyObservers(arg); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IObservable#addObserver(java.util.Observer) - */ - @Override - public void addObserver(Observer observer) { - observable.addObserver(observer); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IObservable#deleteObservers() - */ - @Override - public void deleteObservers() { - observable.deleteObservers(); - } - - /** - * Embedded object for implementing Observable behaviour - */ - private ObservablePort observable = new ObservablePort(); - - /** - * Name of the port - */ - private String portName; - - /** - * Name of the component owner; needed for enqueueing message - */ - private String componentName; - - /** - * Nested class for implementing Observable behaviour - */ - private class ObservablePort extends Observable implements IObservable { - - /* (non-Javadoc) - * @see java.util.Observable#setChanged() - */ - @Override - public void setChanged() { - super.setChanged(); - } - } -} diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/ProtocolPortFactory.java b/javasrc/adapter/org/etsi/its/adapter/ports/ProtocolPortFactory.java deleted file mode 100644 index bb2cc5b7d6a28894f104169894c8f269c4ea7d5e..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/ProtocolPortFactory.java +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Protocol port factory (Singleton) - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.lang.reflect.Constructor; -import java.util.Map; -import java.util.TreeMap; - -import org.etsi.adapter.TERFactory; - -/** - * Protocol port factory (Singleton) - */ -public class ProtocolPortFactory { - - /** - * Unique instance of the factory - */ - private static ProtocolPortFactory instance = new ProtocolPortFactory(); - - /** - * List of the registered protocol port types - */ - protected Map> ports = new TreeMap>(); - - /** - * Private constructor (Singleton pattern) - */ - private ProtocolPortFactory() { - // Register the ports - Refer to TTCN-3 component LibIts_TestSystem.ItsSystem for ports name - ports.put("camPort", CamPort.class); - ports.put("denmPort", DenmPort.class); - ports.put("mapemSpatemPort", MapemSpatemPort.class); - ports.put("ivimPort", IvimPort.class); - ports.put("sremSsemPort", SremSsemPort.class); - ports.put("btpPort", BtpPort.class); - ports.put("geoNetworkingPort", GnPort.class); - ports.put("ipv6OverGeoNetworkingPort", Gn6Port.class); - try { - ports.put("v2gPort", Class.forName( "org.etsi.its.adapter.ports.V2GPort" ).asSubclass(ProtocolPort.class)); - } catch( ClassNotFoundException e ) {} - } - - /** - * Gets the unique factory instance - * @return ProtocolPortFactory instance - */ - public static ProtocolPortFactory getInstance(){ - return instance; - } - - /** - * Creates a port of the desired type - * @param portName Name of the port - * @param componentName Name of the component owning the port instance - * @param lowerStackDesc Description of the lower protocol stack of the port in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - * @return Protocol port instance - */ - public ProtocolPort createPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - //TERFactory.getInstance().logDebug(">>> ProtocolPortFactory.createPort: " + portName + ", " + componentName + ", " + lowerStackDesc + ", " + linkLayerAddress); - - ProtocolPort port = null; - Class[] ctorParams = {portName.getClass(), componentName.getClass(), lowerStackDesc.getClass(), linkLayerAddress.getClass()}; - - try { - Class cls = ports.get(portName); - - if (cls == null) { - throw new RuntimeException("No class registered under " + portName); - } - - Constructor ctor = cls.getConstructor(ctorParams); - port = ctor.newInstance(portName, componentName, lowerStackDesc, linkLayerAddress); - } catch (Exception ex) { - ex.printStackTrace(); - } - - return port; - } -} - \ No newline at end of file diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/SremSsemPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/SremSsemPort.java deleted file mode 100644 index 3f1db373c4b767f71daa24e7c59940257e6b81c7..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/SremSsemPort.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.etsi.its.adapter.ports; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.its.adapter.layers.BtpLayer; -import org.etsi.its.adapter.layers.GnLayer; - -public class SremSsemPort extends ProtocolPort { - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public SremSsemPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#receive(byte[], java.util.Map) - */ - @Override - public void receive(byte[] message, Map lowerInfo) { -// TERFactory.getInstance().logDebug(">>> SremSsemPort.receive: " + ByteHelper.byteArrayToString(message)); - - if ((message[1] != 0x09) && (message[1] != 0x0A)) { // Check that received packet has SREM/SSEM message id - See ETSI TS 102 894 - TERFactory.getInstance().logDebug("SremSsemPort.receive: drop packet " + ByteHelper.byteArrayToString(message)); - return; // Drop it - } - - // Encode with SREM/SSEM indication header - byte[] msgInd = ByteHelper.concat( - message, - new byte[] { (Byte) lowerInfo.get(GnLayer.GN_NEXTHEADER) }, - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_SUBTYPE), 1), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_LIFETIME), Integer.SIZE / Byte.SIZE), - ByteHelper.intToByteArray((Integer) lowerInfo.get(GnLayer.GN_TRAFFICCLASS), 1), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORT), - (byte[]) lowerInfo.get(BtpLayer.BTP_DSTPORTINFO) - ); - // Add security info to pass to the ATS - if (lowerInfo.get(SecurityHelper.SEC_SSP) == null) { - byte[] buf = new byte[32]; - msgInd = ByteHelper.concat(msgInd, buf); - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_SSP)); - } - if (lowerInfo.get(SecurityHelper.SEC_ITS_AID) == null) { // It shall not be possible to have SSP absent and ATS_AID present but... - msgInd = ByteHelper.concat(msgInd, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 }); - - } else { - msgInd = ByteHelper.concat(msgInd, (byte[])lowerInfo.get(SecurityHelper.SEC_ITS_AID)); - } - super.receive(msgInd, lowerInfo); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.IPort#send(byte[]) - */ - @Override - public boolean send(byte[] message) { - - HashMap params = new HashMap(); - params.put(BtpLayer.BTP_TYPE, BtpLayer.TYPE_B); - if (message[1] == 0x9) { // SREM, see ITS-Container - params.put(BtpLayer.BTP_DSTPORT, 2007); - } else if (message[1] == 0xa) { // SSEM, see ITS-Container - params.put(BtpLayer.BTP_DSTPORT, 2008); - } else { - params.put(BtpLayer.BTP_DSTPORT, 0); - } - params.put(BtpLayer.BTP_SRCPORT, 0); - params.put(GnLayer.GN_TYPE, GnLayer.HT_TSB); - params.put(GnLayer.GN_SUBTYPE, GnLayer.HST_MULTIHOP); - params.put(GnLayer.GN_LATITUDE, ByteHelper.byteArrayToLong(management.getLatitude())); - params.put(GnLayer.GN_LONGITUDE, ByteHelper.byteArrayToLong(management.getLongitude())); - params.put(GnLayer.GN_NEXTHEADER, "BTP-B"); - return send(message, params); - } -} // End of class MapSpatPort - diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/UpperTesterPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/UpperTesterPort.java deleted file mode 100644 index ee0f8ed88dc2585cb094c43b849435e24aa22863..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/UpperTesterPort.java +++ /dev/null @@ -1,641 +0,0 @@ -/** - * Upper Tester port implementation. This port is used to trigger IUT's upper interface - * - * @author ETSI / STF424 - * @version $URL$ - * $Id$ - * - */ -package org.etsi.its.adapter.ports; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.etsi.adapter.TERFactory; -import org.etsi.certificates.CertificatesIOFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.SecurityHelper; -import org.etsi.ttcn.tci.CharstringValue; - -import de.fraunhofer.sit.c2x.CryptoLib; - -/** This class implements behaviour for Upper Tester port - * The Upper tester entity in the SUT enables triggering Protocol functionalities by simulating primitives from - * application or LDM entities - * It is required to trigger the Protocol layer in the SUT to send Protocol specific messages, which are - * resulting from upper layer primitives - */ -public class UpperTesterPort extends AdapterPort implements IPort, IObservable { - - private static final String SETTINGS_PATTERN = "(\\S+)\\:(\\d+)"; - - private static final String CertificateId = "CERT_UT"; - - /** - * Secured mode status - */ - private String _utSecuredMode = null; - - /** - * Secured root path to access certificates & private keys - */ - private String _utSecuredRootPath = null; - - /** - * Secured configuration identifier - */ - private String _utSecuredConfiId = null; - - /** - * Secured mode status - */ - private boolean _isSecuredMode = false; - - private ByteArrayOutputStream _certificate; - - private ByteArrayOutputStream _hashedId8; - - private ByteArrayOutputStream _signingPrivateKey; - - private String _offlineMode = ""; - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param localPortNumber Local port number for the UDP listener - * @param remotePortNumber UDP port listener of remote UT application - */ - public UpperTesterPort(final String portName, final String componentName) { - super(portName, componentName); - - // UDP connection parameters - _utSecuredMode = ((CharstringValue)TERFactory.getInstance().getTaParameter("UtSecuredMode")).getString(); - _utSecuredRootPath = ((CharstringValue)TERFactory.getInstance().getTaParameter("TsSecuredRootPath")).getString(); - _utSecuredConfiId = ((CharstringValue)TERFactory.getInstance().getTaParameter("TsSecuredConfiId")).getString(); - _offlineMode = ((CharstringValue)TERFactory.getInstance().getTaParameter("OfflineMode")).getString().toLowerCase(); - String settings = ((CharstringValue)TERFactory.getInstance().getTaParameter("UpperTesterSettings")).getString(); - Matcher matcher = settingsPattern.matcher(settings); - if (matcher.find()) { - try { - utPeerAddress = InetAddress.getByName(matcher.group(1)); - } catch (UnknownHostException e1) { - e1.printStackTrace(); - } - utPeerPort = Integer.parseInt(matcher.group(2)); - } else { - // FIXME - } - - if ((_utSecuredMode != null) && _utSecuredMode.equals("true")) { - // Load certificate - _certificate = new ByteArrayOutputStream(); - CertificatesIOFactory.getInstance().loadCertificates(_utSecuredRootPath, _utSecuredConfiId); - if (CertificatesIOFactory.getInstance().readCertificate(CertificateId, _certificate)) { -// TERFactory.getInstance().logDebug("UpperTesterPort.UpperTesterPort: _certificate=" + ByteHelper.byteArrayToString(_certificate.toByteArray())); - _hashedId8 = new ByteArrayOutputStream(); - _signingPrivateKey = new ByteArrayOutputStream(); - CertificatesIOFactory.getInstance().readCertificateDigest(CertificateId, _hashedId8); -// TERFactory.getInstance().logDebug("UpperTesterPort.UpperTesterPort: _hashedId8=" + ByteHelper.byteArrayToString(_hashedId8.toByteArray())); - CertificatesIOFactory.getInstance().readSigningKey(CertificateId, _signingPrivateKey); -// TERFactory.getInstance().logDebug("UpperTesterPort.UpperTesterPort: _signingPrivateKey=" + ByteHelper.byteArrayToString(_signingPrivateKey.toByteArray())); - - _isSecuredMode = true; - } - } - - // UDP socket for communication with UT - running = true; - try { - utSocket = new DatagramSocket(/*utPeerPort*/); - utThread = new UdpThread(utSocket); - utThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public boolean send(final byte[] message) { - if (true /*or _offlineMode.equals("true")*/) { /* FIXME: For debug only. Uncomment if no UT - Do not forget the return true below*/ - try { - Thread.sleep(500); - } catch (InterruptedException e) { - // Do nothing, we do not care - } - - setChanged(); - byte[] rsp; - switch (message[0]) { - case (byte)0x00: - rsp = new byte[]{(byte)0x01, (byte)0x01}; - break; - case (byte)0x02: // UtChangePosition - rsp = new byte[]{(byte)0x03, (byte)0x01}; - break; - case (byte)0x04: // UtChangePseudonym - rsp = new byte[]{(byte)0x05, (byte)0x01}; - break; - case (byte)0x06: // UtActivatePositionTime - rsp = new byte[]{(byte)0x07, (byte)0x01}; - break; - case (byte)0x08: // UtDeactivatePositionTime - rsp = new byte[]{(byte)0x09, (byte)0x01}; - break; - case (byte)0x10: // UtDenmTrigger - rsp = ByteHelper.concat( - new byte[]{ (byte)0x11, (byte)0x01 }, - new byte[] { (byte)0xAA, (byte)0xAA, (byte)0xAA, (byte)0xAA }, // StationID - new byte[] { (byte)0x01, (byte)0xFF } // SequenceNumber - ); - break; - case (byte)0x12: // UtDenmUpdate - rsp = ByteHelper.concat( - new byte[]{ (byte)0x13, (byte)0x01 }, - new byte[] { (byte)0xAA, (byte)0xAA, (byte)0xAA, (byte)0xAA }, // StationID - new byte[] { (byte)0x01, (byte)0xFF } // SequenceNumber - ); - break; - case (byte)0x14: // UtDenmTermination - rsp = new byte[]{(byte)0x15, (byte)0x01}; - break; - //reserved(0x92), - case (byte)0x93: // UtSec_setCertificate - case (byte)0x94: // UtSec_setPrivateKey - case (byte)0x95: // UtSec_setTrustPoint( - rsp = new byte[]{(byte)0x91, (byte)0x01}; // UtSecResult - break; - case (byte)0xA0: // UtMapemSpatemTrigger - rsp = new byte[]{(byte)0xA1, (byte)0x01}; // UtMapemSpatemTriggerResult - break; - case (byte)0xA4: // UtIvimTrigger - rsp = new byte[]{(byte)0xA5, (byte)0x01, (byte)0xA0, (byte)0xA0}; // UtIvimTriggerResult - break; - case (byte)0xA6: // UtIvimUpdate - rsp = new byte[]{(byte)0xA7, (byte)0x01, (byte)0xA0, (byte)0xA0}; // UtIvimUpdateResult - break; - case (byte)0xA8: // UtIvimTermination - rsp = new byte[]{(byte)0xA9, (byte)0x01, (byte)0xA0, (byte)0xA0}; // UtIvimTerminationResult - break; - case (byte)0xAB: // UtSremTrigger - rsp = new byte[]{(byte)0xAC, (byte)0x01}; // UtSremTriggerResult - break; - case (byte)0xAD: // UtSremUpdate - rsp = new byte[]{(byte)0xAE, (byte)0x01}; // UtSremUpdateResult - break; - default: - if ((message[0] >= (byte)0x30) && (message[0] <= (byte)0x3F)) { // UtCamTrigger_xxx - rsp = new byte[]{(byte)0x21, (byte)0x00}; // UtCamTriggerResult - } else { - rsp = new byte[]{(byte)0x24, (byte)0x00}; - } - break; - } - notifyObservers(new PortEvent(rsp, getPortName(), getComponentName())); - } -/* FIXME: For debug only */if(true) - return true; -/**/ - try { - ByteArrayOutputStream dataToSent = new ByteArrayOutputStream(); - dataToSent.write(message); - if (_isSecuredMode) { // Send a secured message - // Build the secured message - ByteArrayOutputStream toBeSignedData = new ByteArrayOutputStream(); - buildToBeSignedData(dataToSent, toBeSignedData); - // Sign data - dataToSent = new ByteArrayOutputStream(); - signSecuredMessage(toBeSignedData, dataToSent); - } - byte[] output = dataToSent.toByteArray(); - DatagramPacket packet = new DatagramPacket(output, output.length, utPeerAddress, utPeerPort); - utSocket.send(packet); - - return true; - } catch (Exception e) { - e.printStackTrace(); - } - - return false; - } - - @Override - public void dispose() { - if(running) { - running = false; - if(utThread != null) { - try { - utSocket.close(); - utThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - } - - private DatagramSocket utSocket; - private Thread utThread; - private InetAddress utPeerAddress = null; - private int utPeerPort = 0; - private Pattern settingsPattern = Pattern.compile(SETTINGS_PATTERN); - - /** - * Indicates whether the port is still active. Setting this field to false will cause - * the UDP communication with Upper Tester to be stopped - */ - private volatile boolean running; - - private class UdpThread extends Thread { - - private DatagramSocket taSocket; - - public UdpThread(DatagramSocket taSocket) throws IOException { - this.taSocket = taSocket; - } - - @Override - public void run() { - - while(running) { - try { - byte[] buf = new byte[4096]; - - // receive packet - DatagramPacket packet = new DatagramPacket(buf, buf.length); - taSocket.receive(packet); - - if (_isSecuredMode) { // Secure mode enabled - byte[] message = ByteHelper.extract(packet.getData(), packet.getOffset(), packet.getLength()); - byte[] payload = checkSecuredOtherProfileAndExtractPayload(message); - - if (payload != null) { // Notify received payload - setChanged(); - notifyObservers(new PortEvent(payload, getPortName(), getComponentName())); - } // else, packet was dropped - } else { // Notify received payload - setChanged(); - notifyObservers(new PortEvent(ByteHelper.extract(packet.getData(), packet.getOffset(), packet.getLength()), getPortName(), getComponentName())); - } - } catch (IOException e) { - running = false; - } - } - taSocket.close(); - } - - } // End of class UdpThread - - private byte[] checkSecuredOtherProfileAndExtractPayload(final byte[] p_message) { - TERFactory.getInstance().logDebug(">>> UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: " + ByteHelper.byteArrayToString(p_message)); - ByteHelper.dump("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: ", p_message); - - ByteArrayInputStream decvalue = new ByteArrayInputStream(p_message); - - // Check version - if (decvalue.read() != 2) { - // Drop it - TERFactory.getInstance().logError("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: Drop packet - Wrong version number"); - return null; - } - // Extract header fields length and header fields - long headerFieldsLength = SecurityHelper.getInstance().tls2size(decvalue); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: headerFieldsLength:" + headerFieldsLength); - byte[] headerFields = new byte[(int) headerFieldsLength]; - decvalue.read(headerFields, 0, (int) headerFieldsLength); - ByteArrayOutputStream certificateKeys = new ByteArrayOutputStream(); - if (!checkHeaderfields(headerFields, certificateKeys)) { - // Drop it - TERFactory.getInstance().logError("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: Drop packet - Wrong Headerfields"); - return null; - } - byte[] aaSigningPublicKeyX, aaSigningPublicKeyY; - aaSigningPublicKeyX = ByteHelper.extract(certificateKeys.toByteArray(), 0, 32); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - aaSigningPublicKeyY = ByteHelper.extract(certificateKeys.toByteArray(), 32, 32); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: headerFields:" + ByteHelper.byteArrayToString(headerFields)); - // Extract payload, decvalue is updated with the payload - if (decvalue.read() != 1) { - // Drop it - TERFactory.getInstance().logError("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: Drop packet - Wrong Payload type"); - return null; - } - long payloadLength = SecurityHelper.getInstance().tls2size(decvalue); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: payloadLength:" + payloadLength); - byte[] payload = new byte[(int) payloadLength]; - decvalue.read(payload, 0, (int) payloadLength); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: payload:" + ByteHelper.byteArrayToString(payload)); - // Extract Secure Trailer - long secureTrailerLength = SecurityHelper.getInstance().tls2size(decvalue); - byte[] secureTrailer = new byte[(int) secureTrailerLength]; - decvalue.read(secureTrailer, 0, secureTrailer.length); - ByteArrayOutputStream signature = new ByteArrayOutputStream(); - if (!extractMessageSignature(secureTrailer, signature)) { - // Drop it - TERFactory.getInstance().logError("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: Drop packet - Wrong Signatures"); - return null; - } - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: signature:" + ByteHelper.byteArrayToString(signature.toByteArray())); - // Build signed data - byte[] toBeVerifiedData = ByteHelper.extract( - p_message, - 0, - p_message.length - (int)(secureTrailerLength - 1 /* Exclude signature structure but keep signature type and signature length */) - ); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload:" + ByteHelper.byteArrayToString(toBeVerifiedData)); - // Calculate Digest digest from the buffer toBeVerifiedData - boolean result; - try { - result = CryptoLib.verifyWithEcdsaNistp256WithSha256( - toBeVerifiedData, - signature.toByteArray(), - aaSigningPublicKeyX, - aaSigningPublicKeyY - ); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: Verify signature: " + new Boolean(result)); - if (!result) { - // Drop packet - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: toBeVerifiedData :" + ByteHelper.byteArrayToString(toBeVerifiedData)); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: signature :" + ByteHelper.byteArrayToString(signature.toByteArray())); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - TERFactory.getInstance().logDebug("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: aaSigningPublicKeyY:" + ByteHelper.byteArrayToString(aaSigningPublicKeyY)); - TERFactory.getInstance().logError("UpperTesterPort.checkSecuredOtherProfileAndExtractPayload: Drop packet - Invalid signature"); - return null; - } - - return payload; - } catch (Exception e) { - e.printStackTrace(); - } - - // Drop packet - return null; - } - - private boolean checkHeaderfields(byte[] p_headerfields, final ByteArrayOutputStream p_keys) { // TODO Common with GnLayer and UpperTester, to be grouped - TERFactory.getInstance().logDebug(">>> UpperTesterPort.checkHeaderfields: " + ByteHelper.byteArrayToString(p_headerfields)); - - // Sanity check - if (p_headerfields.length == 0) { - return false; - } - // Extract digest or certificate - int signerInfoTypeIndex = 0; - if ( - ((p_headerfields[signerInfoTypeIndex++] & 0x80) != 0x80) || // SignerInfo Type: certificate digest with ecdsap256 (1) - (p_headerfields[signerInfoTypeIndex++] != 0x02) // SignerInfo Type: certificate (2) - ) { - // Drop it - TERFactory.getInstance().logError("UpperTesterPort.checkHeaderfields: Drop packet - Certificate"); - return false; - } - // Extract certificate because of it is an Other message profile - byte[] certificate = decodeCertificate(p_headerfields, signerInfoTypeIndex, p_keys); - signerInfoTypeIndex += certificate.length; - TERFactory.getInstance().logDebug("UpperTesterPort.checkHeaderfields: Certificate:" + ByteHelper.byteArrayToString(certificate)); - // TODO check other fields - - return true; - } - - private byte[] decodeCertificate(final byte[] p_headerfields, final int p_offset, final ByteArrayOutputStream p_keys) { // TODO Common with GnLayer and UpperTester, to be grouped - TERFactory.getInstance().logDebug("UpperTesterPort.decodeCertificate"); - - ByteArrayInputStream headerfields = new ByteArrayInputStream(p_headerfields, p_offset, p_headerfields.length - p_offset); - ByteArrayOutputStream cert = new ByteArrayOutputStream(); // FIXME To be removed - try { - // Version - cert.write((byte)headerfields.read()); - if (cert.toByteArray()[0] != 0x02) { - TERFactory.getInstance().logDebug("UpperTesterPort.decodeCertificate: Wrong version number"); - return null; - } - // SignerInfo type - byte signerInfoType = (byte)headerfields.read(); - cert.write(signerInfoType); - switch (signerInfoType) { - case 0x01: - byte[] digest = new byte[8]; - headerfields.read(digest, 0, digest.length); - cert.write(digest); - break; - // FIXME To be continued - } // End of 'switch' statement - // SubjectInfo type - byte subjectInfoType = (byte)headerfields.read(); - cert.write(subjectInfoType); - long length = SecurityHelper.getInstance().tls2size(headerfields); - if (length != 0) { - // FIXME To be continued - } else { - cert.write(0x00); - } - // Subject Attributes length - length = SecurityHelper.getInstance().tls2size(headerfields); - byte[] b = SecurityHelper.getInstance().size2tls((int) length); - cert.write(b); - // Subject Attributes - b = new byte[(int) length]; - headerfields.read(b, 0, b.length); - cert.write(b); - int offset = 0; - if (b[offset++] == 0x00) { // Subject Attribute: verification key (0) - if (b[offset++] == 0x00) { // Public Key Alg: ecdsa nistp256 with sha256 (0) - if (b[offset++] == 0x04) { // ECC Point Type: uncompressed (4) - p_keys.write(b, offset, 32); - offset += 32; - p_keys.write(b, offset, 32); - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - // Validity Restriction - length = SecurityHelper.getInstance().tls2size(headerfields); - if (length != 0) { - b = SecurityHelper.getInstance().size2tls((int) length); - cert.write(b); - b = new byte[(int) length]; - headerfields.read(b, 0, b.length); - cert.write(b); - } else { - cert.write((byte)0x00); - } // TODO Process Validity Restriction -// // Geographical region -// length = SecurityHelper.getInstance().tls2size(buf); -// if (length != 0) { -// b = SecurityHelper.getInstance().size2tls((int) length); -// cert.write(b); -// b = new byte[(int) length]; -// buf.read(b, 0, b.length); -// cert.write(b); -// } else { -// cert.write((byte)0x00); -// } // TODO Process Geographical region - // Signature - byte publicKeyAlg = (byte)headerfields.read(); - cert.write(publicKeyAlg); - switch (publicKeyAlg) { - case 0x00: // ecdsa nistp256 with sha256 - byte eccPointType = (byte)headerfields.read(); - cert.write(eccPointType); - switch (eccPointType) { - case 0x00: // ECC Point Type: x-coordinate only - byte[] key = new byte[64]; - headerfields.read(key, 0, key.length); - cert.write(key); - break; - } // End of 'switch' statement - break; - } // End of 'switch' statement - // TODO Check certificate signature - - return cert.toByteArray(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - TERFactory.getInstance().logDebug("UpperTesterPort.decodeCertificate: Unsupported certificate"); - return null; - } - - private boolean extractMessageSignature(final byte[] p_secureTrailer, final ByteArrayOutputStream p_signature) { // TODO Common with GnLayer and UpperTester, to be grouped - TERFactory.getInstance().logDebug(">>> UpperTesterPort.extractMessageSignature: " + ByteHelper.byteArrayToString(p_secureTrailer)); - - // Sanity check - if (p_secureTrailer.length == 0) { - return false; - } - - // Extract digest or certificate - int secureTrailerIndex = 0; - if (p_secureTrailer[secureTrailerIndex++] == 0x01) { // Trailer Type: signature (1) - if (p_secureTrailer[secureTrailerIndex++] == 0x00) { // Public Key Alg: ecdsa nistp256 with sha256 (0) - if (p_secureTrailer[secureTrailerIndex++] == 0x02) { // ECC Point Type: compressed lsb y-0 (2) - if (p_secureTrailer.length == (3 + 2 * 32)) { - // Build the signature vector - try { - p_signature.write(new byte[] { (byte)0x00, (byte)0x00 }); - p_signature.write(ByteHelper.extract(p_secureTrailer, 3, 64)); - - TERFactory.getInstance().logDebug("UpperTesterPort.extractMessageSignature: true"); - return true; - } catch (IOException e) { - e.printStackTrace(); - } - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - } // FIXME To be continued - - // Else, drop it - TERFactory.getInstance().logError("UpperTesterPort.extractMessageSignature: Drop packet - Wrong signature"); - return false; - } - - private void buildToBeSignedData(final ByteArrayOutputStream p_securedData, final ByteArrayOutputStream p_toBeSignedData) throws IOException { - - // Build the SignerInfo field - byte[] signerInfo = null; - signerInfo = ByteHelper.concat( - new byte[] { - (byte)0x80, // signerInfo - (byte)0x02 // Certificate - }, - _certificate.toByteArray() // Certificate value - ); - - // For debug purpose Extract signature from secured 'Other message' - byte[] aaSigningPublicKeyX = ByteHelper.extract( - _certificate.toByteArray(), - 16, // Set position at the beginning of the public keys - 32 - ); -// TERFactory.getInstance().logDebug("UpperTesterPort.DispatchMessage: aaSigningPublicKeyX:" + ByteHelper.byteArrayToString(aaSigningPublicKeyX)); - byte[] aaSigningPublicKeyY = ByteHelper.extract( - _certificate.toByteArray(), - 16 + 32, - 32 - ); -// TERFactory.getInstance().logDebug("UpperTesterPort.DispatchMessage: aaSigningPublicKeyY:" + ByteHelper.byteArrayToString(aaSigningPublicKeyY)); - - // Build the generation time value - byte[] generationTime = ByteHelper.longToByteArray( - System.currentTimeMillis(), - Long.SIZE / Byte.SIZE - ); // In microseconds -// TERFactory.getInstance().logDebug("UpperTesterPort.buildToBeSignedData: generationTime=" + ByteHelper.byteArrayToString(generationTime)); - byte[] headersField = ByteHelper.concat( - ByteHelper.concat( // SecuredMessage HeaderFields - signerInfo, // signerInfo - new byte[] { - (byte)0x00, // generationTime - }, - generationTime // Time64 value - ) - ); - // Add Its-Aid for Other profile - int itsAid = 0x38; // FIXME To be refined - byte[] b; - if (itsAid < 128) { - b = new byte[] { (byte)itsAid }; - } else { - b = SecurityHelper.getInstance().size2tls(itsAid); - } - headersField = ByteHelper.concat( - headersField, - new byte[] { - (byte)0x05 // Its-aid - }, - b - ); - byte[] headersFieldLength = SecurityHelper.getInstance().size2tls(headersField.length); -// TERFactory.getInstance().logDebug("UpperTesterPort.buildToBeSignedData: headersField=" + ByteHelper.byteArrayToString(headersField)); - byte[] payload = p_securedData.toByteArray(); - byte[] toBeSignedData = ByteHelper.concat( - new byte[] { // SecuredMessage version - (byte)0x02 // version - }, - headersFieldLength, // HeadersField length - headersField, // HeaderFields - new byte[] { // SecuredMessage Payloads - (byte)0x01, // Secured payload type: signed (1) - (byte)payload.length // Data payload length - }, - payload, // End of SecuredMessage Payloads - new byte[] { (byte)0x43 }, // Signature length - new byte[] { (byte)0x01 } // Signature - ); -// TERFactory.getInstance().logDebug("UpperTesterPort.buildToBeSignedData: toBeSignedData=" + ByteHelper.byteArrayToString(toBeSignedData)); - - p_toBeSignedData.write(toBeSignedData); - } - - private void signSecuredMessage(final ByteArrayOutputStream p_toBeSignedData, final ByteArrayOutputStream p_securedMessage) throws Exception { -// TERFactory.getInstance().logDebug("UpperTesterPort.signSecuredMessage: toBeSignedData: " + ByteHelper.byteArrayToString(p_toBeSignedData.toByteArray())); - byte[] securedBeaconHeader = null; - // Signed the data - byte[] signatureBytes = CryptoLib.signWithEcdsaNistp256WithSha256(p_toBeSignedData.toByteArray(), new BigInteger(_signingPrivateKey.toByteArray())); -// TERFactory.getInstance().logDebug("UpperTesterPort.signSecuredMessage: signatureBytes=" + ByteHelper.byteArrayToString(signatureBytes)); - // Add signature - securedBeaconHeader = ByteHelper.concat( - p_toBeSignedData.toByteArray(), - new byte[] { - (byte)0x00, // Public Key Alg: ecdsa nistp256 with sha256 (0) - (byte)0x02 // ECC Point Type: compressed lsb y-0 (2) - }, // Signature header - ByteHelper.extract(signatureBytes, 2, signatureBytes.length - 2) - ); - p_securedMessage.write(securedBeaconHeader); -// TERFactory.getInstance().logDebug("<<< UpperTesterPort.signSecuredMessage: sendBeacon: " + ByteHelper.byteArrayToString(p_securedMessage.toByteArray())); - } - -} // End of class UpperTesterPort diff --git a/javasrc/adapter/org/etsi/its/adapter/ports/V2GPort.java b/javasrc/adapter/org/etsi/its/adapter/ports/V2GPort.java deleted file mode 100644 index dd16d3740b736ad7b81e4141affe8fb22ab7ae3b..0000000000000000000000000000000000000000 --- a/javasrc/adapter/org/etsi/its/adapter/ports/V2GPort.java +++ /dev/null @@ -1,326 +0,0 @@ -/** - * V2G port implementation (background thread) - * - * @author ETSI / STFS46 - * @version $URL: $ - * $Id: $ - * - */ -package org.etsi.its.adapter.ports; - -import java.io.IOException; -import java.io.InputStream; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.MulticastSocket; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.UnknownHostException; -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.layers.Layer; -import org.etsi.ttcn.codec.its.v2g.ExiHelper; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.IntegerValue; - -/** - * V2G port implementation (background threads) - */ -public class V2GPort extends ProtocolPort { - - private static final byte V2G_IND = 0x01; - private static final byte APP_PROTO_IND = 0x02; - private static final byte SDP_IND = 0x03; - - private String role; - private DatagramSocket sdpSocket; - private Socket v2gSocket = null; - private Thread sdpThread, v2gThread, v2gServerThread; - private InetAddress sdpPeerAddress = null; - private int sdpPeerPort = 15118; - private int v2gPort; - private String v2gHost; - private int v2gtpSentCount = 0; - private int v2gtpReceivedCount = 0; - private byte v2gtpInd = APP_PROTO_IND; - - private ServerSocket v2gServerSocket = null; - - /** - * Indicates whether the port is still active. Setting this field to false will cause - * the beaconing thread to stop its execution. - */ - private volatile boolean running; - - /** - * Constructor - * @param portName Name of the port - * @param componentName Name of the component owning this port instance - * @param lowerStackDesc Description of the port's lower stack in the form "Layer/Layer/Layer/..." - * @param linkLayerAddress Link-layer address to be used by this port as source address (null if not applicable) - */ - public V2GPort(String portName, String componentName, String lowerStackDesc, String linkLayerAddress) { - super(portName, componentName, lowerStackDesc, linkLayerAddress); - - // Initialize state variables - v2gtpSentCount = 0; - v2gtpReceivedCount = 0; - v2gtpInd = APP_PROTO_IND; - ExiHelper.setSchemaId("handshake"); - - role = ((CharstringValue)TERFactory.getInstance().getTaParameter("V2gTsRole")).getString(); - v2gHost = ((CharstringValue)TERFactory.getInstance().getTaParameter("V2gSeccAddress")).getString(); - //v2gPort = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("V2gSeccPort")).getString()); - v2gPort = ((IntegerValue)TERFactory.getInstance().getTaParameter("V2gSeccPort")).getInt(); - try { - sdpPeerAddress = InetAddress.getByName("ff02::1"); - } catch (UnknownHostException e1) { - e1.printStackTrace(); - } - - running = true; - - if(role.equals("SECC")) { - - // UDP socket for SDP - try { - MulticastSocket mcSocket = new MulticastSocket(15118); - mcSocket.joinGroup(InetAddress.getByName("FF02::1")); - sdpSocket = mcSocket; - sdpThread = new UdpThread(sdpSocket); - sdpThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - - // TCP socket for V2G - try { - v2gServerSocket = new ServerSocket(v2gPort); - v2gServerThread = new TcpServerThread(v2gServerSocket); - v2gServerThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - else if(role.equals("EVCC")) { - - // UDP socket for SDP - try { - sdpSocket = new DatagramSocket(); - sdpThread = new UdpThread(sdpSocket); - sdpThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - TERFactory.getInstance().logDebug("V2Gport initialized"); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.ports.ProtocolPort#dispose() - */ - @Override - public void dispose() { - if(running) { - running = false; - if(v2gServerThread != null) { - try { - v2gServerSocket.close(); - v2gServerThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - if(sdpThread != null) { - try { - sdpSocket.close(); - sdpThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - if(v2gThread != null) { - try { - v2gSocket.close(); - v2gThread.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - super.dispose(); - } - - /* (non-Javadoc) - * @see org.etsi.its.adapter.layers.Layer#send(byte[], java.util.Map) - */ - @Override - public boolean send(byte[] message, Map params) { - - byte[] type = ByteHelper.extract(message, 0, 1); - byte[] v2gtpHeader = {(byte)0x01, (byte) 0xFE}; - message = ByteHelper.extract(message, 1, message.length - 1); - if(type[0] == SDP_IND) { - // SDP - byte[] sdpMessageType = null; - if(role.equals("EVCC")) { - byte[] sdpReqMessageType = {(byte)0x90, (byte)0x00}; - sdpMessageType = sdpReqMessageType; - } - else { - byte[] sdpRspMessageType = {(byte)0x90, (byte)0x01}; - sdpMessageType = sdpRspMessageType; - } - message = ByteHelper.concat(v2gtpHeader, sdpMessageType, ByteHelper.intToByteArray(message.length, 4), message); - DatagramPacket packet = new DatagramPacket(message, message.length, sdpPeerAddress, sdpPeerPort); - try { - sdpSocket.send(packet); - } catch (IOException e) { - e.printStackTrace(); - } - } - else { - // V2G or supportedAppprotocol - if(role.equals("EVCC") && v2gSocket == null) { - try { - v2gSocket = new Socket(v2gHost, v2gPort); - v2gThread = new TcpThread(v2gSocket); - v2gThread.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - try { - byte[] exiV2gMessageType = {(byte)0x80, (byte)0x01}; - message = ByteHelper.concat(v2gtpHeader, exiV2gMessageType, ByteHelper.intToByteArray(message.length, 4), message); - v2gSocket.getOutputStream().write(message); - } catch (IOException e) { - e.printStackTrace(); - } - - v2gtpSentCount++; - if(role.equals("SECC")){ - if(v2gtpInd == APP_PROTO_IND && v2gtpReceivedCount > 0) { - v2gtpInd = V2G_IND; - ExiHelper.setSchemaId("v2g"); - } - } - } - return true; - } - - private class UdpThread extends Thread { - - private DatagramSocket taSocket; - - public UdpThread(DatagramSocket taSocket) throws IOException { - this.taSocket = taSocket; - } - - @Override - public void run() { - - while(running) { - try { - byte[] buf = new byte[4096]; - Map lowerInfo = new HashMap(); - - // receive packet - DatagramPacket packet = new DatagramPacket(buf, buf.length); - taSocket.receive(packet); - - if(role.equals("SECC")) { - sdpPeerAddress = packet.getAddress(); - sdpPeerPort = packet.getPort(); - } - lowerInfo.put(Layer.RECEPTION_TIMESTAMP, System.currentTimeMillis()); - receive(ByteHelper.concat(new byte[]{(SDP_IND)}, ByteHelper.extract(packet.getData(), packet.getOffset() + 8, packet.getLength() - 8)), lowerInfo); - } catch (IOException e) { - running = false; - } - } - taSocket.close(); - } - } - - private class TcpServerThread extends Thread { - - private ServerSocket taSocket; - - public TcpServerThread(ServerSocket taSocket) throws IOException { - this.taSocket = taSocket; - } - - @Override - public void run() { - try { - v2gSocket = taSocket.accept(); - v2gThread = new TcpThread(v2gSocket); - v2gThread.start(); - taSocket.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - private class TcpThread extends Thread { - - private Socket taSocket; - - public TcpThread(Socket taSocket) throws IOException { - this.taSocket = taSocket; - } - - @Override - public void run() { - - InputStream input = null; - try { - input = taSocket.getInputStream(); - } catch (IOException e) { - e.printStackTrace(); - } - - while(running) { - try { - byte[] buf = new byte[4096]; - int nbRead; - Map lowerInfo = new HashMap(); - - // receive packet - nbRead = input.read(buf); - if(nbRead > 8) { - ExiHelper.lockSchemaId(); - lowerInfo.put(Layer.RECEPTION_TIMESTAMP, System.currentTimeMillis()); - receive(ByteHelper.concat(new byte[]{(v2gtpInd)}, ByteHelper.extract(buf, 8, nbRead - 8)), lowerInfo); - v2gtpReceivedCount++; - if(role.equals("EVCC")){ - if(v2gtpInd == APP_PROTO_IND && v2gtpSentCount > 0) { - v2gtpInd = V2G_IND; - ExiHelper.setSchemaId("v2g"); - } - } - } - } catch (IOException e) { - e.printStackTrace(); - running = false; - } - } - try { - taSocket.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } -} \ No newline at end of file diff --git a/javasrc/certificatesio/org/etsi/certificates/CertificatesIOFactory.java b/javasrc/certificatesio/org/etsi/certificates/CertificatesIOFactory.java deleted file mode 100644 index d4cd7e87eb1787bcf511f6b91bceece8ab259db6..0000000000000000000000000000000000000000 --- a/javasrc/certificatesio/org/etsi/certificates/CertificatesIOFactory.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.etsi.certificates; - -import org.etsi.certificates.io.CertificatesIO; -import org.etsi.certificates.io.ICertificatesIO; - -public class CertificatesIOFactory { - - /** - * The single instance of the class CertificatesIO. - */ - private static ICertificatesIO _certIO = new CertificatesIO(); - - /** - * Accessor to the single instance of this class. - * @return The single instance of this class. - */ - public static ICertificatesIO getInstance() { - return _certIO; - } - - /** - * Internal ctor (For invocation by subclass constructors, typically implicit) - */ - private CertificatesIOFactory() { - } - -} // End of class CertificatesIOFactory diff --git a/javasrc/certificatesio/org/etsi/certificates/Helpers.java b/javasrc/certificatesio/org/etsi/certificates/Helpers.java deleted file mode 100644 index 128a06badb68d9f37a235e4874ed0d87bd1ef8c2..0000000000000000000000000000000000000000 --- a/javasrc/certificatesio/org/etsi/certificates/Helpers.java +++ /dev/null @@ -1,138 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id: - */ -package org.etsi.certificates; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FilenameFilter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -public final class Helpers { - - - /** - * A single instance of this class - */ - private static Helpers instance; - - /** - * Synchronization object to provide single access to the instance - */ - private static Object _sync = new Object(); - - /** - * Provide the access to a single instance of this class - * @return A single instance of this class - */ - public static Helpers getInstance() { - if (instance == null) { - synchronized(_sync) { - if (instance == null) { - instance = new Helpers(); - } - } - } - - return instance; - } - - /** - * Internal ctor - */ - private Helpers() { - } - - /** - * Convert an array of strings to one string - * @param list string list - * @param separator 'separator' string between each element - * @return string list items concatenated into a string - */ - public String arrayToString(String[] list, String separator) { - StringBuffer result = new StringBuffer(); - if (list.length > 0) { - result.append(list[0]); - for (int i = 1; i < list.length; i++) { - result.append(separator); - result.append(list[i]); - } - } - - return result.toString(); - } - - /** - * Recursively walk a directory tree and return a List of all Files found; the List is sorted using File.compareTo(). - * @param p_startingDir The valid directory, which can be read. - * @param p_extension The file extension, in lower case - * @param p_excludedPatterns The pattern which shall be excluded, in lower case - */ - public List getFileListing(File p_startingDir, final String p_extension, final String[] p_excludedPatterns) throws FileNotFoundException { - validateDirectory(p_startingDir); - List result = getFileListingNoSort(p_startingDir, p_extension, p_excludedPatterns); - Collections.sort(result); - return result; - } - - private List getFileListingNoSort(final File p_startingDir, final String p_extension, final String[] p_excludedPatterns) throws FileNotFoundException { - List result = new ArrayList(); - FilenameFilter filter = new FilenameFilter() { - - @Override - public boolean accept(final File p_dirName, final String p_fileName) { - String name = p_fileName.toLowerCase(); -// TERFactory.getInstance().logDebug("getFileListingNoSort: " + name + " - " + p_extension + " - " + name.endsWith(p_extension)); - if (!p_extension.isEmpty() && !name.endsWith(p_extension)) { - return false; - } - - if (p_excludedPatterns != null) { - for (String excludePattern : p_excludedPatterns) { - if (name.indexOf(excludePattern) != -1) { -// TERFactory.getInstance().logDebug("getFileListingNoSort: exclusion criteria=" + excludePattern); - return false; - } - } - } - return true; - } - }; - File[] filesAndDirs = p_startingDir.listFiles(filter); - List filesDirs = Arrays.asList(filesAndDirs); - for (File file : filesDirs) { - result.add(file); // always add, even if directory - if (!file.isFile()) { - //must be a directory - //recursive call! - List deeperList = getFileListingNoSort(file, p_extension, p_excludedPatterns); - result.addAll(deeperList); - } - } - return result; - } - - /** - * Directory is valid if it exists, does not represent a file, and can be read. - */ - private void validateDirectory (File aDirectory) throws FileNotFoundException { - if (aDirectory == null) { - throw new IllegalArgumentException("Directory should not be null."); - } - if (!aDirectory.exists()) { - throw new FileNotFoundException("Directory does not exist: " + aDirectory); - } - if (!aDirectory.isDirectory()) { - throw new IllegalArgumentException("Is not a directory: " + aDirectory); - } - if (!aDirectory.canRead()) { - throw new IllegalArgumentException("Directory cannot be read: " + aDirectory); - } - } - -} // End of class Helpers diff --git a/javasrc/certificatesio/org/etsi/certificates/io/CertificatesIO.java b/javasrc/certificatesio/org/etsi/certificates/io/CertificatesIO.java deleted file mode 100644 index 53c0fa87e99d5d7c2d0a67d7ae180f217df627ba..0000000000000000000000000000000000000000 --- a/javasrc/certificatesio/org/etsi/certificates/io/CertificatesIO.java +++ /dev/null @@ -1,397 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.certificates.io; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.etsi.adapter.TERFactory; -import org.etsi.certificates.Helpers; -import org.etsi.common.ByteHelper; - -import de.fraunhofer.sit.c2x.CryptoLib; - -public class CertificatesIO implements ICertificatesIO { - - /** - * Extension file for certificate - */ - private static final String CERT_EXT = "crt"; - - /** - * Extension file for digests - */ - private static final String DIGESTS_EXT = "dgs"; - - /** - * Excluded files while building the lists of certificates/private keys - */ - private static final String[] EXCLUDED_PATTERNS = new String[] { /*for debug: */".svn", "._.DS_Store", ".DS_Store"}; - - /** - * Full path to access certificate files - */ - private String _fullPathCerts; - - /** - * Memory cache for the certificates - */ - private Map _cachedCertificates; - - private Map _cachedCertificatesDigest; - - private Map _cachedReverseCertificatesDigest; - - /** - * Memory cache for the signing private keys - */ - private Map _cachedSigningPrivateKey; - - /** - * Memory cache for the encrypt private keys - */ - private Map _cachedEncryptPrivateKey; - - /** - * Set to true if loadCertificates was already called - */ - private boolean _areCertificatesLoaded = false; - - /** - * Default constructor - */ - public CertificatesIO() { - _cachedCertificates = new ConcurrentHashMap(); - _cachedCertificatesDigest = new ConcurrentHashMap(); - _cachedSigningPrivateKey = new ConcurrentHashMap(); - _cachedEncryptPrivateKey = new ConcurrentHashMap(); - _cachedReverseCertificatesDigest = new ConcurrentHashMap(); - } // End of Constructor - - /** - * @desc Load in memory cache the certificates available in the specified directory - * @param rootDirectory Root directory to access to the certificates identified by the certificate ID - * @param configId A configuration identifier - * @return true on success, false otherwise - */ - @Override - public boolean loadCertificates(final String p_rootDirectory, final String p_configId) { // E.g. , cfg01 - TERFactory.getInstance().logDebug(">>> CertificatesIO.loadCertificates: '" + p_rootDirectory + "', '" + p_configId + "' - " + _areCertificatesLoaded); - - // Sanity check - if (_areCertificatesLoaded) { - return true; - } - - // Build full path - if ((p_rootDirectory == null) || (p_rootDirectory.length() == 0)) { - _fullPathCerts = System.getProperty("user.dir").replace("\\", "/"); - } else { - _fullPathCerts = p_rootDirectory.replace("\\", "/"); - } - if (!_fullPathCerts.endsWith("/")) { - _fullPathCerts += "/"; - } - - File certsPath = new File(_fullPathCerts); - if (!certsPath.exists()) { - TERFactory.getInstance().logError("CertificatesIO.loadCertificates: path '" + _fullPathCerts + "' does not found"); - return false; - } - - _areCertificatesLoaded = loadMemoryCache(certsPath); // Load certificates and keys and return - - if ((p_configId != null) && (p_configId.length() != 0)) { - String path = new String(_fullPathCerts + "/" + p_configId); - certsPath = new File(path); - if (!certsPath.exists()) { - TERFactory.getInstance().logError("CertificatesIO.loadCertificates: path '" + path + "' does not found"); - return false; - } - loadMemoryCache(certsPath); // Load certificates and keys and return - } - - return _areCertificatesLoaded; - } - - /** - * @desc Unload from memory cache the certificates available - * @return true on success, false otherwise - */ - @Override - public boolean unloadCertificates() { - _areCertificatesLoaded = false; - _fullPathCerts = null; - _cachedCertificates.clear(); - _cachedCertificatesDigest.clear(); - _cachedSigningPrivateKey.clear(); - _cachedEncryptPrivateKey.clear(); - _cachedReverseCertificatesDigest.clear(); - - return true; - } - - /** - * @desc Read the specified certificate - * @param certificateId the certificate identifier - * @param certificate the expected certificate - * @return true on success, false otherwise - */ - @Override - public boolean readCertificate(final String key, final ByteArrayOutputStream certificate) { -// TERFactory.getInstance().logDebug(">>> CertificatesIO.readCertificate: " + key); - - String certKey; - if (_cachedReverseCertificatesDigest.containsKey(key)) { - certKey = _cachedReverseCertificatesDigest.get(key); - }else{ - certKey = key; - } - - if (_cachedCertificates.containsKey(certKey)) { - try { - certificate.write(_cachedCertificates.get(certKey)); - return true; - } catch (IOException e) { - e.printStackTrace(); - } - }else{ - TERFactory.getInstance().logError("CertificatesIO.readCertificate: key '" + key + "' not found"); - } - return false; - } - - @Override - public boolean readCertificateDigest(final String certificateId, final ByteArrayOutputStream digest) { -// TERFactory.getInstance().logDebug(">>> CertificatesIO.readCertificateDigest: " + certificateId); - - // Sanity check - if (!_cachedCertificatesDigest.containsKey(certificateId)) { - TERFactory.getInstance().logError("CertificatesIO.readCertificateDigest: key '" + certificateId + "' not found"); - return false; - } - - try { - digest.write(_cachedCertificatesDigest.get(certificateId)); - return true; - - } catch (IOException e) { - e.printStackTrace(); - } - return false; - } - - /** - * @desc Read the signing private key for the specified certificate - * @param keysId the keys identifier - * @param key the signing private key - * @return true on success, false otherwise - */ - @Override - public boolean readSigningKey(final String keyName, final ByteArrayOutputStream key) { -// TERFactory.getInstance().logDebug(">>> CertificatesIO.readSigningKey: " + keyName); - - try { - String certKey; - if (_cachedReverseCertificatesDigest.containsKey(keyName)) { - certKey = _cachedReverseCertificatesDigest.get(keyName); - }else{ - certKey = keyName; - } - if (_cachedSigningPrivateKey.containsKey(certKey)) { - key.write(_cachedSigningPrivateKey.get(certKey)); - return true; - } - } catch (IOException e) { - e.printStackTrace(); - } - return false; - } - - /** - * @desc Read the encrypting private key for the specified certificate - * @param keysId the keys identifier - * @param key the signing private key - * @return true on success, false otherwise - */ - @Override - public boolean readEncryptingKey(final String keyName, final ByteArrayOutputStream key) { - String certKey; - try { - if (_cachedReverseCertificatesDigest.containsKey(keyName)) { - certKey = _cachedReverseCertificatesDigest.get(keyName); - }else{ - certKey = keyName; - } - if (_cachedEncryptPrivateKey.containsKey(certKey)) { - key.write(_cachedEncryptPrivateKey.get(certKey)); - return true; - } - } catch (IOException e) { - e.printStackTrace(); - } - return false; - } - - /** - * @desc Load certificates based on existing keys file, excluding xxx_at.bin files - * @param p_keysPath path for private key files - * @param p_certsPath Path for certificate files - * @return true on success, false otherwise - */ - private boolean loadMemoryCache(final File p_keysPath) { // E.g. /keys, /certs - // Retrieve the list of the files in the p_keysPath - try { - List files = Helpers.getInstance().getFileListing(p_keysPath, CERT_EXT, EXCLUDED_PATTERNS); - // Create the memory cache - for (File file : files) { - try { - addCertItem(file); - }catch(FileNotFoundException e){} - } // End of 'for' statement - - } catch (IOException e) { - e.printStackTrace(); - } - - // load digests - try { - List files = Helpers.getInstance().getFileListing(p_keysPath, DIGESTS_EXT, EXCLUDED_PATTERNS); - // Create the memory cache - for (File file : files) { - try { - addDigestItem(file); - }catch(FileNotFoundException e){} - } // End of 'for' statement - - } catch (IOException e) { - e.printStackTrace(); - } - - return true; - } - - private void addDigestItem(final File p_file) throws FileNotFoundException, IOException { - String filename = p_file.getName(); - String certName = filename.substring(0, filename.lastIndexOf(".")).toUpperCase(); - - // Load certificate - byte bytes[] = new byte[64]; - FileInputStream fs = new FileInputStream(p_file); - int n = fs.read(bytes); - fs.close(); - - if(n == 32){ - // take last 8 bytes - bytes = Arrays.copyOfRange(bytes, 24, 32); - }else if(n >= 64){ - bytes = ByteHelper.hexStringToByteArray(new String(bytes).substring(48, 64)); - }else if(n >= 16){ - bytes = ByteHelper.hexStringToByteArray(new String(bytes).substring(0, 16)); - }else if(n == 8){ - bytes = Arrays.copyOfRange(bytes, 0, 8); - }else{ - TERFactory.getInstance().logError("CertificatesIO: " + filename + ": wrong digest file length\n"); - return; - } - _cachedCertificatesDigest.put(certName, bytes); -// TERFactory.getInstance().logDebug("CertificatesIO.addDigestItem: Store digest: " + ByteHelper.byteArrayToString(bytes) + " - " + certName); - } - - private void addCertItem(final File p_certFile) throws FileNotFoundException, IOException { -// TERFactory.getInstance().logDebug(">>> CertificatesIO.addItem: " + p_certFile); - - // Load the keys file name - String filename = p_certFile.getName(); - String certName = filename.substring(0, filename.lastIndexOf(".")).toUpperCase(); - - // Load certificate - byte bytes[] = new byte[(int) p_certFile.length()]; - FileInputStream fsKeys = new FileInputStream(p_certFile); - fsKeys.read(bytes); - fsKeys.close(); - bytes = ByteHelper.hexStringToByteArray(new String(bytes)); - _cachedCertificates.put(certName, bytes); -// TERFactory.getInstance().logDebug("CertificatesIO.addItem: Store cert " + certName + " - " + ByteHelper.byteArrayToString(bytes)); - - // calculate digest - bytes = calculateDigestFromCertificate(bytes); - _cachedCertificatesDigest.put(certName, bytes); -// TERFactory.getInstance().logDebug("CertificatesIO.addItem: Store digest: " + ByteHelper.byteArrayToString(bytes) + " - " + certName); - _cachedReverseCertificatesDigest.put(ByteHelper.byteArrayToString(bytes), certName); -// TERFactory.getInstance().logDebug("CertificatesIO.addItem: Store reverse digest " + ByteHelper.byteArrayToString(bytes) + " - " + certName); - - // Load Private Keys - filename = p_certFile.getPath(); - filename = filename.substring(0, filename.lastIndexOf(".")); - - try { - File f = new File(filename+".vkey"); - if(f.exists()){ - long l = f.length(); - if(l == 32 || l == 64){ - bytes = new byte[64]; - fsKeys = new FileInputStream(f); - l = fsKeys.read(bytes); - fsKeys.close(); - if(l == 64){ - bytes = ByteHelper.hexStringToByteArray(new String(bytes)); - l = 32; - } - if(l != 32){ - TERFactory.getInstance().logError("CertificatesIO: " + f.getName() + ": wrong data length[" + l + "\n"); - } - if (!_cachedSigningPrivateKey.containsKey(certName)) { - _cachedSigningPrivateKey.put(certName, bytes); - } - }else{ - TERFactory.getInstance().logError("CertificatesIO: " + f.getName() + ": wrong key file length\n"); - } - } - }catch(FileNotFoundException e){} - - try { - File f = new File(filename+".ekey"); - if(f.exists()){ - if(f.length() == 32 || f.length() == 64){ - bytes = new byte[64]; - fsKeys = new FileInputStream(f); - fsKeys.read(bytes); - fsKeys.close(); - if(f.length() == 64){ - bytes = ByteHelper.hexStringToByteArray(new String(bytes)); - } - if (!_cachedEncryptPrivateKey.containsKey(certName)) { - _cachedEncryptPrivateKey.put(certName, bytes); - } - } - } - }catch(FileNotFoundException e){} - } - - @Override - public String getKeyIdFromHashedId8(byte[] p_hashedId8ToBeUsed) { - String key = ByteHelper.byteArrayToString(p_hashedId8ToBeUsed); - if (!_cachedReverseCertificatesDigest.containsKey(key)) { - return null; - } - - return _cachedReverseCertificatesDigest.get(key).substring(0, _cachedReverseCertificatesDigest.get(key).length() - 7/*.DIGEST*/); - } - - private byte[] calculateDigestFromCertificate(final byte[] p_toBeHashedData) { - byte[] hash = CryptoLib.hashWithSha256(p_toBeHashedData); - return ByteHelper.extract(hash, hash.length - 8, 8); - } - -} // End of class CertificatesIO diff --git a/javasrc/certificatesio/org/etsi/certificates/io/ICertificatesIO.java b/javasrc/certificatesio/org/etsi/certificates/io/ICertificatesIO.java deleted file mode 100644 index 5d3bb3934cb8859df1285282679552dad093bac8..0000000000000000000000000000000000000000 --- a/javasrc/certificatesio/org/etsi/certificates/io/ICertificatesIO.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.certificates.io; - -import java.io.ByteArrayOutputStream; - -/** - * - * @desc Interface to load certificates/private keys from disk - * - */ -public interface ICertificatesIO { - - /** - * @desc Load in memory cache the certificates available in the specified directory - * @param rootDirectory Root directory to access to the certificates identified by the certificate ID - * @param configId A configuration identifier - * @return true on success, false otherwise - */ - boolean loadCertificates(final String rootDirectory, final String configId); - - /** - * @desc Unload from memory cache the certificates - * @return true on success, false otherwise - */ - boolean unloadCertificates(); - - /** - * @desc Read the specified certificate - * @param certificateId the certificate identifier - * @param certificate the expected certificate - * @return true on success, false otherwise - */ - boolean readCertificate(final String certificateId, final ByteArrayOutputStream certificate); - - /** - * @desc Read the specified certificate digest - * @param certificateId the certificate identifier - * @param digest the expected digest - * @return true on success, false otherwise - */ - boolean readCertificateDigest(final String certificateId, final ByteArrayOutputStream digest); - - /** - * @desc Read the signing private key for the specified certificate - * @param keysId the keys identifier - * @param key the signing private key - * @return true on success, false otherwise - */ - boolean readSigningKey(final String keysName, final ByteArrayOutputStream key); - - /** - * @desc Read the encryption private key for the specified certificate - * @param keysId the keys identifier - * @param key the encrypt private key - * @return true on success, false otherwise - */ - boolean readEncryptingKey(final String keysName, final ByteArrayOutputStream key); - - /** - * @desc Retrieve the key identifier associated to the Digest value - * @param p_hashedId8ToBeUsed the Digest value - * @return The key identifier - */ - String getKeyIdFromHashedId8(final byte[] p_hashedId8ToBeUsed); - -} // End of interface ICertificatesIO diff --git a/javasrc/codec/org/etsi/codec/ITCIRequired.java b/javasrc/codec/org/etsi/codec/ITCIRequired.java deleted file mode 100644 index 612777ce03591764534da9d3ee36cad9f09a8d6e..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/codec/ITCIRequired.java +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.codec; - -import org.etsi.ttcn.tci.TciCDProvided; - -/** - * TCI Required interface to be implemented by TCI providers. - */ -public interface ITCIRequired { - - /** - * Get a codec instance according the the provided codec name - * @param encodingName Name of the codec to get - * @return A codec instance - */ - public TciCDProvided getCodec(final String encodingName); -} diff --git a/javasrc/codec/org/etsi/codec/ITciCDWrapper.java b/javasrc/codec/org/etsi/codec/ITciCDWrapper.java deleted file mode 100644 index c645fcc8b16fe0bed122f33bea88dc1681ea7cf4..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/codec/ITciCDWrapper.java +++ /dev/null @@ -1,142 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.codec; - -import java.math.BigInteger; - -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -/** - * This interface is used to provide vendor specific implementations of TCI-CD interface - * - * Note that the TCI Codec Interface (TCI-CD) describes the operations a TTCN-3 Executable is required to implement and the operations a codec implementation for a certain encoding scheme shall provide to the TE - * - * See ETSI ES 201 873-6 V4.2.1 - Clause 7.3.2.1 TCI-CD required - */ -public interface ITciCDWrapper { - - /** - * Constructs and returns a basic TTCN-3 integer type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ - public IntegerValue setInteger(final Integer value); - - /** - * Constructs and sets a basic TTCN-3 integer type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - */ - public void setInteger(IntegerValue intValue, final Integer value); - - /** - * Constructs and returns a basic TTCN-3 big integer type - * - * @see ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ - public IntegerValue setInteger(final BigInteger value); - - /** - * Constructs and returns a basic TTCN-3 big integer type - * - * @see ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ - public void setInteger(final BigInteger value, IntegerValue setInt); - - /** - * Constructs and returns a basic integer type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ - public int getInteger(final IntegerValue iv); - - /** - * Constructs and returns a basic big integer type - * - * @see ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ - public long/*TODO BigInteger*/ getBigInteger(final IntegerValue iv); - - /** - * Constructs and returns a basic TTCN-3 octet string type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getOctetstring - * @return An instance of Type representing a TTCN-3 octet string type - */ - public OctetstringValue getOctetstring(); - - /** - * Constructs and returns a basic TTCN-3 string type - * @return An instance of Type representing a TTCN-3 string type - */ - public CharstringValue getCharstringValue(); - - /** - * Constructs and returns a basic TTCN-3 float type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.3 getFloat - * @return An instance of Type representing a TTCN-3 float type - */ - public FloatValue getFloat(); - - /** - * Constructs and returns a basic TTCN-3 float type - * - * @return An instance of Type representing a TTCN-3 float type - */ - public Value getUnionValue(final Type decodingHypothesis, final String variantName); - - /** - * Constructs and returns a basic TTCN-3 float type - * - * @return An instance of Type representing a TTCN-3 float type - */ - public RecordValue getRecordValue(final String typeName); - - /** - * Constructs and returns a basic TTCN-3 float type - * - * @return An instance of Type representing a TTCN-3 float type - */ - public RecordOfValue getRecordOfValue(final String typeName); - - /** - * Constructs and returns a basic TTCN-3 boolean type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.4 getBoolean - * @return An instance of Type representing a TTCN-3 boolean type - */ - public BooleanValue getBoolean(); - - /** - * Constructs and returns a basic TTCN-3 enumerated type - * - * @return An instance of Type representing a TTCN-3 enumerated type - */ - public EnumeratedValue getEnumValue(String string); - - /** - * Convert the specified type string into a Type object - * @param type The type in string format - * @return A Type object - */ - public Type getTypeForName(final String type); - - // FIXME To be continued -} // End of interface ITciCDWrapper diff --git a/javasrc/codec/org/etsi/codec/ITciCDWrapperFactory.java b/javasrc/codec/org/etsi/codec/ITciCDWrapperFactory.java deleted file mode 100644 index bf186ad55476c6eb82bb6a384da5788be9e683de..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/codec/ITciCDWrapperFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.codec; - - - -/** This interface provides mandatory method to be used by Vendor to implement specific TEE part of code for TciCD - * - * See ETSI ES 201 873-6 V4.2.1 - Clause 7.3.2.1 TCI-CD required - */ -public interface ITciCDWrapperFactory { - - /** - * This method is used by Vendor to implement specific TEE part of code for TciCD - * - * @param tcicd A n instance of TciCDWrapper - * @see ITciCDWrapper - */ - public void setImpl(final ITciCDWrapper tcicd); - -} // End of interface ITciCDWrapperFactory diff --git a/javasrc/codec/org/etsi/codec/TciCDWrapperFactory.java b/javasrc/codec/org/etsi/codec/TciCDWrapperFactory.java deleted file mode 100644 index 16496b6faf7b5157d34316a7ae5b8f6e2093e5e0..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/codec/TciCDWrapperFactory.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.codec; - - - -/** - * This class implements ITciCDWrapperFactory interface - * - * @see ITciCDWrapperFactory - * @category factory - */ -public class TciCDWrapperFactory implements ITciCDWrapperFactory{ - - /** - * Unique instance of this class - */ - private static ITciCDWrapperFactory _instanceFactory = (ITciCDWrapperFactory)new TciCDWrapperFactory(); - - /** - * Unique instance of TciCDWrapper class - * @see setImpl - */ - private static ITciCDWrapper _instance; - - /** - * Default internal ctor - */ - private TciCDWrapperFactory() { - //empty - } - - /** - * Singleton access method - * - * @return A unique reference to this class - */ - public static ITciCDWrapperFactory getInstance() { - return _instanceFactory; - } - - /** - * Singleton access method - * - * @return A unique reference to the TciCDWrapper class - */ - public static ITciCDWrapper getTciCDInstance() { - return _instance; - } - - /** - * This method is used by Vendor to implement specific TEE part of code for TciCD - * - * @param tcicd A n instance of TciCDWrapper - * @see ITciCDWrapper - */ - @Override - public void setImpl(final ITciCDWrapper tcicd) { - _instance = tcicd; - } - -} // End of class TciCDWrapperFactory diff --git a/javasrc/codec/org/etsi/ttcn/codec/CodecBuffer.java b/javasrc/codec/org/etsi/ttcn/codec/CodecBuffer.java deleted file mode 100644 index 3d180115c0fc30ef10a9e7ed6240a41a97e28b37..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/CodecBuffer.java +++ /dev/null @@ -1,516 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -import java.util.Map; -import java.util.TreeMap; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; - -public class CodecBuffer { - - /** - * Raw byte storage array. Last byte may be a "partial byte", i.e. some of its bits may not be significants - * @see bits - */ - protected byte[] buffer; - - /** - * Number of significant bits in the "partial byte" - * Significant bits are always stored "left-aligned" (i.e. MSBs) in the "partial byte" - * @see buffer - */ - protected int bits; - - /** - * Marker storage - */ - protected Map markers = new TreeMap(); - - /** - * Some useful byte masks - */ - private byte[] masks = new byte[]{(byte)0x00, (byte)0x80, (byte)0xC0, (byte)0xE0, (byte)0xF0, (byte)0xF8, (byte)0xFC, (byte)0xFE}; - - /** - * Some useful byte masks - */ - private byte[] nomasks = new byte[]{(byte)0xFF, (byte)0x7F, (byte)0x3F, (byte)0x1F, (byte)0x0F, (byte)0x07, (byte)0x03, (byte)0x01}; - - /** - * Main constructor. Initialises an empty buffer - */ - public CodecBuffer() { - bits = 0; - buffer = new byte[]{}; - } - - /** - * Constructor. Initialises the buffer using provided byte array - * @param bytes Initial content of the buffer - */ - public CodecBuffer(byte[] bytes) { - bits = 0; - buffer = bytes.clone(); - } - - /** - * Overwrite content of current buffer using data of newBuffer - * @param newBuffer CodecBuffer containing new data - */ - public void overwriteWith(CodecBuffer newBuffer) { - - bits = newBuffer.bits; - buffer = newBuffer.buffer.clone(); - markers = new TreeMap(newBuffer.markers); - } - - /** - * Retrieves the number of significant bits in the buffer. - * Warning: getNbBytes() != (getNbBits() * 8) - * @return The number of significant bits in the buffer - * @see getNbBytes() - */ - public int getNbBits() { - - if(bits > 0) { - return (buffer.length - 1) * 8 + bits; - } - return buffer.length * 8; - } - - /** - * Retrieves the number of bytes used to store the buffer. - * Warning: getNbBytes() != (getNbBits() * 8) - * @return The number of bytes used to store the buffer - * @see getNbBits() - */ - public int getNbBytes() { - return buffer.length; - } - - /** - * Concatenates current CodecBuffer and the CodecBuffer passed as parameter. - * Markers of buffer2 are preserved and integrated into the current CodecBuffer. - * @param buffer2 The CodecBuffer to be appended - */ - public void append(CodecBuffer buffer2) { - - // copy buffer content - int nbBits = getNbBits(); - if(buffer2.getNbBits() > 0) { - appendBits(buffer2.getBits(), buffer2.getNbBits()); - } - - // integrate markers - for(Map.Entry entry : buffer2.markers.entrySet()) { - String key = entry.getKey(); - Marker marker = entry.getValue(); - marker.move(nbBits); - markers.put(key, marker); - } - } - - /** - * Associates a new marker to current CodecBuffer. - * Inserting marker with name identical to a previously inserted one will overwrite it. - * @param key Name of the marker - * @param pos Position of the marker relative to the current position - * @param callback Optional callback object to be executed later, or null - * @see runCallbacks() - */ - public void setMarker(String key, int pos, IMarkerCallback callback) { - markers.put(key, new Marker(pos, callback)); - } - - /** - * Executes all the callbacks associated to current CodecBuffer's markers - * @see setMarkers() - */ - public void runCallbacks() { -// TERFactory.getInstance().logDebug("Running callbacks..."); - for(Map.Entry entry : markers.entrySet()) { - String key = entry.getKey(); -// TERFactory.getInstance().logDebug("Running callback: " + key); - Marker marker = entry.getValue(); - IMarkerCallback callback = marker.getCallback(); - if(callback != null) { - CodecBuffer Left = getBuffer(0, marker.getPos()); - CodecBuffer Right = getBuffer(marker.getPos(), getNbBits() - marker.getPos()); - - callback.run(key, Left, Right); - - // Overwrite self with Left+Right - // TODO: take care if Right or Left have change to much. - Left.append(Right); - buffer = Left.buffer; - bits = Left.bits; - } - } - } - - /** - * Creates a new CodecBuffer from current CodecBuffer's content - * Markers of current CodecBuffer are preserved and integrated into the new CodecBuffer. - * @param start Start point. Bit offset from current position - * @param length Amount of bits to be copied - * @return The new CodecBuffer - */ - public CodecBuffer getBuffer(int start, int length) { - // TODO: check param validity - - CodecBuffer res = new CodecBuffer(); - res.setBits(getBits(start, length), length); - - for(Map.Entry entry : markers.entrySet()) { - String key = entry.getKey(); - Marker marker = entry.getValue(); - int pos = marker.getPos(); - if(pos >= start && pos < (start + length)) { - res.setMarker(key, pos - start, marker.getCallback()); - } - } - return res; - } - - /** - * Appends some raw bytes at the end of the current CodecBuffer - * @param origBytes Bytes to be appended - */ - public void appendBytes(byte[] origBytes) { - - byte[] bytes = origBytes.clone(); - - int lastByte = buffer.length - 1; - buffer = ByteHelper.concat(buffer, bytes); - - if(bits != 0) { - for(int i=0; i < bytes.length; i++) { - buffer[lastByte] &= masks[bits]; - buffer[lastByte] |= ((bytes[i] >>> bits) & nomasks[bits]); - lastByte++; - buffer[lastByte] = (byte)(buffer[lastByte] << (8 - bits)); - } - - buffer[buffer.length - 1] &= masks[bits]; - } - } - - /** - * Appends some raw bits at the end of the current CodecBuffer - * @param origBytes Byte array used to store the bits to be appended. - * It MUST be right-aligned. First byte (origBytes[0]) may be a - * partial byte if 'nbBits' is not a multiple of 8. - * In this case MSBs of this byte are ignored and not copied - * @param nbBits Number of significant bits in 'origBytes' - */ - public void appendBits(byte[] origBytes, int nbBits) { - - byte[] bytes = origBytes.clone(); - int rbits = nbBits % 8; - int nbBytes = nbBits / 8 + ((rbits > 0)?1:0); - int lastByte = buffer.length - 1; - - // Left-align received bytes - if(rbits !=0) { - int i; - for(i=(bytes.length - nbBytes); i < (nbBytes - 1); i++) { - bytes[i] = (byte)(bytes[i] << (8 - rbits)); - bytes[i] |= ((bytes[i+1] >>> rbits) & nomasks[rbits]); - } - bytes[i] = (byte)(bytes[i] << (8 - rbits)); - bytes[i] &= masks[rbits]; - } - - buffer = ByteHelper.concat(buffer, ByteHelper.extract(bytes, (bytes.length - nbBytes), nbBytes)); - if(bits != 0) { - int i; - for(i=lastByte; i < (lastByte + nbBytes); i++) { - buffer[i] &= masks[bits]; - buffer[i] |= ((buffer[i+1] >>> bits) & nomasks[bits]); - buffer[i+1] = (byte)(buffer[i+1] << (8 - bits)); - } - buffer[i] &= masks[bits]; - - if((rbits > 0) && (rbits + bits <= 8)) { - // Remove trailing byte (garbage) - buffer = ByteHelper.extract(buffer, 0, buffer.length - 1); - } - - } - - bits += nbBits; - bits %= 8; - } - - /** - * Overwrite the content of CodecBuffer using the provided bytes - * @param bytes New content of the CodecBuffer - * @see setBits() - */ - public void setBytes(byte[] bytes) { - buffer = bytes.clone(); - bits = 0; - markers.clear(); - } - - /** - * Overwrite the content of CodecBuffer using the provided bits - * @param bytes Byte array used to store the bits to be used. - * It MUST be right-aligned. First byte (origBytes[0]) may be a - * partial byte if 'nbBits' is not a multiple of 8. - * In this case MSBs of this byte are ignored and not copied - * @param nbBits Number of significant bits in 'bytes' - * @see setBytes() - */ - public void setBits(byte[] bytes, int nbBits) { - - if(nbBits == 0) { - bits = 0; - buffer = new byte[]{}; - } - else { - int i; - int rbits = nbBits % 8; - int nbBytes = nbBits / 8 + ((rbits > 0)?1:0); - bits = rbits; - buffer = bytes.clone(); - - if(bits !=0) { - for(i=(bytes.length - nbBytes); i < (nbBytes - 1); i++) { - buffer[i] = (byte)(buffer[i] << (8 - bits)); - buffer[i] |= ((buffer[i+1] >>> bits) & nomasks[bits]); - } - buffer[i] = (byte)(buffer[i] << (8 - bits)); - buffer[i] &= masks[bits]; - } - } - markers.clear(); - } - - /** - * Extracts some bytes at the beginning of the buffer. Read bytes are discarded from the buffer. - * @param nbBytes Number of bytes to be read - * @return Byte array containing the 'nbBytes' first bytes of the buffer. - * Byte array's length may be shorter than requested if buffer does not - * contain enough bytes - * @see getBytes() - */ - public byte[] readBytes(int nbBytes) { - byte[] result = getBytes(0, nbBytes); - int newLength = getNbBits() - (nbBytes * 8); - - if(result != null) { - if(newLength > 0) { - setBits(getBits(nbBytes * 8, newLength), newLength); - } - else { - bits = 0; - buffer = new byte[] {}; - } - } else { - result = new byte[] {}; - } - return result; - // TODO: move markers - } - - /** - * Extracts some bits at the beginning of the buffer. Read bits are discarded from the buffer. - * @param nbBytes Number of bits to be read - * @return Byte array containing the 'nbBits' first bits of the buffer. - * Number of returned bits may be smaller than requested if buffer does not - * contain enough bits. Returned byte array is right-aligned. - * First byte may be a partial byte if 'nbBits' is not a multiple of 8. - * In this case MSBs of this byte are not significants and padded with '0's - * @see getBits() - */ - public byte[] readBits(int nbBits) { - byte[] result = getBits(0, nbBits); - int newLength = getNbBits() - nbBits; - byte[] newBuffer = getBits(nbBits, newLength); - - if(result != null) { - setBits(newBuffer, newLength); - } - return result; - // TODO: move markers - } - - /** - * Retrieves the raw content of the CodecBuffer - * @return Raw byte array used to store CodecBuffer's content - * Returned byte array is left-aligned. - * Last byte may be a partial byte if 'bits' is not null. - * In this case LSBs of this byte are not significants and their value is undetermined - */ - public byte[] getBytes() { - return buffer; - } - - /** - * Retrieves some bytes from the CodecBuffer. Returned bytes are not removed from the buffer - * @param start Start point (octet index) - * @param nbBytes Number of bytes to be returned - * @return Extracted bytes. - * Returned byte array is left-aligned. - * Last byte may be a "partial byte" if it is the last byte of CodecBuffer and if 'bits' is not null. - * In this case LSBs of this byte are not significants and their value is undetermined - * @see ReadBytes() - */ - public byte[] getBytes(int start, int nbBytes) { - - if(start > buffer.length) { - TERFactory.getInstance().logDebug("bad start: " + start); - return null; - } - if((start + nbBytes) > buffer.length) { - TERFactory.getInstance().logDebug("bad length: " + (start + nbBytes) + " (" + buffer.length + " bytes remaining)"); - return null; - } - - if(nbBytes < 0) { - TERFactory.getInstance().logDebug("bad length: " + (nbBytes) + " (" + buffer.length + " bytes remaining)"); - return null; - } - - return ByteHelper.extract(buffer, start, nbBytes); - } - - /** - * Retrieves all the bits from the CodecBuffer. Returned bits are not removed from the buffer - * @return Extracted bits stored in a byte array. - * Returned byte array is right-aligned. - * First byte may be a "partial byte" if 'nbBits' is not a multiple of 8. - * In this case MSBs of this byte are not significants and their value is '0' - * @see ReadBits() - */ - public byte[] getBits() { - return getBits(0, getNbBits()); - } - - /** - * Retrieves some bits from the CodecBuffer. Returned bits are not removed from the buffer - * @param start Start point (bit index) - * @param nbBits Number of bits to be returned - * @return Extracted bits stored in a byte array. - * Returned byte array is right-aligned. - * First byte may be a "partial byte" if 'nbBits' is not a multiple of 8. - * In this case MSBs of this byte are not significants and their value is '0' - * @see ReadBits() - */ - public byte[] getBits(int start, int nbBits) { - - int byteIndex = start / 8; - int bitOffset = start % 8; - int nbBytes = ((bitOffset > 0)?1:0) + (((nbBits - 8 + bitOffset) / 8) + ((bitOffset==0)?1:0)) + ((((nbBits - 8 + bitOffset) % 8) > 0)?1:0); - // leading partial byte complete bytes trailing partial byte - - if(byteIndex > buffer.length) { - TERFactory.getInstance().logDebug("bad start: " + byteIndex + "(" + start + ")" + " (" + buffer.length + " bytes remaining)"); - return null; - } - if((byteIndex + nbBytes) > buffer.length) { - TERFactory.getInstance().logDebug("bad length: " + (byteIndex + nbBytes) + "(" + nbBits + ")" + " (" + buffer.length + " bytes remaining)"); - return null; - } - - byte[] tmp = ByteHelper.extract(buffer, byteIndex, nbBytes); - - if(bitOffset != 0) { - tmp[0] = (byte)(tmp[0] << bitOffset); - for(int i=1; i < tmp.length; i++) { - tmp[i-1] &= masks[8 - bitOffset]; - tmp[i-1] |= ((tmp[i] >>> (8 - bitOffset)) & nomasks[8 - bitOffset]); - tmp[i] = (byte)(tmp[i] << bitOffset); - } - } - - tmp = ByteHelper.extract(tmp, 0, nbBits / 8 + (((nbBits % 8) > 0)?1:0)); - - if(nbBits % 8 > 0) { - for(int i=tmp.length-1; i >= 0; i--) { - tmp[i] = (byte)((tmp[i] >>> (8 - (nbBits % 8))) & nomasks[8 - (nbBits % 8)]); - if(i > 0) { - tmp[i] |= (byte)(tmp[i-1] << (nbBits % 8)); - } - } - } - - return tmp; - } - - /** - * Retrieves some bits from the CodecBuffer. Returned bits are not removed from the buffer - * @param markerKey Name of the marker serving as starting point for the extraction - * @param nbBits Number of bits to be returned - * @return Extracted bits stored in a byte array. - * Returned byte array is right-aligned. - * First byte may be a "partial byte" if 'nbBits' is not a multiple of 8. - * In this case MSBs of this byte are not significants and their value is '0' - * @see ReadBits() - */ - public byte[] getBits(String markerKey, int nbBits) { - Marker marker = markers.get(markerKey); - - if(marker != null) { - return getBits(marker.getPos(), nbBits); - } - return null; - } - - /** - * Private class used to represent markers that can be insterted in CodecBuffer - */ - private class Marker { - - /** - * Constructor. - * @param pos Position of the marker relative to the current position - * @param callback Optional callback object to be executed later, or null - */ - public Marker(int pos, IMarkerCallback callback) { - this.pos = pos; - this.callback = callback; - } - - /** - * Retrieve the position of the marker (bit offset from buffer's start). - * @return The position of the marker - */ - public int getPos() { - return pos; - } - - /** - * Retrieve the callback object associated to the marker. - * @return The callback object associated to the marker, or null - */ - public IMarkerCallback getCallback() { - return callback; - } - - /** - * Changes the position of the marker in the buffer - * @param nbBits Position offset from marker's current position (can be negative) - */ - public void move(int nbBits) { - pos += nbBits; - } - - /** - * Current position of the marker - */ - private int pos; - - - /** - * Callback object associated to the marker - */ - private IMarkerCallback callback; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/CodecFactory.java b/javasrc/codec/org/etsi/ttcn/codec/CodecFactory.java deleted file mode 100644 index 90892f875a389b39e37e448d177340b2b6653bdf..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/CodecFactory.java +++ /dev/null @@ -1,134 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -import java.lang.reflect.Constructor; -import java.util.Map; -import java.util.TreeMap; - -import org.etsi.adapter.TERFactory; -import org.etsi.ttcn.tci.TciCDProvided; -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.generic.Bitstring; -import org.etsi.ttcn.codec.generic.Boolean; -import org.etsi.ttcn.codec.generic.Charstring; -import org.etsi.ttcn.codec.generic.Octetstring; -import org.etsi.ttcn.codec.generic.Integer; -import org.etsi.ttcn.codec.generic.Set; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.generic.RecordOf; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.generic.Enumerated; -import org.etsi.ttcn.codec.generic.Dummy; - -public class CodecFactory { - - private static CodecFactory instance = new CodecFactory(); - private static boolean initialized = false; - protected Map> codecs = new TreeMap>(); - protected Map externalCodecs = new TreeMap(); - - private CodecFactory() { - codecs.put(TciTypeClass.BITSTRING + "//", Bitstring.class); - codecs.put(TciTypeClass.OCTETSTRING + "//", Octetstring.class); - codecs.put(TciTypeClass.CHARSTRING + "//", Charstring.class); - codecs.put(TciTypeClass.RECORD + "//", Record.class); - codecs.put(TciTypeClass.SET + "//", Set.class); - codecs.put(TciTypeClass.INTEGER + "//", Integer.class); - codecs.put(TciTypeClass.FLOAT + "//", org.etsi.ttcn.codec.generic.Float.class); - codecs.put(TciTypeClass.UNION + "//", Union.class); - codecs.put(TciTypeClass.ENUMERATED + "//", Enumerated.class); - codecs.put(TciTypeClass.RECORD_OF + "//", RecordOf.class); - codecs.put(TciTypeClass.SET_OF + "//", RecordOf.class); - codecs.put(TciTypeClass.BOOLEAN + "//", Boolean.class); - - } - - public static CodecFactory getInstance() { - - instance.initialize(); - return instance; - } - - public void initialize() { - - if(!initialized) { - initialized = true; - - // FIXME: dynamic - // initialize additional codec plugins - org.etsi.ttcn.codec.its.adapter.Plugin.init(); - org.etsi.ttcn.codec.its.uppertester.Plugin.init(); - org.etsi.ttcn.codec.its.configtester.Plugin.init(); - org.etsi.ttcn.codec.its.geonetworking.Plugin.init(); - org.etsi.ttcn.codec.its.btp.Plugin.init(); - org.etsi.ttcn.codec.its.security.Plugin.init(); - org.etsi.ttcn.codec.its.facilities.Plugin.init(); - } - - } - - public TciCDProvided getExternalCodec(String encoding) { - TciCDProvided codec = null; - - if(encoding == null) { - return null; - } - - //TERFactory.getInstance().logDebug("getExternalCodec: Search external codec for " + encoding); - codec = externalCodecs.get(encoding); - if(codec != null) { - //TERFactory.getInstance().logDebug(String.format("%50s", encoding)); - //TERFactory.getInstance().logDebug(" ==> " + codec.getClass().getName()); - System.out.println(String.format("%50s", encoding) + " ==> " + codec.getClass().getName()); - return codec; - } - return null; - } - - public ICodec getCodec(MainCodec mainCodec, int classType, String encoding, String typeName) { - - //TERFactory.getInstance().logDebug(String.format("%50s", typeName + "(" + encoding + ")")); - System.out.println(String.format("%50s", typeName + "(" + encoding + ")")); - Class cls = null; - Class[] ctorParams = {MainCodec.class}; - - //TERFactory.getInstance().logDebug("getCodec: Search internal codec for " + classType + '/' + encoding + '/' + typeName); - System.out.println("getCodec: Search internal codec for " + classType + '/' + encoding + '/' + typeName); - cls = codecs.get(classType + '/' + encoding + '/' + typeName); - if(cls == null) { - cls = codecs.get(classType + '/' + encoding + '/'); - } - if(cls == null) { - cls = codecs.get(classType + "//"); - } - - if(cls != null) { - //TERFactory.getInstance().logDebug(" ==> " + cls.getName()); - System.out.println(" ==> " + cls.getName()); - try { - Constructor ctor = cls.getConstructor(ctorParams); - return ctor.newInstance(mainCodec); - } - catch (Exception ex) { - ex.printStackTrace(); - } - } - - //TERFactory.getInstance().logDebug(" ==> No codec found !"); - System.out.println(" ==> No codec found !"); - return new Dummy(mainCodec); - } - - public void setCodec(int classType, String encoding, String typeName, Class codec) { - //TERFactory.getInstance().logDebug("setCodec: add " + classType + "/" + encoding + "/" + typeName + "/" + codec); - codecs.put(classType + '/' + encoding + '/' + typeName, codec); - } - - public void setExternalCodec(String encoding, TciCDProvided codec) { - externalCodecs.put(encoding, codec); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/ICodec.java b/javasrc/codec/org/etsi/ttcn/codec/ICodec.java deleted file mode 100644 index af9dcee31a21b1b8061fefe3ea57e2b89853795b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ICodec.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class ICodec { - - public ICodec(MainCodec mainCodec) { - this.mainCodec = mainCodec; - this.len = -1; - } - - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - return null; - } - - public CodecBuffer encode(Value value) { - return null; - } - - protected int getVariantBitLength(String variant) { - try { - Matcher matcher = PATTERN_VARIANT.matcher(variant); - if(matcher.find()) { - if (matcher.group(3) != null) - return java.lang.Integer.parseInt(matcher.group(3)); - else - return java.lang.Integer.parseInt(matcher.group(7)); - } - } - catch(Exception e) { - // Empty on purpose - } - return 0; - } - - protected int getEncodingLength(String encoding) { - try { - Matcher matcher = PATTERN_ENCODING.matcher(encoding); - if(matcher.find()) { - return java.lang.Integer.parseInt(matcher.group(1)); - } - } - catch(Exception e) { - // Empty on purpose - } - return 0; - } - - protected void setLength(int len) { - this.len = len; - } - - protected int getLength() { - return len; - } - - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - return; - } - - public CodecBuffer preEncode(Value value) { - return null; - } - - protected final static Pattern PATTERN_VARIANT = Pattern.compile("((\\w+)\\s+)?((\\d+))\\s+bit|(\\w{0,1})(Int)(\\d+)"); - protected final static Pattern PATTERN_ENCODING = Pattern.compile("length\\((\\d+)\\)"); - protected MainCodec mainCodec; - private int len; - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/IMarkerCallback.java b/javasrc/codec/org/etsi/ttcn/codec/IMarkerCallback.java deleted file mode 100644 index 2f37c6d55cb69272342c6fbd6a6e5869e37a1f26..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/IMarkerCallback.java +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -public interface IMarkerCallback { - - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf); - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/ITERequired.java b/javasrc/codec/org/etsi/ttcn/codec/ITERequired.java deleted file mode 100644 index 26f8c8ff4943d74d13533d284a274646e31135fb..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ITERequired.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -import org.etsi.ttcn.tci.Type; - -public interface ITERequired { - - public Type getTypeForName(String typeName); - public Type getInteger(); - public Type getFloat(); - public Type getBoolean(); - public Type getCharstring(); - public Type getUniversalCharstring(); - public Type getHexstring(); - public Type getBitstring(); - public Type getOctetstring(); - public Type getVerdict(); - public void tciErrorReq(String message); -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/MainCodec.java b/javasrc/codec/org/etsi/ttcn/codec/MainCodec.java deleted file mode 100644 index 0377d9007dfdbdeaec6cefc65763e8f847d5525d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/MainCodec.java +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -import java.util.Map; -import java.util.TreeMap; - -import org.etsi.codec.ITciCDWrapper; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.TciCDProvided; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -public class MainCodec extends ICodec { - - public MainCodec(ITciCDWrapper _cdReq) { - super(null); - this.cdReq = _cdReq; - } - - public Value triDecode(TriMessage message, Type decodingHypothesis) { - return decode(new CodecBuffer(message.getEncodedMessage()), decodingHypothesis); - } - - public TriMessage triEncode(Value value) { - CodecBuffer encoded = encode(value); - encoded.runCallbacks(); - return new TriMessageImpl(encoded.getBytes()); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> MainCodec.decode: " + decodingHypothesis.getName()); -// ByteHelper.dump(">>> MainCodec.decode: ", buf.getBytes()); - - CodecFactory cf = CodecFactory.getInstance(); - try { - TciCDProvided extCodec = cf.getExternalCodec(decodingHypothesis.getTypeEncoding()); - if(extCodec != null) { - return extCodec.decode(new TriMessageImpl(buf.getBytes()), decodingHypothesis); - } - ICodec codec = cf.getCodec( - this, - decodingHypothesis.getTypeClass(), - decodingHypothesis.getTypeEncoding(), - decodingHypothesis.getName() - ); - codec.preDecode(buf, decodingHypothesis); - - // TODO To be removed, for debug purpose only -// Value decValue = codec.decode(buf, decodingHypothesis); -// TERFactory.getInstance().logDebug("<<< MainCodec.decode: " + decValue); -// return decValue; - return codec.decode(buf, decodingHypothesis); - } catch(Throwable e) { - e.printStackTrace(); - return null; - } - } - - @Override - public CodecBuffer encode(Value value) { - //TERFactory.getInstance().logDebug(">>> MainCodec.encode: " + value); - //System.out.println(">>> MainCodec.encode: " + value); - - CodecFactory cf = CodecFactory.getInstance(); - TciCDProvided extCodec = cf.getExternalCodec(value.getValueEncoding()); - if(extCodec != null) { - TriMessage enc = extCodec.encode(value); - if (enc != null) { - return new CodecBuffer(enc.getEncodedMessage()/*extCodec.encode(value).getEncodedMessage()*/); - } // else continue - } - ICodec codec = CodecFactory.getInstance().getCodec( - this, - value.getType().getTypeClass(), - value.getValueEncoding(), - value.getType().getName() - ); - CodecBuffer preBuf = codec.preEncode(value); - CodecBuffer buf = codec.encode(value); - if(preBuf != null) { - preBuf.append(buf); - buf = preBuf; - } - - //ByteHelper.dump("<<< MainCodec.encode: ", buf.getBytes()); - return buf; - } - - public String getHint(String key) { -// TERFactory.getInstance().logDebug("getHint: " + key + ": " + hints.get(key)); - return hints.get(key); - } - - public void setHint(String key, String value) { -// TERFactory.getInstance().logDebug("setHint: " + key + ", " + value); - hints.put(key, value); - } - - public java.lang.Boolean getPresenceHint(String key) { -// TERFactory.getInstance().logDebug("getPresenceHint: " + key + ": " + presenceHints.get(key)); - return presenceHints.get(key); - } - - public void setPresenceHint(String key, java.lang.Boolean value) { -// TERFactory.getInstance().logDebug("setPresenceHint: " + key + ", " + value); - presenceHints.put(key, value); - } - - public ITciCDWrapper getTciCDRequired() { - return cdReq; - } - - protected Map hints = new TreeMap(); - protected Map presenceHints = new TreeMap(); - protected ITciCDWrapper cdReq; -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/TERFactory.java b/javasrc/codec/org/etsi/ttcn/codec/TERFactory.java deleted file mode 100644 index 4bada340f655a9b8351f3c156f38b07ad46d4b82..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/TERFactory.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; - -public class TERFactory { - - private static ITERequired instance; - - public static ITERequired getInstance() { - return instance; - } - - private TERFactory() { - - } - - public static void setImpl(ITERequired impl) { - instance = impl; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/TriMessageImpl.java b/javasrc/codec/org/etsi/ttcn/codec/TriMessageImpl.java deleted file mode 100644 index 7dbc2a1a1bde791ed489f9b689e82e78bfaec1a3..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/TriMessageImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec; // TODO: use TriMessage implementation provided by tool - -import org.etsi.ttcn.tri.TriMessage; - -public class TriMessageImpl implements TriMessage { - - /** - * - */ - private static final long serialVersionUID = -2657880550149993668L; - private byte[] message; - - public TriMessageImpl(byte[] message) { - this.message = message; - } - - @Override - public boolean equals(TriMessage message) { - return java.util.Arrays.equals(this.message, message.getEncodedMessage()) && getNumberOfBits() == message.getNumberOfBits(); - } - - @Override - public byte[] getEncodedMessage() { - return this.message; - } - - @Override - public int getNumberOfBits() { - return this.message.length * Byte.SIZE; - } - - @Override - public void setEncodedMessage(byte[] message) { - this.message = message; - } - - @Override - public void setNumberOfBits(int amount) { - int length = amount / 8; - if(this.message == null) { - if ((amount % 8) != 0) { - length += 1; - } - this.message = new byte[length]; - } - else if(this.message.length > length) { - throw new UnsupportedOperationException(); - } - else if (this.message.length < length) { - throw new UnsupportedOperationException(); - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Bitstring.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Bitstring.java deleted file mode 100644 index ab44105670785d3995e046e850f137aebb4df24c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Bitstring.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.BitstringValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - - -public class Bitstring extends ICodec { - - public Bitstring(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> Bitstring.decode: " + decodingHypothesis.getTypeEncoding()); - - BitstringValue bv = (BitstringValue)decodingHypothesis.newInstance(); - int lengthInBits = getEncodingLength(decodingHypothesis.getTypeEncoding()); -// TERFactory.getInstance().logDebug("Bitstring.decode: lengthInBits=" + lengthInBits); - CodecBuffer value = new CodecBuffer(); - value.setBits(buf.readBits(lengthInBits), lengthInBits); - - bv.setLength(lengthInBits); - - for(int i=0; i < lengthInBits; i++) { - bv.setBit(i, value.readBits(1)[0]); - } - - return bv; - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> Bitstring.encode: " + value); - - BitstringValue bv = (BitstringValue)value; - CodecBuffer encoded = new CodecBuffer(); - - for(int i=0; i < bv.getLength(); i++) { - encoded.appendBits(new byte[]{(byte)bv.getBit(i)}, 1); - } - - return encoded; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Boolean.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Boolean.java deleted file mode 100644 index 78c801953889555b4eb8489e972750ebe3a8c5c5..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Boolean.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class Boolean extends ICodec { - - public Boolean(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - BooleanValue bv = (BooleanValue)decodingHypothesis.newInstance(); - byte[] value = buf.readBits(8); - - if(value[0] > 0) { - bv.setBoolean(true); - } - else { - bv.setBoolean(false); - } - return bv; - } - - @Override - public CodecBuffer encode(Value value) { - - BooleanValue bv = (BooleanValue)value; - CodecBuffer encoded = new CodecBuffer(); - - if(bv.getBoolean() == true) { - encoded.appendBytes(new byte[] {(byte)0x01}); - } - else { - encoded.appendBytes(new byte[] {(byte)0x00}); - } - - return encoded; - } - - -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Charstring.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Charstring.java deleted file mode 100644 index 2fb05fad1be89a04689654b7cae85e5a61b7cd4c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Charstring.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Charstring extends ICodec { - - public Charstring(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - CharstringValue cv = (CharstringValue)decodingHypothesis.newInstance(); - int lengthInBytes = 0; - - // Get length - String hint = mainCodec.getHint(decodingHypothesis.getName() + "Len"); - if(hint == null) { - lengthInBytes = getEncodingLength(decodingHypothesis.getTypeEncoding()); - } - else { - lengthInBytes = java.lang.Integer.parseInt(hint); - } - - byte[] value = buf.readBytes(lengthInBytes); - - cv.setLength(lengthInBytes); - for(int i=0; i < value.length; i++) { - cv.setChar(i, (char)value[i]); - } - - return cv; - } - - @Override - public CodecBuffer encode(Value value) { - - CharstringValue cv = (CharstringValue)value; - byte[] encoded = new byte[] {}; - if (cv.getString() != null) { - encoded = cv.getString().getBytes(); - } - - return new CodecBuffer(encoded); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Dummy.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Dummy.java deleted file mode 100644 index de663b4d60b1cb2dce0c505aa2965d31663af8a9..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Dummy.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Dummy extends ICodec { - - public Dummy(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - return decodingHypothesis.newInstance(); - } - - @Override - public CodecBuffer encode(Value value) { - - return new CodecBuffer(new byte[]{(byte)0x00}); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Enumerated.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Enumerated.java deleted file mode 100644 index 3b9e00ff9078935d3c2dd668ea96966907f6abe8..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Enumerated.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Enumerated extends ICodec { - - public Enumerated(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> Enumerated.decode: " + decodingHypothesis.getName()); - - EnumeratedValue ev = (EnumeratedValue)decodingHypothesis.newInstance(); - int lengthInBits = 0; - - // Get length - String hint = mainCodec.getHint(decodingHypothesis.getName() + "Len"); - if(hint == null) { - lengthInBits = getVariantBitLength(decodingHypothesis.getTypeEncodingVariant()); - } - else { - lengthInBits = java.lang.Integer.parseInt(hint); - } - - byte[] value = buf.readBits(lengthInBits); - ev.setInt(ByteHelper.byteArrayToInt(value)); - - return ev; - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> Enumerated.encode: " + value.getType().getName()); - - EnumeratedValue ev = (EnumeratedValue)value; - int lengthInBits = 0; - int lengthInBytes = 0; - CodecBuffer encoded = new CodecBuffer(); - - // Get length - String hint = mainCodec.getHint(value.getType().getName() + "Len"); - if(hint == null) { - lengthInBits = getVariantBitLength(value.getType().getTypeEncodingVariant()); - } - else { - lengthInBits = java.lang.Integer.parseInt(hint); - } - lengthInBytes = lengthInBits / 8 + (((lengthInBits % 8) > 0)?1:0); - encoded.setBits(ByteHelper.intToByteArray(ev.getInt(), lengthInBytes), lengthInBits); - - return encoded; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Float.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Float.java deleted file mode 100644 index 66aae1f89815490d7838b86cfe57ded8f1abfd65..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Float.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class Float extends ICodec { - - public Float(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> Float.decode: " + decodingHypothesis.getName()); - - FloatValue fv = mainCodec.getTciCDRequired().getFloat(); - fv.setFloat(ByteHelper.byteArrayToFloat(buf.readBits(java.lang.Float.SIZE))); - -// TERFactory.getInstance().logDebug("<<< Float.decode: " + fv.getFloat()); - return fv; - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> Float.encode: " + value.getType().getName()); - - FloatValue fv = (FloatValue)value; -// TERFactory.getInstance().logDebug("Float.encode: " + fv.getFloat()); - byte[] encoded = ByteHelper.floatToByteArray(fv.getFloat()); - CodecBuffer res = new CodecBuffer(); - res.setBits(encoded, encoded.length * Byte.SIZE); - - return res; - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Hexstring.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Hexstring.java deleted file mode 100644 index 62c0b080862bfa6e9d90ff6a8ba1b9d82e5d715d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Hexstring.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Integer.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Integer.java deleted file mode 100644 index 7faab3d099147b69d57d71b6c77bb60c3390672d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Integer.java +++ /dev/null @@ -1,125 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import java.math.BigInteger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Integer extends ICodec { - - protected final static Pattern UNSIGNED_VARIANT = Pattern.compile("\\w*unsigned\\w*|UInt"); - - public Integer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - //TERFactory.getInstance().logDebug(">>> Integer.decode: " + decodingHypothesis.getName()); - - IntegerValue iv = null; - int lengthInBits; - byte[] value = null; - - // Get length - String hint = mainCodec.getHint(decodingHypothesis.getName() + "Len"); - if(hint == null) { - if (decodingHypothesis.getTypeEncodingVariant() == null) { - lengthInBits = getVariantBitLength(decodingHypothesis.getName()); // TCT3 - } else { - lengthInBits = getVariantBitLength(decodingHypothesis.getTypeEncodingVariant()); - } - } - else { - lengthInBits = java.lang.Integer.parseInt(hint); - } - - value = buf.readBits(lengthInBits); - - try { - hint = mainCodec.getHint(decodingHypothesis.getName() + "Sign"); - Matcher matcher; - if (hint==null) { - matcher = UNSIGNED_VARIANT.matcher(decodingHypothesis.getTypeEncodingVariant()); - } - else { - matcher = UNSIGNED_VARIANT.matcher(hint); - } - if(matcher.find()) { - // Unsigned integer - if(lengthInBits >= java.lang.Integer.SIZE) { - iv = mainCodec.getTciCDRequired().setInteger(new BigInteger(1, value)); - } - else { - iv = mainCodec.getTciCDRequired().setInteger(ByteHelper.byteArrayToInt(value)); - } - } - else { - // Signed integer - iv = mainCodec.getTciCDRequired().setInteger(ByteHelper.byteArrayToSignedInt(value, lengthInBits)); - } - } - catch(Exception e) { -// TERFactory.getInstance().logDebug("Integer.encode: " + decodingHypothesis.getTypeEncoding() + ", " + decodingHypothesis.getTypeEncodingVariant()); - // Assume unsigned integer - if(lengthInBits >= java.lang.Integer.SIZE) { - iv = mainCodec.getTciCDRequired().setInteger(new BigInteger(1, value)); - } - else { - iv = mainCodec.getTciCDRequired().setInteger(ByteHelper.byteArrayToInt(value)); - } // else, empty on purpose - } - - return iv; - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> Integer.encode: " + value.getType().getName()); - - IntegerValue iv = (IntegerValue)value; - byte[] encoded = null; - CodecBuffer res = new CodecBuffer(); - int lengthInBits = 0; - int lengthInBytes = 0; - - // Get length - String hint = mainCodec.getHint(value.getType().getName() + "Len"); - if(hint == null) { -// TERFactory.getInstance().logDebug("Integer.encode: " + value.getValueEncodingVariant() + ", " + value.getValueEncoding()); -// TERFactory.getInstance().logDebug("Integer.encode: " + value.getType().getTypeEncodingVariant() + ", " + value.getType().getTypeEncoding()); - if (value.getType().getTypeEncodingVariant() != null) { - lengthInBits = getVariantBitLength(value.getType().getTypeEncodingVariant()); - } else { - lengthInBits = getVariantBitLength(value.getType().getName()); // TCT3 - } - } - else { - lengthInBits = java.lang.Integer.parseInt(hint); - } - lengthInBytes = lengthInBits / 8 + (((lengthInBits % 8) > 0)?1:0); - -// TERFactory.getInstance().logDebug(String.format("Integer.encode: length: %d", lengthInBytes)); - if (lengthInBits > java.lang.Integer.SIZE) { - encoded = ByteHelper.longToByteArray(mainCodec.getTciCDRequired().getBigInteger(iv), lengthInBytes); - } else { - encoded = ByteHelper.intToByteArray(mainCodec.getTciCDRequired().getInteger(iv), lengthInBytes); - } - res.setBits(encoded, lengthInBits); - - return res; - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Octetstring.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Octetstring.java deleted file mode 100644 index e03770124b7bc93ac972d688bdf65b503eabe9e6..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Octetstring.java +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Octetstring extends ICodec { - - public Octetstring(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> Octetstring.decode: " + decodingHypothesis.getName()); - - OctetstringValue ov = (OctetstringValue)decodingHypothesis.newInstance(); - byte[] value = null; - int lengthInBytes = 0; - - // Get length - String hint = mainCodec.getHint(decodingHypothesis.getName() + "Len"); - if(hint == null) { - lengthInBytes = getEncodingLength(decodingHypothesis.getTypeEncoding()); - if (lengthInBytes == 0) { -// TERFactory.getInstance().logDebug("Octetstring.decode: Decode full buffer"); - lengthInBytes = buf.getNbBytes(); - } - } - else { - lengthInBytes = java.lang.Integer.parseInt(hint); - } - - value = buf.readBytes(lengthInBytes); - ov.setLength(lengthInBytes); - for(int i=0; i < value.length; i++) { - ov.setOctet(i, value[i]); - } - - return ov; - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> Octetstring.encode: " + value.getType().getName()); - - OctetstringValue ov = (OctetstringValue)value; - byte[] encoded = new byte[ov.getLength()]; - - for(int i=0; i < ov.getLength(); i++) { - encoded[i] = (byte)ov.getOctet(i); - } - - return new CodecBuffer(encoded); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Record.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Record.java deleted file mode 100644 index 282f6aa2f178987c544824e707a2516fd3bd29d6..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Record.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.adapter.TERFactory; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Record extends ICodec { - - public Record(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - RecordValue rv = (RecordValue)decodingHypothesis.newInstance(); - String[] fields = rv.getFieldNames(); - - for(int i=0; i < fields.length; i++) { - Type fieldType = rv.getField(fields[i]).getType(); - preDecodeField(fields[i], buf, fieldType, rv); - - java.lang.Boolean presence = mainCodec.getPresenceHint(fields[i]); - if(presence != null && presence == false) { - rv.setFieldOmitted(fields[i]); - } - else { - Value fv = mainCodec.decode(buf, rv.getField(fields[i]).getType()); - if(fv == null) { - if(mainCodec.getHint(fields[i] + "IgnoreErrorOnOptionalField") != null) { - // Set to omit + warning if optional - //TERFactory.getInstance().logDebug("Unable to decode optional field '" + fields[i] + "'. Setting to 'omit'"); - rv.setFieldOmitted(fields[i]); - } - else { - return null; - } - } - else { - rv.setField(fields[i], fv); - } - } - postDecodeField(fields[i], buf, fieldType, rv); - } - return rv; - } - - @Override - public CodecBuffer encode(Value value) { - - RecordValue rv = (RecordValue)value; - String[] fields = rv.getFieldNames(); - CodecBuffer buf = new CodecBuffer(); - - for (int i=0; i < fields.length; i++) { - Value fieldValue = rv.getField(fields[i]); - if(!fieldValue.notPresent()) { - CodecBuffer fieldBuf = mainCodec.encode(fieldValue); - postEncodeField(fields[i], fieldBuf); - buf.append(fieldBuf); - } - } - - return buf; - } - - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - } - - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - } - - protected void postEncodeField(String fieldName, CodecBuffer buf) { - - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/RecordOf.java b/javasrc/codec/org/etsi/ttcn/codec/generic/RecordOf.java deleted file mode 100644 index b308fc4cfc3d4c32aa7513406dc0e3a02265bdba..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/RecordOf.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class RecordOf extends ICodec { - - public RecordOf(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> RecordOf.decode: " + decodingHypothesis.getName()); - - RecordOfValue rov = (RecordOfValue)decodingHypothesis.newInstance(); - String lenHint = mainCodec.getHint(decodingHypothesis.getName() + "Len"); - String moreHint = mainCodec.getHint(decodingHypothesis.getName() + "More"); - int length = 0; - - if(lenHint != null) { - length = java.lang.Integer.parseInt(lenHint); - - for(int i=0; i < length; i++) { - rov.appendField(mainCodec.decode(buf, rov.getElementType())); - } - } - else { - while(moreHint.equals("true")) { - rov.appendField(mainCodec.decode(buf, rov.getElementType())); - length++; - moreHint = mainCodec.getHint(decodingHypothesis.getName() + "More"); - } - } - - rov.setLength(length); - return rov; - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> RecordOf.encode: " + value.getType().getName()); - - RecordOfValue rov = (RecordOfValue)value; - CodecBuffer buf = new CodecBuffer(); - - for (int i=0; i < rov.getLength(); i++) { - Value fieldValue = rov.getField(i); - buf.append(mainCodec.encode(fieldValue)); - } - - return buf; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Set.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Set.java deleted file mode 100644 index 95b6786b6916707cd349b6d0036577b6fb365f13..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Set.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Set extends ICodec { - - public Set(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - RecordValue rv = (RecordValue)decodingHypothesis.newInstance(); - String[] fields = rv.getFieldNames(); - - for(int i=0; i < fields.length; i++) { - rv.setFieldOmitted(fields[i]); - } - return rv; - } - - @Override - public CodecBuffer encode(Value value) { - - RecordValue rv = (RecordValue)value; - String[] fields = rv.getFieldNames(); - CodecBuffer buf = new CodecBuffer(); - - for (int i=0; i < fields.length; i++) { - Value fieldValue = rv.getField(fields[i]); - if(!fieldValue.notPresent()) { - buf.append(mainCodec.encode(fieldValue)); - } - } - - return buf; - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/SetOf.java b/javasrc/codec/org/etsi/ttcn/codec/generic/SetOf.java deleted file mode 100644 index dc593fbf72ae5ac392e55437865235ae77b696c6..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/SetOf.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Union.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Union.java deleted file mode 100644 index 981dc2098b0bdfd2c1d186889fef09f66e733768..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Union.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.etsi.ttcn.codec.generic; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.codec.ICodec; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -public class Union extends ICodec { - - public Union(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - UnionValue uv = (UnionValue)decodingHypothesis.newInstance(); - String variant = ""; - - variant = mainCodec.getHint(decodingHypothesis.getName()); - //TERFactory.getInstance().logDebug("Union: Looking for variant " + decodingHypothesis.getName() + "/" + variant); - - if(variant != null) { - Value value = uv.getVariant(variant); - if (value == null) { - value = mainCodec.getTciCDRequired().getUnionValue(decodingHypothesis, variant); - if (value != null) { - //TERFactory.getInstance().logDebug("Union (TCT3): " + value.getType().getName()); - uv.setVariant(variant, mainCodec.decode(buf, value.getType())); - return uv; - } - } else { - //TERFactory.getInstance().logDebug("Union (TTWB): " + value.getType().getName()); - uv.setVariant(variant, mainCodec.decode(buf, value.getType())); - return uv; - } - } - - // no hint. Try all variants... - String[] variants = uv.getVariantNames(); - for(int i=0; i < variants.length; i++) { - // Copy buf to preserve it in case of failure - CodecBuffer variantBuf = buf.getBuffer(0, buf.getNbBits()); - - // Try to decode this variant - Value vv = null; - Value value = uv.getVariant(variants[i]); - if (value == null) { - value = uv.getVariant(mainCodec.getHint(variants[i])); - if (value == null) { - value = mainCodec.getTciCDRequired().getUnionValue(decodingHypothesis, mainCodec.getHint(variants[i])); - if (value != null) { - //TERFactory.getInstance().logDebug("Union (TCT3): " + value.getType().getName()); - vv = mainCodec.decode(buf, value.getType()); - } - } else { - //TERFactory.getInstance().logDebug("Union (TTWB): " + value.getType().getName()); - vv = mainCodec.decode(buf, value.getType()); - } - } else { - vv = mainCodec.decode(buf, value.getType()); - } - if(vv != null) { - buf.overwriteWith(variantBuf); - uv.setVariant(variants[i], vv); - return uv; - } - } - return null; - } - - @Override - public CodecBuffer encode(Value value) { - - UnionValue uv = (UnionValue)value; - - CodecBuffer buf = new CodecBuffer(); - preEncode(buf, uv); - CodecBuffer variantBuf = mainCodec.encode(uv.getVariant(uv.getPresentVariantName())); - buf.append(variantBuf); - - return buf; - } - - protected void preEncode(CodecBuffer buf, UnionValue uv) { - - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/UniversalCharstring.java b/javasrc/codec/org/etsi/ttcn/codec/generic/UniversalCharstring.java deleted file mode 100644 index 62c0b080862bfa6e9d90ff6a8ba1b9d82e5d715d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/UniversalCharstring.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ diff --git a/javasrc/codec/org/etsi/ttcn/codec/generic/Verdict.java b/javasrc/codec/org/etsi/ttcn/codec/generic/Verdict.java deleted file mode 100644 index 62c0b080862bfa6e9d90ff6a8ba1b9d82e5d715d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/generic/Verdict.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/AnyIcmpv6Message.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/AnyIcmpv6Message.java deleted file mode 100644 index 2d9656422ae16f7390d59c11eee9f4dd5770d2e8..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/AnyIcmpv6Message.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; - -import org.etsi.common.ByteHelper; - -public class AnyIcmpv6Message extends Record implements IMarkerCallback { - - public AnyIcmpv6Message(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("data")) { - mainCodec.setHint("octetstringLen", Integer.toString(buf.getNbBytes())); - } - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { - - if(fieldName.equals("checksum")) { - buf.setMarker("zchecksum", 0, this); - } - } - - @Override - public void run(String markerName, CodecBuffer left, CodecBuffer right) { - - if(markerName.equals("zchecksum")) { - - int checksum = 0; - byte[] src = left.getBits("sourceAddress", 128); - byte[] dst = left.getBits("destinationAddress", 128); - byte[] nh = ByteHelper.intToByteArray(java.lang.Integer.parseInt(mainCodec.getHint("Ipv6NextHeader")), 2); - byte[] pl = ByteHelper.intToByteArray(java.lang.Integer.parseInt(mainCodec.getHint("payloadLength")), 2); - - byte[] pseudo = ByteHelper.concat(src, dst, pl, nh); - byte[] payload = ByteHelper.concat(left.getBits(left.getNbBits() - 16, 16), right.getBits()); - - byte[] all = ByteHelper.concat(pseudo, payload, new byte[]{(byte)0x00}); - - for(int i=0; i < (all.length - 1); i+=2) { - checksum += ((all[i] & 0x000000ff) << 8) + (all[i+1] & 0x000000ff); - checksum = ((checksum >> 16) & 0x0000ffff) + (checksum & 0x0000ffff); - } - - checksum = (~ checksum) & 0x0000ffff; - - CodecBuffer preserveRight = right.getBuffer(16, right.getNbBits() - 16); - right.setBytes(ByteHelper.intToByteArray(checksum, 2)); - right.append(preserveRight); - } - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/ExtensionHeader.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/ExtensionHeader.java deleted file mode 100644 index 8c7e776c9c6982893ad3fec6b487fed15487172e..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/ExtensionHeader.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class ExtensionHeader extends Union { - - public ExtensionHeader(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - String nhHint = mainCodec.getHint("Ipv6NextHeader"); - String extHdr = ""; - - if(nhHint != null) { - int nh = Integer.parseInt(nhHint); - switch(nh) { - case 0: - extHdr = "hopByHopHeader"; - break; - case 43: - extHdr = "routingHeader"; - break; - case 44: - extHdr = "fragmentHeader"; - break; - case 60: - extHdr = "destinationOptionHeader"; - break; - case 41: - extHdr = "tunnelIPv6"; - break; - default: - extHdr = "otherHeader"; - } - } - mainCodec.setHint("ExtensionHeader", extHdr); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Icmpv6Message.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/Icmpv6Message.java deleted file mode 100644 index 6e3389cf1f6c2165382802fc37a8e2752ff5ba8e..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Icmpv6Message.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Icmpv6Message extends Union { - - public Icmpv6Message(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - int icmpType = 0x00FF & buf.getBytes(0, 1)[0]; - String icmpMsg = ""; - - switch(icmpType) { - case 144: - icmpMsg = "homeAgentAddressDiscoveryRequest"; - break; - case 145: - icmpMsg = "homeAgentAddressDiscoveryReply"; - break; - case 146: - icmpMsg = "mobilePrefixSolicitation"; - break; - case 147: - icmpMsg = "mobilePrefixAdvertisement"; - break; - case 133: - icmpMsg = "routerSolicitation"; - break; - case 134: - icmpMsg = "routerAdvertisement"; - icmpMsg = "mipRouterAdvertisement"; - break; - case 135: - icmpMsg = "neighborSolicitation"; - break; - case 136: - icmpMsg = "neighborAdvertisement"; - break; - case 137: - icmpMsg = "redirect"; - break; - case 138: - icmpMsg = "routerRenumbering"; - break; - case 1: - icmpMsg = "destinationUnreachable"; - break; - case 2: - icmpMsg = "packetTooBig"; - break; - case 3: - icmpMsg = "timeExceeded"; - break; - case 4: - icmpMsg = "parameterProblem"; - break; - case 128: - icmpMsg = "echoRequest"; - break; - case 129: - icmpMsg = "echoReply"; - break; - default: - icmpMsg = "other"; - } - - mainCodec.setHint(decodingHypothesis.getName(), icmpMsg); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6ExtHdr.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6ExtHdr.java deleted file mode 100644 index 02d0bca443953b9c0f23eef1ac7321fc6165b9a7..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6ExtHdr.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -import org.etsi.common.ByteHelper; - -public class Ipv6ExtHdr extends Record { - - public Ipv6ExtHdr(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("data")) { - mainCodec.setHint("octetstringLen", mainCodec.getHint("Ipv6ExtHdrLen")); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("hdrLen")) { -// int len = ((IntegerValue)(rv.getField(fieldName))).getInteger(); TTWB iterface is getInt, TCI shall be getInteger - int len = mainCodec.getTciCDRequired().getInteger((IntegerValue)(rv.getField(fieldName))); - mainCodec.setHint("Ipv6ExtHdrLen", Integer.toString(len)); - } - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { - - if(fieldName.equals("nextHeader")) { - mainCodec.setHint("Ipv6NextHeader", Integer.toString(ByteHelper.byteArrayToInt(buf.getBytes(0, 1)))); - } - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6Header.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6Header.java deleted file mode 100644 index f88805ddb9c9db778c81fc835feec7a3e4df1e40..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6Header.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; - -import org.etsi.common.ByteHelper; - -public class Ipv6Header extends Record implements IMarkerCallback { - - public Ipv6Header(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { - - if(fieldName.equals("payloadLength")) { - buf.setMarker(fieldName, 0, this); - } - - if(fieldName.equals("nextHeader")) { - mainCodec.setHint("Ipv6NextHeader", Integer.toString(ByteHelper.byteArrayToInt(buf.getBytes(0, 1)))); - } - - else if(fieldName.equals("sourceAddress")) { - buf.setMarker("sourceAddress", 0, null); - } - - else if(fieldName.equals("destinationAddress")) { - buf.setMarker("destinationAddress", 0, null); - } - - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - - if(markerName.equals("payloadLength")) { - int length = (rightBuf.getNbBits() - 288) / 8; - CodecBuffer preserveRightBuf = rightBuf.getBuffer(16, rightBuf.getNbBits() - 16); - rightBuf.setBytes(ByteHelper.intToByteArray(length, 2)); - rightBuf.append(preserveRightBuf); - mainCodec.setHint("payloadLength", Integer.toString(length)); - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6Payload.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6Payload.java deleted file mode 100644 index b8e1c14d10e5c501aeaed8962dca5551cc768fc7..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Ipv6Payload.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class Ipv6Payload extends Union { - - public Ipv6Payload(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - - String nhHint = mainCodec.getHint("Ipv6NextHeader"); - String extHdr = ""; - - if(nhHint != null) { - int nh = Integer.parseInt(nhHint); - switch(nh) { - case 58: - extHdr = "icmpv6"; - break; - case 6: - extHdr = "tcp"; - break; - case 17: - extHdr = "udp"; - break; - default: - extHdr = "other"; - } - } - mainCodec.setHint("Ipv6Payload", extHdr); - - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/ipv6/Plugin.java deleted file mode 100644 index 17dd05b2b9c0e8fd647452c3cbcc230eadde713c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/ipv6/Plugin.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.etsi.ttcn.codec.ipv6; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - - cf.setCodec(TciTypeClass.UNION, "IPv6", "ExtensionHeader", ExtensionHeader.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "OtherIpv6ExtHdr", Ipv6ExtHdr.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".otherHeader", Ipv6ExtHdr.class); - cf.setCodec(TciTypeClass.UNION, "IPv6", "Ipv6Payload", Ipv6Payload.class); - cf.setCodec(TciTypeClass.UNION, "IPv6", "Icmpv6Message", Icmpv6Message.class); - // cf.setCodec(TciTypeClass.UNION, "IPv6", ".icmpv6", Icmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "DestinationUnreachableMessage", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".destinationUnreachable", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "PacketTooBigMessage", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".packetTooBig", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "TimeExceededMessage", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".timeExceeded", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "ParameterProblemMessage", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".parameterProblem", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "EchoRequestMessage", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".echoRequest", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "EchoReplyMessage", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".echoReply", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "OtherIcmpv6Message", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", ".other", AnyIcmpv6Message.class); - cf.setCodec(TciTypeClass.RECORD, "IPv6", "Ipv6Header", Ipv6Header.class); - - - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcEnableSecurity.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcEnableSecurity.java deleted file mode 100644 index 1cb61fa3332bd58c7dbc14527a10dc8495367b3a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcEnableSecurity.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class AcEnableSecurity extends Record { - - public AcEnableSecurity(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> AcEnableSecurity.postEncodeField: " + fieldName); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> AcEnableSecurity.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("certificateId")) { - mainCodec.setHint(decodingHypothesis.getName() + "Len", String.valueOf(buf.getNbBytes())); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> AcEnableSecurity.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class AcEnableSecurity diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcFsapPrimitive.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcFsapPrimitive.java deleted file mode 100644 index 084fe339a70da4b163594f51dba97ec28c631f6d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcFsapPrimitive.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.UnionValue; - -public class AcFsapPrimitive extends Union { - - public AcFsapPrimitive(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { - String variant = uv.getPresentVariantName(); - int primitiveId = -1; - - // Append AcGnPrimitive message id - buf.appendBytes(ByteHelper.intToByteArray(2, 1)); // AdapterControl Primitive identifer for AcFsapPrimitive - - // Append primitive command identifier - if(variant.equals("inSapPrimitivesUp")) { - primitiveId = 0; - } - else if(variant.equals("stopTransmission")) { - primitiveId = 1; - } - buf.appendBytes(ByteHelper.intToByteArray(primitiveId, 1)); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnPrimitive.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnPrimitive.java deleted file mode 100644 index 5002d3b4d47ed285fd9d2b02dfe22ce1bef2af6a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnPrimitive.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.common.ByteHelper; - -public class AcGnPrimitive extends Union { - - public AcGnPrimitive(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - // Read message id (AcGnPrimitive) - if(0x00 != (0x00FF & buf.readBytes(1)[0])) { - return; - } - - // Read primitive id - int primitiveId = 0x00FF & buf.readBytes(1)[0]; - String primitive = ""; - - switch(primitiveId) { - case 0: - primitive = "startBeaconing"; - break; - case 1: - primitive = "stopBeaconing"; - break; - case 2: - primitive = "startPassBeaconing"; - break; - case 3: - primitive = "stopPassBeaconing"; - break; - case 4: - primitive = "startBeaconingMultipleNeighbour"; - break; - case 5: - primitive = "stopBeaconingMultipleNeighbour"; - break; - case 6: - primitive = "getLongPosVector"; - break; - } - - mainCodec.setHint(decodingHypothesis.getName(), primitive); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { - String variant = uv.getPresentVariantName(); - int primitiveId = -1; - - // Append AcGnPrimitive message id - buf.appendBytes(ByteHelper.intToByteArray(0, 1)); - - // Append primitive id - if(variant.equals("startBeaconing")) { - primitiveId = 0; - } - else if(variant.equals("stopBeaconing")) { - primitiveId = 1; - } - else if(variant.equals("startPassBeaconing")) { - primitiveId = 2; - } - else if(variant.equals("stopPassBeaconing")) { - primitiveId = 3; - } - else if(variant.equals("startBeaconingMultipleNeighbour")) { - primitiveId = 4; - } - else if(variant.equals("stopBeaconingMultipleNeighbour")) { - primitiveId = 5; - } - else if(variant.equals("getLongPosVector")) { - primitiveId = 6; - } - buf.appendBytes(ByteHelper.intToByteArray(primitiveId, 1)); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnResponse.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnResponse.java deleted file mode 100644 index e70a81848bf42f24d25bb8ad570df3e474a3f192..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnResponse.java +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.adapter.TERFactory; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.common.ByteHelper; - -public class AcGnResponse extends Union { - - public AcGnResponse(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - // Read message id (AcGnResponse) - if(0x00 != (0x00FF & buf.readBytes(1)[0])) { - TERFactory.getInstance().logDebug("Bad hypothesis"); - return; - } - - // Read response id - int responseId = 0x00FF & buf.readBytes(1)[0]; - String variant = ""; - - switch(responseId) { - case 0: - variant = "failure"; - break; - case 6: - variant = "getLongPosVector"; - break; - } - - mainCodec.setHint(decodingHypothesis.getName(), variant); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { - String variant = uv.getPresentVariantName(); - int responseId = -1; - - // Append AcGnResponse message id - buf.appendBytes(ByteHelper.intToByteArray(0, 1)); - - // Append response id - if(variant.equals("failure")) { - responseId = 0; - } - else if(variant.equals("getLongPosVector")) { - responseId = 6; - } - buf.appendBytes(ByteHelper.intToByteArray(responseId, 1)); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssAwaitDistanceCovered.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssAwaitDistanceCovered.java deleted file mode 100644 index 05151b8e81a3781f80955b64f7c4ea12ef02d839..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssAwaitDistanceCovered.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Boolean; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class AcGnssAwaitDistanceCovered extends Boolean { - - private static final int AcGnssDistanceCovered = 0x03; - - public AcGnssAwaitDistanceCovered(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - byte[] readId = buf.readBytes(1); - if(readId[0] != AcGnssDistanceCovered) { - return null; - } - - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - return new CodecBuffer(new byte[] {0x02}); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssPrimitive.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssPrimitive.java deleted file mode 100644 index 369d8a3049b4e2cc4b6648d01f8c86e3b94976a4..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssPrimitive.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.common.ByteHelper; - -public class AcGnssPrimitive extends Union { - - public AcGnssPrimitive(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - // Read message id (AcGnssPrimitive) - if(0x00 != (0x00FF & buf.readBytes(1)[0])) { - return; - } - - // Read primitive id - int primitiveId = 0x00FF & buf.readBytes(1)[0]; - String primitive = ""; - - switch(primitiveId) { - case 0x70: - primitive = "loadScenario"; - break; - case 0x71: - primitive = "startScenario"; - break; - case 0x72: - primitive = "stopScenario"; - break; - case 0x73: - primitive = "distanceToCover"; - break; - case 0x74: - primitive = "changeSpeed"; - break; - case 0x75: - primitive = "changeHeading"; - break; - case 0x76: - primitive = "timeInRunningScenario"; - break; - } - - mainCodec.setHint(decodingHypothesis.getName(), primitive); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { - String variant = uv.getPresentVariantName(); - int primitiveId = -1; - - buf.appendBytes(ByteHelper.intToByteArray(2, 1)); - - // Append primitive id - if(variant.equals("loadScenario")) { - primitiveId = 0x70; - mainCodec.setHint("ScenarioLen", "16"); - } - else if(variant.equals("startScenario")) { - primitiveId = 0x71; - } - else if(variant.equals("stopScenario")) { - primitiveId = 0x72; - } - else if(variant.equals("distanceToCover")) { - primitiveId = 0x73; - } - else if(variant.equals("changeSpeed")) { - primitiveId = 0x74; - } - else if(variant.equals("changeHeading")) { - primitiveId = 0x75; - } - else if(variant.equals("timeInRunningScenario")) { - primitiveId = 0x76; - mainCodec.setHint("integerLen", "32"); - } - buf.appendBytes(ByteHelper.intToByteArray(primitiveId, 1)); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssResponse.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssResponse.java deleted file mode 100644 index f4b440de650d88f3274de9c50389134cd8d8705b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcGnssResponse.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Boolean; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class AcGnssResponse extends Boolean { - - private static final int AcGnssResponse = 0x02; - - public AcGnssResponse(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - byte[] readId = buf.readBytes(1); - if(readId[0] != AcGnssResponse) { - return null; - } - - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - return new CodecBuffer(new byte[] {0x02}); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcSecPrimitive.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcSecPrimitive.java deleted file mode 100644 index d646b0671de3f682471a8db36bc6bc593bc598bf..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcSecPrimitive.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; - -public class AcSecPrimitive extends Union { - - public AcSecPrimitive(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - // Read message id (AcSecPrimitive) - if(0x00 != (0x00FF & buf.readBytes(1)[0])) { - return; - } - - // Read primitive id - int primitiveId = 0x00FF & buf.readBytes(1)[0]; - String primitive = ""; - - switch(primitiveId) { - case 0x7a: - primitive = "acEnableSecurity"; - break; - case 0x7b: - primitive = "acDisableSecurity"; - break; - } - - mainCodec.setHint(decodingHypothesis.getName(), primitive); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { - String variant = uv.getPresentVariantName(); - int primitiveId = -1; - - // Append AcSecPrimitive message id - buf.appendBytes(ByteHelper.intToByteArray(3, 1)); - - // Append primitive id - if(variant.equals("acEnableSecurity")) { - primitiveId = 0x7a; - mainCodec.setHint("ScenarioLen", "16"); - } - else if(variant.equals("acDisableSecurity")) { - primitiveId = 0x7b; - } - buf.appendBytes(ByteHelper.intToByteArray(primitiveId, 1)); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcSecResponse.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcSecResponse.java deleted file mode 100644 index 24e5501a16ae5ac35dc6ad4c29c5b9035ea006cb..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/AcSecResponse.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Boolean; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class AcSecResponse extends Boolean { - - private static final int AcSecResponse = 0x05; - - public AcSecResponse(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - byte[] readId = buf.readBytes(1); - if(readId[0] != AcSecResponse) { - return null; - } - - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - return new CodecBuffer(new byte[] {0x02}); - } - -} // End of class AcSecResponse diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/adapter/Plugin.java deleted file mode 100644 index fdb3cc20d63207f51305ede951e52a33f016c293..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/adapter/Plugin.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.adapter; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.RECORD, "AdapterControl", "AcEnableSecurity", AcEnableSecurity.class); - cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcGnPrimitive", AcGnPrimitive.class); - cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcGnResponse", AcGnResponse.class); - cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcFsapPrimitive", AcFsapPrimitive.class); - cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcGnssPrimitive", AcGnssPrimitive.class); - cf.setCodec(TciTypeClass.BOOLEAN, "AdapterControl", "AcGnssResponse", AcGnssResponse.class); - cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcSecPrimitive", AcSecPrimitive.class); - cf.setCodec(TciTypeClass.BOOLEAN, "AdapterControl", "AcSecResponse", AcSecResponse.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/btp/BtpHeader.java b/javasrc/codec/org/etsi/ttcn/codec/its/btp/BtpHeader.java deleted file mode 100644 index c24cf7d8dc37b116778283aa762686e9690242c9..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/btp/BtpHeader.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.btp; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; - -public class BtpHeader extends Union { - - private static final String BTP_A_HEADER = "btpAHeader"; - private static final String BTP_B_HEADER = "btpBHeader"; - - public BtpHeader(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("BtpPortIdLen", "16"); - mainCodec.setHint("BtpPortInfo", "16"); - } - - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { - //FIXME to support BTP standalone we need to know for GN later if it is BTP A or BTP B - boolean isIncludedInGn = false; - StackTraceElement[] stackTrace = new Exception().getStackTrace(); - for (StackTraceElement stackTraceElement : stackTrace) { - String className = stackTraceElement.getClassName(); - String methodName = stackTraceElement.getMethodName(); - if (className.contains("GeoNetworkingPacket") || className.contains("GnNonSecuredPacket") || methodName.contains("encvalue")) { - isIncludedInGn = true; - break; - } - } - if (!isIncludedInGn) { - String variant = uv.getPresentVariantName(); - if (variant.equals(BTP_A_HEADER)) { - buf.appendBytes(new byte[] {0x1}); - } - else if (variant.equals(BTP_B_HEADER)) { - buf.appendBytes(new byte[] {0x2}); - } - else { - buf.appendBytes(new byte[] {0x0}); - } - } - super.preEncode(buf, uv); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - String nhHint = mainCodec.getHint("GnNextHeader"); - String variant = BTP_B_HEADER; - - int nh; - if(nhHint != null) { - nh = Integer.parseInt(nhHint); - } - else { - byte[] result = buf.readBytes(1); - nh = result[0]; - } - switch (nh) { - case 1: - variant = BTP_A_HEADER; - break; - case 2: - variant = BTP_B_HEADER; - break; - default: - variant = BTP_B_HEADER; - } - mainCodec.setHint(decodingHypothesis.getName(), variant); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/btp/BtpPacket.java b/javasrc/codec/org/etsi/ttcn/codec/its/btp/BtpPacket.java deleted file mode 100644 index 77318820a5a63fa69b94849750b3a4c089c5b396..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/btp/BtpPacket.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.etsi.ttcn.codec.its.btp; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class BtpPacket extends Record { - - public BtpPacket(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("BtpPortIdLen", "16"); - mainCodec.setHint("BtpPortInfoLen", "16"); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> BtpPacket.preDecodeField: " + fieldName + ", " + decodingHypothesis); - - if(fieldName.equals("payload")) { - if (buf.getNbBytes() == 0) { - mainCodec.setPresenceHint(fieldName, false); - } - } - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/btp/DecodedBtpPayload.java b/javasrc/codec/org/etsi/ttcn/codec/its/btp/DecodedBtpPayload.java deleted file mode 100644 index 6e876bdd44195bb21593f00dcaae2b4a2ac00080..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/btp/DecodedBtpPayload.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.etsi.ttcn.codec.its.btp; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; - -public class DecodedBtpPayload extends Union { - - public DecodedBtpPayload(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { // See LibItsBtp_TypesAndValues TTCN-3 module - mainCodec.setHint("camPacket", "camPacket"); - mainCodec.setHint("denmPacket", "denmPacket"); - mainCodec.setHint("mapemPacket", "mapemPacket"); - mainCodec.setHint("spatemPacket", "spatemPacket"); - mainCodec.setHint("ivimPacket", "ivimPacket"); - mainCodec.setHint("evcsnPacket", "evcsnPacket"); - mainCodec.setHint("sremPacket", "sremPacket"); - mainCodec.setHint("ssemPacket", "ssemPacket"); - } - -} // End of class DecodedBtpPayload diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/btp/Payload.java b/javasrc/codec/org/etsi/ttcn/codec/its/btp/Payload.java deleted file mode 100644 index 281aa509b2436d6410d4e416b84a1eeeefc2b998..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/btp/Payload.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.btp; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class Payload extends Record { - - public Payload(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("decodedPayload")) { - mainCodec.setHint(fieldName + "IgnoreErrorOnOptionalField", "true"); - } - else if(fieldName.equals("rawPayload")) { - int pl = buf.getNbBytes(); - if (pl != 0) { - buf.overwriteWith(rawBuffer); - } else { - mainCodec.setPresenceHint(fieldName, false); - } - } - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - int pl = buf.getNbBytes(); - - // Save complete buf for 'rawPayload' - rawBuffer = buf.getBuffer(0, pl * 8); - } - - private CodecBuffer rawBuffer = null; -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/btp/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/btp/Plugin.java deleted file mode 100644 index 9bb2a34fb1db6ecdd8451e1723e70fd4676f1936..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/btp/Plugin.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.btp; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.RECORD, "LibItsBtp", "BtpPacket", BtpPacket.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsBtp", "BtpPayload", Payload.class); - cf.setCodec(TciTypeClass.UNION, "LibItsBtp", "BtpHeader", BtpHeader.class); - cf.setCodec(TciTypeClass.UNION, "LibItsBtp", "DecodedBtpPayload", DecodedBtpPayload.class); - cf.setCodec(TciTypeClass.UNION, "LibItsBtp", "UtBtpEvent", UtBtpEvent.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/btp/UtBtpEvent.java b/javasrc/codec/org/etsi/ttcn/codec/its/btp/UtBtpEvent.java deleted file mode 100644 index 5f8d292303209ee0e825806e2d6f05ffe6462b66..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/btp/UtBtpEvent.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.etsi.ttcn.codec.its.btp; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; - -public class UtBtpEvent extends Union { - - public UtBtpEvent(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("BtpPortIdLen", "16"); - mainCodec.setHint("BtpPortInfoLen", "16"); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/configtester/CfEvent.java b/javasrc/codec/org/etsi/ttcn/codec/its/configtester/CfEvent.java deleted file mode 100644 index 250b633e68fe06cf6e5f51717375ecff014dc92d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/configtester/CfEvent.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.etsi.ttcn.codec.its.configtester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Charstring; -import org.etsi.ttcn.tci.Type; - -public class CfEvent extends Charstring { - - public CfEvent(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - // Set Length for CfEvent - mainCodec.setHint("CfEventLen", new Integer(buf.getNbBytes()).toString()); - - return; - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/configtester/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/configtester/Plugin.java deleted file mode 100644 index 951f1bcdcd2faf17822e5c19a36f31e99f972366..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/configtester/Plugin.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @author ETSI / STF517 / Yann garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.configtester; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.generic.Boolean; - -public class Plugin { - - public static void init() { - // Basics - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.RECORD, "ConfigTester", "", Record.class); - cf.setCodec(TciTypeClass.BOOLEAN, "ConfigTester", "", Boolean.class); - cf.setCodec(TciTypeClass.CHARSTRING, "ConfigTester", "", CfEvent.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/facilities/FacilitiesInd.java b/javasrc/codec/org/etsi/ttcn/codec/its/facilities/FacilitiesInd.java deleted file mode 100644 index 5d2e7a1bcb662cd1732b4c744436dd53781bdd2c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/facilities/FacilitiesInd.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.facilities; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class FacilitiesInd extends Record { - - public FacilitiesInd(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> FacilitiesInd.preDecode: " + decodingHypothesis); - - int msgLen = buf.getNbBits() - 8 - 8 - 8 - 32 - 8 - 16 - 16 - 256 - 32; // FIXME Add support of SSP (Bit256) & ITS-AID (UInt32) extra fields: fixed size (256) is not nice! - int offset = 0; - - messageBuffer = buf.getBuffer(offset, msgLen); offset += msgLen; - gnNh = buf.getBuffer(offset, 8); offset += 8; - gnHt = buf.getBuffer(offset, 8); offset += 8; - gnHst = buf.getBuffer(offset, 8); offset += 8; - gnLifetime = buf.getBuffer(offset, 32); offset += 32; - gnTc = buf.getBuffer(offset, 8); offset += 8; - btpDestinationPort = buf.getBuffer(offset, 16); offset += 16; - btpInfo = buf.getBuffer(offset, 16); offset += 16; - ssp = buf.getBuffer(offset, 256); offset += 256; - its_aid = buf.getBuffer(offset, 32); offset += 32; - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> FacilitiesInd.preDecodeField: " + fieldName + " - " + decodingHypothesis); - - if(fieldName.equals("gnNextHeader")) { - buf.overwriteWith(gnNh); - } - else if(fieldName.equals("gnHeaderType")) { - buf.overwriteWith(gnHt); - } - else if(fieldName.equals("gnHeaderSubtype")) { - buf.overwriteWith(gnHst); - } - else if(fieldName.equals("gnLifetime")) { - buf.overwriteWith(gnLifetime); - } - else if(fieldName.equals("gnTrafficClass")) { - buf.overwriteWith(gnTc); - } - else if(fieldName.equals("btpDestinationPort")) { - buf.overwriteWith(btpDestinationPort); - } - else if(fieldName.equals("btpInfo")) { - buf.overwriteWith(btpInfo); - } - else if(fieldName.equals("ssp")) { - buf.overwriteWith(ssp); - } - else if(fieldName.equals("its_aid")) { - buf.overwriteWith(its_aid); - } - else { - buf.overwriteWith(messageBuffer); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - } - - @Override - public CodecBuffer encode(Value value) { - - return super.encode(value); - } - - private CodecBuffer messageBuffer = null; - private CodecBuffer gnNh = null; - private CodecBuffer gnHt = null; - private CodecBuffer gnHst = null; - private CodecBuffer gnLifetime = null; - private CodecBuffer gnTc = null; - private CodecBuffer btpDestinationPort = null; - private CodecBuffer btpInfo = null; - private CodecBuffer ssp = null; - private CodecBuffer its_aid = null; -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/facilities/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/facilities/Plugin.java deleted file mode 100644 index acd62ee1b2cb61cda016928515cadbd2c9e40f86..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/facilities/Plugin.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @author ETSI / STF484 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.facilities; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "CamInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "DenmInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "MapemInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "SpatemInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "IvimInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "EvcsnInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "SremInd", FacilitiesInd.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "SsemInd", FacilitiesInd.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/BasicHeader.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/BasicHeader.java deleted file mode 100644 index cc49f737b09acc12ad1d8208e5f851eeeb3c0e90..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/BasicHeader.java +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class BasicHeader extends Record { - - public BasicHeader(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("LtBaseLen", "2"); - mainCodec.setHint("BasicNextHeaderLen", "4"); - mainCodec.setHint("HeaderTypeLen", "4"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> BasicHeader.postEncodeField: " + fieldName); - - if(fieldName.equals("nextHeader")) { - mainCodec.setHint("GnNextHeader", Integer.toString(buf.getBytes(buf.getNbBytes() - 1, 1)[0])); - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> BasicHeader.preDecodeField: " + fieldName + ", " + decodingHypothesis); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> BasicHeader.postDecodeField: " + fieldName + ", " + decodingHypothesis); - - if(fieldName.equals("nextHeader")) { - int nh = ((EnumeratedValue)(rv.getField(fieldName))).getInt(); - mainCodec.setHint("GnNextHeader", Integer.toString(nh)); - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/CommonHeader.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/CommonHeader.java deleted file mode 100644 index c45cc5ec0cd4cbf417fd2f5f2aa124525333dfa5..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/CommonHeader.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; - -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; - -public class CommonHeader extends Record implements IMarkerCallback { - - public CommonHeader(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("HeaderTypeLen", "4"); - mainCodec.setHint("NextHeaderLen", "4"); - mainCodec.setHint("Bit8Len", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> CommonHeader.postEncodeField: " + fieldName); - - if(fieldName.equals("nextHeader")) { - int nh = buf.getBits(buf.getNbBits() - 4, 4)[0]; - mainCodec.setHint("NextHeader", Integer.toString(nh)); - } else if(fieldName.equals("plLength")) { - buf.setMarker("plLength", 0, this); - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> CommonHeader.preDecodeField: " + fieldName + ", " + decodingHypothesis); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> CommonHeader.postDecodeField: " + fieldName + ", " + decodingHypothesis); - - if(fieldName.equals("nextHeader")) { - int nh = ((EnumeratedValue)(rv.getField(fieldName))).getInt(); - mainCodec.setHint("GnNextHeader", Integer.toString(nh)); - } - - else if(fieldName.equals("headerTST")) { - String headerTST = ((UnionValue)(rv.getField(fieldName))).getPresentVariantName(); - if (headerTST.equals("beaconHdr")) { - mainCodec.setHint("IsBeacon", "true"); - } - } - - else if(fieldName.equals("plLength")) { -// int pl = ((IntegerValue)(rv.getField(fieldName))).getInteger(); TTWB iterface is getInt, TCI shall be getInteger - int pl = mainCodec.getTciCDRequired().getInteger((IntegerValue)(rv.getField(fieldName))); - mainCodec.setHint("payloadLength", Integer.toString(pl)); - } - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { -// TERFactory.getInstance().logDebug(">>> CommonHeader.run"); - - if(markerName.equals("plLength")) { - int pl = java.lang.Integer.parseInt(mainCodec.getHint("payloadLength")); - CodecBuffer preserveRightBuf = rightBuf.getBuffer(16, rightBuf.getNbBits() - 16); - rightBuf.setBytes(ByteHelper.intToByteArray(pl, 2)); - rightBuf.append(preserveRightBuf); - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GN_Address.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GN_Address.java deleted file mode 100644 index 55af58cf658f64ff0832fd50dade85e5c14d7500..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GN_Address.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class GN_Address extends Record { - - public GN_Address(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("TypeOfAddressLen", "1"); - mainCodec.setHint("StationTypeLen", "5"); - mainCodec.setHint("Oct6Len", "6"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> GN_Address.postEncodeField: " + fieldName); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GN_Address.preDecodeField: " + fieldName + ", " + decodingHypothesis); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GN_Address.postDecodeField: " + fieldName + ", " + decodingHypothesis); - - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GeoNetworkingPacket.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GeoNetworkingPacket.java deleted file mode 100644 index c197645b59c4a46a2ee8e0f30cd5124153d60b8a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GeoNetworkingPacket.java +++ /dev/null @@ -1,120 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class GeoNetworkingPacket extends Record { - - private boolean isSecuredMode = false; - - /** - * Used to decode the secured payload - */ - private Value packetValue; - - public GeoNetworkingPacket(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.encode: " + value); - - return super.encode(value); - } - - @Override - public CodecBuffer preEncode(Value value) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.preEncode: " + value); - - String gnNextHeader = mainCodec.getHint("GnNextHeader"); - isSecuredMode = (boolean)((gnNextHeader != null) && gnNextHeader.equals("32")); - - return new CodecBuffer(); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.postEncodeField: " + fieldName + ", " + isSecuredMode); - - if (isSecuredMode && fieldName.equals("packet")) { - // Ignore 'packet' encoding by reseting the CodecBuffer content - buf.overwriteWith(new CodecBuffer()); - } - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.decode: " + decodingHypothesis + ", " + isSecuredMode); - - packetValue = null; // Reset value - Value result = super.decode(buf, decodingHypothesis); // Normal decoding -// TERFactory.getInstance().logDebug("GeoNetworkingPacket.decode: Normal decoding=" + result); - if(isSecuredMode && (result != null)) { - // Override 'packet' field - RecordValue rv = (RecordValue) result; - rv.setField("packet", packetValue); - } - -// TERFactory.getInstance().logDebug("<<< GeoNetworkingPacket.decode: " + result); - return result; - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.preDecode: " + decodingHypothesis); - - String gnNextHeader = mainCodec.getHint("GnNextHeader"); - isSecuredMode = (boolean)((gnNextHeader != null) && gnNextHeader.equals("2")); -// TERFactory.getInstance().logDebug("GeoNetworkingPacket.preDecode: isSecuredMode=" + isSecuredMode); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.preDecodeField: " + fieldName + ", " + decodingHypothesis + ", " + isSecuredMode); - - if(isSecuredMode) { - if (fieldName.equals("packet")) { - mainCodec.setPresenceHint(fieldName, false); // Consider this field as omitted to skip decoding - } else if(fieldName.equals("securedMsg")) { - // Nothing to do - } - } else if(fieldName.equals("securedMsg")) { - mainCodec.setPresenceHint(fieldName, false); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPacket.postDecodeField: " + fieldName + ", " + rv); - - if(isSecuredMode) { - if(fieldName.equals("securedMsg")) { - RecordValue securedMsg = (RecordValue) rv.getField("securedMsg"); - RecordValue secPayload = (RecordValue) securedMsg.getField("payload_field"); - byte[] payload = new byte[]{}; - OctetstringValue ov = (OctetstringValue) secPayload.getField("data"); // See type record SecPayload - byte[] v = new byte[ov.getLength()]; - for (int j = 0; j < v.length; j++) { - v[j] = (byte) ov.getOctet(j); - } // End of 'for' statement - payload = ByteHelper.concat(payload, v); - - // Decode payload as GnNoSecured packet - packetValue = mainCodec.decode(new CodecBuffer(payload), rv.getField("packet").getType()); - } - } - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GeoNetworkingPdu.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GeoNetworkingPdu.java deleted file mode 100644 index 2740de956cb592dced0b17524a9c65c026e630fa..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GeoNetworkingPdu.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class GeoNetworkingPdu extends Record { - - public GeoNetworkingPdu(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPdu.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPdu.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GeoNetworkingPdu.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class GeoNetworkingPdu diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GnIndReq.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GnIndReq.java deleted file mode 100644 index 95bd460ddb21e1bc2a581f074511b3697eef0a61..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GnIndReq.java +++ /dev/null @@ -1,68 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: $ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class GnIndReq extends Record { - - public GnIndReq(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> GnIndReq.preDecode: " + decodingHypothesis); - - int msgLen = buf.getNbBits() - 48 - 256/*SSP*/ - 32/*ItsAid*/; - - messageBuffer = buf.getBuffer(0, msgLen); - macBuffer = buf.getBuffer(msgLen, 48); - msgLen += 48; - sspBuffer = buf.getBuffer(msgLen, 256/*SSP*/); - msgLen += 256/*SSP*/; - itsaidBuffer = buf.getBuffer(msgLen, 32/*ItsAid*/); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GnIndReq.preDecodeField: " + fieldName + ", " + decodingHypothesis); - - if(fieldName.equals("macDestinationAddress")) { - buf.overwriteWith(macBuffer); - } else if(fieldName.equals("ssp")) { - buf.overwriteWith(sspBuffer); - } else if(fieldName.equals("its_aid")) { - buf.overwriteWith(itsaidBuffer); - } - else { - buf.overwriteWith(messageBuffer); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GnIndReq.postDecodeField: " + fieldName + ", " + decodingHypothesis); - - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug("GnIndReq.encode: " + value); - - return super.encode(value); - } - - private CodecBuffer messageBuffer = null; - private CodecBuffer macBuffer = null; - private CodecBuffer sspBuffer = null; - private CodecBuffer itsaidBuffer = null; -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GnNonSecuredPacket.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GnNonSecuredPacket.java deleted file mode 100644 index 7143f481650cd70da158278544e8d927d3ea5358..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/GnNonSecuredPacket.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class GnNonSecuredPacket extends Record { - - private static final byte c_protocolVersion = 0x02; - - public GnNonSecuredPacket(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> GnNonSecuredPacket.preDecode: " + decodingHypothesis); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GnNonSecuredPacket.preDecodeField: " + fieldName + ", " + decodingHypothesis); - - // FIXME Yann if payload length is 0, why payload is not set to omit? -// if(fieldName.equals("payload")) { -// if (buf.getNbBytes() == 0) { -// mainCodec.setPresenceHint(fieldName, false); -// } -// } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GnNonSecuredPacket.postDecodeField: " + fieldName + ", " + decodingHypothesis); - - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> GnNonSecuredPacket.postEncodeField: " + fieldName); - - if(fieldName.equals("payload")) { - // Compute Payload's length and set a hint - int length = buf.getNbBits() / 8; - mainCodec.setHint("payloadLength", Integer.toString(length)); - } - } - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> GnNonSecuredPacket.encode: " + value); - - return super.encode(value); - } - - @Override - public CodecBuffer preEncode(Value value) { -// TERFactory.getInstance().logDebug(">>> GnNonSecuredPacket.preEncode: " + value); - - mainCodec.setHint("payloadLength", Integer.toString(0)); - return new CodecBuffer(); - } - -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/HeaderTST.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/HeaderTST.java deleted file mode 100644 index 2fbddd80c428040f23a5a3bf3a08a62eb17c30ef..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/HeaderTST.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.Type; - -public class HeaderTST extends Union { - - public HeaderTST(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> HeaderTST.preDecode: " + decodingHypothesis); - - int hdrType = 0x00FF & buf.getBits(0, 4)[0]; - String variant = ""; - String extHeader = ""; - - switch(hdrType) { - case 0: - variant = "anyHdr"; - extHeader = "anyHeader"; - break; - case 1: - variant = "beaconHdr"; - extHeader = "beaconHeader"; - break; - case 2: - variant = "geoUnicastHdr"; - extHeader = "geoUnicastHeader"; - break; - case 3: - variant = "geoAnycastHdr"; - extHeader = "geoAnycastHeader"; - break; - case 4: - variant = "geoBroadcastHdr"; - extHeader = "geoBroadcastHeader"; - break; - case 5: - variant = "tsbHdr"; - if((0x00FF & buf.getBits(4, 4)[0]) == 1) { - extHeader = "tsbHeader"; - } - else { - extHeader = "shbHeader"; - } - break; - case 6: - variant = "lsHdr"; - if((0x00FF & buf.getBits(4, 4)[0]) == 0) { - extHeader = "lsRequestHeader"; - } - else { - extHeader = "lsReplyHeader"; - } - break; - case 7: - variant = "saHdr"; - break; - default: - variant = "reserved"; - } - - mainCodec.setHint(decodingHypothesis.getName(), variant); - if(extHeader.equals("")) { - mainCodec.setPresenceHint("ExtendedHeader", false); - } - else { - mainCodec.setHint("ExtendedHeader", extHeader); - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/LongPosVector.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/LongPosVector.java deleted file mode 100644 index 9aa048a1a2cb802b43f850ccf7c3b9e38af0f973..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/LongPosVector.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class LongPosVector extends Record { - - public LongPosVector(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Bit1Len", "1"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> LongPosVector.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> LongPosVector.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> LongPosVector.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class LongPosVector diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Payload.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Payload.java deleted file mode 100644 index df35fd6f7d3f20b8897a39f66af5ca88e968cf88..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Payload.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.adapter.TERFactory; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class Payload extends Record { - - public Payload(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - //TERFactory.getInstance().logDebug(">>> Payload.preDecode" + decodingHypothesis); - - if(fieldName.equals("decodedPayload")) { - String nhHint = mainCodec.getHint("GnNextHeader"); - String variant = ""; - - mainCodec.setHint(fieldName + "IgnoreErrorOnOptionalField", "true"); - - if(nhHint != null) { - int nh = Integer.parseInt(nhHint); - switch(nh) { - case 1: - case 2: - variant = "btpPacket"; - break; - case 3: - variant = "ipv6Packet"; - break; - default: - mainCodec.setPresenceHint("decodedPayload", false); - return; - } - } - mainCodec.setHint(decodingHypothesis.getName(), variant); - } - - else if(fieldName.equals("rawPayload")) { - buf.overwriteWith(rawBuffer); - mainCodec.setHint("GnRawPayloadLen", Integer.toString(buf.getNbBytes())); - } - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - //TERFactory.getInstance().logDebug(">>> Payload.preDecode: " + decodingHypothesis); - - // Sanity check on pl - int pl = java.lang.Integer.parseInt(mainCodec.getHint("payloadLength")); - int remainingBytesForPayload = buf.getNbBytes(); - - String hint = mainCodec.getHint("IsBeacon"); - if(pl != remainingBytesForPayload && hint==null) { - //TERFactory.getInstance().logDebug("Error: bad payload length or message truncated " + "(indicated: " + pl + " - real: " + remainingBytesForPayload + ")"); - pl = Math.min(remainingBytesForPayload, pl); - } - - // Save complete buf for 'rawPayload' - rawBuffer = buf.getBuffer(0, (remainingBytesForPayload) * 8); - } - - private CodecBuffer rawBuffer = null; -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Plugin.java deleted file mode 100644 index 45c03341ed6db8ec4eef51c5c24ea8085b61e086..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Plugin.java +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "BasicHeader", BasicHeader.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "TrafficClass", TrafficClass.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "LongPosVector", LongPosVector.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "GN_Address", GN_Address.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "CommonHeader", CommonHeader.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "GeoNetworkingPacket", GeoNetworkingPacket.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "GnNonSecuredPacket", GnNonSecuredPacket.class); - cf.setCodec(TciTypeClass.UNION, "LibItsGeoNetworking", "HeaderTST", HeaderTST.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsGeoNetworking", "Payload", Payload.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "GeoNetworkingInd", GnIndReq.class); - cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "GeoNetworkingReq", GnIndReq.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/TrafficClass.java b/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/TrafficClass.java deleted file mode 100644 index 42c1e430493ada07c90f0cd81680c1cdb5ee3f77..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/TrafficClass.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.etsi.ttcn.codec.its.geonetworking; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class TrafficClass extends Record { - - public TrafficClass(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("SCFLen", "1"); - mainCodec.setHint("ChannelOffloadLen", "1"); - mainCodec.setHint("TcIdLen", "6"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> TrafficClass.postEncodeField: " + fieldName); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> TrafficClass.preDecodeField: " + fieldName + ", " + decodingHypothesis); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> TrafficClass.postDecodeField: " + fieldName + ", " + decodingHypothesis); - - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/mapspat/MapSpatIndReq.java b/javasrc/codec/org/etsi/ttcn/codec/its/mapspat/MapSpatIndReq.java deleted file mode 100644 index 210dd185df4c3aeeea5b12d92f3e4a8117be924d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/mapspat/MapSpatIndReq.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.etsi.ttcn.codec.its.mapspat; - -// TODO To be removed -//import org.etsi.ttcn.codec.CodecBuffer; -//import org.etsi.ttcn.codec.MainCodec; -//import org.etsi.ttcn.codec.generic.Record; -//import org.etsi.ttcn.tci.RecordValue; -//import org.etsi.ttcn.tci.Type; -//import org.etsi.ttcn.tci.Value; - -//public class MapSpatIndReq extends Record { -// -// public MapSpatIndReq(MainCodec mainCodec) { -// super(mainCodec); -// } -// -// @Override -// protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -//// System.out.println(">>> MapSpatIndReq.preDecode: " + decodingHypothesis); -// -// int msgLen = buf.getNbBits() - 48; -// -// messageBuffer = buf.getBuffer(0, msgLen); -// macBuffer = buf.getBuffer(msgLen, 48); -// } -// -// @Override -// protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -//// System.out.println(">>> MapSpatIndReq.preDecodeField: " + fieldName + ", " + decodingHypothesis); -// -// if(fieldName.equals("macDestinationAddress")) { -// buf.overwriteWith(macBuffer); -// } -// else { -// buf.overwriteWith(messageBuffer); -// } -// } -// -// @Override -// protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -//// System.out.println(">>> MapSpatIndReq.postDecodeField: " + fieldName + ", " + decodingHypothesis); -// -// } -// -// @Override -// public CodecBuffer encode(Value value) { -//// System.out.println("MapSpatIndReq.encode: " + value); -// -// return super.encode(value); -// } -// -// private CodecBuffer messageBuffer = null; -// private CodecBuffer macBuffer = null; -//} // End of class MapSpatIndReq diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/mapspat/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/mapspat/Plugin.java deleted file mode 100644 index 931e075a71c016c20466ea66e80bfb304cd9cf78..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/mapspat/Plugin.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: https://forge.etsi.org/svn/ITS/branches/STF484_VALIDATION/javasrc/codec/org/etsi/ttcn/codec/its/geonetworking/Plugin.java $ - * $Id: Plugin.java 1834 2014-11-20 09:19:30Z berge $ - */ -package org.etsi.ttcn.codec.its.mapspat; - -//TODO To be removed -//import org.etsi.ttcn.tci.TciTypeClass; -//import org.etsi.ttcn.codec.CodecFactory; -// -//public class Plugin { -// -// public static void init() { -// -// CodecFactory cf = CodecFactory.getInstance(); -// cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "MapReq", MapSpatIndReq.class); -// cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "SpatReq", MapSpatIndReq.class); -// } -//} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/AesCcm.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/AesCcm.java deleted file mode 100644 index dd0c1283e775ee5b005bfbe1302a45e5298f2533..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/AesCcm.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class AesCcm extends Record { - - /** - * List of supported algorithms based on public key cryptography - */ - final byte e_ecdsa_nistp256_with_sha256 = 0x00; - /** - * List of supported algorithms based on public key cryptography - */ - final byte e_ecies_nistp2561 = 0x01; - - public AesCcm(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("SymmetricAlgorithmLen", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> AesCcm.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> AesCcm.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> AesCcm.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class AesCcm diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Certificate.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Certificate.java deleted file mode 100644 index e2a2ffe4dbb4d192faf3e9d6c6701be32824c967..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Certificate.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class Certificate extends Record { - - public Certificate(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> Certificate.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> Certificate.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> Certificate.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class Certificate \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/CertificateWithAlgo.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/CertificateWithAlgo.java deleted file mode 100644 index af2307cded12beda8cf9e70a43d0b5a0d55bdfdf..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/CertificateWithAlgo.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class CertificateWithAlgo extends Record { - - public CertificateWithAlgo(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> CertificateWithAlgo.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> CertificateWithAlgo.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> CertificateWithAlgo.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class CertificateWithAlgo diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/CircularRegion.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/CircularRegion.java deleted file mode 100644 index 83711c9c914f57a16febf0b740ddc293316757f0..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/CircularRegion.java +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; - -public class CircularRegion extends Record { // TODO To be removed - - public CircularRegion(MainCodec mainCodec) { - super(mainCodec); - } - -} // End of class CircularRegion \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Duration.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Duration.java deleted file mode 100644 index fe46041b93c9d796f5bc107ba6bba14bb059f738..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Duration.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class Duration extends Record { - - public Duration(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Bit3Len", "3"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> Duration.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> Duration.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> Duration.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class Duration \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/EccPoint.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/EccPoint.java deleted file mode 100644 index 6a7602bc60be31777ccfe4561e8559bd774ab13a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/EccPoint.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class EccPoint extends Record { - - final byte c_x_coordinate_only = 0x00; /** Only the x coordinate is encoded */ - final byte c_compressed_lsb_y_0 = 0x02; /** The point is compressed and y's least significant bit is zero */ - final byte c_compressed_lsb_y_1 = 0x03; /** The point is compressed and y's least significant bit is one */ - final byte c_uncompressed = 0x04; /** The y coordinate is encoded in the field y */ - - public EccPoint(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("EccPointTypeLen", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> EccPoint.postEncodeField: " + fieldName); - - if (fieldName.equals("type_")) { - // Store EccPointType value - mainCodec.setHint("EccPointType", Integer.toString(ByteHelper.byteArrayToInt(buf.getBytes(0, buf.getNbBytes())))); - } else if (fieldName.equals("x") || fieldName.equals("y")) { - // TODO Store first the octetstring length as specified in Draft ETSI TS 103 097 V1.1.14 Clause 4.2 - int type = Integer.parseInt(mainCodec.getHint("EccPointType")); - // TODO Check when octetsting length should be added -// if (type != c_uncompressed) { // Do not add length because of it is fixed to 32 -// CodecBuffer bufLen = new CodecBuffer(TlsHelper.getInstance().size2tls(buf.getNbBytes())); -// bufLen.append(buf); -// buf.overwriteWith(bufLen); -// } - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EccPoint.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - byte type = buf.getBytes(0, 1)[0]; - // Store EccPointType value - mainCodec.setHint("EccPointType", Integer.toString(type)); - switch (type) { - case c_x_coordinate_only: - mainCodec.setPresenceHint("y", false); - break; - case c_compressed_lsb_y_0: - case c_compressed_lsb_y_1: - mainCodec.setPresenceHint("y", false); - break; - case c_uncompressed: - mainCodec.setPresenceHint("y", true); - mainCodec.setHint("EccPointContainer", "y"); // Set variant - break; - } // End of 'switch' statement - } else if (fieldName.equals("x")) { - int type = Integer.parseInt(mainCodec.getHint("EccPointType")); - int len = 32; - // TODO Check when octetsting length should be added -// if (type != c_uncompressed) { -// len = (int) TlsHelper.getInstance().tls2size(buf); -// } - mainCodec.setHint("octetstringLen", Integer.toString(len)); - } else if ((fieldName.equals("y") && mainCodec.getPresenceHint("y") == true)) { - int type = Integer.parseInt(mainCodec.getHint("EccPointType")); - int len = 32; - // TODO Check when octetsting length should be added -// if (type != c_uncompressed) { -// len = (int) TlsHelper.getInstance().tls2size(buf); -// } - mainCodec.setHint("octetstringLen", Integer.toString(len)); - mainCodec.setHint("EccPointContainer.yLen", Integer.toString(len)); // TCT3 Decoding EciesEncryptedKey, type became EccPointContainer.y - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EccPoint.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class EccPoint diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/EcdsaSignature.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/EcdsaSignature.java deleted file mode 100644 index ac5b030216a6a9b077ec82c9292684b2a92a0ce6..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/EcdsaSignature.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -/** - * @desc Codec for ECDSA based signature - * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.9 EcdsaSignature - */ -public class EcdsaSignature extends Record { - - final byte c_uncompressed = 0x04; /** The y coordinate is encoded in the field y */ - - /** - * Constructor - * @param mainCodec MainCodec reference - */ - public EcdsaSignature(MainCodec mainCodec) { - super(mainCodec); - } - - /** - * @desc Set the variant according to the EcdsaSignature type - * @see See Draft ETSI TS 103 097 V1.1.14 Clause 4.2.9 EcdsaSignature - */ - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> EcdsaSignature.postEncodeField: " + fieldName); - - if (fieldName.equals("s")) { - int type = Integer.parseInt(mainCodec.getHint("EccPointType")); - // TODO Store first the octetstring length as specified in Draft ETSI TS 103 097 V1.1.14 Clause 4.2 -// if (type != c_uncompressed) { // Do not add length because of it is fixed to 32 -// CodecBuffer bufLen = new CodecBuffer(TlsHelper.getInstance().size2tls(buf.getNbBytes())); -// bufLen.append(buf); -// buf.overwriteWith(bufLen); -// } - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EcdsaSignature.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("s")) { - int type = Integer.parseInt(mainCodec.getHint("EccPointType")); - int len = 32; - // TODO Store first the octetstring length as specified in Draft ETSI TS 103 097 V1.1.14 Clause 4.2 -// if (type != c_uncompressed) { -// len = (int) TlsHelper.getInstance().tls2size(buf); -// } - mainCodec.setHint("octetstringLen", Integer.toString(len)); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EcdsaSignature.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class EcdsaSignature \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/EciesEncryptedKey.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/EciesEncryptedKey.java deleted file mode 100644 index f48ac1a98a4ce40b65c12fb588ef2f39e3d18e5b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/EciesEncryptedKey.java +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class EciesEncryptedKey extends Record { - - final byte c_aes_128_ccm = 0x00; /** Symmetric key cryptography algorithm AES-CCM as specified in NIST SP 800-38C */ - - public EciesEncryptedKey(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Oct16Len", "16"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> EciesEncryptedKey.postEncodeField: " + fieldName); - - if (fieldName.equals("c")) { - int type = Integer.parseInt(mainCodec.getHint("SymmetricAlgorithm")); - if (type != c_aes_128_ccm) { // Do not add length because of it is fixed to 32 - CodecBuffer bufLen = new CodecBuffer(TlsHelper.getInstance().size2tls(buf.getNbBytes())); - bufLen.append(buf); - buf.overwriteWith(bufLen); - } - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EciesEncryptedKey.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("c")) { - int type = Integer.parseInt(mainCodec.getHint("SymmetricAlgorithm")); - int len = 32; - if (type != c_aes_128_ccm) { - len = (int) TlsHelper.getInstance().tls2size(buf); - } - mainCodec.setHint("octetstringLen", Integer.toString(len)); - } else if (fieldName.equals("t")) { - mainCodec.setHint("octetstringLen", "20"); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EciesEncryptedKey.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class EciesEncryptedKey \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/EncryptionParameters.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/EncryptionParameters.java deleted file mode 100644 index c2572bec060a3f7d78ed127ad49f16c888ed5ad5..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/EncryptionParameters.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class EncryptionParameters extends Record { - - final byte c_aes_128_ccm = 0x00; /** Symmetric key cryptography algorithm AES-CCM as specified in NIST SP 800-38C */ - - public EncryptionParameters(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("SymmetricAlgorithmLen", "8"); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> EncryptionParameters.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - if (fieldName.equals("symm_algorithm")) { - byte type_ = buf.getBytes(0, 1)[0]; - mainCodec.setHint("SymmetricAlgorithm", String.valueOf(type_)); - switch (type_) { - case (byte)c_aes_128_ccm: - mainCodec.setHint("EncryptionParametersContainer", "nonce"); // Set variant - break; - default: - mainCodec.setHint("EncryptionParametersContainer", "params"); // Set variant - } // End of 'switch' statement - } else { - if (mainCodec.getHint("EncryptionParametersContainer").equals("nonce")) { - mainCodec.setHint("octetstringLen", "12"); - mainCodec.setHint("EncryptionParametersContainer.nonceLen", "12"); // TCT3 Decoding HeaderFieldContainer.enc_params, the type nonce became EncryptionParametersContainer.nonce - } else { - int len = buf.readBits(Byte.SIZE)[0]; // field_sizeLen is 1 bytes - mainCodec.setHint("EncryptionParametersContainer.paramsLen", Integer.toString(len)); - } - } - } - -} // End of class EncryptionParameters \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/EncryptionParametersContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/EncryptionParametersContainer.java deleted file mode 100644 index f652531c669e9c5e870fd2e127f06c36553f835a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/EncryptionParametersContainer.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class EncryptionParametersContainer extends Union { - - public EncryptionParametersContainer(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Oct12Len", "12"); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> EncryptionParametersContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("params")) { - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class EncryptionParametersContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/GeographicRegion.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/GeographicRegion.java deleted file mode 100644 index 1f8783928a9d5307c4c80e5f455cec414d04f17b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/GeographicRegion.java +++ /dev/null @@ -1,71 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class GeographicRegion extends Record { - - final byte c_none = 0x00; - final byte c_circle = 0x01; - final byte c_rectangle = 0x02; - final byte c_polygon = 0x03; - final byte c_id = 0x04; - - /** - * Constructor - * @param mainCodec MainCodec reference - */ - public GeographicRegion(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - /** - * @desc Predefined field lengths - */ - private void setLengths() { - mainCodec.setHint("RegionTypeLen", "8"); - } - - /** - * @desc Set the variant according to the GeographicRegion type - * @see See Draft ETSI TS 103 097 V1.1.14 Clause 5.7 TrailerFieldType - */ - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GeographicRegion.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - if (fieldName.equals("region_type")) { - byte type_ = buf.getBytes(0, 1)[0]; - mainCodec.setPresenceHint("region", true); - switch (type_) { - case (byte)c_circle: - mainCodec.setHint("GeographicRegionContainer", "circular_region"); // Set variant - break; - case (byte)c_rectangle: - mainCodec.setHint("GeographicRegionContainer", "rectangular_region"); // Set variant - break; - case (byte)c_polygon: - mainCodec.setHint("GeographicRegionContainer", "polygonal_region"); // Set variant - break; - case (byte)c_id: - mainCodec.setHint("GeographicRegionContainer", "id_region"); // Set variant - break; - case (byte)c_none: - mainCodec.setPresenceHint("region", false); - break; - default: - mainCodec.setHint("GeographicRegionContainer", "other_region"); // Set variant - break; - } // End of 'switch' statement - } - } - -} // End of class GeographicRegion \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/GeographicRegionContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/GeographicRegionContainer.java deleted file mode 100644 index 8502b8c726188e0c9809d885a70edeb395cecfb2..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/GeographicRegionContainer.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class GeographicRegionContainer extends Union { - - public GeographicRegionContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> GeographicRegionContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("other_region")) { - // FIXME Check for opaque length encoding depending of the length value : <= 127 or > 127 - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class GeographicRegionContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/GnSecurityInd.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/GnSecurityInd.java deleted file mode 100644 index be3aa102554981d9df387cd5f1a7a6940415f45a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/GnSecurityInd.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class GnSecurityInd extends Record { - - public GnSecurityInd(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GnSecurityInd.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> GnSecurityInd.postDecode: " + decodingHypothesis.getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> GnSecurityInd.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class GnSecurityInd diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/HashedId3.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/HashedId3.java deleted file mode 100644 index c6251a87a88cab6f17d64e7f443712efe5082d2f..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/HashedId3.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Octetstring; -import org.etsi.ttcn.tci.Type; - -public class HashedId3 extends Octetstring { - - public HashedId3(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("HashedId3Len", "3"); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> HashedId3.preDecode: " + decodingHypothesis.getName()); - } - -} // End of class HashedId3 \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/HashedId8.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/HashedId8.java deleted file mode 100644 index f4e5bb0a923d411a0a14eef8e0229cfe5f7f2c83..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/HashedId8.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Octetstring; - -public class HashedId8 extends Octetstring { - - public HashedId8(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("HashedId8Len", "8"); - } - -} // End of class HashedId8 \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/HeaderField.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/HeaderField.java deleted file mode 100644 index 546805be0e0518f28390e95863a90714aa5f092c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/HeaderField.java +++ /dev/null @@ -1,93 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -/** - * @desc Information of interest to the security layer - * @see Draft ETSI TS 103 097 V1.1.14 Clause 5.4 HeaderField - */ -public class HeaderField extends Record { - - final byte c_generation_time = 0x00; /** A timestamp of type Time64 */ - final byte c_generation_time_with_standard_deviation= 0x01; /** A timestamp of type Time64WithStandardDeviation */ - final byte c_expiration = 0x02; /** The point in time the validity of this message expires */ - final byte c_generation_location = 0x03; /** The location where this message was created */ - final byte c_request_unrecognized_certificate = 0x04; /** A request for certificates */ - final byte c_its_aid = 0x05; /** Its AID valued used to identify CAM/DENM secured messages */ - final byte c_signer_info = (byte)0x80; /** Information about the message's signer */ - final byte c_encryption_parameters = (byte)0x81; /** Information specific for certain recipients */ - final byte c_recipient_info = (byte)0x82; /** Additional parameters necessary for encryption purposes */ - - /** - * Constructor - * @param mainCodec MainCodec reference - */ - public HeaderField(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - /** - * @desc Predefined field lengths - */ - private void setLengths() { - mainCodec.setHint("HeaderFieldTypeLen", "8"); - mainCodec.setHint("Oct2Len", "2"); - } - - /** - * @desc Set the variant according to the HeaderField type - * @see See Draft ETSI TS 103 097 V1.1.14 Clause 5.5 HeaderFieldType - */ - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> HeaderField.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - byte type_ = buf.getBytes(0, 1)[0]; - switch (type_) { - case (byte)c_generation_time: - mainCodec.setHint("HeaderFieldContainer", "generation_time"); // Set variant - break; - case (byte)c_generation_time_with_standard_deviation: - mainCodec.setHint("HeaderFieldContainer", "generation_time_with_standard_deviation"); // Set variant - break; - case (byte)c_expiration: - mainCodec.setHint("HeaderFieldContainer", "expiry_time"); // Set variant - break; - case (byte)c_generation_location: - mainCodec.setHint("HeaderFieldContainer", "generation_location"); // Set variant - break; - case (byte)c_request_unrecognized_certificate: - mainCodec.setHint("HeaderFieldContainer", "digests"); // Set variant - mainCodec.setHint("HashedId3Len", "3"); // FIXME TCT3 returns 12/length(3)/HashedId3 instead of 12/LibItsSecurity/HashedId3 - break; - case (byte)c_its_aid: - mainCodec.setHint("HeaderFieldContainer", "its_aid"); // Set variant - break; - case (byte)c_signer_info: - mainCodec.setHint("HeaderFieldContainer", "signer"); // Set variant - break; - case (byte)c_encryption_parameters: - mainCodec.setHint("HeaderFieldContainer", "enc_params"); // Set variant - break; - case (byte)c_recipient_info: - mainCodec.setHint("HeaderFieldContainer", "recipients"); // Set variant - break; - default: - mainCodec.setHint("HeaderFieldContainer", "other_header"); // Set variant - break; - } // End of 'switch' statement - } - } - -} // End of class HeaderField \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/HeaderFieldContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/HeaderFieldContainer.java deleted file mode 100644 index 71dd838b80f6659cce1cfa7e734362002d7e9c20..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/HeaderFieldContainer.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; - -/** - * @desc Container for the information of interest to the security layer - * @see Draft ETSI TS 103 097 V1.1.14 Clause 5.4 HeaderField - */ -public class HeaderFieldContainer extends Union { - - public HeaderFieldContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> HeaderFieldContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("other_header")) { - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> HeaderFieldContainer.preDecode: " + decodingHypothesis.getName()); - } - -} // End of class HeaderFieldContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/IdentifiedRegion.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/IdentifiedRegion.java deleted file mode 100644 index 6a5f5164216001ced282859378023223caf48ea7..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/IdentifiedRegion.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; - -public class IdentifiedRegion extends Record { - - /** - * Constructor - * @param mainCodec MainCodec reference - */ - public IdentifiedRegion(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - /** - * @desc Predefined field lengths - */ - private void setLengths() { - mainCodec.setHint("RegionDictionaryLen", "8"); - } - -} // End of class IdentifiedRegion \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/IntX.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/IntX.java deleted file mode 100644 index ca9a8e4a8fb765352cb1cb9b4de6589855615285..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/IntX.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Integer; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -/** - * @desc Codec for an integer of variable length - * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.1 IntX - */ -public class IntX extends Integer { - - /** - * Specialised constructor - * @param mainCodec The MainCodec reference - */ - public IntX(MainCodec mainCodec) { - super(mainCodec); - } - - /** - * @desc Decoder for an integer of variable length - */ - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> IntX.decode: " + decodingHypothesis.getName()); - - // Read the first byte - byte msb = buf.getBytes(0, 1)[0]; - if ((msb & 0x80) == 0x00) { // Integer < 128 - mainCodec.setHint("IntXLen", "8"); - mainCodec.setHint("HeaderFieldContainer.its_aidLen", "8"); // TCT3 workaround, i don't know how to abstract this :-( - return super.decode(buf, decodingHypothesis); - } else { - // Decode the length. The encoding of the length shall use at most 7 bits set to 1 (see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.1 IntX) - byte bit; - byte byteLen = 1; - do { - bit = (byte) ((byte) (msb << byteLen++) & 0x80); - } while (bit != 0x00); - // Set the IntX length - mainCodec.setHint(decodingHypothesis.getName() + "Len", String.valueOf(byteLen * Byte.SIZE )); - mainCodec.setHint("HeaderFieldContainer.its_aid" + "Len", String.valueOf(byteLen * Byte.SIZE )); // TCT3 workaround, i don't know how to abstract this :-( - // Remove the length from the real integer value - byte[] newBuf = buf.getBytes(); - newBuf[0] &= (byte)(Math.pow(2.0, 8 - byteLen + 1) - 1); - CodecBuffer newBuffer = new CodecBuffer(newBuf); - buf.overwriteWith(newBuffer); - // Decode it - return super.decode(buf, decodingHypothesis); - } - } - - /** - * @desc Encoder for an integer of variable length - */ - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> IntX.encode: " + value.getType().getName()); - - int iv = mainCodec.getTciCDRequired().getInteger((IntegerValue)value); - byte[] result = TlsHelper.getInstance().size2tls(iv); - mainCodec.setHint("integerLen", String.valueOf(result.length * Byte.SIZE )); - IntegerValue newValue = mainCodec.getTciCDRequired().setInteger(ByteHelper.byteArrayToInt(result)); - return super.encode(newValue); - } - -} // End of class IntX diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/ItsAidSsp.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/ItsAidSsp.java deleted file mode 100644 index 9844279a1b5b08acd650e78cb898c3f7d691cdb9..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/ItsAidSsp.java +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class ItsAidSsp extends Record { - - public ItsAidSsp(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> ItsAidSsp.postEncodeField: " + fieldName); - - if (fieldName.equals("service_specific_permissions")) { - CodecBuffer bufLen = new CodecBuffer(new byte[] { (byte)buf.getNbBytes() } ); -// TERFactory.getInstance().logDebug("ItsAidSsp.postEncodeField: bufLen = " + bufLen); - bufLen.append(buf); - buf.overwriteWith(bufLen); - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ItsAidSsp.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("service_specific_permissions")) { - int len = buf.readBits(Byte.SIZE)[0]; // FIXME Should be IntX? -// TERFactory.getInstance().logDebug("ItsAidSsp.preDecodeField: len=" + len); - if (mainCodec.getHint("ServiceSpecificPermissionsContainer").equals("sspCAM")) { - mainCodec.setHint("SspCAMLen", Integer.toString(len - 1/* Version byte*/)); - } else if (mainCodec.getHint("ServiceSpecificPermissionsContainer").equals("sspDENM")) { - mainCodec.setHint("SspDENMLen", Integer.toString(len -1/* Version byte*/)); - } else { - mainCodec.setHint("ServiceSpecificPermissionsContainer.opaqueLen", Integer.toString(len - 1/* Version byte*/)); - } - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ItsAidSsp.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("its_aid")) { - //int itsaid = ((IntegerValue)(rv.getField(fieldName))).getInt(); - int itsaid = mainCodec.getTciCDRequired().getInteger(((IntegerValue)(rv.getField(fieldName)))); - if (itsaid == 36) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspCAM"); - } else if (itsaid == 37) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspDENM"); - } else if (itsaid == 138) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "opaque"); - //mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspMAPEM"); - } else if (itsaid == 137) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "opaque"); - //mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspSPATEM"); - } else if (itsaid == 139) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "opaque"); - //mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspIVIM"); - } else if (itsaid == 140) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "opaque"); - //mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspSxEM"); - } else if (itsaid == 141) { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "opaque"); - //mainCodec.setHint("ServiceSpecificPermissionsContainer", "sspGnMgmt"); - } else { - mainCodec.setHint("ServiceSpecificPermissionsContainer", "opaque"); - } - } - } - -} // End of class ItsAidSsp diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Plugin.java deleted file mode 100644 index 9c24289c58827f341354a05ea38eeeb33bcc611c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Plugin.java +++ /dev/null @@ -1,128 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecFactory; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.TciTypeClass; - -public class Plugin { - - public static void init() { - CodecFactory cf = CodecFactory.getInstance(); - // Draft ETSI TS 103 097 V1.1.14 Clause 4.2 Specification of basic format elements - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "PublicKey", PublicKey.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "EccPoint", EccPoint.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "AesCcm", AesCcm.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SignerInfo", SignerInfo.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "Signature", Signature.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "EcdsaSignature", EcdsaSignature.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "Time64WithStandardDeviation", Time64WithStandardDeviation.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "Duration", Duration.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "TwoDLocation", TwoDLocation.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "ThreeDLocation", ThreeDLocation.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "EncryptionParameters", EncryptionParameters.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "GeographicRegion", GeographicRegion.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "CircularRegion", CircularRegion.class); - - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "SignerInfoContainer", SignerInfoContainer.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "EncryptionParametersContainer", EncryptionParametersContainer.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "GeographicRegionContainer", GeographicRegionContainer.class); - - cf.setCodec(TciTypeClass.ENUMERATED, "LibItsSecurity", "RegionDictionary", RegionDictionary.class); - - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "Time32", Time32.class); - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "Time64", Time64.class); - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "IntX", IntX.class); - - // Draft ETSI TS 103 097 V1.1.14 Clause 5 Specification of security header - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SecuredMessage", SecuredMessage.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "HeaderField", HeaderField.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SecPayload", SecPayload.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "TrailerField", TrailerField.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "RecipientInfo", RecipientInfo.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "EciesEncryptedKey", EciesEncryptedKey.class); - - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "HeaderFields", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "IntXs", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "HashedId3s", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "RecipientInfos", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "TrailerFields", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "RectangularRegions", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "PolygonalRegion", RecordOf.class); - // Change record of into set of in order to use superset - // record of shall be used, refer to ETSI TS 103 097 V 1.1.6 (2014-05) - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "HeaderFields", RecordOf.class); - - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "PublicKeyContainer", Union.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "EccPointContainer", Union.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "SignatureContainer", Union.class); - - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "HeaderFieldContainer", HeaderFieldContainer.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "RecipientInfoContainer", RecipientInfoContainer.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "TrailerFieldContainer", TrailerFieldContainer.class); - - // Draft ETSI TS 103 097 V1.1.14 Clause 6 Specification of certificate format - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "ToBeSignedCertificate", ToBeSignedCertificate.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "Certificate", Certificate.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SubjectInfo", SubjectInfo.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SubjectAssurance", SubjectAssurance.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SubjectAttribute", SubjectAttribute.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "ValidityRestriction", ValidityRestriction.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "ItsAidSsp", ItsAidSsp.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "ServiceSpecificPermissions", ServiceSpecificPermissions.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SspCAM", SspCAM.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SspDENM", SspDENM.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "CertificateWithAlgo", CertificateWithAlgo.class); - - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "SubjectAttributeContainer", SubjectAttributeContainer.class); - cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "ValidityRestrictionContainer", ValidityRestrictionContainer.class); - - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "CertificateChain", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "ValidityRestrictions", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "SubjectAttributes", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "ItsAidSsps", RecordOf.class); - // Change record of into set of in order to use superset - // record of shall be used, refer to ETSI TS 103 097 V 1.1.6 (2014-05) - - // TCT3 specific - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "PublicKeyContainer.eccPoint", EccPoint.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SignatureContainer.ecdsa_signature", EcdsaSignature.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "PublicKeyContainer.aesCcm", Signature.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "HeaderFieldContainer.signer", SignerInfo.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "EncryptionParametersContainer.public_key", EncryptionParameters.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "GeographicRegionContainer.circular_region", CircularRegion.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "GeographicRegionContainer.id_region", IdentifiedRegion.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "HeaderFieldContainer.generation_time_with_standard_deviation", HeaderField.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "HeaderFieldContainer.generation_location", HeaderField.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "HeaderFieldContainer.enc_params", EncryptionParameters.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "RecipientInfoContainer.enc_key", EciesEncryptedKey.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "RecipientInfoContainer.enc_key_other", RecipientInfoContainer.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "TrailerFieldContainer.signature_", Signature.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "TrailerFieldContainer.security_field", TrailerFieldContainer.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SubjectAttributeContainer.key", PublicKey.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SubjectAttributeContainer.rv", EccPoint.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "SubjectAttributeContainer.assurance_level", SubjectAssurance.class); - cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "ValidityRestrictionContainer.region", GeographicRegion.class); - - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "HeaderFieldContainer.generation_time", Time64.class); - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "HeaderFieldContainer.expiry_time", Time32.class); - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "HeaderFieldContainer.its_aid", IntX.class); - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "ItsAidSsp.its_aid", IntX.class); - cf.setCodec(TciTypeClass.INTEGER, "LibItsSecurity", "ValidityRestrictionContainer.end_validity", Time32.class); - - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "SignerInfoContainer.certificates", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "GeographicRegionContainer.rectangular_region", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "GeographicRegionContainer.polygonal_region", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "HeaderFieldContainer.digests", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "HeaderFieldContainer.recipients", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "SubjectAttributeContainer.its_aid_list", RecordOf.class); - cf.setCodec(TciTypeClass.SET_OF, "LibItsSecurity", "SubjectAttributeContainer.its_aid_ssp_list", RecordOf.class); - // Change record of into set of in order to use superset - // record of shall be used, refer to ETSI TS 103 097 V 1.1.6 (2014-05) - - } -} // End of class Plugin \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/PublicKey.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/PublicKey.java deleted file mode 100644 index ce6b60c3129a952f1a28ddfd2311ae3b6da7564f..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/PublicKey.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class PublicKey extends Record { - - /** - * List of supported algorithms based on public key cryptography - */ - final byte c_ecdsa_nistp256_with_sha256 = 0x00; - /** - * List of supported algorithms based on public key cryptography - */ - final byte c_ecies_nistp2561 = 0x01; - - public PublicKey(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("PublicKeyAlgorithmLen", "8"); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> PublicKey.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("algorithm")) { - if (buf.getBytes(0, 1)[0] == c_ecdsa_nistp256_with_sha256) { - mainCodec.setHint("PublicKeyContainer", "eccPoint"); // Set variant - } else if (buf.getBytes(0, 1)[0] == c_ecies_nistp2561) { - mainCodec.setHint("PublicKeyContainer", "aesCcm"); // Set variant - } else { - mainCodec.setHint("PublicKeyContainer", "other_key"); // Set variant - } - } - } - -} // End of class PublicKey diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/RecipientInfo.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/RecipientInfo.java deleted file mode 100644 index 8671dcfebbf62f994aecaac39eaf87c198533f56..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/RecipientInfo.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class RecipientInfo extends Record { - - final byte c_ecies_nistp2561 = 0x01; /** List of supported algorithms based on public key cryptography */ - - public RecipientInfo(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("HashedId8Len", "8"); - mainCodec.setHint("PublicKeyAlgorithmLen", "8"); - mainCodec.setHint("Oct20Len", "20"); - } - - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> RecipientInfo.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("pk_encryption")) { - if (buf.getBytes(0, 1)[0] == c_ecies_nistp2561) { - mainCodec.setHint("RecipientInfoContainer", "enc_key"); // Set variant - } else { - mainCodec.setHint("RecipientInfoContainer", "enc_key_other"); // Set variant - } - } - } - - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> RecipientInfo.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> RecipientInfo.postEncodeField: " + fieldName); - } -} // End of class RecipientInfo \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/RecipientInfoContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/RecipientInfoContainer.java deleted file mode 100644 index a7ec0d5bb8c348455eca62b2832f05441e60c31f..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/RecipientInfoContainer.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class RecipientInfoContainer extends Union { - - public RecipientInfoContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> RecipientInfoContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("enc_key_other")) { - // FIXME Check for opaque length encoding depending of the length value : <= 127 or > 127 - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class RecipientInfoContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/RecordOf.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/RecordOf.java deleted file mode 100644 index 14466a857a3a64bbb4403562d9805291fb0a7299..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/RecordOf.java +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import java.util.ArrayList; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class RecordOf extends org.etsi.ttcn.codec.generic.RecordOf { - - public RecordOf(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { -// TERFactory.getInstance().logDebug(">>> security.RecordOf.decode: " + decodingHypothesis.getName()); - - int len = (int) TlsHelper.getInstance().tls2size(buf); -// TERFactory.getInstance().logDebug("security.RecordOf.decode: length=" + len); - if (len == 0) { - RecordOfValue rov = (RecordOfValue)decodingHypothesis.newInstance(); - rov.setLength(0); - return rov; - } - CodecBuffer newBuf = new CodecBuffer(buf.readBits(len * Byte.SIZE)); - - ArrayList recordOf = new ArrayList(); - RecordOfValue rov = (RecordOfValue)decodingHypothesis.newInstance(); - while (newBuf.getNbBits() != 0) { - recordOf.add(mainCodec.decode(newBuf, rov.getElementType())); -// TERFactory.getInstance().logDebug("security.RecordOf.decode: new len=" + newBuf.getNbBits() / Byte.SIZE + "/" + len); - } - - // Fill it - rov.setLength(recordOf.size()); - for (int position = 0; position < recordOf.size(); position++) { - rov.setField(position, recordOf.get(position)); - } // End of 'for' statement - - return rov; - } - - - @Override - public CodecBuffer encode(Value value) { -// TERFactory.getInstance().logDebug(">>> security.RecordOf.encode: " + value.getType().getName()); - - CodecBuffer buf = super.encode(value); - CodecBuffer bufLen = new CodecBuffer(TlsHelper.getInstance().size2tls(buf.getNbBytes())); - bufLen.append(buf); - return bufLen; - } - -} // End of class RecordOf diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/RegionDictionary.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/RegionDictionary.java deleted file mode 100644 index d2a407297f624732c2ea9082b829c5749ff0918b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/RegionDictionary.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Enumerated; - -public class RegionDictionary extends Enumerated { - - public RegionDictionary(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("RegionDictionaryLen", "8"); - } - -} // End of class RegionDictionary \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SecPayload.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SecPayload.java deleted file mode 100644 index b70242079d686e56fb0eb0d219dc3c492e34f773..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SecPayload.java +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class SecPayload extends Record { - - final byte c_signed_external = 0x03; - - public SecPayload(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("SecPayloadTypeLen", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SecPayload.postEncodeField: " + fieldName); - - if (fieldName.equals("data")) { - // Store first the octetstring length as specified in Draft ETSI TS 103 097 V1.1.14 Clause 4.2 - CodecBuffer bufLen = new CodecBuffer(new byte[] { (byte)buf.getNbBytes() } ); - bufLen.append(buf); - buf.overwriteWith(bufLen); - } - } - - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SecPayload.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - mainCodec.setPresenceHint("data", buf.getBytes(0, 1)[0] != c_signed_external); - } else if (fieldName.equals("data") && (mainCodec.getPresenceHint("data") == true)) { - int len = (int) TlsHelper.getInstance().tls2size(buf); -// TERFactory.getInstance().logDebug("SecPayload.preDecodeField: len = " + len); - mainCodec.setHint("octetstringLen", Integer.toString(len)); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SecPayload.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class SecPayload \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SecuredMessage.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SecuredMessage.java deleted file mode 100644 index 82103061abffbcfbb1bfc1391f4c651dbc416dc6..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SecuredMessage.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; - -public class SecuredMessage extends Record { - - public SecuredMessage(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SecuredMessage.postEncodeField: " + fieldName); - - } - -} // End of class SecuredMessage \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/ServiceSpecificPermissions.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/ServiceSpecificPermissions.java deleted file mode 100644 index 2dba0799749fa3b24eb956c68549000d3d9b4e38..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/ServiceSpecificPermissions.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class ServiceSpecificPermissions extends Record { - - public ServiceSpecificPermissions(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Oct1Len", "1"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> ServiceSpecificPermissions.postEncodeField: " + fieldName); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ServiceSpecificPermissions.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("sspContainer")) { - mainCodec.setPresenceHint(fieldName, true); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ServiceSpecificPermissions.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class ServiceSpecificPermissions diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Signature.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Signature.java deleted file mode 100644 index 3db11f07fd69059d8b48d49b4908b89e021d54bd..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Signature.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class Signature extends Record { - - /** - * List of supported algorithms based on public key cryptography - */ - final byte e_ecdsa_nistp256_with_sha256 = 0x00; - /** - * List of supported algorithms based on public key cryptography - */ - final byte e_ecies_nistp2561 = 0x01; - - public Signature(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("PublicKeyAlgorithmLen", "8"); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> Signature.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - if (fieldName.equals("algorithm")) { - if (buf.getBytes(0, 1)[0] == e_ecdsa_nistp256_with_sha256) { - mainCodec.setHint("SignatureContainer", "ecdsa_signature"); - } else if (buf.getBytes(0, 1)[0] == e_ecies_nistp2561) { - mainCodec.setHint("SignatureContainer", "signature_"); - } - } - } - -} // End of class Signature diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SignerInfo.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SignerInfo.java deleted file mode 100644 index 11faba49d400dc40abbdfc1c35fdd4ac8edbe87d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SignerInfo.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -/** - * @desc Information about the signer of a message - * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.10 SignerInfo - */ -public class SignerInfo extends Record { - - final byte c_self = 0x00; /** The data is self-signed */ - final byte c_certificate_digest_with_sha256 = 0x01; /** An 8 octet digest of the relevant certificate */ - final byte c_certificate = 0x02; /** The relevant certificate itself */ - final byte c_certificate_chain = 0x03; /** A complete certificate chain */ - final byte c_certificate_digest_with_other_algorithm = 0x04; /** An 8 octet digest */ - - /** - * Constructor - * @param mainCodec MainCodec reference - */ - public SignerInfo(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - /** - * @desc Predefined field lengths - */ - private void setLengths() { - mainCodec.setHint("SignerInfoTypeLen", "8"); - mainCodec.setHint("HashedId8Len", "8"); - } - - /** - * @desc Set the variant according to the SignerInfo type - * @see See Draft ETSI TS 103 097 V1.1.14 Clause 4.2.11 SignerInfoType - */ - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SignerInfo.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - byte type_ = buf.getBytes(0, 1)[0]; - mainCodec.setPresenceHint("signerInfo", (boolean)(type_ != c_self)); - switch (type_) { - case (byte)c_self: - // Nothing to do - break; - case (byte)c_certificate_digest_with_sha256: - mainCodec.setHint("SignerInfoContainer", "digest"); - break; - case (byte)c_certificate: - mainCodec.setHint("SignerInfoContainer", "certificate"); - break; - case (byte)c_certificate_chain: - mainCodec.setHint("SignerInfoContainer", "certificates"); - break; - case (byte)c_certificate_digest_with_other_algorithm: - mainCodec.setHint("SignerInfoContainer", "certificateWithAlgo"); - break; - default: - mainCodec.setHint("SignerInfoContainer", "info"); - break; - } // End of 'switch' statement - } - } - -} // End of class SignerInfo \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SignerInfoContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SignerInfoContainer.java deleted file mode 100644 index d4aeadf8db174c0a88d504e46c35cd6f15375a40..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SignerInfoContainer.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class SignerInfoContainer extends Union { - - public SignerInfoContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> SignerInfoContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("certificates")) { - // TODO To be continued - } else if (uv.getPresentVariantName().equals("info")) { - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class SignerInfoContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SspCAM.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SspCAM.java deleted file mode 100644 index e146f7f51059f46990c516d19376b4af38c73662..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SspCAM.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class SspCAM extends Record { - - public SspCAM(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Bit1Len", "1"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SspCAM.postEncodeField: " + fieldName); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SspCAM.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SspCAM.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - } - -} // End of class SspCAM diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SspDENM.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SspDENM.java deleted file mode 100644 index 61aea6fa6bce71508f2dfe8800cec3e562703a7d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SspDENM.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class SspDENM extends Record { - - public SspDENM(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Bit1Len", "1"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SspDENM.postEncodeField: " + fieldName); - - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SspDENM.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SspDENM.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - } - -} // End of class SspDENM diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAssurance.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAssurance.java deleted file mode 100644 index b694b401287fca1417c4f3d4849f134facf0479b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAssurance.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class SubjectAssurance extends Record { - - public SubjectAssurance(MainCodec mainCodec) { - super(mainCodec); -// setLengths(); -// } -// -// private void setLengths() { -// mainCodec.setHint("Bit2Len", "2"); -// mainCodec.setHint("Bit3Len", "3"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SubjectAssurance.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SubjectAssurance.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SubjectAssurance.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class SubjectAssurance \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAttribute.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAttribute.java deleted file mode 100644 index 96ee2126e524a903789b1db868b1777626afe57e..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAttribute.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class SubjectAttribute extends Record { - - final byte c_verification_key = 0x00; - final byte c_encryption_key = 0x01; - final byte c_assurance_level = 0x02; - final byte c_reconstruction_value = 0x03; - final byte c_its_aid_list = 0x20; - final byte c_its_aid_ssp_list = 0x21; - - public SubjectAttribute(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("SubjectAttributeTypeLen", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SubjectAttribute.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SubjectAttribute.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - byte type_ = buf.getBytes(0, 1)[0]; - switch (type_) { - case (byte)c_verification_key: - // No break; - case (byte)c_encryption_key: - mainCodec.setHint("SubjectAttributeContainer", "key"); // Set variant - break; - case (byte)c_reconstruction_value: - mainCodec.setHint("SubjectAttributeContainer", "rv"); // Set variant - break; - case (byte)c_assurance_level: - mainCodec.setHint("SubjectAttributeContainer", "assurance_level"); // Set variant - break; - case (byte)c_its_aid_list: - mainCodec.setHint("SubjectAttributeContainer", "its_aid_list"); // Set variant - break; - case (byte)c_its_aid_ssp_list: - mainCodec.setHint("SubjectAttributeContainer", "its_aid_ssp_list"); // Set variant - break; - default: - mainCodec.setHint("SubjectAttributeContainer", "other_attribute"); // Set variant - break; - } // End of 'switch' statement - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SubjectAttribute.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class SubjectAttribute \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAttributeContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAttributeContainer.java deleted file mode 100644 index fbc4acc7aa3afdd9374a68dbd4e016bd950e10f1..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectAttributeContainer.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class SubjectAttributeContainer extends Union { - - public SubjectAttributeContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> SubjectAttributeContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("other_attribute")) { - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class SubjectAttributeContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectInfo.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectInfo.java deleted file mode 100644 index 7f406806c4137723ec3890a44ae34720efffc3eb..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/SubjectInfo.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class SubjectInfo extends Record { - - public SubjectInfo(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("SubjectTypeLen", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> SubjectInfo.postEncodeField: " + fieldName); - - if (fieldName.equals("subject_name")) { - CodecBuffer bufLen = new CodecBuffer(new byte[] { (byte)buf.getNbBytes() } ); - bufLen.append(buf); - buf.overwriteWith(bufLen); - } - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SubjectInfo.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("subject_name")) { - int len = buf.readBits(Byte.SIZE)[0]; // FIXME It depends of the len value : <= 127 or > 127 - // FIXME Check for opaque length encoding - //int len = ByteHelper.byteArrayToInt(buf.readBits(Integer.SIZE)); // field_sizeLen is 1 bytes -// TERFactory.getInstance().logDebug("SubjectInfo.preDecodeField: len = " + len); - mainCodec.setHint("Oct0to31Len", Integer.toString(len)); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> SubjectInfo.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class SubjectInfo \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/ThreeDLocation.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/ThreeDLocation.java deleted file mode 100644 index f048953c03c99efda408705ecd15c93b29c5ecd1..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/ThreeDLocation.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class ThreeDLocation extends Record { - - public ThreeDLocation(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("WGSLatitudeLen", "32"); - mainCodec.setHint("WGSLongitudeLen", "32"); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ThreeDLocation.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - if (fieldName.equals("elevation")) { - mainCodec.setHint("Oct2Len", "2"); - } - } - -} // End of class ThreeDLocation \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Time32.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Time32.java deleted file mode 100644 index e0bc5f5a920c35cb399f26ecc79450ad99df387a..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Time32.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Integer; - -public class Time32 extends Integer { - - public Time32(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Time32Len", "32"); - mainCodec.setHint("HeaderFieldContainer.expiry_timeLen", "32"); - mainCodec.setHint("ValidityRestrictionContainer.end_validityLen", "32"); - } - -} // End of class Time32 \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Time64.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Time64.java deleted file mode 100644 index d04da83b5b1a122f135ed6b749ee813c1c1c6325..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Time64.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Integer; - -public class Time64 extends Integer { - - public Time64(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("Time64Len", "64"); - mainCodec.setHint("HeaderFieldContainer.generation_timeLen", "64"); - } - -} // End of class Time64 \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/Time64WithStandardDeviation.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/Time64WithStandardDeviation.java deleted file mode 100644 index 0eb276eb4f87a32c186d1a90d0a59274d5855d6b..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/Time64WithStandardDeviation.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; - -public class Time64WithStandardDeviation extends Record { - - public Time64WithStandardDeviation(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - /** - * @desc Predefined field lengths - */ - private void setLengths() { - mainCodec.setHint("Time64Len", "64"); - } - -} // End of Time64WithStandardDeviation diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/TlsHelper.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/TlsHelper.java deleted file mode 100644 index 93e93adf88ed0b7d68a677e1ea3faca7a71e8778..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/TlsHelper.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.common.ByteHelper; - -public class TlsHelper { - - private static TlsHelper Instance = new TlsHelper(); - - public static TlsHelper getInstance() { return Instance; } - - private TlsHelper() { - } - - public byte[] size2tls(final int length) { - byte[] result = null; - if (length < 128) { // One byte length - result = new byte[] { (byte)length }; - } else { - long lv = length; - long bitLen = bitLength(lv); - long byteLen = byteLength(bitLen); - long flags = (long) ((byteLen | 1) << (byteLen * Byte.SIZE - bitLength(byteLen) - 1)); - long len = (long) (byteLen << (byteLen * Byte.SIZE - bitLength(byteLen) - 1)); - if ((flags & lv) != 0) { // We can encode the length on the MSB part - byteLen += 1; - len = (long) (byteLen << (byteLen * Byte.SIZE - bitLength(byteLen)) - 1); - } - result = ByteHelper.longToByteArray((long)(lv | len), (int) byteLen); - } - - return result; - } - - public long tls2size(CodecBuffer buf) { - // Sanity check - if (buf.getNbBytes() == 0) { - return 0; - } - - // Read the first byte - byte msb = buf.readBits(Byte.SIZE)[0]; - if ((msb & 0x80) == 0x00) { // Integer < 128 - return msb; - } else { - // Decode the length. The encoding of the length shall use at most 7 bits set to 1 (see Draft ETSI TS 103 097 V1.1.14 Clause 4.1 Presentation Language Table 1/8) - byte bit; - byte byteLen = 1; - do { - bit = (byte) ((byte) (msb << byteLen++) & 0x80); - } while (bit != 0x00); - // Set the IntX length - byte[] length = ByteHelper.concat(new byte[] { msb }, buf.readBytes(byteLen - 1)); - length[0] &= (byte)(Math.pow(2.0, 8 - byteLen + 1) - 1); - long lv = ByteHelper.byteArrayToLong(length); - return lv; - } - } - - public long bitLength(final long value) { - return (long) Math.ceil(Math.log(value) / Math.log(2)); - } - - public long byteLength(final long value) { - double d = value; // Convert int to double - return (long) Math.ceil(d / Byte.SIZE); - } - -} // End of class TlsHelper diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/ToBeSignedCertificate.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/ToBeSignedCertificate.java deleted file mode 100644 index e797b4d9565f93da2fd1a726da7a90559a3b42b0..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/ToBeSignedCertificate.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class ToBeSignedCertificate extends Record { - - /** - * List of supported algorithms based on public key cryptography - */ - final byte e_ecdsa_nistp256_with_sha256 = 0x00; - /** - * List of supported algorithms based on public key cryptography - */ - final byte e_ecies_nistp2561 = 0x01; - - public ToBeSignedCertificate(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> ToBeSignedCertificate.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ToBeSignedCertificate.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ToBeSignedCertificate.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class ToBeSignedCertificate diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/TrailerField.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/TrailerField.java deleted file mode 100644 index 2deed5267be0ff9c258ab14737f9f4d0f3f44b1d..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/TrailerField.java +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -/** - * @desc Information used by the security layer after processing the payload - * @see Draft ETSI TS 103 097 V1.1.14 Clause 5.6 TrailerField - */ -public class TrailerField extends Record { - - final byte c_signature = 0x01; - - /** - * Constructor - * @param mainCodec MainCodec reference - */ - public TrailerField(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - /** - * @desc Predefined field lengths - */ - private void setLengths() { - mainCodec.setHint("TrailerFieldTypeLen", "8"); - } - - /** - * @desc Set the variant according to the TrailerField type - * @see See Draft ETSI TS 103 097 V1.1.14 Clause 5.7 TrailerFieldType - */ - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> TrailerField.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - byte type_ = buf.getBytes(0, 1)[0]; - switch (type_) { - case (byte)c_signature: - mainCodec.setHint("TrailerFieldContainer", "signature_"); - break; - default: - mainCodec.setHint("TrailerFieldContainer", "security_field"); - break; - } // End of 'switch' statement - } - } - -} // End of class TrailerField \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/TrailerFieldContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/TrailerFieldContainer.java deleted file mode 100644 index 9a634947f19ca6708e0f4f1027a6d6873a1a80e0..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/TrailerFieldContainer.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class TrailerFieldContainer extends Union { - - public TrailerFieldContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> TrailerFieldContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("security_field")) { - // FIXME Check for opaque length encoding depending of the length value : <= 127 or > 127 - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class TrailerFieldContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/TwoDLocation.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/TwoDLocation.java deleted file mode 100644 index 0daacbb394f83fa39197069b046df2a5dd72d6b3..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/TwoDLocation.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; - -public class TwoDLocation extends Record { - - public TwoDLocation(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("WGSLatitudeLen", "32"); - mainCodec.setHint("WGSLongitudeLen", "32"); - } - -} // End of class TwoDLocation \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/ValidityRestriction.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/ValidityRestriction.java deleted file mode 100644 index 87b96756232af253b0e26e7e3fd0a7863bdeac38..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/ValidityRestriction.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class ValidityRestriction extends Record { - - final byte c_time_end = 0x00; - final byte c_time_start_and_end = 0x01; - final byte c_time_start_and_duration = 0x02; - final byte c_region = 0x03; - - public ValidityRestriction(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("ValidityRestrictionTypeLen", "8"); - } - - @Override - protected void postEncodeField(String fieldName, CodecBuffer buf) { -// TERFactory.getInstance().logDebug(">>> ValidityRestriction.postEncodeField: " + fieldName); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ValidityRestriction.preDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - - if (fieldName.equals("type_")) { - byte type_ = buf.getBytes(0, 1)[0]; - switch (type_) { - case (byte)c_time_end: - mainCodec.setHint("ValidityRestrictionContainer", "end_validity"); // Set variant - break; - case (byte)c_time_start_and_end: - mainCodec.setHint("ValidityRestrictionContainer", "time_start_and_end"); // Set variant - break; - case (byte)c_time_start_and_duration: - mainCodec.setHint("ValidityRestrictionContainer", "time_start_and_duration"); // Set variant - break; - case (byte)c_region: - mainCodec.setHint("ValidityRestrictionContainer", "region"); // Set variant - break; - default: - mainCodec.setHint("SubjectAttributeContainer", "data"); // Set variant - break; - } // End of 'switch' statement - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { -// TERFactory.getInstance().logDebug(">>> ValidityRestriction.postDecodeField: " + fieldName + ", " + decodingHypothesis.getName() + ", " + rv.getType().getName()); - } - -} // End of class ValidityRestriction \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/security/ValidityRestrictionContainer.java b/javasrc/codec/org/etsi/ttcn/codec/its/security/ValidityRestrictionContainer.java deleted file mode 100644 index 7330c9df09de73065646f257495a74ae4972a053..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/security/ValidityRestrictionContainer.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.security; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.UnionValue; - -public class ValidityRestrictionContainer extends Union { - - public ValidityRestrictionContainer(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preEncode(CodecBuffer buf, UnionValue uv) { -// TERFactory.getInstance().logDebug(">>> ValidityRestrictionContainer.preEncode: " + uv.getType().getName() + ", " + uv.getPresentVariantName()); - - if (uv.getPresentVariantName().equals("data")) { - buf.appendBytes(new byte[] { (byte)((OctetstringValue)(uv.getVariant(uv.getPresentVariantName()))).getLength() } ); - } - } - -} // End of class ValidityRestrictionContainer diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/Plugin.java deleted file mode 100644 index 01ee4f492dad54d35be7ce98c2bab708b3d564bf..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/Plugin.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; -import org.etsi.ttcn.codec.generic.Record; - -public class Plugin { - - public static void init() { - // Basics - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "", UtRecord.class); - cf.setCodec(TciTypeClass.UNION, "UpperTester", "", UtUnion.class); - cf.setCodec(TciTypeClass.BOOLEAN, "UpperTester", "", UtBoolean.class); - // Gn - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtGnEventInd", UtEventInd.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "Payload", UtPayload.class); - // Common - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtChangePosition", UtChangePosition.class); - // DENM - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "SituationContainer", Record.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtDenmTrigger", UtDenmTrigger.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtDenmUpdate", UtDenmUpdate.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtDenmEventInd", UtEventInd.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtDenmTermination", UtDenmTermination.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtDenmTriggerResult", UtDenmTermination.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtDenmUpdateResult", UtDenmTermination.class); - // CAM - cf.setCodec(TciTypeClass.UNION, "UpperTester", "UtCamTrigger", UtCamTrigger.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtCamEventInd", UtEventInd.class); - // MAPEM/SPATEM - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtMapemEventInd", UtEventInd.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSpatemEventInd", UtEventInd.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtMapemSpatemTrigger", UtMapemSpatemTrigger.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtMapemSpatemTriggerResult", UtBoolean.class); - // IVIM - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtIvimTrigger", UtIvimTrigger.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtIvimUpdate", UtIvimUpdate.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtIvimEventInd", UtEventInd.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtIvimTermination", UtIvimTermination.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtIvimTriggerResult", UtIvimTermination.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtIvimUpdateResult", UtIvimTermination.class); - // SREM/SSEM - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSremTrigger", UtSremTrigger.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSremTriggerResult", UtBoolean.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSremUpdate", UtSremUpdate.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSremUpdateResult", UtBoolean.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSremEventInd", UtEventInd.class); - cf.setCodec(TciTypeClass.RECORD, "UpperTester", "UtSsemEventInd", UtEventInd.class); - - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtBoolean.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtBoolean.java deleted file mode 100644 index 3caa53a4562f4d2b6b24b6f9f8a1003ac2c83bb9..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtBoolean.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Boolean; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class UtBoolean extends Boolean { - - public UtBoolean(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - Byte id = UtPduId.value(decodingHypothesis.getName()); - if(id != null) { - byte[] readId = buf.readBytes(1); - if(readId[0] != id) { - return null; - } - } - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - Byte id = UtPduId.value(value.getType().getName()); - if(id != null) { - return new CodecBuffer(new byte[] {id.byteValue()}); - } - return null; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtCamTrigger.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtCamTrigger.java deleted file mode 100644 index 62bfc6b10859df56bd59e5960efce431a4817a70..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtCamTrigger.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: $ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class UtCamTrigger extends UtUnion { - - public UtCamTrigger(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - setLengths(); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - setLengths(); - return super.preEncode(value); - } - - private void setLengths() { - mainCodec.setHint("CurvatureValueLen", "16"); - mainCodec.setHint("SpeedValueLen", "16"); - mainCodec.setHint("AccelerationControlLen", "8"); - mainCodec.setHint("ExteriorLightsLen", "8"); - mainCodec.setHint("HeadingValueLen", "16"); - mainCodec.setHint("DriveDirectionLen", "8"); - mainCodec.setHint("YawRateValueLen", "16"); - mainCodec.setHint("VehicleRoleLen", "8"); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtChangePosition.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtChangePosition.java deleted file mode 100644 index 2f5f864515682937f2138cfcbf1165350f5857bd..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtChangePosition.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: $ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class UtChangePosition extends UtRecord { - - public UtChangePosition(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - setLengths(); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - setLengths(); - return super.preEncode(value); - } - - private void setLengths() { - mainCodec.setHint("integerLen", "32"); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmTermination.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmTermination.java deleted file mode 100644 index d03662641fc4ba5d10dc4621626a2877d1703c24..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmTermination.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: $ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.MainCodec; - -public class UtDenmTermination extends UtRecord { - - public UtDenmTermination(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("StationIDLen", "32"); - mainCodec.setHint("StationIDSign", "unsigned"); - mainCodec.setHint("SequenceNumberLen", "16"); - mainCodec.setHint("SequenceNumberSign", "unsigned"); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmTrigger.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmTrigger.java deleted file mode 100644 index f6d4540d25758c49b18425f533000fcc0affddb2..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmTrigger.java +++ /dev/null @@ -1,126 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: $ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -import java.util.HashMap; -import java.util.Map; - -public class UtDenmTrigger extends UtRecord implements IMarkerCallback { - - private byte flags = 0x00; - - public UtDenmTrigger(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - setLengths(); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - setLengths(); - CodecBuffer buf = super.preEncode(value); - CodecBuffer bufFlags = new CodecBuffer(); - bufFlags.setMarker("flags", 0, this); - buf.append(bufFlags); - return buf; - } - - private void setLengths() { - mainCodec.setHint("TimestampItsLen", "48"); - mainCodec.setHint("ValidityDurationLen", "24"); - mainCodec.setHint("InformationQualityLen", "8"); - mainCodec.setHint("CauseCodeTypeLen", "8"); - mainCodec.setHint("SubCauseCodeTypeLen", "8"); - mainCodec.setHint("RelevanceDistanceLen", "8"); - mainCodec.setHint("RelevanceTrafficDirectionLen", "8"); - mainCodec.setHint("TransmissionIntervalLen", "16"); - mainCodec.setHint("StationIDLen", "32"); - mainCodec.setHint("SequenceNumberLen", "16"); - mainCodec.setHint("integerLen", "8"); - mainCodec.setHint("AlacarteContainerLen", "8"); - } - - @Override - public CodecBuffer encode(Value value) { - - RecordValue rv = (RecordValue)value; - String[] fields = rv.getFieldNames(); - CodecBuffer buf = new CodecBuffer(); - - for(int i=0; i < fields.length; i++) { - Value fieldValue = rv.getField(fields[i]); - if(!fieldValue.notPresent()) { - CodecBuffer fieldBuf = mainCodec.encode(fieldValue); - postEncodeField(fields[i], fieldBuf); - buf.append(fieldBuf); - flags = (byte) (flags | (PresenceFlag.value(fields[i])).byteValue()); - } - else { - String hint = mainCodec.getHint(fieldValue.getType().getName() + "Len"); - if(hint != null) { - int lengthInBits = java.lang.Integer.parseInt(hint); - int lengthInBytes = lengthInBits / 8 + (((lengthInBits % 8) > 0)?1:0); - for(int j=0; j < lengthInBytes; j++) { - buf.appendBytes(new byte[]{0x00}); - } - } - } - } - - return buf; - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - CodecBuffer bufFlags = new CodecBuffer(new byte[] {flags}); - bufFlags.append(rightBuf); - rightBuf.setBytes(bufFlags.getBytes()); - } - - private enum PresenceFlag { - - /* DenmTrigger*/ - validityDuration(0x80), - repetitionDuration(0x40), - transmissionInterval(0x04), - repetitionInterval(0x02), - - /* Reserved */ - reserved(0x00); - - private byte value; - private static final Map PresenceFlags = new HashMap(); - - private PresenceFlag(int value) { - this.value = (byte)value; - } - - public static Byte value(String name) { - Byte res = PresenceFlags.get(name); - if(res == null) { - return value("reserved"); - } - return res; - } - - static { - for (PresenceFlag item : PresenceFlag.values()) { - PresenceFlags.put(item.name(), new Byte(item.value)); - } - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmUpdate.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmUpdate.java deleted file mode 100644 index f78ee25d4edb1776920d4d4cc4ba7322b75ceb89..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtDenmUpdate.java +++ /dev/null @@ -1,129 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: UtDenmUpdate.java,v 1.1.2.1 2015/03/30 11:19:16 dte Exp $ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -import java.util.HashMap; -import java.util.Map; - -public class UtDenmUpdate extends UtRecord implements IMarkerCallback { - - private byte flags = 0x00; - - public UtDenmUpdate(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - setLengths(); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - setLengths(); - CodecBuffer buf = super.preEncode(value); - CodecBuffer bufFlags = new CodecBuffer(); - bufFlags.setMarker("flags", 0, this); - buf.append(bufFlags); - return buf; - } - - private void setLengths() { - mainCodec.setHint("TimestampItsLen", "48"); - mainCodec.setHint("ValidityDurationLen", "24"); - mainCodec.setHint("InformationQualityLen", "8"); - mainCodec.setHint("CauseCodeTypeLen", "8"); - mainCodec.setHint("SubCauseCodeTypeLen", "8"); - mainCodec.setHint("RelevanceDistanceLen", "8"); - mainCodec.setHint("RelevanceTrafficDirectionLen", "8"); - mainCodec.setHint("TransmissionIntervalLen", "16"); - mainCodec.setHint("StationIDLen", "32"); - mainCodec.setHint("SequenceNumberLen", "16"); - mainCodec.setHint("integerLen", "8"); - mainCodec.setHint("AlacarteContainerLen", "8"); - } - - @Override - public CodecBuffer encode(Value value) { - - RecordValue rv = (RecordValue)value; - String[] fields = rv.getFieldNames(); - CodecBuffer buf = new CodecBuffer(); - - for(int i=0; i < fields.length; i++) { - Value fieldValue = rv.getField(fields[i]); - if(!fieldValue.notPresent()) { - CodecBuffer fieldBuf = mainCodec.encode(fieldValue); - postEncodeField(fields[i], fieldBuf); - buf.append(fieldBuf); - flags = (byte) (flags | (PresenceFlag.value(fields[i])).byteValue()); - } - else { - String hint = mainCodec.getHint(fieldValue.getType().getName() + "Len"); - if(hint != null) { - int lengthInBits = java.lang.Integer.parseInt(hint); - int lengthInBytes = lengthInBits / 8 + (((lengthInBits % 8) > 0)?1:0); - for(int j=0; j < lengthInBytes; j++) { - buf.appendBytes(new byte[]{0x00}); - } - } - } - } - - return buf; - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - CodecBuffer bufFlags = new CodecBuffer(new byte[] {flags}); - bufFlags.append(rightBuf); - rightBuf.setBytes(bufFlags.getBytes()); - } - - private enum PresenceFlag { - - /* DenmUpdate */ - //validityDuration(0x80), - situation(0x40), - relevanceDistance(0x20), - relevanceTrafficDirection(0x10), - trafficClass(0x08), - //transmissionInterval(0x04), - //repetitionInterval(0x02), - - /* Reserved */ - reserved(0x00); - - private byte value; - private static final Map PresenceFlags = new HashMap(); - - private PresenceFlag(int value) { - this.value = (byte)value; - } - - public static Byte value(String name) { - Byte res = PresenceFlags.get(name); - if(res == null) { - return value("reserved"); - } - return res; - } - - static { - for (PresenceFlag item : PresenceFlag.values()) { - PresenceFlags.put(item.name(), new Byte(item.value)); - } - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtEventInd.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtEventInd.java deleted file mode 100644 index 03143bec4eabc8fa693f2f91dc881483b12daac4..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtEventInd.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; - -public class UtEventInd extends UtRecord { - - public UtEventInd(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - int length = ByteHelper.byteArrayToInt(buf.readBytes(Short.SIZE / Byte.SIZE)); - mainCodec.setHint(decodingHypothesis.getName() + "Len", Integer.toString(length)); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTermination.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTermination.java deleted file mode 100644 index 50d5489f7d021c15d9782a2fe951d0f4510730ab..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTermination.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.MainCodec; - -public class UtIvimTermination extends UtRecord { - - public UtIvimTermination(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("IviIdentificationNumberLen", "16"); - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTrigger.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTrigger.java deleted file mode 100644 index 1b00b34c83f1c93196d87790323ce80a13c6b1cc..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTrigger.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class UtIvimTrigger extends UtRecord implements IMarkerCallback { - - private byte flags = 0x00; - - public UtIvimTrigger(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - setLengths(); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - setLengths(); - CodecBuffer buf = super.preEncode(value); - CodecBuffer bufFlags = new CodecBuffer(); - bufFlags.setMarker("flags", 0, this); - buf.append(bufFlags); - return buf; - } - - private void setLengths() { - mainCodec.setHint("TimestampItsLen", "48"); - } - - @Override - public CodecBuffer encode(Value value) { - - RecordValue rv = (RecordValue)value; - String[] fields = rv.getFieldNames(); - CodecBuffer buf = new CodecBuffer(); - - for(int i=0; i < fields.length; i++) { - Value fieldValue = rv.getField(fields[i]); - if(!fieldValue.notPresent()) { - CodecBuffer fieldBuf = mainCodec.encode(fieldValue); - postEncodeField(fields[i], fieldBuf); - buf.append(fieldBuf); - flags = (byte) (flags | (PresenceFlag.value(fields[i])).byteValue()); - } - else { - String hint = mainCodec.getHint(fieldValue.getType().getName() + "Len"); - if(hint != null) { - int lengthInBits = java.lang.Integer.parseInt(hint); - int lengthInBytes = lengthInBits / 8 + (((lengthInBits % 8) > 0)?1:0); - for(int j=0; j < lengthInBytes; j++) { - buf.appendBytes(new byte[]{0x00}); - } - } - } - } - - return buf; - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - CodecBuffer bufFlags = new CodecBuffer(new byte[] {flags}); - bufFlags.append(rightBuf); - rightBuf.setBytes(bufFlags.getBytes()); - } - - private enum PresenceFlag { - - /* DenmTrigger*/ - validFrom(0x80), - validTo(0x40), - repetitionInterval(0x20), - - /* Reserved */ - reserved(0x00); - - private byte value; - private static final Map PresenceFlags = new HashMap(); - - private PresenceFlag(int value) { - this.value = (byte)value; - } - - public static Byte value(String name) { - Byte res = PresenceFlags.get(name); - if(res == null) { - return value("reserved"); - } - return res; - } - - static { - for (PresenceFlag item : PresenceFlag.values()) { - PresenceFlags.put(item.name(), new Byte(item.value)); - } - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimUpdate.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimUpdate.java deleted file mode 100644 index 2c4d6d09241576748e3be1f8feb4a4fa52d434a0..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimUpdate.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import java.util.HashMap; -import java.util.Map; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class UtIvimUpdate extends UtRecord implements IMarkerCallback { - - private byte flags = 0x00; - - public UtIvimUpdate(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - setLengths(); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - setLengths(); - CodecBuffer buf = super.preEncode(value); - CodecBuffer bufFlags = new CodecBuffer(); - bufFlags.setMarker("flags", 0, this); - buf.append(bufFlags); - return buf; - } - - private void setLengths() { - mainCodec.setHint("TimestampItsLen", "48"); - } - - @Override - public CodecBuffer encode(Value value) { - - RecordValue rv = (RecordValue)value; - String[] fields = rv.getFieldNames(); - CodecBuffer buf = new CodecBuffer(); - - for(int i=0; i < fields.length; i++) { - Value fieldValue = rv.getField(fields[i]); - if(!fieldValue.notPresent()) { - CodecBuffer fieldBuf = mainCodec.encode(fieldValue); - postEncodeField(fields[i], fieldBuf); - buf.append(fieldBuf); - flags = (byte) (flags | (PresenceFlag.value(fields[i])).byteValue()); - } - else { - String hint = mainCodec.getHint(fieldValue.getType().getName() + "Len"); - if(hint != null) { - int lengthInBits = java.lang.Integer.parseInt(hint); - int lengthInBytes = lengthInBits / 8 + (((lengthInBits % 8) > 0)?1:0); - for(int j=0; j < lengthInBytes; j++) { - buf.appendBytes(new byte[]{0x00}); - } - } - } - } - - return buf; - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - CodecBuffer bufFlags = new CodecBuffer(new byte[] {flags}); - bufFlags.append(rightBuf); - rightBuf.setBytes(bufFlags.getBytes()); - } - - private enum PresenceFlag { - - /* IvimUpdate */ - validFrom(0x80), - validTo(0x40), - repetitionInterval(0x20), - - /* Reserved */ - reserved(0x00); - - private byte value; - private static final Map PresenceFlags = new HashMap(); - - private PresenceFlag(int value) { - this.value = (byte)value; - } - - public static Byte value(String name) { - Byte res = PresenceFlags.get(name); - if(res == null) { - return value("reserved"); - } - return res; - } - - static { - for (PresenceFlag item : PresenceFlag.values()) { - PresenceFlags.put(item.name(), new Byte(item.value)); - } - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtMapemSpatemTrigger.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtMapemSpatemTrigger.java deleted file mode 100644 index 03fba6afd8855c44b93922c79de55821687ca4a3..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtMapemSpatemTrigger.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.MainCodec; - -public class UtMapemSpatemTrigger extends UtRecord { - - public UtMapemSpatemTrigger(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("EventLen", "8"); - } - -} // End of class UtMapSpatTrigger diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPayload.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPayload.java deleted file mode 100644 index 66b0b69207ce50014b4433b4b6d30d8764ab00ab..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPayload.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL: $ - * $Id: $ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.Value; - -public class UtPayload extends Record implements IMarkerCallback { - - public UtPayload(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public CodecBuffer preEncode(Value value) { - - CodecBuffer buf = new CodecBuffer(new byte[] {(byte)0x00, (byte)0x00}); - buf.setMarker("payloadLength", 0, this); - - return buf; - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - - if(markerName.equals("payloadLength")) { - int length = (rightBuf.getNbBits() - 16) / 8; - CodecBuffer preserveRightBuf = rightBuf.getBuffer(16, rightBuf.getNbBits() - 16); - rightBuf.setBytes(ByteHelper.intToByteArray(length, 2)); - rightBuf.append(preserveRightBuf); - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPduId.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPduId.java deleted file mode 100644 index cb007ee5b4f9bc40dfba8b3c849abeced417b390..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPduId.java +++ /dev/null @@ -1,138 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import java.util.HashMap; -import java.util.Map; - -public enum UtPduId { - - /* From LibItsCommon_TypesAndValues */ - UtInitialize(0x00), - UtInitializeResult(0x01), - UtChangePosition(0x02), - UtChangePositionResult(0x03), - UtChangePseudonym(0x04), - UtChangePseudonymResult(0x05), - UtActivatePositionTime(0x06), - UtActivatePositionTimeResult(0x07), - UtDeactivatePositionTime(0x08), - UtDeactivatePositionTimeResult(0x09), - UtResult(0x24), // FIXME: obsolete - - /* From LibItsDenm_TypesAndValues */ - UtDenmTrigger(0x10), - UtDenmTriggerResult(0x11), - UtDenmUpdate(0x12), - UtDenmUpdateResult(0x13), - UtDenmTermination(0x14), - UtDenmTerminationResult(0x15), - //reserved(0x16), - UtDenmEventInd(0x17), - - /* From LibItsCam_TypesAndValues */ - //reserved(0x20), - UtCamTriggerResult(0x21), - //reserved(0x22), - UtCamEventInd(0x23), - UtCamTrigger_changeCurvature(0x30), - UtCamTrigger_changeSpeed(0x31), - UtCamTrigger_setAccelerationControlStatus(0x32), - UtCamTrigger_setExteriorLightsStatus(0x33), - UtCamTrigger_changeHeading(0x34), - UtCamTrigger_setDriveDirection(0x35), - UtCamTrigger_changeYawRate(0x36), - UtCamTrigger_setStationType(0x39), - UtCamTrigger_setVehicleRole(0x3a), - UtCamTrigger_setEmbarkationStatus(0x3b), - UtCamTrigger_setPtActivation(0x3c), - UtCamTrigger_setDangerousGoods(0x3d), - UtCamTrigger_setDangerousGoodsExt(0x3e), - UtCamTrigger_setLightBarSireneStatus(0x3f), - - /* From LibItsGeoNetworking_TypesAndValues */ - //reserved(0x40), - UtGnTriggerResult(0x41), - //reserved(0x42), - UtGnTrigger_geoUnicast(0x50), - UtGnTrigger_geoBroadcast(0x51), - UtGnTrigger_geoAnycast(0x52), - UtGnTrigger_shb(0x53), - UtGnTrigger_tsb(0x54), - UtGnEventInd(0x55), - - /* From LibItsBtp_TypesAndValues */ - //reserved(0x60), - UtBtpTriggerResult(0x61), - //reserved(0x62), - UtBtpEventInd(0x63), - UtBtpTrigger_btpA(0x70), - UtBtpTrigger_btpB(0x71), - - /* From LibItsIpv6OverGeoNetworking_TypesAndValues */ - UtGn6Trigger(0x80), - UtGn6TriggerResult(0x81), - //reserved(0x82), - UtGn6EventInd(0x83), - UtGn6GetInterfaceInfo(0x84), - UtGn6GetInterfaceInfoResult(0x85), - - /* */ - //reserved(0x90), - UtSecResult(0x91), - //reserved(0x92), - UtSec_setCertificate(0x93), - UtSec_setPrivateKey(0x94), - UtSec_setTrustPoint(0x95), - - /* IS */ - /* From LibItsMapemSpatem_TypesAndValues */ - UtMapemSpatemTrigger(0xA0), - UtMapemSpatemTriggerResult(0xA1), - UtMapemEventInd(0xA2), - UtSpatemEventInd(0xA3), - /* From LibItsIvim_TypesAndValues */ - UtIvimTrigger(0xA4), - UtIvimTriggerResult(0xA5), - UtIvimUpdate(0xA6), - UtIvimUpdateResult(0xA7), - UtIvimTermination(0xA8), - UtIvimTerminationResult(0xA9), - UtIvimEventInd(0xAA), - /* From LibItsSremSsem_TypesAndValues */ - UtSremTrigger(0xAB), - UtSremTriggerResult(0xAC), - UtSremUpdate(0xAD), - UtSremUpdateResult(0xAE), - UtSremEventInd(0xAF), - UtSsemEventInd(0xB0), // FIXME Not good, try to merge UtSremTriggerResult & UtSremUpdateResult - - /* Reserved */ - reserved(0xFF); - - private byte value; - private static final Map UtPduIds = new HashMap(); - private static final Map UtPduNames = new HashMap(); - - private UtPduId(int value) { - this.value = (byte)value; - } - - public static Byte value(String name) { - return UtPduIds.get(name); - } - - public static String name(Byte value) { - return UtPduNames.get(value); - } - - static { - for (UtPduId item : UtPduId.values()) { - UtPduIds.put(item.name(), new Byte(item.value)); - UtPduNames.put(new Byte(item.value), item.name()); - } - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtRecord.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtRecord.java deleted file mode 100644 index 63bbeaf13bde9b796bfcae7dfe4c0702b6dfe228..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtRecord.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -public class UtRecord extends Record { - - public UtRecord(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - Byte id = UtPduId.value(decodingHypothesis.getName()); - if(id != null) { - byte[] readId = buf.readBytes(1); - if(readId[0] != id) { - return null; - } - } - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - - // Set Length for GeoShape - mainCodec.setHint("GeoShapeLen", "8"); - - Byte id = UtPduId.value(value.getType().getName()); - if(id != null) { - return new CodecBuffer(new byte[] {id.byteValue()}); - } - return null; - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremTrigger.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremTrigger.java deleted file mode 100644 index cb1e2506cce91b2145cc21e1166498ea938b04a4..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremTrigger.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.MainCodec; - -public class UtSremTrigger extends UtRecord { - - public UtSremTrigger(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("BasicVehicleRoleLen", "8"); - mainCodec.setHint("RequestImportanceLevelLen", "8"); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremUpdate.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremUpdate.java deleted file mode 100644 index 27beef116820fdc16125142e72b8d76d486da07c..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremUpdate.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.etsi.ttcn.codec.its.uppertester; - -import org.etsi.ttcn.codec.MainCodec; - -public class UtSremUpdate extends UtRecord { - - public UtSremUpdate(MainCodec mainCodec) { - super(mainCodec); - setLengths(); - } - - private void setLengths() { - mainCodec.setHint("RequestIDLen", "8"); - mainCodec.setHint("BasicVehicleRoleLen", "8"); - mainCodec.setHint("RequestImportanceLevelLen", "8"); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtUnion.java b/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtUnion.java deleted file mode 100644 index 115ce459075531cd0fbfec9fa096ba8325d48300..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtUnion.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.uppertester; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.tci.Value; - -public class UtUnion extends Union { - - public UtUnion(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public Value decode(CodecBuffer buf, Type decodingHypothesis) { - - String variant = ""; - Byte type = new Byte((byte)(0x00FF & buf.readBytes(1)[0])); - Pattern variantNamePattern = Pattern.compile(decodingHypothesis.getName() + "_(\\S+)"); - - Matcher matcher = variantNamePattern.matcher(UtPduId.name(type)); - if (matcher.find()) { - variant = matcher.group(1); - } - else { - return null; - } - - mainCodec.setHint(decodingHypothesis.getName(), variant); - return super.decode(buf, decodingHypothesis); - } - - @Override - public CodecBuffer preEncode(Value value) { - - UnionValue uv = (UnionValue)value; - - Byte id = UtPduId.value(value.getType().getName() + "_" + uv.getPresentVariantName()); - if(id != null) { - return new CodecBuffer(new byte[] {id.byteValue()}); - } - return null; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/ExiHelper.java b/javasrc/codec/org/etsi/ttcn/codec/its/v2g/ExiHelper.java deleted file mode 100644 index 4bfaebeba11f5c5d16c5bace8977ac4b456013ea..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/ExiHelper.java +++ /dev/null @@ -1,200 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$$ - * $Id$$ - */ -package org.etsi.ttcn.codec.its.v2g; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; - -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.sax.SAXSource; -import javax.xml.transform.stream.StreamResult; - -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; -import org.xml.sax.helpers.XMLReaderFactory; - -import com.siemens.ct.exi.CodingMode; -import com.siemens.ct.exi.EXIFactory; -import com.siemens.ct.exi.EncodingOptions; -import com.siemens.ct.exi.FidelityOptions; -import com.siemens.ct.exi.GrammarFactory; -import com.siemens.ct.exi.SchemaIdResolver; -import com.siemens.ct.exi.api.sax.EXIResult; -import com.siemens.ct.exi.api.sax.EXISource; -import com.siemens.ct.exi.exceptions.EXIException; -import com.siemens.ct.exi.grammars.Grammars; -import com.siemens.ct.exi.helpers.DefaultEXIFactory; - -public class ExiHelper { - - private static String schemaId = "v2g"; - private static boolean locked = false; - protected static String handshakeSchemaName = "ttcn_PowerUp\\xsd\\V2G_CI_AppProtocol.xsd"; - protected static String v2gSchemaName = "ttcn_PowerUp\\xsd\\V2G_CI_MsgBody.xsd"; - - public static void setSchemaId(String schemaName) { - while(locked) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - TERFactory.getInstance().logError("Changing Schema ID:" +schemaName); - schemaId = schemaName; - } - - public static void lockSchemaId() { - locked = true; - } - - private static void unlockSchemaId() { - locked = false; - } - - public static byte[] encode(byte[] xmlInput) { - InputStream xmlIn = new ByteArrayInputStream(xmlInput); - ByteArrayOutputStream exiOut = new ByteArrayOutputStream(); - - //ByteHelper.dump("encode EXI", xmlInput); - TERFactory.getInstance().logDebug("encode XML:" + new String(xmlInput)); - - EXIFactory exiFactory = createEXIFactory(); - try { - EXIResult exiResult = new EXIResult(exiFactory); - exiResult.setOutputStream(exiOut); - XMLReader xmlReader = XMLReaderFactory.createXMLReader(); - xmlReader.setContentHandler(exiResult.getHandler()); - xmlReader.setProperty("http://xml.org/sax/properties/lexical-handler", - exiResult.getLexicalHandler()); - xmlReader.setProperty("http://xml.org/sax/properties/declaration-handler", - exiResult.getLexicalHandler()); - xmlReader.parse(new InputSource(xmlIn)); - } catch (Exception e) { - TERFactory.getInstance().logError("ERROR: Unable to EXI-encode message: " + e.getMessage()); - e.printStackTrace(); - return xmlInput; - } - - ByteHelper.dump("encode EXI", exiOut.toByteArray()); - - return exiOut.toByteArray(); - } - - public static byte[] decode(byte[] exiInput) { - InputStream exiIn = new ByteArrayInputStream(exiInput); - ByteArrayOutputStream xmlOut = new ByteArrayOutputStream(); - - ByteHelper.dump("decode EXI", exiInput); - - EXIFactory exiFactory = createEXIFactory(); - try { - EXISource exiSource = new EXISource(exiFactory); - XMLReader xmlReader = exiSource.getXMLReader(); - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Transformer transformer = transformerFactory.newTransformer(); - SAXSource saxSource = new SAXSource(new InputSource(exiIn)); - saxSource.setXMLReader(xmlReader); - transformer.transform(saxSource, new StreamResult(xmlOut)); - } catch (Exception e) { - TERFactory.getInstance().logError("ERROR: Unable to EXI-decode message: " + e.getMessage()); - e.printStackTrace(); - unlockSchemaId(); - return exiInput; - } - - //ByteHelper.dump("decode XML:", xmlOut.toByteArray()); - try { - TERFactory.getInstance().logDebug("decode XML:" + xmlOut.toString("UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - unlockSchemaId(); - return xmlOut.toByteArray(); - } - - private static EXIFactory createEXIFactory() { - - EXIFactory exiFactory = DefaultEXIFactory.newInstance(); - - try { - // Encoding options - EncodingOptions encodingOptions = EncodingOptions.createDefault(); - exiFactory.setEncodingOptions(encodingOptions); - - // Fidelity options - FidelityOptions fidelityOptions = FidelityOptions.createDefault(); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_STRICT, false); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_PREFIX, false); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_DTD, false); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_LEXICAL_VALUE, false); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_COMMENT, false); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_PI, false); - fidelityOptions.setFidelity(FidelityOptions.FEATURE_SC, false); - exiFactory.setFidelityOptions(fidelityOptions); - } - catch(Exception e) { - TERFactory.getInstance().logError("ERROR: Unable to setup EXIFactory: " + e.getMessage()); - e.printStackTrace(); - } - - // Coding mode - exiFactory.setCodingMode(CodingMode.BIT_PACKED); - - // Value partition capacity - exiFactory.setValuePartitionCapacity(0); - - // SCHEMA OPTIONS - loadGrammar(exiFactory); - - return exiFactory; - } - - private static void loadGrammar(EXIFactory exiFactory) { - GrammarFactory grammarFactory = GrammarFactory.newInstance(); - Grammars grammars = null; - MySchemaIdResolver schemaIdResolver = new MySchemaIdResolver(grammarFactory); - exiFactory.setSchemaIdResolver(schemaIdResolver); - try { - grammars = schemaIdResolver.resolveSchemaId(schemaId); - if (grammars != null) - exiFactory.setGrammars(grammars); - } catch (EXIException e) { - e.printStackTrace(); - } - } - - - private static class MySchemaIdResolver implements SchemaIdResolver { - - private GrammarFactory grammarFactory; - - public MySchemaIdResolver(GrammarFactory grammarFactory) { - this.grammarFactory = grammarFactory; - } - - @Override - public Grammars resolveSchemaId(String schemaId) throws EXIException { - Grammars grammars = null; - String explicitSchemaName = null; - if(schemaId.equals("handshake")) { - explicitSchemaName = handshakeSchemaName; - } - if(schemaId.equals("v2g")) { - explicitSchemaName = v2gSchemaName; - } - File schemaFile = new File(explicitSchemaName); - grammars = grammarFactory.createGrammars(schemaFile.getAbsolutePath()); - return grammars; - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/ExiUnion.java b/javasrc/codec/org/etsi/ttcn/codec/its/v2g/ExiUnion.java deleted file mode 100644 index 4634d3c44b936ca6e1c873d85b50300cfd003e31..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/ExiUnion.java +++ /dev/null @@ -1,94 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.v2g; - -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.IMarkerCallback; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.tci.Value; - -public class ExiUnion extends Union implements IMarkerCallback { - - private static final byte V2G_IND = 0x01; - private static final byte APP_PROTO_IND = 0x02; - private static final byte SDP_IND = 0x03; - - public ExiUnion(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - public void preDecode(CodecBuffer buf, Type decodingHypothesis) { - String variant = ""; - boolean exiProcessing = false; - byte reqIndId = buf.readBytes(1)[0]; - - switch(reqIndId) { - case V2G_IND: - variant = "v2gIn"; - exiProcessing = true; - break; - case APP_PROTO_IND: - variant = "appProtoIn"; - exiProcessing = true; - break; - case SDP_IND: - variant = "sdpIn"; - break; - } - mainCodec.setHint(decodingHypothesis.getName(), variant); - - if(exiProcessing) { - byte[] exi = buf.getBytes(); - byte[] xml = ExiHelper.decode(exi); - buf.setBytes(xml); - } - else { - super.preDecode(buf, decodingHypothesis); - } - } - - @Override - public CodecBuffer preEncode(Value value) { - UnionValue uv = (UnionValue)value; - CodecBuffer buf = new CodecBuffer(); - byte reqIndId = 0x00; - - String variantTypeName = uv.getVariant(uv.getPresentVariantName()).getType().getName(); - if(variantTypeName.equals("V2G_Message")) { - reqIndId = V2G_IND; - } - else if(variantTypeName.equals("SupportedAppProtocol_Message")) { - reqIndId = APP_PROTO_IND; - } - else if(variantTypeName.equals("SDP_Message")) { - reqIndId = SDP_IND; - } - buf.setBytes(new byte[] {reqIndId}); - - if(reqIndId == V2G_IND || reqIndId == APP_PROTO_IND) { - buf.setMarker("exiEncode", 0, this); - return buf; - } - else { - return super.preEncode(value); - } - } - - @Override - public void run(String markerName, CodecBuffer leftBuf, CodecBuffer rightBuf) { - - if(markerName.equals("exiEncode")) { - byte[] xml = rightBuf.getBytes(); - byte[] exi = ExiHelper.encode(xml); - rightBuf.setBytes(exi); - } - } - -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/its/v2g/Plugin.java deleted file mode 100644 index 18ff0c5f13abd6081a3fb2950bda21237ec820b1..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/Plugin.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.v2g; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - cf.setCodec(TciTypeClass.UNION, "LibItsV2G", "Sdp_Payload", Sdp_Payload.class); - cf.setCodec(TciTypeClass.UNION, "LibIts_Interface", "V2Gind", ExiUnion.class); - cf.setCodec(TciTypeClass.UNION, "LibIts_Interface", "V2Greq", ExiUnion.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/Sdp_Payload.java b/javasrc/codec/org/etsi/ttcn/codec/its/v2g/Sdp_Payload.java deleted file mode 100644 index 65ee39b16034314cc519421c9289ad4eb53c9ec5..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/its/v2g/Sdp_Payload.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.ttcn.codec.its.v2g; - -import org.etsi.adapter.TERFactory; -import org.etsi.ttcn.codec.CodecBuffer; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.tci.Type; - -public class Sdp_Payload extends Union { - - public Sdp_Payload(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - String variant = ""; - switch(buf.getNbBytes()) { - case 2: - variant = "sdpRequest"; - break; - case 20: - variant = "sdpResponse"; - break; - default: - TERFactory.getInstance().logError("Unable to decode " + decodingHypothesis.getName()); - return; - } - mainCodec.setHint(decodingHypothesis.getName(), variant); - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/CompressedIpv6ExtHeader.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/CompressedIpv6ExtHeader.java deleted file mode 100644 index d114c5c80dea275fa0c8a72faf0b2e536a5307b1..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/CompressedIpv6ExtHeader.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class CompressedIpv6ExtHeader extends Record { - - public CompressedIpv6ExtHeader(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("inlineNextHeader")) { - if(((EnumeratedValue)(rv.getField("nextHeader"))).getInt() != 0) { - mainCodec.setPresenceHint(fieldName, false); - } - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/CompressedTrafficClass.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/CompressedTrafficClass.java deleted file mode 100644 index f91aa4eb1673c29b7a727954a6c24b2bcd049a69..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/CompressedTrafficClass.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class CompressedTrafficClass extends Record { - - public CompressedTrafficClass(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - int tc = Integer.parseInt(mainCodec.getHint("trafficClass")); - - switch(tc) { - case 1: - mainCodec.setPresenceHint("dscp", false); - mainCodec.setPresenceHint("reserved2", false); - break; - case 2: - mainCodec.setPresenceHint("flowLabel", false); - mainCodec.setPresenceHint("reserved1", false); - mainCodec.setPresenceHint("reserved2", false); - break; - } - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/IphcHeader.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/IphcHeader.java deleted file mode 100644 index ca7e6d452a3d6f6bd2f63532e973fe46ee788001..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/IphcHeader.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class IphcHeader extends Record { - - public IphcHeader(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("inlineSourceAddress")) { - int sac = ((EnumeratedValue)(rv.getField("sac"))).getInt(); - int sam = ((EnumeratedValue)(rv.getField("sam"))).getInt(); - int saLen = 0; - switch(sam) { - case 0: - if(sac == 0) { - saLen = 128; - } - else { - mainCodec.setPresenceHint(fieldName, false); - return; - } - break; - case 1: - saLen = 64; - break; - case 2: - saLen = 16; - break; - case 3: - mainCodec.setPresenceHint(fieldName, false); - return; - } - - mainCodec.setHint("CompressedIpv6AddressLen", Integer.toString(saLen / 8)); - } - - else if(fieldName.equals("inlineDestinationAddress")) { - int dac = ((EnumeratedValue)(rv.getField("dac"))).getInt(); - int dam = ((EnumeratedValue)(rv.getField("dam"))).getInt(); - int m = ((EnumeratedValue)(rv.getField("m"))).getInt(); - int daLen = 0; - - if(m == 0) { - switch(dam) { - case 0: - if(dac == 0) { - daLen = 128; - } - else { - mainCodec.setPresenceHint(fieldName, false); - return; - } - break; - case 1: - daLen = 64; - break; - case 2: - daLen = 16; - break; - case 3: - mainCodec.setPresenceHint(fieldName, false); - return; - } - } - else { - if(dac == 0) { - switch(dam) { - case 0: - daLen = 128; - break; - case 1: - daLen = 48; - break; - case 2: - daLen = 32; - break; - case 3: - daLen = 8; - break; - } - } - else { - if(dam == 0) { - daLen = 48; - } - else { - mainCodec.setPresenceHint(fieldName, false); - return; - } - } - } - mainCodec.setHint("CompressedIpv6AddressLen", Integer.toString(daLen / 8)); - } - } - - @Override - protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("trafficClass")) { - int tc = ((EnumeratedValue)(rv.getField(fieldName))).getInt(); - if(tc == 3) { - mainCodec.setPresenceHint("compressedTrafficClass", false); - } - mainCodec.setHint("trafficClass", Integer.toString(tc)); - } - - else if(fieldName.equals("nextHeader")) { - if(((EnumeratedValue)(rv.getField(fieldName))).getInt() != 0) { - mainCodec.setPresenceHint("inlineNextHeader", false); - mainCodec.setHint("NhcHeaderListMore", "true"); - } - else { - mainCodec.setHint("NhcHeaderListMore", "false"); - } - } - - else if(fieldName.equals("inlineNextHeader")) { -// int nh = ((IntegerValue)(rv.getField(fieldName))).getInteger(); TTWB iterface is getInt, TCI shall be getInteger - int nh = mainCodec.getTciCDRequired().getInteger((IntegerValue)(rv.getField(fieldName))); - mainCodec.setHint("Ipv6NextHeader", Integer.toString(nh)); - if(nh == 0 || nh == 60 || nh == 43 || nh == 44) { - mainCodec.setHint("ExtensionHeaderListMore", "true"); - } - else { - mainCodec.setHint("ExtensionHeaderListMore", "false"); - } - } - - else if(fieldName.equals("hopLimit")) { - if(((EnumeratedValue)(rv.getField(fieldName))).getInt() != 0) { - mainCodec.setPresenceHint("inlineHopLimit", false); - } - } - - else if(fieldName.equals("cid")) { - if(((EnumeratedValue)(rv.getField(fieldName))).getInt() == 0) { - mainCodec.setPresenceHint("cidExtension", false); - } - } - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/LowpanEncapsulatedHeader.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/LowpanEncapsulatedHeader.java deleted file mode 100644 index a1fddab271b810024893b925b3c870ae29f3746f..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/LowpanEncapsulatedHeader.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.codec.generic.Union; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class LowpanEncapsulatedHeader extends Union { - - public LowpanEncapsulatedHeader(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecode(CodecBuffer buf, Type decodingHypothesis) { - - byte[] dispatch = null; - - dispatch = buf.getBits(0, 3); - if(dispatch[0] == 0x03) { - mainCodec.setHint(decodingHypothesis.getName(), "ipch"); - return; - } - - dispatch = buf.getBits(0, 8); - if(dispatch[0] == 0x41 ) { - mainCodec.setHint(decodingHypothesis.getName(), "uncompressedIpv6"); - return; - } - - mainCodec.setHint(decodingHypothesis.getName(), "unknown"); - mainCodec.setHint("octetstringLen", Integer.toString(buf.getNbBytes())); - mainCodec.setHint(".unknownLen", Integer.toString(buf.getNbBytes())); - return; - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/LowpanFragmentationHeader.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/LowpanFragmentationHeader.java deleted file mode 100644 index fcfdc6df1fb7066e56e48ac07bfcfb9aa3afaf01..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/LowpanFragmentationHeader.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class LowpanFragmentationHeader extends Record { - - public LowpanFragmentationHeader(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - if(fieldName.equals("meshAddressingHdr")) { - if(mainCodec.getHint("fragmentationHdr").equals("Frag1")) { - mainCodec.setPresenceHint("offset", false); - } - } - } -} diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/Plugin.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/Plugin.java deleted file mode 100644 index 8cfdc83e003a7413efd20b84441dc12ae53508aa..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/Plugin.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.codec.CodecFactory; - -public class Plugin { - - public static void init() { - - CodecFactory cf = CodecFactory.getInstance(); - - cf.setCodec(TciTypeClass.RECORD, "6LoWPAN", "CompressedIpv6ExtHeader", CompressedIpv6ExtHeader.class); - cf.setCodec(TciTypeClass.RECORD, "6LoWPAN", "CompressedTrafficClass", CompressedTrafficClass.class); - cf.setCodec(TciTypeClass.RECORD, "6LoWPAN", "IphcHeader", IphcHeader.class); - cf.setCodec(TciTypeClass.RECORD, "6LoWPAN", "LowpanFragmentationHeader", LowpanFragmentationHeader.class); - cf.setCodec(TciTypeClass.UNION, "6LoWPAN", "LowpanEncapsulatedHeader", LowpanEncapsulatedHeader.class); - cf.setCodec(TciTypeClass.RECORD, "6LoWPAN", "SixLowpanFrame", SixLowpanFrame.class); - } -} \ No newline at end of file diff --git a/javasrc/codec/org/etsi/ttcn/codec/lowpan/SixLowpanFrame.java b/javasrc/codec/org/etsi/ttcn/codec/lowpan/SixLowpanFrame.java deleted file mode 100644 index 30304b47a5f2005c292acc6cf304c7ac60b48ae6..0000000000000000000000000000000000000000 --- a/javasrc/codec/org/etsi/ttcn/codec/lowpan/SixLowpanFrame.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.etsi.ttcn.codec.lowpan; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.codec.generic.Record; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.codec.CodecBuffer; - -public class SixLowpanFrame extends Record { - - public SixLowpanFrame(MainCodec mainCodec) { - super(mainCodec); - } - - @Override - protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { - - byte[] next = buf.getBytes(0, 1); - - if(fieldName.equals("meshAddressingHdr")) { - if((next[0] & 0xC0) != 0x80) { - mainCodec.setPresenceHint("meshAddressingHdr", false); - } - } - - else if(fieldName.equals("broadcastHdr")) { - if((next[0] & 0xFF) != 0x50) { - mainCodec.setPresenceHint("broadcastHdr", false); - } - } - - else if(fieldName.equals("fragmentationHdr")) { - if(((next[0] & 0xF8) != 0xC0) && ((next[0] & 0xF8) != 0xE0)) { - mainCodec.setPresenceHint("fragmentationHdr", false); - } - else { - if((next[0] & 0xF8) == 0xC0) { - mainCodec.setHint("fragmentationHdr", "Frag1"); - } - if((next[0] & 0xF8) == 0xE0) { - mainCodec.setHint("fragmentationHdr", "FragN"); - } - } - } - - else if(fieldName.equals("extHdrList")) { - String nhHint = mainCodec.getHint("Ipv6NextHeader"); - - if(nhHint != null) { - int nh = java.lang.Integer.parseInt(nhHint); - if(nh == 0 || nh == 60 || nh == 43 || nh == 44) { - mainCodec.setPresenceHint("extHdrList", true); - } - else { - mainCodec.setPresenceHint("extHdrList", false); - } - } - else { - mainCodec.setPresenceHint("extHdrList", false); - mainCodec.setPresenceHint("payload", false); - } - } - } -} diff --git a/javasrc/common/org/etsi/common/ByteHelper.java b/javasrc/common/org/etsi/common/ByteHelper.java deleted file mode 100644 index dac128aa887b86cd1d0667efaca59bea4b07684a..0000000000000000000000000000000000000000 --- a/javasrc/common/org/etsi/common/ByteHelper.java +++ /dev/null @@ -1,340 +0,0 @@ -/** - * @author ETSI / STF462 - * @version $URL$ - * $Id$ - */ -package org.etsi.common; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; - -import org.etsi.adapter.TERFactory; - -public class ByteHelper { - - public static byte[] changeEndianness(byte [] in) { - byte[] out = new byte[in.length]; - for(int i=0; i < in.length; i++) { - out[in.length - i -1] = in[i]; - } - return out; - } - - public static byte[] intToByteArray(int value, int length, ByteOrder byteOrder) { - if(byteOrder == ByteOrder.LITTLE_ENDIAN) { - return changeEndianness(intToByteArray(value, length)); - } - return intToByteArray(value, length); - } - - public static byte[] intToByteArray(int value, int length) { - byte[] b = new byte[length]; - for (int i = length - 1; i >= 0; i--) { - int offset = (b.length - 1 - i) * 8; - b[i] = (byte) ((value >>> offset) & 0xFF); - } - return b; - } - - public static byte[] floatToByteArray(final float value) { - return ByteBuffer.allocate(Float.SIZE / Byte.SIZE).putFloat(value).array(); - } - - public static byte[] longToByteArray(long value, int length, ByteOrder byteOrder) { - if(byteOrder == ByteOrder.LITTLE_ENDIAN) { - return changeEndianness(longToByteArray(value, length)); - } - return longToByteArray(value, length); - } - - public static byte[] longToByteArray(long value, int length) { - byte[] b = new byte[length]; - for (int i = length - 1; i >= 0; i--) { - int offset = (b.length - 1 - i) * 8; - b[i] = (byte) ((value >>> offset) & 0xFF); - } - return b; - } - - /** Convert a byte array into a boolean - * - * @param b The byte array to convert - * @return The boolean value on success, false otherwise - */ - public static Boolean byteArrayToBoolean(byte[] b) { - // Sanity check - if ((b == null) || (b.length != 1)) { - return null; - } - - return new Boolean(b[0] == 0x01); - } // End of method byteArrayToBoolean - - public static Short byteArrayToShort(final byte[] b, ByteOrder byteOrder) { - if(byteOrder == ByteOrder.LITTLE_ENDIAN) { - return byteArrayToShort(changeEndianness(b)); - } - return byteArrayToShort(b); - } - - /** Convert a byte array into a short value assuming that the first byte is the most significant - * - * @param b The byte array to convert - * @return The short value on success, 'Integer.MAX_VALUE' otherwise - */ - public static Short byteArrayToShort(final byte[] b) { - // Sanity check - if ((b == null) || ((b.length * Byte.SIZE) > Short.SIZE)) { - return Short.MAX_VALUE; - } - - short value = 0; - for (Short i = 0; i < b.length; i++) { - value = (short)((value << 8) + (b[i] & 0xff)); - } - - return new Short(value); - } // End of method byteArrayToInt - - public static Integer byteArrayToInt(final byte[] b, ByteOrder byteOrder) { - if(byteOrder == ByteOrder.LITTLE_ENDIAN) { - return byteArrayToInt(changeEndianness(b)); - } - return byteArrayToInt(b); - } - - /** Convert a byte array into an integer assuming that the first byte is the most significant - * - * @param b The byte array to convert - * @return The integer value on success, 'Integer.MAX_VALUE' otherwise - */ - public static Integer byteArrayToInt(final byte[] b) { - // Sanity check - if ((b == null) || ((b.length * Byte.SIZE) > Integer.SIZE)) { - return Integer.MAX_VALUE; - } - - int value = 0; - for (int i = 0; i < b.length; i++) { - value = (value << 8) + (b[i] & 0xff); - } - - return new Integer(value); - } // End of method byteArrayToInt - - /** Convert a byte array into a signed integer assuming that padding bits are in first byte - * - * @param b The byte array to convert - * @param significantBits number of significant bits in the array - * @return The integer value - */ - public static int byteArrayToSignedInt(final byte[] b, final int significantBits) { - - int value = 0; - for (int i = 0; i < b.length; i++) { - value = (value << 8) + (b[i] & 0xff); - } - - int shift = 32 - significantBits; - - // Restore sign bit by shifting left and right - if(shift > 0) { - value <<= shift; - value >>= shift; - } - - return new Integer(value); - } - - public static Long byteArrayToLong(final byte[] b, ByteOrder byteOrder) { - if(byteOrder == ByteOrder.LITTLE_ENDIAN) { - return byteArrayToLong(changeEndianness(b)); - } - return byteArrayToLong(b); - } - - /** Convert a byte array into a Long assuming that the first byte is the most significant - * - * @param b The byte array to convert - * @return The Long value on success, 'Long.MAX_VALUE' otherwise - */ - public static Long byteArrayToLong(final byte[] b) { - // Sanity check - if ((b == null) || ((b.length * Byte.SIZE) > Long.SIZE)) { - return Long.MAX_VALUE; - } - - long value = 0; - for (int i = 0; i < b.length; i++) { - value = (value << 8) + (b[i] & 0xff); - } - - return new Long(value); - } // End of method byteArrayToLong - - public static Float byteArrayToFloat(final byte[] b) { - return ByteBuffer.wrap(b).getFloat(); - } - - public static byte[] hexStringToByteArray(final String s) { - String str = ""; - for(String ss : s.split("[^0-9A-Fa-f]")) { - str = str + ss; - } - int len = str.length(); - byte[] data = new byte[len / 2]; - for (int i = 0; i < len; i += 2) { - data[i / 2] = (byte) ((Character.digit(str.charAt(i), 16) << 4) - + Character.digit(str.charAt(i+1), 16)); - } - return data; - } - - public static byte[] concat(byte[]... arrays) { - int length = 0; - for (byte[] array : arrays) { - if(array != null) { - length += array.length; - } - } - byte[] result = new byte[length]; - int position = 0; - for (byte[] array : arrays) { - if(array != null) { - System.arraycopy(array, 0, result, position, array.length); - position += array.length; - } - } - return result; - } - - - /** Extract a sub part of a byte array - * @param array The original array - * @param offset The offset to start the extract operation - * @param length The number of bytes to extract - * @return The sub part of a provided byte array - */ - public static byte[] extract(final byte[] array, final int offset, final int length) { - // Sanity check - if ((array == null) || (array.length == 0) || (offset > array.length)) { - return null; - } - - byte[] result = new byte[length]; - System.arraycopy(array, offset, result, 0, length); - return result; - } - - /** - * This method convert a byte array containing the couple (length + string) into a string - * @param b The byte array to convert - * @return A string value - */ - public static String byteArrayWithLengthToString(final byte[] b) { - // Sanity check - if (b == null) { - return null; - } else if (b.length == 0) { - return ""; - } - - // Extract the length of the string - int length = byteArrayToInt(extract(b, 0, 4)); - // Extract the the string - String result = ""; - for (int i = 0; i < length; i++) { - result += (char)(b[4 + i]); - } // End of 'for' statement - - return result; - } - - public static String byteArrayToString(final byte[] buffer) { - - String result = ""; - if (buffer != null) { - for(int i=0; i < buffer.length; ++i) { - result += String.format("%02X", (byte)buffer[i]); - } - } - return result; - } - - public static byte[] fill(final byte[] buffer, final int length, final byte pattern) { - byte[] result = new byte[length]; - if (buffer == null) { // Fill it - for(int i = 0; i < length; ++i) { - result[i] = pattern; - } // End of 'for' statement - } else { // - for(int i = 0; i < length - buffer.length; ++i) { - result[length - i - 1] = pattern; - } // End of 'for' statement - System.arraycopy(buffer, 0, result, 0, buffer.length); - } - - return result; - } - - /** - * Dump a byte array in hex/ascii mode. - * @param label The dump label - * @param buffer The byte array to dump - */ - public synchronized static void dump(final String label, final byte[] buffer) - { - if ((buffer != null) && (buffer.length != 0)) - { - //TERFactory.getInstance().logDebug(label); - StringBuilder finalHexLine = new StringBuilder(); - StringBuilder finalCharLine = new StringBuilder(); - int nCounter = 0; - int nOffset = 0; - // Flush header. - //TERFactory.getInstance().logDebug(" HEX | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F : 0 1 2 3 4 5 6 7 8 9 A B C D E F "); - //TERFactory.getInstance().logDebug("-----|+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-:--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"); - for (int i = 0; i < buffer.length; ++i) - { - byte c = (byte)buffer[i]; - - String fmtHex = String.format("%02x ", c); - String fmtChar = String.format("%c ", Character.isISOControl((char)c) || c < 0 ? '.' : (char)c); - - if (nOffset % 16 == 0) - { - finalHexLine.append((String)String.format("%05x| ", nOffset)); - } - - finalHexLine.append(fmtHex); - finalCharLine.append(fmtChar); - if (nCounter == 15) - { - // Flush line. - //TERFactory.getInstance().logDebug(String.format("%s : %s", finalHexLine.toString(), finalCharLine.toString())); - // Reset buffer. - finalHexLine.delete(0, finalHexLine.length()); - finalCharLine.delete(0, finalCharLine.length()); - - nCounter = 0; - } - else - { - nCounter++; - } - nOffset++; - } - if (nCounter < 16) - { - // Pad till 15. - for (int i = nCounter; i < 16; i++) - { - finalHexLine.append(" "); - finalCharLine.append(" "); - } - // Flush line. - //TERFactory.getInstance().logDebug(String.format("%s : %s", finalHexLine.toString(), finalCharLine.toString())); - } - } - } -} diff --git a/javasrc/common/org/etsi/common/ITuple.java b/javasrc/common/org/etsi/common/ITuple.java deleted file mode 100644 index 0ceaf8e9c27e11d4abf8a27269e6cf1e34b226bb..0000000000000000000000000000000000000000 --- a/javasrc/common/org/etsi/common/ITuple.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.common; - -/** - * This interface provides mandatory method to be implemented by a Tuple {A, B} - * @param Type of the first member of the Tuple - * @param Type of the second member of the Tuple - */ -public interface ITuple { - - /** Retrieve the A element of the tuple - * @return the _a - */ - public abstract A getA(); - - /** Retrieve the B element of the tuple - * @return the _b - */ - public abstract B getB(); - -} \ No newline at end of file diff --git a/javasrc/common/org/etsi/common/KPM.java b/javasrc/common/org/etsi/common/KPM.java deleted file mode 100644 index abf88b67a58927cfca78d886ac0049a7301564eb..0000000000000000000000000000000000000000 --- a/javasrc/common/org/etsi/common/KPM.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Knuth-Morris-Pratt Algorithm implementation - * @author ETSI / STF481 - * @version $URL$ - * $Id$ - * Credit http://www.fmi.uni-sofia.bg/ - */ -package org.etsi.common; - -public class KPM { - - /** - * Search the data byte array for the first occurrence of the byte array pattern within given boundaries. - * @param data - * @param start First index in data - * @param stop Last index in data so that stop-start = length - * @param pattern What is being searched. '*' can be used as wildcard for "ANY character" - * @return - */ - public static int indexOf( byte[] data, int start, int stop, byte[] pattern) { - if( data == null || pattern == null) return -1; - - int[] failure = computeFailure(pattern); - - int j = 0; - - for( int i = start; i < stop; i++) { - while (j > 0 && ( pattern[j] != '*' && pattern[j] != data[i])) { - j = failure[j - 1]; - } - if (pattern[j] == '*' || pattern[j] == data[i]) { - j++; - } - if (j == pattern.length) { - return i - pattern.length + 1; - } - } - return -1; - } - - /** - * Computes the failure function using a boot-strapping process, - * where the pattern is matched against itself. - */ - private static int[] computeFailure(byte[] pattern) { - int[] failure = new int[pattern.length]; - - int j = 0; - for (int i = 1; i < pattern.length; i++) { - while (j>0 && pattern[j] != pattern[i]) { - j = failure[j - 1]; - } - if (pattern[j] == pattern[i]) { - j++; - } - failure[i] = j; - } - - return failure; - } -} // End of class KPM \ No newline at end of file diff --git a/javasrc/common/org/etsi/common/OperatorGUI.java b/javasrc/common/org/etsi/common/OperatorGUI.java deleted file mode 100644 index c30dc23d87d270fc8d4ce0902fc424bc52a95a0c..0000000000000000000000000000000000000000 --- a/javasrc/common/org/etsi/common/OperatorGUI.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @author ETSI - * @version $id$ - */ -package org.etsi.common; - -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.Toolkit; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.plaf.basic.BasicOptionPaneUI; - - -/** - * - */ -public class OperatorGUI extends JDialog implements ActionListener { - - /** - * - */ - private static final long serialVersionUID = 5803780216264271353L; - - private boolean result = false; - private JButton passButton = new JButton("Pass"); - private JButton failButton = new JButton("Fail"); - - /** - * Constructor - */ - public OperatorGUI() { - //empty - } - - public boolean pop(String msg) { - - // Get the size of the screen - Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); - - // Dialog settings - setTitle("Operator Action on SUT"); - setMinimumSize(new Dimension(300, 80)); - setAlwaysOnTop(true); - setModal(true); - setResizable(false); - int x = (dim.width - getWidth()) / 2; - int y = (dim.height - getHeight()) / 2; - setLocation(x, y); - - // Content - setLayout(new GridLayout(2, 1)); - add(new JLabel(msg)); - JPanel panel = new JPanel(); - panel.setLayout(new BasicOptionPaneUI.ButtonAreaLayout(isModal(), 2)); - panel.add(passButton); - panel.add(failButton); - add(panel); - passButton.addActionListener(this); - failButton.addActionListener(this); - - // Show ! - pack(); - setVisible(true); - return result; - } - - @Override - public void actionPerformed(ActionEvent arg0) { - if (arg0.getSource().equals(passButton)) { - result = true; - } - setVisible(false); - } - -} diff --git a/javasrc/common/org/etsi/common/Tuple.java b/javasrc/common/org/etsi/common/Tuple.java deleted file mode 100644 index 4e710277ea27f07f70c496810b0cdf81d114112a..0000000000000000000000000000000000000000 --- a/javasrc/common/org/etsi/common/Tuple.java +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.common; - -/** - * This class implements the ITuple interface - * @param Type of the first member of the Tuple - * @param Type of the second member of the Tuple - */ -public class Tuple implements ITuple { - - /** - * A element of the tuple - */ - private A _a; - - /** - * B element of the tuple - */ - private B _b; - - /** - * Constructor - * @param a The A element of the new tuple - * @param b The B element of the new tuple - */ - public Tuple(A a, B b) { - _a = a; - _b = b; - } - - /** - * Retrieve the A element of the tuple - * @return the _a - */ - @Override - public A getA() { - return _a; - } - - /** - * Retrieve the B element of the tuple - * @return the _b - */ - @Override - public B getB() { - return _b; - } -} diff --git a/javasrc/extfunc/org/etsi/its/extfunc/IItsExternalFunctionsProvider.java b/javasrc/extfunc/org/etsi/its/extfunc/IItsExternalFunctionsProvider.java deleted file mode 100644 index 89630f66de20adf41d9b4d2c57d29f09e1b10876..0000000000000000000000000000000000000000 --- a/javasrc/extfunc/org/etsi/its/extfunc/IItsExternalFunctionsProvider.java +++ /dev/null @@ -1,308 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.its.extfunc; - -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; - -/** - * This interface provides the list of the TTCN-3 external function to be implemented - * - * Refer to TTCN-3 modules LibItsGeoNetworking_Functions and LibItsCommon_Functions - */ -public interface IItsExternalFunctionsProvider { - - /** - * This external function gets the current time - * @return The current time in Epoch format - * - * TTCN-3 signature: - * external function fx_getCurrentTime() return TimestampIts; - */ - public IntegerValue fx_getCurrentTime(); - - /** - * This external function gets the tenths of a second in the current or next hour in units of 1/10th second from UTC time - * @return The current time in tenths of a second in the current or next hour in units of 1/10th second from UTC time - * - * TTCN-3 signature: - * external function fx_getCurrentTimeMark() return TimeMark; - */ - public IntegerValue fx_getCurrentTimeMark(); - - /** - * This external function gets the minutes of current UTC year - * @return The minutes of current UTC year - * - * TTCN-3 signature: - * external function fx_getMinuteOfTheYear() return MinuteOfTheYear; - */ - public IntegerValue fx_getMinuteOfTheYear(); - - /** - * This external function gets the milliseconds point in the current UTC minute - * @return The milliseconds point in the current UTC minute (0..60000) - * - * TTCN-3 signature: - * external function fx_getDSecond() return DSecond; - */ - public IntegerValue fx_getDSecond(); - - /** - * This external function gets the current time - * @param p_latitudeA Latitude of node A - * @param p_longitudeA Longitude of node A - * @param p_latitudeB Latitude of node B - * @param p_longitudeB Longitude of node B - * @return The current time in Epoch format - * - * TTCN-3 signature: - * external function fx_computeDistance(in UInt32 p_latitudeA, in UInt32 p_longitudeA, in UInt32 p_latitudeB, in UInt32 p_longitudeB) return float; - */ - public FloatValue fx_computeDistance(final IntegerValue p_latitudeA, final IntegerValue p_longitudeA, final IntegerValue p_latitudeB, final IntegerValue p_longitudeB); - - /** - * External function to compute a position using a reference position, a distance and an orientation - * @param p_iutLongPosVector Reference position - * @param p_distance Distance to the reference position (in meter) - * @param p_orientation Direction of the computed position (0 to 359; 0 means North) - * @param p_latitude Computed position's latitude - * @param p_longitude Computed position's longitude - * - * TTCN-3 signature: - * external function fx_computePositionUsingDistance(in UInt32 p_refLatitude, in Uint32 p_refLongitude, in integer p_distance, in integer p_orientation, out UInt32 p_latitude, out UInt32 p_longitude); - */ - public void fx_computePositionUsingDistance(final IntegerValue p_refLatitude, final IntegerValue p_refLongitude, final FloatValue p_distance, final IntegerValue p_orientation, IntegerValue p_latitude, IntegerValue p_longitude); - - /** - * External function to compute a position using a reference position, a distance and an orientation - * @param p_iutLongPosVector Reference position - * @param p_rotation Rotation value (in degrees) - * @param p_latitude Computed position's latitude - * @param p_longitude Computed position's longitude - * - * TTCN-3 signature: - * external function fx_computePositionFromRotation(in UInt32 p_refLatitude, in Uint32 p_refLongitude, in Uint32 p_cenLatitude, in Uint32 p_cenLongitude, in Int32 p_rotation, out UInt32 p_latitude, out UInt32 p_longitude); - */ - public void fx_computePositionFromRotation(final IntegerValue p_refLatitude, final IntegerValue p_refLongitude, final IntegerValue p_cenLatitude, final IntegerValue p_cenLongitude, final IntegerValue p_rotation, IntegerValue p_latitude, IntegerValue p_longitude); - - /** - * External function to compute radius of a given circular area - * @param p_squareMeters Square meters of an circular area - * @return Computed radius in meters - */ - public FloatValue fx_computeRadiusFromCircularArea(final FloatValue p_squareMeters); - - /** - * External function to compute timestamp based on current time - * @return Unix-Epoch-Time mod 2^32 - * - * TTCN-3 signature: - * external function fx_computeGnTimestamp() return UInt32; - */ - public IntegerValue fx_computeGnTimestamp(); - - /** - * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3 - * @param p_sourceAddress Source address, - * @param p_destinationAddress Destination address - * @param p_payloadLength Upper-Layer Packet Length - * @param p_payload Upper-Layer payload - * @param p_nextHdr Next header value (e.g. 0x3a for ICMPv6) - * @return The checksum value - * @see RFC 2460 IPv6 Specification - * - * TTCN-3 signature: - * external function fx_computeIPv6CheckSum( - * in template (value) Ipv6Address p_sourceAddress, - * in template (value) Ipv6Address p_destinationAddress, - * in template (value) integer p_payloadLength, - * in template (value) octetstring p_payload, - * in template (value) integer p_nextHdr - * ) return Oct2; - *
-      * Pseudo header is defined by RFC 2460 - Clause 8.1
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +                         Source Address                        +
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +                      Destination Address                      +
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                   Upper-Layer Packet Length                   |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                      zero                     |  Next Header  |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      * 
- */ - public OctetstringValue fx_computeIPv6CheckSum( - final OctetstringValue p_sourceAddress, - final OctetstringValue p_destinationAddress, - final IntegerValue p_payloadLength, - final OctetstringValue p_payload, - final IntegerValue p_nextHdr - ); - - public OctetstringValue xf_parseIpv6Address(final CharstringValue p_textIpv6Address); - - /** - * @desc Produces a 256-bit (32-byte) hash value - * @param p_toBeHashedData Data to be used to calculate the hash value - * @return The hash value - */ - public OctetstringValue fx_hashWithSha256(final OctetstringValue p_toBeHashedData); - - /** - * @desc Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signaturee - * @param p_toBeSignedData The data to be signed - * @param p_privateKey The private key - * @return The signature value - */ - public OctetstringValue fx_signWithEcdsaNistp256WithSha256(final OctetstringValue p_toBeSignedData, final OctetstringValue/*IntegerValue*/ p_privateKey); - - /** - * @desc Verify the signature of the specified data - * @param p_toBeVerifiedData The data to be verified - * @param p_signature The signature - * @param p_ecdsaNistp256PublicKeyX The public key (x coordinate) - * @param p_ecdsaNistp256PublicKeyY The public key (y coordinate) - * @return true on success, false otherwise - */ - public BooleanValue fx_verifyWithEcdsaNistp256WithSha256(final OctetstringValue p_toBeVerifiedData, final OctetstringValue p_signature, final OctetstringValue p_ecdsaNistp256PublicKeyX, final OctetstringValue p_ecdsaNistp256PublicKeyY); - - /** - * @desc Produce a new public/private key pair based on Elliptic Curve Digital Signature Algorithm (ECDSA) algorithm - * @param p_privateKey The new private key value - * @param p_publicKeyX The new public key value (x coordinate) - * @param p_publicKeyX The new public key value (y coordinate) - * @return true on success, false otherwise - */ - public BooleanValue fx_generateKeyPair(OctetstringValue/*IntegerValue*/ p_privateKey, OctetstringValue p_publicKeyX, OctetstringValue p_publicKeyY); - - /** - * @desc Check that given polygon doesn't have neither self-intersections nor holes. - * @param p_region Polygonal Region - * @return true on success, false otherwise - */ - public BooleanValue fx_isValidPolygonalRegion(final RecordOfValue p_region); - - /** - * @desc Check if a polygonal regin is inside another one - * @param p_parent The main polygonal region - * @param p_region The polygonal region to be included - * @return true on success, false otherwise - * @verdict Unchanged - */ - public BooleanValue fx_isPolygonalRegionInside(final RecordOfValue p_parent, final RecordOfValue p_region); - - /** - * @desc Check that the location is inside a circular region - * @param p_region The circular region to consider - * @param p_location The device location - * @return true on success, false otherwise - * @verdict Unchanged - */ - public BooleanValue fx_isLocationInsideCircularRegion(final RecordValue p_region, final RecordValue p_location); - - /** - * @desc Check that the location is inside a rectangular region - * @param p_region The rectangular region to consider - * @param p_location The device location - * @return true on success, false otherwise - * @verdict Unchanged - */ - public BooleanValue fx_isLocationInsideRectangularRegion(final RecordOfValue p_region, final RecordValue p_location); - - /** - * @desc Check that the location is inside a polygonal region - * @param p_region The polygonal region to consider - * @param p_location The device location - * @return true on success, false otherwise - * @verdict Unchanged - */ - public BooleanValue fx_isLocationInsidePolygonalRegion(final RecordOfValue p_region, final RecordValue p_location); - - /** - * @desc Check if the location is inside an identified region - * @param p_region The identified region to consider - * @param p_location The device location - * @return true on success, false otherwise - * @verdict Unchanged - */ - public BooleanValue fx_isLocationInsideIdentifiedRegion(final RecordValue p_region, final RecordValue p_location); - - /** - * @desc Convert a spacial coordinate from DMS to Dms - * @param p_degrees The degrees (D) - * @param p_minutes The minutes (M) - * @param p_seconds The seconds (S) - * @param p_latlon The latitude/longitude: (N|S|E|W) - * @return The decimal coordinate on success, 0.0, otherwise - * @verdict Unchanged - */ - public FloatValue fx_dms2dd(final IntegerValue p_degrees, final IntegerValue p_minutes, final FloatValue p_seconds, final OctetstringValue p_latlon); - - /** - * @desc Load in memory cache the certificates available in the specified directory - * @param p_rootDirectory Root directory to access to the certificates identified by the certificate ID - * @param p_configId A configuration identifier - * @return true on success, false otherwise - */ - public BooleanValue fx_loadCertificates(final CharstringValue p_rootDirectory, final CharstringValue p_configId); - - /** - * @desc Unload from memory cache the certificates - * @return true on success, false otherwise - */ - public BooleanValue fx_unloadCertificates(); - - /** - * @desc Read the specified certificate - * @param p_certificateId the certificate identifier - * @param p_certificate the expected certificate - * @return true on success, false otherwise - */ - public BooleanValue fx_readCertificate(final CharstringValue p_certificateId, OctetstringValue p_certificate); - - /** - * @desc Read the specified certificate digest - * @param p_certificateId the certificate identifier - * @param p_certificate the expected certificate - * @return true on success, false otherwise - */ - public BooleanValue fx_readCertificateDigest(final CharstringValue p_certificateId, OctetstringValue p_certificate); - - /** - * @desc Read the signing private key for the specified certificate - * @param p_keysId the keys identifier - * @param p_key the signing private key - * @return true on success, false otherwise - */ - public BooleanValue fx_readSigningKey(final CharstringValue p_keysId, OctetstringValue p_key); - - /** - * @desc Read the encrypting private key for the specified certificate - * @param p_keysId the keys identifier - * @param p_key the encrypt private key - * @return true on success, false otherwise - */ - public BooleanValue fx_readEncryptingKey(final CharstringValue p_keysId, OctetstringValue p_key); - -} // End of interface IItsExternalFunctionsProvider diff --git a/javasrc/extfunc/org/etsi/its/extfunc/ItsExternalFunctionsProvider.java b/javasrc/extfunc/org/etsi/its/extfunc/ItsExternalFunctionsProvider.java deleted file mode 100644 index dd814ee45830df19f52cfe0880bafebe35a7228c..0000000000000000000000000000000000000000 --- a/javasrc/extfunc/org/etsi/its/extfunc/ItsExternalFunctionsProvider.java +++ /dev/null @@ -1,1003 +0,0 @@ -/** - * @authorSTF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.its.extfunc; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.time.ZoneOffset; -import java.time.ZonedDateTime; -import java.util.ArrayList; -import java.util.logging.Logger; - -import org.etsi.adapter.GnssSupportFactory; -import org.etsi.adapter.IGnssSupport; -import org.etsi.adapter.TERFactory; -import org.etsi.certificates.CertificatesIOFactory; -import org.etsi.certificates.io.ICertificatesIO; -import org.etsi.codec.ITciCDWrapper; -import org.etsi.codec.TciCDWrapperFactory; -import org.etsi.common.ByteHelper; -import org.etsi.geodesic.DMS; -import org.etsi.geodesic.Positioning; -import org.etsi.geodesic.WGS84; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; - -import de.fraunhofer.sit.c2x.CryptoLib; -import de.fraunhofer.sit.c2x.EcdsaP256KeyPair; - -/** - * This class implements external ITS function - * - * See TTCN-3 modules LibItsGeoNetworking_Functions and LibItsCommon_Functions - * - */ -public class ItsExternalFunctionsProvider implements IItsExternalFunctionsProvider { - - /** - * Module version - */ - public static final String Version = "1.0.0.0"; - - /** - * Unique instance of TciCDWrapper class - */ - private ITciCDWrapper _tcicdWrapper; - - /** - * Constant factor used for distance computation - */ - private static final double earthRadius = 6378137; - private static final double rbis = earthRadius * Math.PI / 180; - - private static final long ITS_REF_TIME = 1072915200000L; - - private static final String GNSS_SCENARIO_SUPPORT = "GnssScenarioSupport"; - private IGnssSupport GNSS; - private boolean gnssScenarioSupport; - - /** - * Reference to the ePassport files manager - */ - private ICertificatesIO _certCache = CertificatesIOFactory.getInstance(); - - /** - * Default ctor - */ - public ItsExternalFunctionsProvider() { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "Constructor", String.format("version:%s", Version)); - - _tcicdWrapper = TciCDWrapperFactory.getTciCDInstance(); - - try { - gnssScenarioSupport = ((BooleanValue) TERFactory.getInstance().getTaParameter(GNSS_SCENARIO_SUPPORT)).getBoolean(); - } - catch (Throwable th) { - gnssScenarioSupport = false; - } - if (gnssScenarioSupport) { - GNSS = GnssSupportFactory.getInstance(); - } - } - - /** - * This external function gets the current time - * - * @return The current time in ITS format - * - * TTCN-3 signature: external function fx_getCurrentTime() return - * TimestampIts; - */ - @Override - public synchronized IntegerValue fx_getCurrentTime() { - IntegerValue now = null; - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getCurrentTime"); - - if (gnssScenarioSupport) { - now = _tcicdWrapper.setInteger(GNSS.getGpsTime()); - } - else { -// TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider.fx_getCurrentTime: " + ((java.util.Date)formatter.parse(datestr)).getTime()); - now = _tcicdWrapper.setInteger( - new BigInteger( - 1, - ByteHelper.longToByteArray(System.currentTimeMillis() - ITS_REF_TIME, Long.SIZE / Byte.SIZE) - ) - ); - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getCurrentTime", String.format("%10d", _tcicdWrapper.getBigInteger(now))); - } - return now; - } // End of method fx_getCurrentTime - - @Override - public IntegerValue fx_getCurrentTimeMark() { - IntegerValue now = null; - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getCurrentTimeMark"); - - ZonedDateTime t = ZonedDateTime.now(ZoneOffset.UTC); - now = _tcicdWrapper.setInteger(new Integer((t.getMinute() * 60 + t.getSecond()) * 10)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getCurrentTimeMark", String.format("%4d", _tcicdWrapper.getBigInteger(now))); - return now; - } - - @Override - public IntegerValue fx_getMinuteOfTheYear() { - IntegerValue now = null; - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getMinuteOfTheYear"); - - ZonedDateTime t = ZonedDateTime.now(ZoneOffset.UTC); - now = _tcicdWrapper.setInteger(new Integer((t.getDayOfYear() - 1) * 24 * 60 + t.getHour() * 60 + t.getMinute())); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getMinuteOfTheYear", String.format("%4d", _tcicdWrapper.getBigInteger(now))); - return now; - } - - public IntegerValue fx_getDSecond() { - IntegerValue now = null; - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getDSecond"); - - ZonedDateTime t = ZonedDateTime.now(ZoneOffset.UTC); - int i = new Integer(t.getSecond() + Math.round(t.getNano() / 1000)); - if (i > 65535) { - i = 65535; - } - now = _tcicdWrapper.setInteger(i); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_getDSecond", String.format("%4d", _tcicdWrapper.getBigInteger(now))); - return now; - } - - /** - * This external function gets the current time - * - * @param p_latitudeA - * Latitude of node A - * @param p_longitudeA - * Longitude of node A - * @param p_latitudeB - * Latitude of node B - * @param p_longitudeB - * Longitude of node B - * @return The current time in Epoch format - * - * TTCN-3 signature: external function fx_computeDistance(in UInt32 - * p_latitudeA, in UInt32 p_longitudeA, in UInt32 p_latitudeB, in - * UInt32 p_longitudeB) return float; - */ - @Override - public synchronized FloatValue fx_computeDistance( - final IntegerValue p_latitudeA, final IntegerValue p_longitudeA, - final IntegerValue p_latitudeB, final IntegerValue p_longitudeB) { -// //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_computeDistance", -// String.format("%d, %d, %d, %d", -// p_latitudeA.getInteger(), -// p_longitudeA.getInteger(), -// p_latitudeB.getInteger(), -// p_longitudeB.getInteger())); - - // Initialise the returned value - FloatValue dist = _tcicdWrapper.getFloat(); - - double dlat = ( - new Double(_tcicdWrapper.getInteger(p_latitudeB)) - - new Double(_tcicdWrapper.getInteger(p_latitudeA)) - ) / 10000000; - double dlong = ( - new Double(_tcicdWrapper.getInteger(p_longitudeB)) - - new Double(_tcicdWrapper.getInteger(p_longitudeA)) - ) / 10000000; - - long d = Math.round(Math.sqrt(Math.pow(dlat * rbis, 2) + Math.pow(dlong * rbis * Math.cos(dlat), 2))); - - dist.setFloat(d); - - return dist; - } // End of method fx_computeDistance - - /** - * External function to compute a position using a reference position, a - * distance and an orientation - * - * @param p_iutLongPosVector - * Reference position - * @param p_distance - * Distance to the reference position (in meter) - * @param p_orientation - * Direction of the computed position (0 to 359; 0 means North) - * @param p_latitude - * Computed position's latitude - * @param p_longitude - * Computed position's longitude - * - * TTCN-3 signature: external function - * fx_computePositionUsingDistance(in LongPosVector - * p_iutLongPosVector, in integer p_distance, in integer - * p_orientation, out UInt32 p_latitude, out UInt32 p_longitude); - */ - @Override - public synchronized void fx_computePositionUsingDistance( - final IntegerValue p_refLatitude, - final IntegerValue p_refLongitude, final FloatValue p_distance, - final IntegerValue p_orientation, IntegerValue p_latitude, - IntegerValue p_longitude) { -// //TERFactory.getInstance().logDebug( -// "ItsExternalFunctionsProvider", -// "fx_computePositionUsingDistance", -// String.format("%d, %d", p_distance.getInteger(), -// p_orientation.getInteger())); - - FloatValue v_distance = _tcicdWrapper.getFloat(); - v_distance.setFloat(p_distance.getFloat()); - double angularD = new Double(v_distance.getFloat()) / earthRadius; - double radHeading = new Double(_tcicdWrapper.getInteger(p_orientation)) * Math.PI / 180; - - // Convert to rad - double lat1 = (new Double(_tcicdWrapper.getInteger(p_refLatitude)) / 10000000) * Math.PI / 180; - double long1 = (new Double(_tcicdWrapper.getInteger(p_refLongitude)) / 10000000) * Math.PI / 180; - - double lat2 = Math.asin(Math.sin(lat1) * Math.cos(angularD) - + Math.cos(lat1) * Math.sin(angularD) * Math.cos(radHeading)); - double long2 = long1 - + Math.atan2( - Math.sin(radHeading) * Math.sin(angularD) - * Math.cos(lat1), - Math.cos(angularD) - Math.sin(lat1) * Math.sin(lat2)); - - // normalise to -180...+180 - long2 = (long2 + 3 * Math.PI) % (2 * Math.PI) - Math.PI; - - // convert to 1/10 of microdegrees - Long rlat2 = Math.round(lat2 * 10000000 / Math.PI * 180); - Long rlong2 = Math.round(long2 * 10000000 / Math.PI * 180); - - // The out parameter needs to be set on the object level - _tcicdWrapper.setInteger(p_latitude, rlat2.intValue()); - _tcicdWrapper.setInteger(p_longitude, rlong2.intValue()); -// p_latitude = _tcicdWrapper.setInteger((int) rlat2); -// p_longitude = _tcicdWrapper.setInteger((int) rlong2); - - } // End of method fx_computePositionUsingDistance - - /** - * External function to compute a position using a rotation - * - * @param p_iutLongPosVector - * Reference position - * @param p_rotation - * Rotation value (in degrees) - * @param p_latitude - * Computed position's latitude - * @param p_longitude - * Computed position's longitude - * - * TTCN-3 signature: external function - * fx_computePositionFromRotation(in LongPosVector - * p_iutLongPosVector, in Int32 - * p_rotation, out Int32 p_latitude, out Int32 p_longitude); - * @remark See http://www.movable-type.co.uk/scripts/latlong.html - */ - @Override - public synchronized void fx_computePositionFromRotation( - final IntegerValue p_refLatitude, - final IntegerValue p_refLongitude, - final IntegerValue p_cenLatitude, - final IntegerValue p_cenLongitude, - final IntegerValue p_rotation, - IntegerValue p_latitude, - IntegerValue p_longitude) { - //TERFactory.getInstance().logDebug( -// "ItsExternalFunctionsProvider", -// "fx_computePositionFromRotation", -// String.format("%d", p_rotation.getFloat())); - // 1. Compute distance between the 2 points - double lat1 = Math.toRadians((double)_tcicdWrapper.getInteger(p_cenLatitude) / 10000000.0); - double long1 = Math.toRadians((double)_tcicdWrapper.getInteger(p_cenLongitude) / 10000000.0); - double lat2 = Math.toRadians((double)_tcicdWrapper.getInteger(p_refLatitude) / 10000000.0); - double long2 = Math.toRadians((double)_tcicdWrapper.getInteger(p_refLongitude) / 10000000.0); - double dlat = lat2 - lat1; - double dlong = long2 - long1; - double a = Math.sin(dlat / 2) * Math.sin(dlat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dlong / 2) * Math.sin(dlong / 2); - double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - //double d = earthRadius * c; - //TERFactory.getInstance().logDebug("fx_computePositionFromRotation: Angular distance = " + c); - - // 2. Compute bearing - double y = Math.sin(long2 - long1) * Math.cos(lat2); - double x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(long2 - long1); - double brng = Math.atan2(y, x); - //TERFactory.getInstance().logDebug("fx_computePositionFromRotation: Bearing = " + Math.toDegrees(brng)); - - // 3. Compute distance between the 2 points - double rotation = Math.toRadians((double)_tcicdWrapper.getInteger(p_rotation) / 10.0) + brng; - //TERFactory.getInstance().logDebug("fx_computePositionFromRotation = rotation: " + Math.toDegrees(rotation)); - double lat = Math.asin(Math.sin(lat1) * Math.cos(c) + Math.cos(lat1) * Math.sin(c) * Math.cos(rotation)); - double long_ = long1 + Math.atan2(Math.sin(rotation) * Math.sin(c)*Math.cos(lat1), Math.cos(c) - Math.sin(lat1) * Math.sin(lat)); - - // 4. Normalize - // normalise to -180...+180 - long_ = (long_ + 3 * Math.PI) % (2 * Math.PI) - Math.PI; - - // The out parameter needs to be set on the object level - Long rlat = Math.round(Math.toDegrees(lat) * 10000000); - Long rlong = Math.round(Math.toDegrees(long_) * 10000000); - _tcicdWrapper.setInteger(p_latitude, rlat.intValue()); - _tcicdWrapper.setInteger(p_longitude, rlong.intValue()); - //TERFactory.getInstance().logDebug("Lat = " + p_latitude.getInteger() + " - long = " + p_longitude.getInteger()); - } // End of method fx_computePositionFromRotation - - @Override - public FloatValue fx_computeRadiusFromCircularArea(FloatValue p_squareMeters) { - - // Initialise the returned value - FloatValue radius = _tcicdWrapper.getFloat(); - - radius.setFloat((float) Math.sqrt(p_squareMeters.getFloat() / Math.PI)); - - return radius; - } - - /** - * External function to compute timestamp based on current time - * - * @return Unix-Epoch-Time mod 2^32 - * - * TTCN-3 signature: external function fx_computeGnTimestamp() - * return UInt32; - */ - @Override - public IntegerValue fx_computeGnTimestamp() { - - IntegerValue timestamp = _tcicdWrapper.setInteger( - new BigInteger( - 1, - ByteHelper.longToByteArray((System.currentTimeMillis() - ITS_REF_TIME) % (long)Math.pow(2,32), Long.SIZE / Byte.SIZE) - ) - ); - - return timestamp; - } - - /** - * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - - * Clause 2.3 - * @param p_sourceAddress - * Source address (128 bits), - * @param p_destinationAddress - * Destination address (128 bits) - * @param p_payloadLength - * Upper-Layer Packet Length (32 bits) - * @param p_payload - * Upper-Layer payload - * @param p_nextHdr - * Next header value (e.g. 0x3a for ICMPv6) (8bits) - * @return The checksum value (16bits) - * @see RFC 2460 IPv6 Specification - * - * TTCN-3 signature: external function fx_computeIPv6CheckSum( in - * template (value) Ipv6Address p_sourceAddress, in template (value) - * Ipv6Address p_destinationAddress, in template (value) integer - * p_payloadLength, in template (value) octetstring p_payload, in - * template (value) integer p_nextHdr ) return Oct2; - * - *
-     * Pseudo header is defined by RFC 2460 - Clause 8.1
-     *   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
-     *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     *  |                                                               |
-     *  +                                                               +
-     *  |                                                               |
-     *  +                         Source Address                        +
-     *  |                                                               |
-     *  +                                                               +
-     *  |                                                               |
-     *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     *  |                                                               |
-     *  +                                                               +
-     *  |                                                               |
-     *  +                      Destination Address                      +
-     *  |                                                               |
-     *  +                                                               +
-     *  |                                                               |
-     *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     *  |                   Upper-Layer Packet Length                   |
-     *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     *  |                      zero                     |  Next Header  |
-     *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     * 
- */ - @Override - public OctetstringValue fx_computeIPv6CheckSum( - final OctetstringValue p_sourceAddress, - final OctetstringValue p_destinationAddress, - final IntegerValue p_payloadLength, - final OctetstringValue p_payload, final IntegerValue p_nextHdr) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_computeIPv6CheckSum"); - - // Build the pseudo header according RFC 2460 - Clause 8.1 - ByteArrayOutputStream pseudoheader = new ByteArrayOutputStream(); - // Source address (128bits) - int i = 0; - for (; i < p_sourceAddress.getLength(); i++) { - pseudoheader.write(p_sourceAddress.getOctet(i)); - } // End of 'for' loop - // Destination address (128bits) - for (i = 0; i < p_destinationAddress.getLength(); i++) { - pseudoheader.write(p_destinationAddress.getOctet(i)); - } // End of 'for' loop - try { - // Upper-Layer Packet Length (32bits) - pseudoheader.write(ByteHelper.intToByteArray(_tcicdWrapper.getInteger(p_payloadLength), 4)); - // Checksum set to 0 (24bits) - pseudoheader.write(ByteHelper.intToByteArray(0, 3)); - // Next header (8bits) - pseudoheader.write((byte) _tcicdWrapper.getInteger(p_nextHdr)); - } catch (IOException e) { - e.printStackTrace(); - } - // Add the payload - for (i = 0; i < p_payload.getLength(); i++) { - pseudoheader.write(p_payload.getOctet(i)); - } // End of 'for' loop - - i = 0; - int length = pseudoheader.size(); - byte[] buffer = pseudoheader.toByteArray(); - ByteHelper - .dump("ItsExternalFunctionsProvider.fx_computeIPv6CheckSum: pseaudo header", - buffer); - long sum = 0; - while (length > 0) { - sum += (buffer[i++] & 0xff) << 8; - if ((--length) == 0) { - break; - } - sum += (buffer[i++] & 0xff); - --length; - } - sum = (~((sum & 0xFFFF) + (sum >> 16))) & 0xFFFF; - //TERFactory.getInstance().logDebug(String.format("ItsExternalFunctionsProvider.fx_computeIPv6CheckSum: finalSum=%d",sum)); - // Set the return value - OctetstringValue checksum = _tcicdWrapper.getOctetstring(); - checksum.setLength(2); - checksum.setOctet(0, (byte) ((byte) (sum >> 8) & 0xff)); - checksum.setOctet(1, (byte) (sum & 0x00ff)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_computeIPv6CheckSum", checksum); // FIXME Check which method to call for logging - return checksum; - } - - @Override - public OctetstringValue xf_parseIpv6Address( - CharstringValue p_textIpv6Address) { - - byte[] hexIpv6Address = null; - - try { - InetAddress ipv6Address = InetAddress.getByName(p_textIpv6Address - .getString()); - hexIpv6Address = ipv6Address.getAddress(); - } catch (UnknownHostException e) { - e.printStackTrace(); - } - - OctetstringValue result = _tcicdWrapper.getOctetstring(); - result.setLength(hexIpv6Address.length); - for (int i = 0; i < hexIpv6Address.length; i++) { - result.setOctet(i, hexIpv6Address[i]); - } - return result; - } - - /** - * @desc Produces a 256-bit (32-byte) hash value - * @param p_toBeHashedData Data to be used to calculate the hash value - * @return The hash value - */ - public OctetstringValue fx_hashWithSha256(final OctetstringValue p_toBeHashedData) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_hashWithSha256"); - - byte[] toBeHashedData = new byte[p_toBeHashedData.getLength()]; - for (int i = 0; i < toBeHashedData.length; i++) { - toBeHashedData[i] = (byte) p_toBeHashedData.getOctet(i); - } // End 'for' statement - byte[] hash = CryptoLib.hashWithSha256(toBeHashedData); - - OctetstringValue result = _tcicdWrapper.getOctetstring(); - result.setLength(hash.length); - for (int i = 0; i < hash.length; i++) { - result.setOctet(i, hash[i]); - } // End 'for' statement - return result; - } - - /** - * @desc Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signaturee - * @param p_toBeSignedData The data to be signed - * @param p_privateKey The private key - * @return The signature value - */ - public OctetstringValue fx_signWithEcdsaNistp256WithSha256(final OctetstringValue p_toBeSignedData, final OctetstringValue/*IntegerValue*/ p_privateKey) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_signWithEcdsaNistp256WithSha256"); - - byte[] toBeSignedData = new byte[p_toBeSignedData.getLength()]; - for (int i = 0; i < toBeSignedData.length; i++) { - toBeSignedData[i] = (byte) p_toBeSignedData.getOctet(i); - } // End 'for' statement - byte[] privateKey = new byte[p_privateKey.getLength()]; - for (int i = 0; i < privateKey.length; i++) { - privateKey[i] = (byte) p_privateKey.getOctet(i); - } // End 'for' statement - byte[] signed; - try { -// TERFactory.getInstance().logDebug("fx_signWithEcdsaNistp256WithSha256: toBeSignedData=" + ByteHelper.byteArrayToString(toBeSignedData) + " - " + toBeSignedData.length); -// TERFactory.getInstance().logDebug("fx_signWithEcdsaNistp256WithSha256: ts103097SignatureEncodedAsByteArray=" + new BigInteger(privateKey)); - signed = CryptoLib.signWithEcdsaNistp256WithSha256(toBeSignedData, new BigInteger(privateKey)); - } catch (Exception e) { - e.printStackTrace(); - signed = new byte[] {}; - } - - OctetstringValue result = _tcicdWrapper.getOctetstring(); - result.setLength(signed.length); - for (int i = 0; i < signed.length; i++) { - result.setOctet(i, signed[i]); - } // End 'for' statement - return result; - } - - /** - * @desc Verify the signature of the specified data - * @param p_toBeVerifiedData The data to be verified - * @param p_signature The signature - * @param p_ecdsaNistp256PublicKeyX The public key (x coordinate) - * @param p_ecdsaNistp256PublicKeyY The public key (y coordinate) - * @return true on success, false otherwise - */ - public BooleanValue fx_verifyWithEcdsaNistp256WithSha256(final OctetstringValue p_toBeVerifiedData, final OctetstringValue p_signature, final OctetstringValue p_ecdsaNistp256PublicKeyX, final OctetstringValue p_ecdsaNistp256PublicKeyY) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_verifyWithEcdsaNistp256WithSha256"); - - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(false); - - byte[] toBeVerifiedData = new byte[p_toBeVerifiedData.getLength()]; - for (int i = 0; i < toBeVerifiedData.length; i++) { - toBeVerifiedData[i] = (byte) p_toBeVerifiedData.getOctet(i); - } // End 'for' statement - byte[] ts103097SignatureEncodedAsByteArray = new byte[p_signature.getLength()]; - for (int i = 0; i < ts103097SignatureEncodedAsByteArray.length; i++) { - ts103097SignatureEncodedAsByteArray[i] = (byte) p_signature.getOctet(i); - } // End 'for' statement - byte[] ecdsaNistp256PublicKeyX = new byte[p_ecdsaNistp256PublicKeyX.getLength()]; - for (int i = 0; i < ecdsaNistp256PublicKeyX.length; i++) { - ecdsaNistp256PublicKeyX[i] = (byte) p_ecdsaNistp256PublicKeyX.getOctet(i); - } // End 'for' statement - byte[] ecdsaNistp256PublicKeyY = new byte[p_ecdsaNistp256PublicKeyY.getLength()]; - for (int i = 0; i < ecdsaNistp256PublicKeyY.length; i++) { - ecdsaNistp256PublicKeyY[i] = (byte) p_ecdsaNistp256PublicKeyY.getOctet(i); - } // End 'for' statement - try { -// TERFactory.getInstance().logDebug("fx_verifyWithEcdsaNistp256WithSha256: toBeVerifiedData=" + ByteHelper.byteArrayToString(toBeVerifiedData) + " - " + toBeVerifiedData.length); -// TERFactory.getInstance().logDebug("fx_verifyWithEcdsaNistp256WithSha256: ts103097SignatureEncodedAsByteArray=" + ByteHelper.byteArrayToString(ts103097SignatureEncodedAsByteArray)); -// TERFactory.getInstance().logDebug("fx_verifyWithEcdsaNistp256WithSha256: ecdsaNistp256PublicKeyX=" + ByteHelper.byteArrayToString(ecdsaNistp256PublicKeyX)); -// TERFactory.getInstance().logDebug("fx_verifyWithEcdsaNistp256WithSha256: ecdsaNistp256PublicKeyY=" + ByteHelper.byteArrayToString(ecdsaNistp256PublicKeyY)); - boolean ret = CryptoLib.verifyWithEcdsaNistp256WithSha256(toBeVerifiedData, ts103097SignatureEncodedAsByteArray, ecdsaNistp256PublicKeyX, ecdsaNistp256PublicKeyY); - result.setBoolean(ret); - } catch (Exception e) { - e.printStackTrace(); - } - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_verifyWithEcdsaNistp256WithSha256"); - return result; - } - - /** - * @desc Produce a new public/private key pair based on Elliptic Curve Digital Signature Algorithm (ECDSA) algorithm - * @param p_privateKey The new private key value - * @param p_publicKeyX The new public key value (x coordinate) - * @param p_publicKeyX The new public key value (y coordinate) - * @return true on success, false otherwise - */ - public BooleanValue fx_generateKeyPair(OctetstringValue/*IntegerValue*/ p_privateKey, OctetstringValue p_publicKeyX, OctetstringValue p_publicKeyY) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_generateKeyPair"); - - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(true); - - EcdsaP256KeyPair ecdsaP256KeyPair = CryptoLib.generateKeyPair(); - byte[] ref = ecdsaP256KeyPair.getPrivateKey().toByteArray(); - p_privateKey.setLength(ref.length); - for (int i = 0; i < p_privateKey.getLength(); i++) { - p_privateKey.setOctet(i, ref[i]); - } // End 'for' statement - ref = ecdsaP256KeyPair.getPublicKeyX(); - p_publicKeyX.setLength(ref.length); - for (int i = 0; i < ref.length; i++) { - p_publicKeyX.setOctet(i, ref[i]); - } // End 'for' statement - ref = ecdsaP256KeyPair.getPublicKeyY(); - p_publicKeyY.setLength(ref.length); - for (int i = 0; i < ref.length; i++) { - p_publicKeyY.setOctet(i, ref[i]); - } // End 'for' statement - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_generateKeyPair"); - return result; - } - - /** - * @desc Check that given polygon doesn't have neither self-intersections nor holes. - * @param p_region Polygonal Region - * @return true on success, false otherwise - */ - public BooleanValue fx_isValidPolygonalRegion(final RecordOfValue p_region) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isValidPolygonalRegion"); - - // Setup arguments - ArrayList polygonalArea = new ArrayList(); - for (int position = 0; position < p_region.getLength(); position++) { - RecordValue rv = (RecordValue) p_region.getField(position); - polygonalArea.add( - new WGS84( - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - )); - } // End of 'for' statement - - // Call Geodesic function - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(Positioning.getInstance().isValidPolygonArea(polygonalArea)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isValidPolygonalRegion"); - return result; - } - - @Override - public BooleanValue fx_isPolygonalRegionInside(final RecordOfValue p_parent, final RecordOfValue p_region) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isPolygonalRegionInside"); - - // Setup arguments - ArrayList parentArea = new ArrayList(); - for (int position = 0; position < p_parent.getLength(); position++) { - RecordValue rv = (RecordValue) p_parent.getField(position); - parentArea.add( - new WGS84( - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - )); - } // End of 'for' statement - ArrayList regionArea = new ArrayList(); - for (int position = 0; position < p_region.getLength(); position++) { - RecordValue rv = (RecordValue) p_region.getField(position); - regionArea.add( - new WGS84( - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - )); - } // End of 'for' statement - - // Call Geodesic function - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(Positioning.getInstance().isPolygonalRegionInside(parentArea, regionArea)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isPolygonalRegionInside"); - return result; - } - - @Override - public BooleanValue fx_isLocationInsideCircularRegion(final RecordValue p_region, final RecordValue p_location) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsideCircularRegion"); - - // Setup arguments - RecordValue rv = (RecordValue)p_region.getField("center"); // Center - WGS84 center = new WGS84( - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - ); - int radius = _tcicdWrapper.getInteger((IntegerValue)p_region.getField("radius")); - WGS84 location = new WGS84( // Location - _tcicdWrapper.getInteger((IntegerValue)(p_location.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(p_location.getField("longitude"))) - ); - - // Call Geodesic function - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(Positioning.getInstance().isLocationInsideCircularArea(location, center, radius)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsideCircularRegion"); - return result; - } - - @Override - public BooleanValue fx_isLocationInsideRectangularRegion(final RecordOfValue p_region, final RecordValue p_location) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsideRectangularRegion"); - - // Setup arguments - ArrayList< ArrayList > polygonalAreas = new ArrayList< ArrayList >(); - for (int position = 0; position < p_region.getLength(); position++) { - RecordValue rectangleArea = (RecordValue)p_region.getField(position); - // Retrieve corners - RecordValue rv = (RecordValue)rectangleArea.getField("northwest"); // Upper left corner - WGS84 upperLeftCorner = new WGS84( - (long)_tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - (long)_tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - ); - rv = (RecordValue)rectangleArea.getField("southeast"); // Lower right corner - WGS84 lowerRightCorner = new WGS84( - (long)_tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - (long) _tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - ); - // Build the polygonal area - ArrayList rectangularItem = new ArrayList(); - rectangularItem.add(upperLeftCorner); - rectangularItem.add( - new WGS84( - upperLeftCorner.getLatitude(), - lowerRightCorner.getLongitude(), - lowerRightCorner.getAltitude() - ) - ); - rectangularItem.add(lowerRightCorner); - rectangularItem.add( - new WGS84( - lowerRightCorner.getLatitude(), - upperLeftCorner.getLongitude(), - upperLeftCorner.getAltitude() - ) - ); - - polygonalAreas.add(rectangularItem); - } // End of 'for' statement - - WGS84 location = new WGS84( // Location - _tcicdWrapper.getInteger((IntegerValue)(p_location.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(p_location.getField("longitude"))) - ); - - // Call Geodesic function - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(Positioning.getInstance().isLocationInsidePolygonalAreas(location, polygonalAreas)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsideRectangularRegion"); - return result; - } - - @Override - public BooleanValue fx_isLocationInsidePolygonalRegion(final RecordOfValue p_region, final RecordValue p_location) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsidePolygonalRegion"); - - // Setup arguments - ArrayList polygonalArea = new ArrayList(); - for (int position = 0; position < p_region.getLength(); position++) { - RecordValue rv = (RecordValue) p_region.getField(position); - polygonalArea.add( - new WGS84( - (long)_tcicdWrapper.getInteger((IntegerValue)(rv.getField("latitude"))), - (long)_tcicdWrapper.getInteger((IntegerValue)(rv.getField("longitude"))) - )); - } // End of 'for' statement - WGS84 location = new WGS84( // Location - (long)_tcicdWrapper.getInteger((IntegerValue)(p_location.getField("latitude"))), - (long)_tcicdWrapper.getInteger((IntegerValue)(p_location.getField("longitude"))) - ); - - // Call Geodesic function - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(Positioning.getInstance().isLocationInsidePolygonalArea(location, polygonalArea)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsidePolygonalRegion"); - return result; - } - - @Override - public BooleanValue fx_isLocationInsideIdentifiedRegion(final RecordValue p_region, final RecordValue p_location) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsideIdentifiedRegion"); - - // Setup arguments - int regionDictionary = ((EnumeratedValue) p_region.getField("region_dictionary")).getInt(); - int regionId = _tcicdWrapper.getInteger((IntegerValue)(p_region.getField("region_identifier"))); - long localRegion = _tcicdWrapper.getBigInteger((IntegerValue)(p_region.getField("local_region"))); - WGS84 location = new WGS84( // Location - _tcicdWrapper.getInteger((IntegerValue)(p_location.getField("latitude"))), - _tcicdWrapper.getInteger((IntegerValue)(p_location.getField("longitude"))) - ); - - // Call Geodesic function - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(Positioning.getInstance().isLocationInsideIdentifiedRegion(regionDictionary, regionId, localRegion, location)); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_isLocationInsideIdentifiedRegion"); - return result; - } - - @Override - public FloatValue fx_dms2dd(final IntegerValue p_degrees, final IntegerValue p_minutes, final FloatValue p_seconds, final OctetstringValue p_latlon) { - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_dms2dd"); - - // Call Geodesic function - FloatValue result = _tcicdWrapper.getFloat(); - DMS location = new DMS( // Location - _tcicdWrapper.getInteger(p_degrees), - _tcicdWrapper.getInteger(p_minutes), - p_seconds.getFloat(), - (char)p_latlon.getOctet(0) - ); - result.setFloat((float) location.toDD()); - - //TERFactory.getInstance().logDebug("ItsExternalFunctionsProvider", "fx_dms2dd"); - return result; - } - - /** - * @desc Load in memory cache the certificates available in the specified directory - * @param p_rootDirectory Root directory to access to the certificates identified by the certificate ID - * @param p_configId A configuration identifier - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_loadCertificates(final CharstringValue p_rootDirectory, final CharstringValue p_configId) { - - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(_certCache.loadCertificates(p_rootDirectory.getString(), p_configId.getString())); - - return result; - } - - /** - * @desc Unload from memory cache the certificates - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_unloadCertificates() { - - BooleanValue result = _tcicdWrapper.getBoolean(); - result.setBoolean(_certCache.unloadCertificates()); - - return result; - } - - /** - * @desc Read the specified certificate - * @param p_certificateId the certificate identifier - * @param p_certificate the expected certificate - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_readCertificate(final CharstringValue p_certificateId, OctetstringValue p_certificate) { - - BooleanValue result = _tcicdWrapper.getBoolean(); - ByteArrayOutputStream certificate = new ByteArrayOutputStream(); - boolean b = _certCache.readCertificate(p_certificateId.getString(), certificate); - result.setBoolean(b); - - if(b){ - byte[] value = certificate.toByteArray(); - p_certificate.setLength(value.length); - if (value.length != 0) { - for (int i = 0; i < value.length; i++) { - p_certificate.setOctet(i, value[i]); - } // End 'for' statement - } - }else{ - p_certificate.setLength(0); - } - - return result; - } - - private static final byte[] ZERO32 = new byte[] { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - - /** - * @desc Read the specified certificate digest - * @param p_certificateId the certificate identifier - * @param p_digest the expected certificate digest - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_readCertificateDigest(final CharstringValue p_certificateId, OctetstringValue p_digest) { - - BooleanValue result = _tcicdWrapper.getBoolean(); - ByteArrayOutputStream digest = new ByteArrayOutputStream(); - boolean b = _certCache.readCertificateDigest(p_certificateId.getString(), digest); - result.setBoolean(b); - - p_digest.setLength(8); - byte[] value; - if(b){ - value = digest.toByteArray(); - if (value.length != 8) { - value = ZERO32; - } - }else{ - value = ZERO32; - } - for (int i = 0; i < 8; i++) { - p_digest.setOctet(i, value[i]); - } // End 'for' statement - return result; - } - - /** - * @desc Read the signing private key for the specified certificate - * @param p_keysId the keys identifier - * @param p_key the signing private key - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_readSigningKey(CharstringValue p_keysId, OctetstringValue p_key) { - - BooleanValue result = _tcicdWrapper.getBoolean(); - ByteArrayOutputStream key = new ByteArrayOutputStream(); - - boolean b = _certCache.readSigningKey(p_keysId.getString(), key); - result.setBoolean(b); - - p_key.setLength(32); - - byte[] value; - if(b){ - value = key.toByteArray(); - if(value.length != 32) { - value = ZERO32; - } - }else{ - value = ZERO32; - } - for (int i = 0; i < 32; i++) { - p_key.setOctet(i, value[i]); - } - return result; - } - - /** - * @desc Read the encrypting private key for the specified certificate - * @param p_keysId the keys identifier - * @param p_key the encrypting private key - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_readEncryptingKey(CharstringValue p_keysId, OctetstringValue p_key) { - - BooleanValue result = _tcicdWrapper.getBoolean(); - ByteArrayOutputStream key = new ByteArrayOutputStream(); - - boolean b = _certCache.readEncryptingKey(p_keysId.getString(), key); - result.setBoolean(b); - - p_key.setLength(32); - - byte[] value; - if(b){ - value = key.toByteArray(); - if(value.length != 32) { - value = ZERO32; - } - }else{ - value = ZERO32; - } - for (int i = 0; i < 32; i++) { - p_key.setOctet(i, value[i]); - } - return result; - } - -} // End of class ExternalFunctions - diff --git a/javasrc/geodesic/org/etsi/geodesic/CountriesAreas.java b/javasrc/geodesic/org/etsi/geodesic/CountriesAreas.java deleted file mode 100644 index dacead1def0abbd51a4950e4e5cf5a5b69dbdd0d..0000000000000000000000000000000000000000 --- a/javasrc/geodesic/org/etsi/geodesic/CountriesAreas.java +++ /dev/null @@ -1,464 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.geodesic; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.lang.management.RuntimeMXBean; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -import org.etsi.adapter.TERFactory; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.JsonSyntaxException; - - -public class CountriesAreas implements ICountriesAreas { - - /** - * Unique reference to this object - */ - private static ICountriesAreas Instance; - - /** - * The ISO-3166-1 region dictionary identifier - * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.25 IdentifiedRegion - */ - private final int Iso_3166_1 = 0; - - /** - * The United Nations region dictionary identifier - * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.25 IdentifiedRegion - */ - private final int Un_stats = 1; - - /** - * Reference to the Google JSon parser - */ - private JsonParser _jsonParser = null; - - /** - * Conversion from UN to ISO-3166 numerical code - * @see http://unstats.un.org/unsd/methods/m49/m49alphaf.htm - */ - private Map _un2iso3611; - - /** - * Conversion from ISO-3166 numerical code to alpha-2 code - * @see http://fr.wikipedia.org/wiki/ISO_3166-1 - */ - private Map _in2str4iso3611; - - /** - * Polygon areas for each country referenced by ISO 3166 - */ - private Map>> _countriesPolygons; - - /** - * Singleton pattern implementation - */ - public static ICountriesAreas getInstance() { - if (Instance == null) { - Instance = new CountriesAreas(); - Instance.initialise(); - } - - return Instance; - } - - private CountriesAreas() { - super(); - - _jsonParser = new JsonParser(); - - _countriesPolygons = new HashMap>>(); - - _in2str4iso3611 = new HashMap(); - _in2str4iso3611.put(new Integer(4), "AF"); - _in2str4iso3611.put(new Integer(8), "AL"); - _in2str4iso3611.put(new Integer(10), "AQ"); - _in2str4iso3611.put(new Integer(12), "DZ"); - _in2str4iso3611.put(new Integer(16), "AS"); - _in2str4iso3611.put(new Integer(20), "AD"); - _in2str4iso3611.put(new Integer(24), "AO"); - _in2str4iso3611.put(new Integer(28), "AG"); - _in2str4iso3611.put(new Integer(31), "AZ"); - _in2str4iso3611.put(new Integer(32), "AR"); - _in2str4iso3611.put(new Integer(36), "AU"); - _in2str4iso3611.put(new Integer(40), "AT"); - _in2str4iso3611.put(new Integer(44), "BS"); - _in2str4iso3611.put(new Integer(48), "BH"); - _in2str4iso3611.put(new Integer(50), "BD"); - _in2str4iso3611.put(new Integer(51), "AM"); - _in2str4iso3611.put(new Integer(52), "BB"); - _in2str4iso3611.put(new Integer(56), "BE"); - _in2str4iso3611.put(new Integer(60), "BM"); - _in2str4iso3611.put(new Integer(64), "BT"); - _in2str4iso3611.put(new Integer(68), "BO"); - _in2str4iso3611.put(new Integer(70), "BA"); - _in2str4iso3611.put(new Integer(72), "BA"); - _in2str4iso3611.put(new Integer(74), "BV"); - _in2str4iso3611.put(new Integer(76), "BR"); - _in2str4iso3611.put(new Integer(84), "BZ"); - _in2str4iso3611.put(new Integer(86), "IO"); - _in2str4iso3611.put(new Integer(90), "SB"); - _in2str4iso3611.put(new Integer(92), "VG"); - _in2str4iso3611.put(new Integer(96), "BN"); - _in2str4iso3611.put(new Integer(100), "BG"); - _in2str4iso3611.put(new Integer(104), "MM"); - _in2str4iso3611.put(new Integer(108), "BI"); - _in2str4iso3611.put(new Integer(112), "BY"); - _in2str4iso3611.put(new Integer(116), "KH"); - _in2str4iso3611.put(new Integer(120), "CM"); - _in2str4iso3611.put(new Integer(124), "CA"); - _in2str4iso3611.put(new Integer(132), "CV"); - _in2str4iso3611.put(new Integer(136), "CY"); - _in2str4iso3611.put(new Integer(140), "CF"); - _in2str4iso3611.put(new Integer(144), "LK"); - _in2str4iso3611.put(new Integer(148), "TD"); - _in2str4iso3611.put(new Integer(152), "CL"); - _in2str4iso3611.put(new Integer(156), "CN"); - _in2str4iso3611.put(new Integer(158), "TW"); - _in2str4iso3611.put(new Integer(162), "CX"); - _in2str4iso3611.put(new Integer(166), "CC"); - _in2str4iso3611.put(new Integer(170), "CO"); - _in2str4iso3611.put(new Integer(174), "KM"); - _in2str4iso3611.put(new Integer(175), "YT"); - _in2str4iso3611.put(new Integer(178), "CG"); - _in2str4iso3611.put(new Integer(180), "CD"); - _in2str4iso3611.put(new Integer(184), "CK"); - _in2str4iso3611.put(new Integer(188), "CR"); - _in2str4iso3611.put(new Integer(191), "HR"); - _in2str4iso3611.put(new Integer(192), "CU"); - _in2str4iso3611.put(new Integer(196), "CY"); - _in2str4iso3611.put(new Integer(203), "CZ"); - _in2str4iso3611.put(new Integer(204), "BJ"); - _in2str4iso3611.put(new Integer(208), "DK"); - _in2str4iso3611.put(new Integer(212), "DM"); - _in2str4iso3611.put(new Integer(214), "DO"); - _in2str4iso3611.put(new Integer(218), "EC"); - _in2str4iso3611.put(new Integer(222), "SV"); - _in2str4iso3611.put(new Integer(226), "GQ"); - _in2str4iso3611.put(new Integer(231), "ET"); - _in2str4iso3611.put(new Integer(232), "ER"); - _in2str4iso3611.put(new Integer(233), "EE"); - _in2str4iso3611.put(new Integer(234), "FO"); - _in2str4iso3611.put(new Integer(238), "FK"); - _in2str4iso3611.put(new Integer(239), "GS"); - _in2str4iso3611.put(new Integer(242), "FJ"); - _in2str4iso3611.put(new Integer(246), "FI"); - _in2str4iso3611.put(new Integer(248), "AX"); - _in2str4iso3611.put(new Integer(250), "FR"); - _in2str4iso3611.put(new Integer(254), "GF"); - _in2str4iso3611.put(new Integer(258), "PF"); - _in2str4iso3611.put(new Integer(260), "TF"); - _in2str4iso3611.put(new Integer(262), "DJ"); - _in2str4iso3611.put(new Integer(266), "GA"); - _in2str4iso3611.put(new Integer(268), "GE"); - _in2str4iso3611.put(new Integer(270), "GM"); - _in2str4iso3611.put(new Integer(275), "PS"); - _in2str4iso3611.put(new Integer(276), "DE"); - _in2str4iso3611.put(new Integer(288), "GH"); - _in2str4iso3611.put(new Integer(292), "GI"); - _in2str4iso3611.put(new Integer(296), "KI"); - _in2str4iso3611.put(new Integer(300), "GR"); - _in2str4iso3611.put(new Integer(304), "GL"); - _in2str4iso3611.put(new Integer(308), "GD"); - _in2str4iso3611.put(new Integer(312), "GP"); - _in2str4iso3611.put(new Integer(316), "GU"); - _in2str4iso3611.put(new Integer(320), "GT"); - _in2str4iso3611.put(new Integer(324), "GI"); - _in2str4iso3611.put(new Integer(328), "GY"); - _in2str4iso3611.put(new Integer(332), "HT"); - _in2str4iso3611.put(new Integer(334), "HM"); - _in2str4iso3611.put(new Integer(336), "VA"); - _in2str4iso3611.put(new Integer(340), "HN"); - _in2str4iso3611.put(new Integer(344), "HK"); - _in2str4iso3611.put(new Integer(348), "HU"); - _in2str4iso3611.put(new Integer(352), "IS"); - _in2str4iso3611.put(new Integer(356), "IN"); - _in2str4iso3611.put(new Integer(360), "ID"); - _in2str4iso3611.put(new Integer(364), "IR"); - _in2str4iso3611.put(new Integer(368), "IR"); - _in2str4iso3611.put(new Integer(372), "IE"); - _in2str4iso3611.put(new Integer(376), "IL"); - _in2str4iso3611.put(new Integer(380), "IT"); - _in2str4iso3611.put(new Integer(384), "CI"); - _in2str4iso3611.put(new Integer(388), "JM"); - _in2str4iso3611.put(new Integer(392), "JP"); - _in2str4iso3611.put(new Integer(398), "KZ"); - _in2str4iso3611.put(new Integer(400), "JO"); - _in2str4iso3611.put(new Integer(404), "KE"); - _in2str4iso3611.put(new Integer(408), "KP"); - _in2str4iso3611.put(new Integer(410), "KR"); - _in2str4iso3611.put(new Integer(414), "KW"); - _in2str4iso3611.put(new Integer(417), "KG"); - _in2str4iso3611.put(new Integer(418), "LA"); - _in2str4iso3611.put(new Integer(422), "LB"); - _in2str4iso3611.put(new Integer(426), "LS"); - _in2str4iso3611.put(new Integer(428), "LV"); - _in2str4iso3611.put(new Integer(430), "LR"); - _in2str4iso3611.put(new Integer(434), "LY"); - _in2str4iso3611.put(new Integer(438), "LI"); - _in2str4iso3611.put(new Integer(440), "LT"); - _in2str4iso3611.put(new Integer(442), "LU"); - _in2str4iso3611.put(new Integer(446), "MO"); - _in2str4iso3611.put(new Integer(450), "MG"); - _in2str4iso3611.put(new Integer(454), "MW"); - _in2str4iso3611.put(new Integer(458), "MY"); - _in2str4iso3611.put(new Integer(462), "MV"); - _in2str4iso3611.put(new Integer(466), "ML"); - _in2str4iso3611.put(new Integer(470), "MT"); - _in2str4iso3611.put(new Integer(474), "MQ"); - _in2str4iso3611.put(new Integer(478), "MR"); - _in2str4iso3611.put(new Integer(480), "MU"); - _in2str4iso3611.put(new Integer(484), "MX"); - _in2str4iso3611.put(new Integer(492), "MC"); - _in2str4iso3611.put(new Integer(496), "MN"); - _in2str4iso3611.put(new Integer(498), "MD"); - _in2str4iso3611.put(new Integer(499), "ME"); - _in2str4iso3611.put(new Integer(500), "MS"); - _in2str4iso3611.put(new Integer(504), "MA"); - _in2str4iso3611.put(new Integer(508), "MZ"); - _in2str4iso3611.put(new Integer(512), "OM"); - _in2str4iso3611.put(new Integer(516), "NA"); - _in2str4iso3611.put(new Integer(520), "NR"); - _in2str4iso3611.put(new Integer(524), "NP"); - _in2str4iso3611.put(new Integer(528), "NL"); - _in2str4iso3611.put(new Integer(531), "CW"); - _in2str4iso3611.put(new Integer(533), "AW"); - _in2str4iso3611.put(new Integer(534), "SX"); - _in2str4iso3611.put(new Integer(535), "BQ"); - _in2str4iso3611.put(new Integer(540), "NC"); - _in2str4iso3611.put(new Integer(548), "VU"); - _in2str4iso3611.put(new Integer(554), "NZ"); - _in2str4iso3611.put(new Integer(558), "NI"); - _in2str4iso3611.put(new Integer(562), "NE"); - _in2str4iso3611.put(new Integer(566), "NG"); - _in2str4iso3611.put(new Integer(570), "NU"); - _in2str4iso3611.put(new Integer(574), "NF"); - _in2str4iso3611.put(new Integer(578), "NO"); - _in2str4iso3611.put(new Integer(580), "MP"); - _in2str4iso3611.put(new Integer(581), "UM"); - _in2str4iso3611.put(new Integer(583), "FM"); - _in2str4iso3611.put(new Integer(584), "MH"); - _in2str4iso3611.put(new Integer(585), "PW"); - _in2str4iso3611.put(new Integer(586), "PK"); - _in2str4iso3611.put(new Integer(591), "PA"); - _in2str4iso3611.put(new Integer(598), "PG"); - _in2str4iso3611.put(new Integer(600), "PY"); - _in2str4iso3611.put(new Integer(604), "PE"); - _in2str4iso3611.put(new Integer(608), "PH"); - _in2str4iso3611.put(new Integer(612), "PN"); - _in2str4iso3611.put(new Integer(616), "PL"); - _in2str4iso3611.put(new Integer(620), "PT"); - _in2str4iso3611.put(new Integer(624), "GW"); - _in2str4iso3611.put(new Integer(626), "TL"); - _in2str4iso3611.put(new Integer(630), "PR"); - _in2str4iso3611.put(new Integer(634), "QA"); - _in2str4iso3611.put(new Integer(638), "RE"); - _in2str4iso3611.put(new Integer(642), "RO"); - _in2str4iso3611.put(new Integer(643), "RU"); - _in2str4iso3611.put(new Integer(646), "RW"); - _in2str4iso3611.put(new Integer(652), "BL"); - _in2str4iso3611.put(new Integer(654), "SH"); - _in2str4iso3611.put(new Integer(659), "KN"); - _in2str4iso3611.put(new Integer(660), "AI"); - _in2str4iso3611.put(new Integer(662), "LC"); - _in2str4iso3611.put(new Integer(663), "MF"); - _in2str4iso3611.put(new Integer(666), "PM"); - _in2str4iso3611.put(new Integer(670), "VC"); - _in2str4iso3611.put(new Integer(674), "SM"); - _in2str4iso3611.put(new Integer(678), "ST"); - _in2str4iso3611.put(new Integer(682), "SA"); - _in2str4iso3611.put(new Integer(686), "SN"); - _in2str4iso3611.put(new Integer(688), "RS"); - _in2str4iso3611.put(new Integer(690), "SC"); - _in2str4iso3611.put(new Integer(694), "SL"); - _in2str4iso3611.put(new Integer(702), "SG"); - _in2str4iso3611.put(new Integer(703), "SK"); - _in2str4iso3611.put(new Integer(704), "VN"); - _in2str4iso3611.put(new Integer(705), "SI"); - _in2str4iso3611.put(new Integer(706), "SO"); - _in2str4iso3611.put(new Integer(710), "ZA"); - _in2str4iso3611.put(new Integer(716), "ZW"); - _in2str4iso3611.put(new Integer(724), "ES"); - _in2str4iso3611.put(new Integer(728), "SS"); - _in2str4iso3611.put(new Integer(729), "SD"); - _in2str4iso3611.put(new Integer(732), "EH"); - _in2str4iso3611.put(new Integer(740), "SR"); - _in2str4iso3611.put(new Integer(744), "SJ"); - _in2str4iso3611.put(new Integer(748), "SZ"); - _in2str4iso3611.put(new Integer(752), "SE"); - _in2str4iso3611.put(new Integer(756), "CH"); - _in2str4iso3611.put(new Integer(760), "SY"); - _in2str4iso3611.put(new Integer(762), "TJ"); - _in2str4iso3611.put(new Integer(764), "TH"); - _in2str4iso3611.put(new Integer(768), "TG"); - _in2str4iso3611.put(new Integer(772), "TK"); - _in2str4iso3611.put(new Integer(776), "TO"); - _in2str4iso3611.put(new Integer(780), "TT"); - _in2str4iso3611.put(new Integer(784), "AE"); - _in2str4iso3611.put(new Integer(788), "TN"); - _in2str4iso3611.put(new Integer(792), "TR"); - _in2str4iso3611.put(new Integer(795), "TM"); - _in2str4iso3611.put(new Integer(796), "TC"); - _in2str4iso3611.put(new Integer(798), "TV"); - _in2str4iso3611.put(new Integer(800), "UG"); - _in2str4iso3611.put(new Integer(804), "UA"); - _in2str4iso3611.put(new Integer(807), "MK"); - _in2str4iso3611.put(new Integer(818), "EG"); - _in2str4iso3611.put(new Integer(826), "GB"); - _in2str4iso3611.put(new Integer(831), "GG"); - _in2str4iso3611.put(new Integer(832), "JE"); - _in2str4iso3611.put(new Integer(833), "IM"); - _in2str4iso3611.put(new Integer(834), "TZ"); - _in2str4iso3611.put(new Integer(840), "US"); - _in2str4iso3611.put(new Integer(850), "VI"); - _in2str4iso3611.put(new Integer(854), "BF"); - _in2str4iso3611.put(new Integer(858), "UY"); - _in2str4iso3611.put(new Integer(860), "UZ"); - _in2str4iso3611.put(new Integer(862), "VE"); - _in2str4iso3611.put(new Integer(876), "WF"); - _in2str4iso3611.put(new Integer(882), "WS"); - _in2str4iso3611.put(new Integer(887), "YE"); - _in2str4iso3611.put(new Integer(894), "ZM"); - - _un2iso3611 = _in2str4iso3611; // Until today, both tables are identical - - } // End of constructor - - @Override - public boolean initialise() { - try { - // Load JSon countries areas and parse it - RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean(); - Map systemProperties = runtimeBean.getSystemProperties(); - String fileName = systemProperties.get("user.dir") + systemProperties.get("file.separator") + "ne-countries-50m.json"; - BufferedReader in = new BufferedReader(new FileReader(new File(fileName))); - StringBuilder str = new StringBuilder(); - String lineSeparator = System.getProperty("line.separator"); - String line; - while ((line = in.readLine()) != null ) { - str.append(line); - str.append(lineSeparator); - } // End of 'while' statement - try { - parseLine(str.toString()); - } catch (JsonSyntaxException e) { - e.printStackTrace(); - } - in.close(); - - return true; - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - return false; - } - - /** - * - * @param p_stringToParse The JSon file to parse - * @see http://geojson.org/geojson-spec.html - * @see http://ckan.it.ox.ac.uk/fr/dataset/geojson-by-country-code - */ - private void parseLine(final String p_stringToParse) { - JsonElement jelement = _jsonParser.parse(p_stringToParse); - if (jelement != null) { - JsonObject jobj = jelement.getAsJsonObject(); - if (jobj != null) { - JsonArray jarray = jobj.getAsJsonArray("features"); - for (int i = 0; i < jarray.size(); i++) { - JsonObject properties = jarray.get(i).getAsJsonObject().getAsJsonObject("properties"); - String regionId = properties.getAsJsonPrimitive("iso_a2").getAsString(); - JsonObject geometry = jarray.get(i).getAsJsonObject().getAsJsonObject("geometry"); - String type = geometry.getAsJsonPrimitive("type").getAsString(); - _countriesPolygons.put(regionId, new ArrayList>()); - if (type.equalsIgnoreCase("Polygon") ) { - ArrayList points = new ArrayList(); - JsonArray coordinates = geometry.getAsJsonArray("coordinates").get(0).getAsJsonArray(); - for (int j = 0; j < coordinates.size(); j++) { - points.add( - new WGS84( - coordinates.get(j).getAsJsonArray().get(1).getAsDouble(), - coordinates.get(j).getAsJsonArray().get(0).getAsDouble(), - 0 - ) - ); - } // End of 'for' statement - _countriesPolygons.get(regionId).add(points); - } else if (geometry.getAsJsonPrimitive("type").getAsString().equalsIgnoreCase("MultiPolygon")) { - ArrayList points = new ArrayList(); - JsonArray coordinates = geometry.getAsJsonArray("coordinates"); - for (int j = 0; j < coordinates.size(); j++) { - JsonArray subCoordinates = coordinates.get(j).getAsJsonArray(); - for (int k = 0; k < subCoordinates.size(); k++) { - JsonArray subSubCoordinates = subCoordinates.get(k).getAsJsonArray(); - for (int l = 0; l < subSubCoordinates.size(); l++) { - points.add( - new WGS84( - subSubCoordinates.get(l).getAsJsonArray().get(1).getAsDouble(), - subSubCoordinates.get(l).getAsJsonArray().get(0).getAsDouble(), - 0 - ) - ); - } // End of 'for' statement - } // End of 'for' statement - _countriesPolygons.get(regionId).add(points); - } // End of 'for' statement - } else if (geometry.getAsJsonPrimitive("type").getAsString().equalsIgnoreCase("LineString")) { - // TODO To be continued - } else if (geometry.getAsJsonPrimitive("type").getAsString().equalsIgnoreCase("MultiLineString")) { - // TODO To be continued - } - } // End of 'for' statement - } - } - } - - @Override - public boolean isLocationInsideIdentifiedRegion(final int p_regionDictionary, final int p_regionId, final long p_localRegion, final WGS84 p_location) { -// TERFactory.getInstance().logDebug(">>> CountriesAreas.isLocationInsideIdentifiedRegion: " + p_regionDictionary + ", " + p_regionId + ", " + p_localRegion + ", " + p_location); - - boolean result = false; - if (p_regionDictionary == Iso_3166_1) { - if (_in2str4iso3611.containsKey(p_regionId)) { - result = process(_in2str4iso3611.get(p_regionId), p_localRegion, p_location); - } // else, error - } else if (p_regionDictionary == Un_stats) { - if (_un2iso3611.containsKey(p_regionId)) { - result = process(_in2str4iso3611.get(p_regionId), p_localRegion, p_location); - } // else, error - } // else, error - - return result; - } - - public boolean process(final String p_regionId, final long p_localRegion, final WGS84 p_location) { -// TERFactory.getInstance().logDebug(">>> CountriesAreas.process: " + p_regionId + ", " + p_localRegion + ", " + p_location); - - if (_countriesPolygons.containsKey(p_regionId)) { - ArrayList> areas = _countriesPolygons.get(p_regionId); - return Positioning.getInstance().isLocationInsidePolygonalAreas(p_location, areas); - } - - return false; - } - -} // End of class CountriesAreas diff --git a/javasrc/geodesic/org/etsi/geodesic/DMS.java b/javasrc/geodesic/org/etsi/geodesic/DMS.java deleted file mode 100644 index 0577d90ef81d1173b2c0698c998858a1464dd6cc..0000000000000000000000000000000000000000 --- a/javasrc/geodesic/org/etsi/geodesic/DMS.java +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.geodesic; - -public class DMS { - - private int _degrees = Integer.MAX_VALUE; - - private int _minutes = Integer.MAX_VALUE; - - private double _seconds = Double.NaN; - - private char _latlon = (char)0x00; - - private double _wgs84 = Double.NaN; - - /** - * @desc Constructor - * @param p_degrees The degrees (D) - * @param p_minutes The minutes (M) - * @param p_seconds The seconds (S) - * @param p_latlon The latitude/longitude: (N|S|E|W) - */ - public DMS(final int p_degrees, final int p_minutes, final double p_seconds, final char p_latlon) { - setValue(p_degrees, p_minutes, p_seconds, p_latlon); - } // End of DMS ctor - - /** - * @desc Update location - * @param p_degrees The degrees (D) - * @param p_minutes The minutes (M) - * @param p_seconds The seconds (S) - * @param p_latlon The latitude/longitude: (N|S|E|W) - */ - public void setValue(final int p_degrees, final int p_minutes, final double p_seconds, final char p_latlon) { - _degrees = p_degrees; - _minutes = p_minutes; - _seconds = p_seconds; - _latlon = p_latlon; - - _wgs84 = - (double)p_degrees + - (double)p_minutes / 60 + - (double)p_seconds / 3600; - if ((p_latlon == 'W') || (p_latlon == 'S')) _wgs84 *= -1.0; - } - - public double toDD() { - return _wgs84; - } - -} // End of class DMS diff --git a/javasrc/geodesic/org/etsi/geodesic/ICountriesAreas.java b/javasrc/geodesic/org/etsi/geodesic/ICountriesAreas.java deleted file mode 100644 index 8b0f3caf57de2555c6af47fbca3d352a1d61ca10..0000000000000000000000000000000000000000 --- a/javasrc/geodesic/org/etsi/geodesic/ICountriesAreas.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.geodesic; - -public interface ICountriesAreas { - - /** - * @desc Initialise the object - * @return true on success, false otherwise - */ - public boolean initialise(); - - /** - * @desc Check if a location is inside a predefined geographic region determined by the region dictionary and the region identifier - * @param p_regionDictionary The region dictionary - * @param p_regionId The region identifier - * @param p_localRegion The whole region. 0 if the whole region is meant - * @param p_location The location to be checked - * @return true on success, false otherwise - * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.25 IdentifiedRegion - */ - public boolean isLocationInsideIdentifiedRegion(final int p_regionDictionary, final int p_regionId, final long p_localRegion, final WGS84 p_location); - -} // End of interface ICountriesAreas diff --git a/javasrc/geodesic/org/etsi/geodesic/IPositioning.java b/javasrc/geodesic/org/etsi/geodesic/IPositioning.java deleted file mode 100644 index de87766438cc2f86195f4707e24e878b7a57db2f..0000000000000000000000000000000000000000 --- a/javasrc/geodesic/org/etsi/geodesic/IPositioning.java +++ /dev/null @@ -1,71 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.geodesic; - -import java.util.ArrayList; - -public interface IPositioning { - - /** - * @desc Check that the location is inside an elliptic area - * @param p_location The device location - * @param p_ellipticArea The circular area to consider - * @return true on success, false otherwise - */ - public boolean isLocationInsideEllipticArea(final WGS84 p_location, final ArrayList p_ellipticArea); - - /** - * @desc Check that the location is inside a polygonal area - * @param p_location The device location - * @param p_polygonalArea The polygonal area to consider - * @return true on success, false otherwise - */ - public boolean isLocationInsidePolygonalArea(final WGS84 p_location, final ArrayList p_polygonalArea); - - /** - * @desc Check that the location is inside a list of polygonal areas - * @param p_location The device location - * @param p_polygonalAreas The list of polygonal areas to consider - * @return true on success, false otherwise - */ - public boolean isLocationInsidePolygonalAreas(final WGS84 p_location, final ArrayList< ArrayList > p_polygonalAreas); - - /** - * @desc Check that the location is inside a circular area - * @param p_region The circular area to consider - * @param p_center The circle center position - * @param p_radius The circle radius - * @return true on success, false otherwise - */ - public boolean isLocationInsideCircularArea(final WGS84 p_location, final WGS84 p_center, final int p_radius); - - /** - * @desc Check if the polygonal area is valid (neither self-intersections nor holes) - * @param p_polygonalArea The polygonal area to consider - * @return true on success, false otherwise - */ - public boolean isValidPolygonArea(final ArrayList p_polygonalArea); - - /** - * @desc Check if the location is inside an identified region - * @param p_regionDictionary - * @param p_regionId - * @param p_localRegion - * @param p_location - * @return true on success, false otherwise - */ - boolean isLocationInsideIdentifiedRegion(final int p_regionDictionary, final int p_regionId, final long p_localRegion, final WGS84 p_location); - - /** - * @desc Check if a polygonal regin is inside another one - * @param p_parent The main polygonal region - * @param p_region The polygonal region to be included - * @return true on success, false otherwise - * @verdict Unchanged - */ - public boolean isPolygonalRegionInside(final ArrayList p_parentArea, final ArrayList p_regionArea); - -} // End of interface Positioning diff --git a/javasrc/geodesic/org/etsi/geodesic/Positioning.java b/javasrc/geodesic/org/etsi/geodesic/Positioning.java deleted file mode 100644 index 714c9c0877d2e28638a6bfe9e34a0352341ec2ea..0000000000000000000000000000000000000000 --- a/javasrc/geodesic/org/etsi/geodesic/Positioning.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.etsi.geodesic; - -import java.util.ArrayList; - -import org.etsi.adapter.TERFactory; - -/** - * @desc - * @see To validate GPS location: http://www.gps-coordinates.net - */ -public class Positioning implements IPositioning { - - public static double TWOPI = 2 * Math.PI; - - /** - * Unique reference to this object - */ - private static IPositioning Instance; - - /** - * Singleton pattern implementation - */ - public static IPositioning getInstance() { - if (Instance == null) { - Instance = new Positioning(); - } - - return Instance; - } - - /** - * Private constructor required for Singleton pattern implementation - */ - private Positioning() { - - } - - @Override - public boolean isLocationInsideEllipticArea(final WGS84 p_location, final ArrayList p_ellipticArea) { -// TERFactory.getInstance().logDebug(">>> Positioning.isLocationInsideEllipticArea: " + p_location); - - // TODO: implement it - // Do not forget aboout passing throw 0 meridian - return false; - } - - @Override - public boolean isLocationInsidePolygonalArea(final WGS84 p_location, final ArrayList p_polygonalArea) { -// TERFactory.getInstance().logDebug(">>> Positioning.isLocationInsidePolygonalArea: " + p_location + ", " + p_polygonalArea); - - // TODO: Check passing throw 0 meridian and Equador - - double angle = 0; - int poleNum = p_polygonalArea.size(); - for (int index = 0; index < poleNum; index++) { - WGS84 delta1 = new WGS84( - p_polygonalArea.get(index).getLatitude() - p_location.getLatitude(), - p_polygonalArea.get(index).getLongitude() - p_location.getLongitude(), - 0 - ); - WGS84 delta2 = new WGS84( - p_polygonalArea.get((index + 1) % poleNum).getLatitude() - p_location.getLatitude(), - p_polygonalArea.get((index + 1) % poleNum).getLongitude() - p_location.getLongitude(), - 0 - ); - angle += calcAngle(delta1, delta2); - } // End of 'for' statement - -// TERFactory.getInstance().logDebug("<<< Positioning.isLocationInsidePolygonalArea: " + (boolean)((Math.abs(angle) < Math.PI) ? false : true)); - return (boolean)((Math.abs(angle) < Math.PI) ? false : true); - } - - @Override - public boolean isLocationInsidePolygonalAreas(final WGS84 p_location, final ArrayList< ArrayList > p_polygonalAreas) { -// TERFactory.getInstance().logDebug(">>> Positioning.isLocationInsidePolygonalAreas: " + p_location); - - for (int index = 0; index < p_polygonalAreas.size(); index++) { - if (isLocationInsidePolygonalArea(p_location, p_polygonalAreas.get(index))) { - return true; - } - } // End of 'for' statement - - return false; // Not found - } - - @Override - public boolean isLocationInsideCircularArea(final WGS84 p_location, final WGS84 p_center, final int p_radius) { -// TERFactory.getInstance().logDebug(">>> Positioning.isLocationInsideCircularArea: " + p_location + ", " + p_center + ", " + p_radius); - - // TODO: Check passing throw 0 meridian and Equador - - double theta = p_center.getLongitude() - p_location.getLongitude(); - double distance = - Math.sin(dd2rad(p_center.getLatitude())) * Math.sin(dd2rad(p_location.getLatitude())) + - Math.cos(dd2rad(p_center.getLatitude())) * Math.cos(dd2rad(p_location.getLatitude())) * Math.cos(dd2rad(theta)); - distance = rad2dd(Math.acos(distance)); - distance *= 60 * 1.1515 * 1.609344 /*Kilometers*/; -// TERFactory.getInstance().logDebug("Positioning.isLocationInsideCircularArea: distance=" + distance); - -// TERFactory.getInstance().logDebug("<<< Positioning.isLocationInsideCircularArea: " + (boolean)(distance <= (p_radius / 1000.0))); - return (boolean)(distance <= (p_radius / 1000.0)); - } - - @Override - public boolean isValidPolygonArea(final ArrayList p_polygonalArea) { -// TERFactory.getInstance().logDebug(">>> Positioning.isValidPolygonArea"); - - // Check if polygon coordinates are valid - for (int i = 0; i < p_polygonalArea.size(); i++) { - if (!p_polygonalArea.get(i).isValidPosition()) { - return false; - } - } - - return true; - } - - @Override - public boolean isLocationInsideIdentifiedRegion(final int p_regionDictionary, final int p_regionId, final long p_localRegion, final WGS84 p_location) { -// TERFactory.getInstance().logDebug(">>> Positioning.isLocationInsideIdentifiedRegion: " + p_regionDictionary + ", " + p_regionId + ", " + p_localRegion + ", " + p_location); - - return CountriesAreas.getInstance().isLocationInsideIdentifiedRegion(p_regionDictionary, p_regionId, p_localRegion, p_location); - } - - @Override - public boolean isPolygonalRegionInside(final ArrayList p_parentArea, final ArrayList p_regionArea) { -// TERFactory.getInstance().logDebug(">>> Positioning.isPolygonalRegionInside: " + p_parentArea + ", " + p_regionArea); - - for (int i = 0; i < p_regionArea.size(); i++) { - if (!isLocationInsidePolygonalArea(p_regionArea.get(i), p_parentArea)) { - return false; - } - } // End of 'for' statement - - return true; - } - - private double calcAngle(final WGS84 p_origin, final WGS84 p_end) { -// TERFactory.getInstance().logDebug(">>> calcAngle: " + p_origin.getLatitude() + " - " + p_origin.getLongitude() + " - " + p_end.getLatitude() + " - " + p_end.getLongitude()); - double theta1 = Math.atan2(p_origin.getLatitude(), p_origin.getLongitude()); -// TERFactory.getInstance().logDebug("Angle2D: theta1=" + theta1); - double theta2 = Math.atan2(p_end.getLatitude(), p_end.getLongitude()); -// TERFactory.getInstance().logDebug("Angle2D: theta2=" + theta2); - double dtheta = theta2 - theta1; -// TERFactory.getInstance().logDebug("calcAngle: dtheta" + dtheta); - while (dtheta > Math.PI) { - dtheta -= TWOPI; - } // End of 'while' statement - while (dtheta < -Math.PI) { - dtheta += TWOPI; - } // End of 'while' statement - -// TERFactory.getInstance().logDebug("<<< calcAngle: " + dtheta); - return dtheta; - } - - /** - * @desc Convert a decimal degrees value into a decimal radian - * @param p_decimalDegrees The value to convert - * @return The converted value in radians - */ - private double dd2rad(final double p_decimalDegrees) { - return p_decimalDegrees * Math.PI / 180; - } - - /** - * @desc Convert a decimal radians value into a decimal degrees - * @param p_decimalRadians The value to convert - * @return The converted value in degrees - */ - private double rad2dd(final double p_decimalRadians) { - return p_decimalRadians * 180.0 / Math.PI; - } - -} // End of class Positioning diff --git a/javasrc/geodesic/org/etsi/geodesic/WGS84.java b/javasrc/geodesic/org/etsi/geodesic/WGS84.java deleted file mode 100644 index 0944187d086a8098adae0b259634b5e4b5c86a5b..0000000000000000000000000000000000000000 --- a/javasrc/geodesic/org/etsi/geodesic/WGS84.java +++ /dev/null @@ -1,112 +0,0 @@ -/** - * @author ETSI / STF481 / Yann Garcia - * @version $URL$ - * $Id$ - */ -package org.etsi.geodesic; - -public class WGS84 { - - /** Longitude of the location */ - private double _longitude = Double.NaN; - - /** Latitude of the location */ - private double _latitude = Double.NaN; - - /** Altitude of the location */ - private double _altitude = Double.NaN; - - private int _longitudeD = Integer.MAX_VALUE; - - private int _longitudeM = Integer.MAX_VALUE; - - private double _longitudeS = Double.NaN; - - private int _latitudeD = Integer.MAX_VALUE; - - private int _latitudeM = Integer.MAX_VALUE; - - private double _latitudeS = Double.NaN; - - /** Heading of the location */ -// private double _heading = Double.NaN; - - /** - * @desc Constructor - * @param p_longitude Longitude of the location - * @param p_latitude Latitude of the location - * @param p_altitude Altitude of the location - */ - public WGS84(final double p_latitude, final double p_longitude, final double p_altitude) { - setValue(p_latitude, p_longitude, p_altitude); - } // End of WGS84 ctor - - /** - * Constructor used to convert WGSLatitude/WGSLongitude value into decimal degrees value - * @param p_latitude Latiude integer value (significand length shall be 6 digits length) - * @param p_longitude Longitude integer value (significand length shall 6 digits length) - */ - public WGS84(final long p_latitude, final long p_longitude) { - setValue( - (double)p_latitude / 10000000, - (double)p_longitude / 10000000, - 0.0 - ); - } // End of WGS84 ctor - - /** - * @desc Update location - * @param p_longitude Longitude of the location - * @param p_latitude Latitude of the location - * @param p_altitude Altitude of the location - */ - public void setValue(final double p_latitude, final double p_longitude, final double p_altitude) { - _latitude = p_latitude; - _latitudeD = (int)p_latitude; // Truncate the decimals - double dv = (p_latitude - _latitudeD) * 60; - _latitudeM = (int)dv; - _latitudeS = (dv - _latitudeM) * 60; - - _longitude = p_longitude; - _longitudeD = (int)p_longitude; // Truncate the decimals - dv = (p_longitude - _longitudeD) * 60; - _longitudeM = (int)dv; - _longitudeS = (dv - _longitudeM) * 60; - - _altitude = p_altitude; - } - - public double getLongitude() { - return _longitude; - } - - public double getLatitude() { - return _latitude; - } - - public double getAltitude() { - return _altitude; - } - - public boolean isValidPosition() { - if ((_latitude > -90) && (_latitude < 90) && (_longitude > -180) && (_longitude < 180)) { - return true; - } - - return false; - } - - public String toDMS() { - return String.format("WGS84: l=%s°$s'%s'', L=%s°$s'%s'', A=%s", - String.valueOf(_latitudeD), String.valueOf(_latitudeM), String.valueOf(_latitudeS), - String.valueOf(_longitudeD), String.valueOf(_longitudeM), String.valueOf(_longitudeS), - String.valueOf(_altitude) - ); - } - - @Override - public String toString() { - return String.format("WGS84: lat=%s, lon=%s, alt=%s", String.valueOf(_latitude), String.valueOf(_longitude), String.valueOf(_altitude)); - } - -} // End of class WGS84 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/BuiltInCodec.java b/javasrc/tool/org/etsi/its/tool/elvior/BuiltInCodec.java deleted file mode 100644 index 0c7f233ab966dd04f86eb51ca03f6c20a4bb97e3..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/BuiltInCodec.java +++ /dev/null @@ -1,182 +0,0 @@ -package org.etsi.its.tool.elvior; - -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.elvior.ttcn.tritci.TciProvider; -import org.elvior.ttcn.tritci.TriMessageEx; -import org.elvior.ttcn.tritci.TriProvider; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.TciCDProvided; -import org.etsi.ttcn.tci.TciDecodingResult; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class BuiltInCodec implements TciCDProvided { - - /** - * Logger instance - */ - protected final static Logger _logger = Logger.getLogger("org.etsi.its"); - - private String _encodingName; - - /** - * Constructor - */ - public BuiltInCodec(final String encodingName) { - _logger.entering("BuiltInCodec", "BuiltInCodec", encodingName); - - if (encodingName.equals("LibItsDenm_asn1")) { - _encodingName = "DENM_PDU_Descriptions"; - } else if (encodingName.equals("LibItsCam_asn1")) { - _encodingName = "CAM_PDU_Descriptions"; - } else if (encodingName.equals("LibItsMapemSpatem_asn1")) { - _encodingName = "MAPEM_SPATEM_ETSI"; - } else if (encodingName.equals("LibItsIvim_asn1")) { - _encodingName = "IVIM_PDU_Descriptions"; - } else if (encodingName.equals("LibItsEvcsn_asn1")) { - _encodingName = "EVCSN_PDU_Descriptions"; - } else if (encodingName.equals("LibItsSremSsem_asn1")) { - _encodingName = "SREM_SSEM_ETSI"; - } else if (encodingName.equals("LibItsCALMmsap_asn1")) { - _encodingName = "CALMmsap"; - } else if (encodingName.equals("LibItsCALMllsap_asn1")) { - _encodingName = "CALMllsap"; - } else if (encodingName.equals("LibItsFntp_asn1")) { - _encodingName = "CALMfntp"; - } else if (encodingName.equals("LibItsFsap_asn1")) { - _encodingName = "CALMfsap"; - } else if (encodingName.equals("LibItsIicp_asn1")) { - _encodingName = "CALMiitsscu"; - } else { - _encodingName = ""; - } - } - - /** - * This operation decodes message according to the encoding rules and returns a TTCN-3 value. - * The decodingHypothesis shall be used to determine whether the encoded value can be decoded. - * If an encoding rule is not self-sufficient, i.e. if the encoded message does not inherently - * contain its type decodingHypothesis shall be used. If the encoded value can be decoded without - * the decoding hypothesis, the distinct null value shall be returned if the type determined from - * the encoded message is not compatible with the decoding hypothesis - * - * @param message The encoded message to be decoded - * @param decodingHypothesis The hypothesis the decoding can be based on - * @return Returns the decoded value, if the value is of a compatible type as the decodingHypothesis, else the distinct value null - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.2.1 decode - */ - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("BuiltInCodec", "decode", decodingHypothesis.getName()); - - TriMessageEx msg = TriProvider.getInstance().getTriFactory().createMessageEx(); - msg.setEncodedMessage(message.getEncodedMessage()); - if (_logger.isLoggable(Level.ALL)) ByteHelper.dump("BuiltInCodec.decode: ", msg.getEncodedMessage()); - - String type = String.format("%s.%s", _encodingName, decodingHypothesis.getName()); - _logger.info("Type: " + type); - Type asnOriginalType = getTypeForName(type); - // Check which type class the decoding hypothesis is of - Value value = TciProvider.getInstance().getSystemInterface().internalDecode(msg, asnOriginalType); - _logger.exiting("BuiltInCodec", "decode", value.toString()); - return value; - } - - @Override - public TriMessage encode(final Value template) { - _logger.entering("BuiltInCodec", "encode", template.getType().getName()); - - RecordValue asn1Value = (RecordValue)template; - String type = String.format("%s.%s", _encodingName, template.getType().getName()); - _logger.info("Type: " + type); - Type asnOriginalType = getTypeForName(type); - if (asnOriginalType != null) { - RecordValue internalASNEncodecValue = (RecordValue)asnOriginalType.newInstance(); - String[] fields = internalASNEncodecValue.getFieldNames(); - for(String field: fields) { - _logger.info(String.format("Process field %s", field)); - Value fieldValue = asn1Value.getField(field); - if(fieldValue.notPresent()) { - _logger.info(String.format("Field %s was omitted", field)); - internalASNEncodecValue.setFieldOmitted(field); - } else { - _logger.info(String.format("Field %s was added", field)); - internalASNEncodecValue.setField(field, fieldValue); - } - } // End of 'for' statement - _logger.info("Call internal codec"); - TriMessage msg = TciProvider.getInstance().getSystemInterface().internalEncode(internalASNEncodecValue); - ByteHelper.dump("BuiltInCodec.encode: ", msg.getEncodedMessage()); - _logger.exiting("BuiltInCodec", "encode"); - return msg; - } - - _logger.exiting("BuiltInCodec", "encode", "null"); - return null; - } - - private Type getTypeForName(final String type) { - _logger.entering("BuiltInCodec", "getTypeForName", type); - - Type asnOriginalType = TciProvider.getInstance().getTciCDRequired().getTypeForName(type); - if (asnOriginalType == null) { // Failed with default mechanism, try with External Attributes mechanism -// type = decodingHypothesis.getName(); //FIXME External Attributes mechanism does not work - String type_ = ""; - if (type.endsWith("nfSapPrimitivesUp")) { - type_ = String.format("%s.%s", _encodingName, "NFsapPrimitivesUp"); - } else if (type.endsWith("faSapPrimitivesUp")) { - type_ = String.format("%s.%s", _encodingName, "FAsapPrimitivesUp"); - } else if (type.endsWith("mnRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MN_Request_request"); - } else if (type.endsWith("mfCommandRequest")) { - type_ = String.format("%s.%s", _encodingName, "MF_Command_request"); - } else if (type.endsWith("miCommandRequest")) { - type_ = String.format("%s.%s", _encodingName, "MI_Command_request"); - } else if (type.endsWith("miCommandConfirm")) { - type_ = String.format("%s.%s", _encodingName, "MI_Command_confirm"); - } else if (type.endsWith("miRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MI_Request_request"); - } else if (type.endsWith("miRequestConfirm")) { - type_ = String.format("%s.%s", _encodingName, "MI_Request_confirm"); - } else if (type.endsWith("miSetRequest")) { - type_ = String.format("%s.%s", _encodingName, "MI_Set_request"); - } else if (type.endsWith("miSetConfirm")) { - type_ = String.format("%s.%s", _encodingName, "MI_Set_confirm"); - } else if (type.endsWith("miGetRequest")) { - type_ = String.format("%s.%s", _encodingName, "MI_Get_request"); - } else if (type.endsWith("miGetConfirm")) { - type_ = String.format("%s.%s", _encodingName, "MI_Get_confirm"); - } if (type.endsWith("fntpNPDU")) { - type_ = String.format("%s.%s", _encodingName, "INsapPrimitivesUp"); - } - _logger.info("Type: " + type_); - asnOriginalType = TciProvider.getInstance().getTciCDRequired().getTypeForName(type_); - } - - _logger.exiting("BuiltInCodec", "getTypeForName", asnOriginalType.getName()); - return asnOriginalType; - } // End of method getTypeForName - - @Override - public TciDecodingResult decodeValue(TriMessage arg0, Type arg1, String arg2) { - // TODO Auto-generated method stub - return null; - } - - @Override - public TriMessage encodeValue(Value arg0, String arg1) { - // TODO Auto-generated method stub - return null; - } - -} // End of class BuiltInCodec diff --git a/javasrc/tool/org/etsi/its/tool/elvior/GetValueStructure.java b/javasrc/tool/org/etsi/its/tool/elvior/GetValueStructure.java deleted file mode 100644 index aefb2a9d19f961f1a38b1194fc0b1c796de4714d..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/GetValueStructure.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.elvior.ttcn.tritci.IntegerValueEx; -import org.etsi.ttcn.tci.BitstringValue; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.HexstringValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.tci.UnionValue; -import org.etsi.ttcn.tci.Value; - -public class GetValueStructure { - - static String indent = null; - static StringBuilder buffer = null; - - static public void displayValueStructure(final Value value) { - buffer = new StringBuilder(); - indent = ""; - LogValueDataStructure(value); -// TERFactory.getInstance().logDebug(buffer.toString()); - } - - static public String getValueStructure(final Value value) { - buffer = new StringBuilder(); - indent = ""; - LogValueDataStructure(value); - return buffer.toString(); - } - - static private void LogValueDataStructure(final Value value) { - if (value.notPresent()) { - buffer.append(indent + value.getClass().getName() + " : omitted" + "\n"); - return; - } - switch (value.getType().getTypeClass()) { - case TciTypeClass.BOOLEAN: { - BooleanValue bv = (BooleanValue)value; - buffer.append(indent + bv.getClass().getName() + " : " + new java.lang.Boolean(bv.getBoolean()) + " - encode : " + bv.getValueEncoding() + " - variant : " + bv.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.INTEGER: { - IntegerValueEx iv = (IntegerValueEx)value; - buffer.append(indent + iv.getClass().getName() + " : " + iv.getInt64() + " - encode : " + iv.getValueEncoding() + " - variant : " + iv.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.FLOAT: { - FloatValue fv = (FloatValue)value; - buffer.append(indent + fv.getClass().getName() + " : " + fv.getFloat() + " - encode : " + fv.getValueEncoding() + " - variant : " + fv.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.CHARSTRING: { - CharstringValue csv = (CharstringValue)value; - buffer.append(indent + csv.getClass().getName() + " : " + csv.getString() + " - encode : " + csv.getValueEncoding() + " - variant : " + csv.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.BITSTRING: { - BitstringValue bv = (BitstringValue)value; - buffer.append(indent + bv.getClass().getName() + " : " + bv.getString() + " - encode : " + bv.getValueEncoding() + " - variant : " + bv.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.OCTETSTRING: { - OctetstringValue ov = (OctetstringValue)value; - buffer.append(indent + ov.getClass().getName() + " : " + ov.getString() + " - encode : " + ov.getValueEncoding() + " - variant : " + ov.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.HEXSTRING: { - HexstringValue hv = (HexstringValue)value; - buffer.append(indent + hv.getClass().getName() + " : " + hv.getString() + " - encode : " + hv.getValueEncoding() + " - variant : " + hv.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.ENUMERATED: { - EnumeratedValue ev = (EnumeratedValue)value; - buffer.append(indent + ev.getClass().getName() + " : " + ev.getEnum() + " - encode : " + ev.getValueEncoding() + " - variant : " + ev.getValueEncodingVariant() + "\n"); - } - break; - case TciTypeClass.SET: - // No break; - case TciTypeClass.RECORD: { - RecordValue rv = (RecordValue)value; - buffer.append(indent + rv.getClass().getName() + " - encode : " + rv.getValueEncoding() + " - variant : " + rv.getValueEncodingVariant() + "\n"); - indent += "\t"; - for (String key : rv.getFieldNames()) { - LogValueDataStructure(rv.getField(key)); - } // End of 'for'statement - indent = indent.substring(0, indent.length() -1); - } - break; - case TciTypeClass.ANYTYPE: - // No break; - case TciTypeClass.UNION: { - UnionValue uv = (UnionValue)value; - buffer.append(indent + uv.getClass().getName() + " - encode : " + uv.getValueEncoding() + " - variant : " + uv.getValueEncodingVariant() + "\n"); - indent += "\t"; - LogValueDataStructure(uv.getVariant(uv.getPresentVariantName())); - indent = indent.substring(0, indent.length() -1); - } - break; - case TciTypeClass.RECORD_OF: - // No break; - case TciTypeClass.SET_OF: { - RecordOfValue rofv = (RecordOfValue)value; - buffer.append(indent + rofv.getClass().getName() + " - encode : " + rofv.getValueEncoding() + " : " + rofv.getLength() + " - variant : " + rofv.getValueEncodingVariant() + "\n"); - indent += "\t"; - for (int key = 0; key < rofv.getLength(); key++) { - LogValueDataStructure(rofv.getField(key)); - } // End of 'for'statement - indent = indent.substring(0, indent.length() -1); - } - break; - default: - throw new RuntimeException("Unimplemented class type: " + value.getType().getTypeClass()); - } // End of 'switch' value - } - -} diff --git a/javasrc/tool/org/etsi/its/tool/elvior/Its_CodecProvider.java b/javasrc/tool/org/etsi/its/tool/elvior/Its_CodecProvider.java deleted file mode 100644 index 83ec06abf9a364bdc63bfe88550598e643e91388..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/Its_CodecProvider.java +++ /dev/null @@ -1,258 +0,0 @@ -package org.etsi.its.tool.elvior; - -import java.io.IOException; -import java.util.Properties; -import java.util.logging.ConsoleHandler; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.elvior.ttcn.tritci.ChannelEventHandler; -import org.elvior.ttcn.tritci.TciProvider; -import org.elvior.ttcn.tritci.TriTciChannel; -import org.etsi.codec.ITCIRequired; -import org.etsi.codec.ITciCDWrapper; -import org.etsi.codec.TciCDWrapperFactory; -import org.etsi.tool.elvior.TciCDWrapper; -import org.etsi.ttcn.codec.CodecFactory; -import org.etsi.ttcn.tci.TciCDProvided; -import org.etsi.ttcn.tci.TciDecodingResult; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -public class Its_CodecProvider implements TciCDProvided, ChannelEventHandler, ITCIRequired { - - private static Properties _properties = new Properties(); - - /** - * Logger instance - */ - private final static Logger _logger = Logger.getLogger("org.etsi.its"); - - private ITciCDWrapper _cdReq; - - private CodecFactory _cf; - - public Its_CodecProvider() { - //_logger.entering("Its_CodecProvider", "Its_CodecProvider"); - - // Load Codec settings - _cdReq = null; - _cf = null; - try { - _properties.load(MainCodec.class.getResourceAsStream("/org/etsi/its/tool/elvior/res/codec.properties")); - } catch (IOException e) { - e.printStackTrace(); - } - String debugLevel = _properties.getProperty("DEBUG_ENABLED", "OFF"); - Level level = Level.OFF; - if (debugLevel.equalsIgnoreCase("ALL")) { - level = Level.ALL; - } else if (debugLevel.equalsIgnoreCase("INFO")) { - level = Level.INFO; - } else if (debugLevel.equalsIgnoreCase("SEVERE")) { - level = Level.SEVERE; - } else if (!debugLevel.equalsIgnoreCase("OFF")) { - // FIXME - //TERFactory.getInstance().logError("Unsupported logging level: " + debugLevel); - level = Level.OFF; - } - //_logger.addHandler(new ConsoleHandler()); - //_logger.setLevel(level); - //_logger.getHandlers()[0].setLevel(level); - - // Register this object as the instance implementing the TCI-CD Provided interface - TciProvider.getInstance().setTciCDProvided(this); - TriTciChannel channel = TriTciChannel.getInstance(); - // Set application name that will be displayed in the TestCast log - channel.setApplicationName("ItsCodec"); - // Register this object as the receiver of events generated by TestCast framework - channel.setEventHandler(this); - - initializeCodecs(); - } - - private void initializeCodecs() { - TciCDWrapperFactory.getInstance().setImpl(new TciCDWrapper()); - _cdReq = TciCDWrapperFactory.getTciCDInstance(); - - // Register External codecs - _cf = CodecFactory.getInstance(); - // TODO Reuse Build-in codec here - - String[] asn1Codecs = _properties.getProperty("ASN.1Codecs", "").split(","); - for (String codec : asn1Codecs) { - String[] paths = _properties.getProperty(codec, "").split(","); - try { - _cf.setExternalCodec(paths[0], (TciCDProvided) Class.forName(paths[1]).newInstance()); - } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { - e.printStackTrace(); - } - } // End of 'for' loop - try { // This comes with 'with encode () "UpperTester"' for all UtxxxTrigger/UtxxxUpdate messages - _cf.setExternalCodec("per-basic-unaligned:1997", LibIts_asn1.class.newInstance()); - } catch (InstantiationException | IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - - public void run() { - //_logger.entering("Its_CodecProvider", "run"); - - // Attempt to connect to TestCast - if (TriTciChannel.getInstance().open()) { - try { - synchronized(this) { - wait(); - } - } catch (InterruptedException e) { - } - } - - //_logger.exiting("Its_CodecProvider", "run"); - } - - @Override - public void onConnectionClosed() { - //_logger.entering("Its_CodecProvider", "onConnectionClosed"); - synchronized(this) { - notify(); - } - } - - @Override - public void onConnectionEstablished() { - //_logger.entering("Its_CodecProvider", "onConnectionEstablished"); - } - - @Override - public void onError(String error) { - //_logger.entering("Its_CodecProvider", "onError", error); - } - - @Override - public Value decode(TriMessage message, Type decodingHypothesis) { - /*_logger.entering( - "decode", - String.format("%s - %s - %s", - decodingHypothesis.getName(), - decodingHypothesis.getTypeEncoding(), - decodingHypothesis.getTypeClass()));*/ - String encodingName = decodingHypothesis.getTypeEncoding(); - if (encodingName != null) { - encodingName = decodingHypothesis.getDefiningModule().getModuleName(); - } else { // Use basic codec - encodingName = ""; - } - TciCDProvided codec = getCodec(encodingName); - if (codec == null) { - return null; - } - Value value = codec.decode(message, decodingHypothesis); - //_logger.exiting("Its_CodecProvider.decode", (value != null) ? GetValueStructure.getValueStructure(value) : "(null)"); - return value; - } - - @Override - public TriMessage encode(Value value) { - /*_logger.entering( - "encode", - String.format( - ">>> encode: %s - %s - %s - %s - %s - %s - %s - %s - %s", - value.getType().getName(), - value.getType().getDefiningModule(), - value.getType().getDefiningModule().getModuleName(), - value.getType().getTypeExtension(), - value.getType().getTypeEncoding(), - value.getType().getTypeEncodingVariant(), - value.getValueEncoding(), - value.getValueEncodingVariant(), - (value.notPresent() == true) ? "true" : "false" - ) - );*/ -// TERFactory.getInstance().logDebug(">>> encode: " + value.getType().getName()); - String encodingName = value.getType().getTypeEncoding(); - if ((encodingName != null) && !encodingName.startsWith("Lib")) { - encodingName = value.getType().getDefiningModule().getModuleName(); - } else if (encodingName == null) { // Use basic codec - encodingName = ""; - } - TciCDProvided codec = getCodec(encodingName); - if (codec == null) { - return null; - } - //_logger.info("Value to encode: " + GetValueStructure.getValueStructure(value)); - TriMessage res = codec.encode(value); - //_logger.exiting("encode", res.toString()); - return res; - } - - /** - * This method provides the codec associated to the specified encoding identifier - * - * @param rb TTwb Runtime reference - * @param encodingName The name of the encoding, specified by the TTCN-3 key words 'with/encode' - * @return The codec associated to the specified encoding identifier - */ - @Override - public TciCDProvided getCodec(final String encodingName) { - // FIXME Remove argument here and in the interface ITCIRequired - return new Codec(); - } - - private class Codec implements TciCDProvided { - - @Override - public Value decode(TriMessage message, Type decodingHypothesis) { - //_logger.entering("Codec", "decode", decodingHypothesis.getName()); - - org.etsi.ttcn.codec.MainCodec codec = new org.etsi.ttcn.codec.MainCodec(_cdReq); - Value v = null; - try { - v = codec.triDecode(message, decodingHypothesis); - } - catch(Exception e) { - e.printStackTrace(); - } - return v; - } - - @Override - public TriMessage encode(Value value) { - //_logger.entering("Codec", "encode"); - - org.etsi.ttcn.codec.MainCodec codec = new org.etsi.ttcn.codec.MainCodec(_cdReq); - TriMessage m = null; - try { - m = codec.triEncode(value); - } - catch(Exception e) { - e.printStackTrace(); - } - return m; - } - - @Override - public TciDecodingResult decodeValue(TriMessage message, Type decodingHypothesis, String arg2) { - return TciProvider.getInstance().getTciFactory().createDecodingResult(0, decode(message, decodingHypothesis)); - } - - @Override - public TriMessage encodeValue(Value value, String arg1) { - return encode(value); - } - } - - @Override - public TciDecodingResult decodeValue(TriMessage message, Type decodingHypothesis, String arg2) { - return TciProvider.getInstance().getTciFactory().createDecodingResult(0, decode(message, decodingHypothesis)); - } - - @Override - public TriMessage encodeValue(Value value, String arg1) { - return encode(value); - } - -} // End of class Its_CodecProvider diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsCALMllsap_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsCALMllsap_asn1.java deleted file mode 100644 index 707e0da5e6314a93d4fa316f4f534c496af16aa5..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsCALMllsap_asn1.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; - -public class LibItsCALMllsap_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsCALMllsap_asn1() { - _logger.entering("LibItsCALMllsap_asn1", "LibItsCALMllsap_asn1"); - _encodingName = "CALMllsap"; - } - - protected Type getTypeForName(final String type) { - _logger.entering("LibItsCALMllsap_asn1", "getTypeForName", type); - - String type_ = type; - if (type.endsWith("mnRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MN_Request_request"); - } else if (type.endsWith("msgIn_in")) { - type_ = String.format("%s.%s", _encodingName, "INsapPrimitivesDown"); - } - - Type asnOriginalType = super.getTypeForName(type_); - - _logger.exiting("LibItsCALMllsap_asn1", "getTypeForName", asnOriginalType.getName()); - return asnOriginalType; - } // End of method getTypeForName - -} // End of class LibItsCALMllsap_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsCALMmsap_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsCALMmsap_asn1.java deleted file mode 100644 index cc3e1265e70039844320ad72524ecbfedb99e768..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsCALMmsap_asn1.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; - -public class LibItsCALMmsap_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsCALMmsap_asn1() { - _logger.entering("LibItsCALMmsap_asn1", "LibItsCALMmsap_asn1"); - _encodingName = "CALMmsap"; - } - - protected Type getTypeForName(final String type) { - _logger.entering("LibItsCALMmsap_asn1", "getTypeForName", type); - - String type_ = type; - if (type.endsWith("mfRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MF_Request_request"); - } else if (type.endsWith("mnRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MN_Request_request"); - } else if (type.endsWith("miRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MI_Request_request"); - } else if (type.endsWith("mf_Command_request")) { - type_ = String.format("%s.%s", _encodingName, "MF_Command_request"); - } else if (type.endsWith("mn_Command_request")) { - type_ = String.format("%s.%s", _encodingName, "MN_Command_request"); - } else if (type.endsWith("mi_Command_request")) { - type_ = String.format("%s.%s", _encodingName, "MI_Command_request"); - } else if (type.endsWith("faSapPrimitivesUp")) { - type_ = String.format("%s.%s", _encodingName, "FAsapPrimitivesUp"); - } - - Type asnOriginalType = super.getTypeForName(type_); - - _logger.exiting("LibItsCALMmsap_asn1", "getTypeForName", asnOriginalType.getName()); - return asnOriginalType; - } // End of method getTypeForName - -} // End of class LibItsCALMmsap_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsCam_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsCam_asn1.java deleted file mode 100644 index f1d46ad23b637cfe0fc928bba5172aae11e3b685..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsCam_asn1.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsCam_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsCam_asn1() { - _logger.entering("LibItsCam_asn1", "LibItsCam_asn1"); - _encodingName = "CAM_PDU_Descriptions"; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("LibItsCam_asn1", "decode", decodingHypothesis.getName()); - - if (decodingHypothesis.getName().endsWith("camPacket")) { - Type type = getTypeForName("CAM_PDU_Descriptions.CAM"); - return super.decode(message, type); - } - - return super.decode(message, decodingHypothesis); - } - -} // End of class LibItsCam_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsContainer_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsContainer_asn1.java deleted file mode 100644 index bb6010a250ea408b92eec8635aff078ba477fddb..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsContainer_asn1.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.elvior.ttcn.tritci.TriProvider; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsContainer_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsContainer_asn1() { - //_logger.entering("LibItsContainer_asn1", "LibItsContainer_asn1"); - _encodingName = "ITS_Container"; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - //_logger.entering("LibItsContainer_asn1", "decode", decodingHypothesis.getName()); - - Value value = null; - if (decodingHypothesis.getName().equals("TimestampIts")) { - int ival = ByteHelper.byteArrayToInt(message.getEncodedMessage()); - long lval = ((long)ival) << 6; - TriMessage msg = TriProvider.getInstance().getTriFactory().createMessage(); - msg.setEncodedMessage(ByteHelper.longToByteArray(lval, 6)); - value = super.decode(msg, decodingHypothesis); - } else if (decodingHypothesis.getName().equals("TimeMark")) { - TriMessage msg1 = TriProvider.getInstance().getTriFactory().createMessage(); - msg1.setEncodedMessage(message.getEncodedMessage()); - value = super.decode(msg1, decodingHypothesis); - } else { - value = super.decode(message, decodingHypothesis); - } - - //_logger.exiting("LibIts_asn1", "decode", value.toString()); - return value; - } - -} // End of class LibItsContainer_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsDenm_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsDenm_asn1.java deleted file mode 100644 index d43121b4cd147a66d5108eaf4ebdd271d0552c87..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsDenm_asn1.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsDenm_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsDenm_asn1() { - _logger.entering("LibItsDenm_asn1", "LibItsDenm_asn1"); - _encodingName = "DENM_PDU_Descriptions"; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("LibItsDenm_asn1", "decode", decodingHypothesis.getName()); - - if (decodingHypothesis.getName().endsWith("denmPacket")) { - Type type = getTypeForName("DENM_PDU_Descriptions.DENM"); - return super.decode(message, type); - } - - return super.decode(message, decodingHypothesis); - } - -} // End of class LibItsDenm_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsEvcsn_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsEvcsn_asn1.java deleted file mode 100644 index 27145b388ddb7f0077c5de94bdc564f791c3f262..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsEvcsn_asn1.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsEvcsn_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsEvcsn_asn1() { - _logger.entering("LibItsEvcsn_asn1", "LibItsEvcsn_asn1"); - _encodingName = "EVCSN_PDU_Descriptions"; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("LibItsEvcsn_asn1", "decode", decodingHypothesis.getName()); - - if (decodingHypothesis.getName().endsWith("evcsnPacket")) { - Type type = getTypeForName("EVCSN_PDU_Descriptions.EvcsnPdu"); - return super.decode(message, type); - } - - return super.decode(message, decodingHypothesis); - } - -} // End of class LibItsEvcsn_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsFntp_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsFntp_asn1.java deleted file mode 100644 index 5810e8e45b8446c7083157b535f44a327433e523..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsFntp_asn1.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; - -public class LibItsFntp_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsFntp_asn1() { - _logger.entering("LibItsFntp_asn1", "LibItsFntp_asn1"); - _encodingName = "CALMfntp"; - } - - protected Type getTypeForName(final String type) { - _logger.entering("LibItsFntp_asn1", "getTypeForName", type); - - String type_ = type; - if (type.endsWith("nfSapPrimitivesUp")) { - type_ = String.format("%s.%s", _encodingName, "NFsapPrimitivesUp"); - } else if (type.endsWith("mnRequestRequest")) { - type_ = String.format("%s.%s", _encodingName, "MN_Request_request"); - } else if (type.endsWith("msgIn_nf")) { - type_ = String.format("%s.%s", _encodingName, "NFsapPrimitivesDown"); - } - - Type asnOriginalType = super.getTypeForName(type_); - - _logger.exiting("LibItsFntp_asn1", "getTypeForName", asnOriginalType.getName()); - return asnOriginalType; - } // End of method getTypeForName - -} // End of class LibItsFntp_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsFsap_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsFsap_asn1.java deleted file mode 100644 index f7307f6d7411b1c6c7582dff6a7777c4252160b4..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsFsap_asn1.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.etsi.its.tool.elvior; - -public class LibItsFsap_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsFsap_asn1() { - _logger.entering("LibItsFsap_asn1", "LibItsFsap_asn1"); - _encodingName = "CALMfsap"; - } - -} // End of class LibItsFsap_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsIicp_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsIicp_asn1.java deleted file mode 100644 index 7b0744bcc7f9d80937cc8afd883746fbd1f78fcd..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsIicp_asn1.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; - -public class LibItsIicp_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsIicp_asn1() { - _logger.entering("LibItsIicp_asn1", "LibItsIicp_asn1"); - _encodingName = "CALMiitsscu"; - } - - protected Type getTypeForName(final String type) { - _logger.entering("LibItsIicp_asn1", "getTypeForName", type); - - String type_ = type; - if (type.endsWith("msg_req")) { - type_ = String.format("%s.%s", _encodingName, "IIC_Request"); - } else if (type.endsWith("msg_resp")) { - type_ = String.format("%s.%s", _encodingName, "IIC_Response"); - } else if (type.endsWith("mcmdRq")) { - type_ = String.format("%s.%s", _encodingName, "McmdRq"); - } - - Type asnOriginalType = super.getTypeForName(type_); - - _logger.exiting("LibItsIicp_asn1", "getTypeForName", asnOriginalType.getName()); - return asnOriginalType; - } // End of method getTypeForName - -} // End of class LibItsIicp_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsIvim_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsIvim_asn1.java deleted file mode 100644 index 34e6ee75b70e33bb4896ffd4156009b4ac502ccf..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsIvim_asn1.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsIvim_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsIvim_asn1() { - _logger.entering("LibItsIvim_asn1", "LibItsIvim_asn1"); - _encodingName = "IVIM_PDU_Descriptions"; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("LibItsIvim_asn1", "decode", decodingHypothesis.getName()); - - if (decodingHypothesis.getName().endsWith("ivimPacket")) { - Type type = getTypeForName("IVIM_PDU_Descriptions.IVIM"); - return super.decode(message, type); - } - - return super.decode(message, decodingHypothesis); - } - -} // End of class LibItsIvim_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsMapemSpatem_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsMapemSpatem_asn1.java deleted file mode 100644 index c66b6ae99246c78e52643f2aad5944be82e074e1..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsMapemSpatem_asn1.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsMapemSpatem_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsMapemSpatem_asn1() { - _logger.entering("LibItsMapemSpatem_asn1", "LibItsMapemSpatem_asn1"); - _encodingName = "MAPEM_SPATEM_ETSI"; - } - - @Override - public TriMessage encode(final Value template) { - _logger.entering("LibItsMapemSpatem_asn1", "encode", template.getType().getName()); - - TriMessage result; - String type = String.format("%s.%s", _encodingName, template.getType().getName()); - if (template.getType().getName().endsWith("MAPEM")) { - _encodingName = "MAPEM_PDU_Descriptions"; - result = super.encode(template); - } else { - _encodingName = "SPATEM_PDU_Descriptions"; - result = super.encode(template); - } - _encodingName = "MAPEM_SPATEM_ETSI"; - - return result; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("LibItsMapemSpatem_asn1", "decode", decodingHypothesis.getName()); - - Value result; - if (decodingHypothesis.getName().endsWith("MAPEM")) { - Type type = getTypeForName("MAPEM_PDU_Descriptions.MAPEM"); - _encodingName = "MAPEM_PDU_Descriptions"; - result = super.decode(message, type); - } else { - Type type = getTypeForName("SPATEM_PDU_Descriptions.SPATEM"); - _encodingName = "SPATEM_PDU_Descriptions"; - result = super.decode(message, type); - } - _encodingName = "MAPEM_SPATEM_ETSI"; - - return result; - } - -} // End of class LibItsMapemSpatem_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibItsSremSsem_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibItsSremSsem_asn1.java deleted file mode 100644 index bf78554ad765ffb18e2fd204d05523a8a112d985..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibItsSremSsem_asn1.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.etsi.its.tool.elvior; - -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibItsSremSsem_asn1 extends LibIts_asn1 { - - /** - * Constructor - */ - public LibItsSremSsem_asn1() { - _logger.entering("LibItsSremSsem_asn1", "LibItsSremSsem_asn1"); - _encodingName = "SREM_SSEM_ETSI"; - } - - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - _logger.entering("LibItsSremSsem_asn1", "decode", decodingHypothesis.getName()); - - if (decodingHypothesis.getName().endsWith("SREM")) { - Type type = getTypeForName("SREM_PDU_Descriptions.SREM"); - return super.decode(message, type); - } else { - Type type = getTypeForName("SSEM_PDU_Descriptions.SSEM"); - return super.decode(message, type); - } - } - - @Override - public TriMessage encode(final Value template) { - _logger.entering("LibItsSremSsem_asn1", "encode", template.getType().getName()); - - TriMessage result; - String type = String.format("%s.%s", _encodingName, template.getType().getName()); - if (template.getType().getName().endsWith("SREM")) { - _encodingName = "SREM_PDU_Descriptions"; - result = super.encode(template); - } else { - _encodingName = "SREM_PDU_Descriptions"; - result = super.encode(template); - } - _encodingName = "SREM_SSEM_ETSI"; - - return result; - } - -} // End of class LibItsSremSsem_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/LibIts_asn1.java b/javasrc/tool/org/etsi/its/tool/elvior/LibIts_asn1.java deleted file mode 100644 index b8bf4a79931274905440d83afa722cb0cf1652b1..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/LibIts_asn1.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.etsi.its.tool.elvior; - -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.elvior.ttcn.tritci.IntegerValueEx; -import org.elvior.ttcn.tritci.TciProvider; -import org.elvior.ttcn.tritci.TriMessageEx; -import org.elvior.ttcn.tritci.TriProvider; -import org.etsi.common.ByteHelper; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.TciCDProvided; -import org.etsi.ttcn.tci.TciDecodingResult; -import org.etsi.ttcn.tci.TciTypeClass; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -/** - * - * Note that "Enable Internal Codec" field shall be set to true - * - */ -public class LibIts_asn1 implements TciCDProvided { - - /** - * Logger instance - */ - protected final static Logger _logger = Logger.getLogger("org.etsi.its"); - - protected String _encodingName; - - /** - * Constructor - */ - public LibIts_asn1() { - //_logger.entering("LibIts_asn1", "LibIts_asn1"); - _encodingName = ""; - } - - /** - * This operation decodes message according to the encoding rules and returns a TTCN-3 value. - * The decodingHypothesis shall be used to determine whether the encoded value can be decoded. - * If an encoding rule is not self-sufficient, i.e. if the encoded message does not inherently - * contain its type decodingHypothesis shall be used. If the encoded value can be decoded without - * the decoding hypothesis, the distinct null value shall be returned if the type determined from - * the encoded message is not compatible with the decoding hypothesis - * - * @param message The encoded message to be decoded - * @param decodingHypothesis The hypothesis the decoding can be based on - * @return Returns the decoded value, if the value is of a compatible type as the decodingHypothesis, else the distinct value null - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.2.1 decode - */ - @Override - public Value decode(final TriMessage message, final Type decodingHypothesis) { - //_logger.entering("LibIts_asn1", "decode", decodingHypothesis.getName()); - - TriMessageEx msg = TriProvider.getInstance().getTriFactory().createMessageEx(); - msg.setEncodedMessage(message.getEncodedMessage()); - //if (_logger.isLoggable(Level.ALL)) ByteHelper.dump("LibIts_asn1.decode: ", msg.getEncodedMessage()); - //ByteHelper.dump("LibIts_asn1.decode: ", msg.getEncodedMessage()); - String type = ""; - System.out.println("decode: " + String.format("%s.%s: %02x", decodingHypothesis.getTypeEncoding(), decodingHypothesis.getName(), message.getEncodedMessage()[1])); - if (decodingHypothesis.getTypeEncoding().equals("per-basic-unaligned:1997")) { - switch (message.getEncodedMessage()[1]) { // messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11) } (0..255), -- Mantis #7209, #7005 - case (byte)0x01: - if (decodingHypothesis.getName().equals("DENM")) { - type = "DENM_PDU_Descriptions.DENM"; - } - break; - case (byte)0x02: - if (decodingHypothesis.getName().equals("CAM")) { - type = "CAM_PDU_Descriptions.CAM"; - } - break; - case (byte)0x05: - if (decodingHypothesis.getName().equals("MAPEM")) { - type = "MAPEM_PDU_Descriptions.MAPEM"; - } - break; - case (byte)0x04: - if (decodingHypothesis.getName().equals("SPATEM")) { - type = "SPATEM_PDU_Descriptions.SPATEM"; - } - break; - case (byte)0x06: - if (decodingHypothesis.getName().equals("IVIM")) { - type = "IVIM_PDU_Descriptions.IVIM"; - } - break; - case (byte)0x07: - if (decodingHypothesis.getName().equals("EvcsnPdu")) { - type = "EVCSN_PDU_Descriptions.EvcsnPdu"; - } - break; - case (byte)0x09: - if (decodingHypothesis.getName().equals("SREM")) { - type = "SREM_PDU_Descriptions.SREM"; - } - break; - case (byte)0x0a: - if (decodingHypothesis.getName().equals("SSEM")) { - type = "SSEM_PDU_Descriptions.SSEM"; - } - break; - default: - // Nothing to do - System.out.println("Default: " + String.format("%s.%s", decodingHypothesis.getTypeEncoding(), decodingHypothesis.getName())); - } // End of 'switch' statement - } else { - type = String.format("%s.%s", _encodingName, decodingHypothesis.getName()); - } - //_logger.info("Type: " + type); - //System.out.println("Type: " + type); - if (type.isEmpty()) { - return null; // Abort decoding - } - Type asnOriginalType = getTypeForName(type); - // Check which type class the decoding hypothesis is of - //_logger.info("asnOriginalType: " + asnOriginalType.getName()); - Value value = TciProvider.getInstance().getSystemInterface().internalDecode(msg, asnOriginalType); - //_logger.exiting("LibIts_asn1", "decode", value.toString()); - return value; - } - - @Override - public TriMessage encode(final Value template) { - //_logger.entering("LibIts_asn1", "encode", template.getType().getName()); - - String type = String.format("%s.%s", _encodingName, template.getType().getName()); - //_logger.info("Type: " + type); - Type asnOriginalType = getTypeForName(type); - if (asnOriginalType != null) { - Value internalASNEncodecValue = null; - switch (template.getType().getTypeClass()) { - case TciTypeClass.RECORD: - internalASNEncodecValue = (RecordValue)asnOriginalType.newInstance(); - String[] fields = ((RecordValue)internalASNEncodecValue).getFieldNames(); - RecordValue asn1Value = (RecordValue)template; - for(String field: fields) { - //_logger.info(String.format("Process field %s", field)); - Value fieldValue = asn1Value.getField(field); - if(fieldValue.notPresent()) { - //_logger.info(String.format("Field %s was omitted", field)); - ((RecordValue)internalASNEncodecValue).setFieldOmitted(field); - } else { - //_logger.info(String.format("Field %s was added", field)); - ((RecordValue)internalASNEncodecValue).setField(field, fieldValue); - } - } // End of 'for' statement - break; - case TciTypeClass.INTEGER: - internalASNEncodecValue = (IntegerValueEx)asnOriginalType.newInstance(); - ((IntegerValueEx)internalASNEncodecValue).setInt64(((IntegerValueEx)template).getInt64()); - break; - default: - throw new RuntimeException("Unimplemented type " + template.getType().getTypeClass()); - } // End of 'switch' statement - //_logger.info("Call internal codec"); - TriMessage msg = TciProvider.getInstance().getSystemInterface().internalEncode(internalASNEncodecValue); - //ByteHelper.dump("LibIts_asn1.encode: ", msg.getEncodedMessage()); - //_logger.exiting("LibIts_asn1", "encode"); - return msg; - } - - //_logger.exiting("LibIts_asn1", "encode", "null"); - return null; - } - - protected Type getTypeForName(final String type) { - //_logger.entering("LibIts_asn1", "getTypeForName", type); - - Type asnOriginalType = TciProvider.getInstance().getTciCDRequired().getTypeForName(type); - - //_logger.exiting("LibIts_asn1", "getTypeForName", (asnOriginalType != null) ? asnOriginalType.getName() : "(null)"); - return asnOriginalType; - } // End of method getTypeForName - - @Override - public TciDecodingResult decodeValue(TriMessage arg0, Type arg1, String arg2) { - // TODO Auto-generated method stub - return null; - } - - @Override - public TriMessage encodeValue(Value arg0, String arg1) { - // TODO Auto-generated method stub - return null; - } - -} // End of class LibIts_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/MainCodec.java b/javasrc/tool/org/etsi/its/tool/elvior/MainCodec.java deleted file mode 100644 index 050e80fc966a4b3a1bda4e00822b7d40ecf1588a..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/MainCodec.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.its.tool.elvior; - -public class MainCodec { - - /** - * @param args - */ - public static void main(String[] args) { - Its_CodecProvider app = new Its_CodecProvider(); - app.run(); - System.exit(0); - } - -} // End of class MainCodec diff --git a/javasrc/tool/org/etsi/its/tool/elvior/MainTA.java b/javasrc/tool/org/etsi/its/tool/elvior/MainTA.java deleted file mode 100644 index 8453e62c00db408b768b745ef1d36ab641181f25..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/MainTA.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.its.tool.elvior; - -public class MainTA { - - /** - * @param args - */ - public static void main(String[] args) { - PluginAdapter adapter = new PluginAdapter(); - adapter.run(); - System.exit(0); - } - -} //End of class Main diff --git a/javasrc/tool/org/etsi/its/tool/elvior/PluginAdapter.java b/javasrc/tool/org/etsi/its/tool/elvior/PluginAdapter.java deleted file mode 100644 index 0c619c43c997a30f6cb074f0de46e41c348c1bed..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/PluginAdapter.java +++ /dev/null @@ -1,1418 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.its.tool.elvior; - -import java.io.IOException; -import java.math.BigInteger; -import java.util.Properties; -import java.util.logging.ConsoleHandler; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.elvior.ttcn.tritci.ChannelEventHandler; -import org.elvior.ttcn.tritci.IntegerValueEx; -import org.elvior.ttcn.tritci.TciProvider; -import org.elvior.ttcn.tritci.TriFactory; -import org.elvior.ttcn.tritci.TriProvider; -import org.elvior.ttcn.tritci.TriTciChannel; -import org.etsi.adapter.TERFactory; -import org.etsi.codec.ITciCDWrapper; -import org.etsi.codec.TciCDWrapperFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.extfunc.IItsExternalFunctionsProvider; -import org.etsi.its.extfunc.ItsExternalFunctionsProvider; -import org.etsi.tool.elvior.TciCDWrapper; -import org.etsi.tool.elvior.TeRequiredImpl; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.TciParameterList; -import org.etsi.ttcn.tci.TciValueList; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriAddressList; -import org.etsi.ttcn.tri.TriBoolean; -import org.etsi.ttcn.tri.TriCommunicationSA; -import org.etsi.ttcn.tri.TriCommunicationTE; -import org.etsi.ttcn.tri.TriComponentId; -import org.etsi.ttcn.tri.TriException; -import org.etsi.ttcn.tri.TriFunctionId; -import org.etsi.ttcn.tri.TriLong; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriParameter; -import org.etsi.ttcn.tri.TriParameterList; -import org.etsi.ttcn.tri.TriParameterPassingMode; -import org.etsi.ttcn.tri.TriPlatformPA; -import org.etsi.ttcn.tri.TriPortId; -import org.etsi.ttcn.tri.TriPortIdList; -import org.etsi.ttcn.tri.TriSignatureId; -import org.etsi.ttcn.tri.TriStatus; -import org.etsi.ttcn.tri.TriTestCaseId; -import org.etsi.ttcn.tri.TriTimerDuration; -import org.etsi.ttcn.tri.TriTimerId; -import org.etsi.ttcn.xtri.xTriCommunicationSA; - -public class PluginAdapter implements TriCommunicationSA, TriCommunicationTE, xTriCommunicationSA, TriPlatformPA, ChannelEventHandler { - /** - * This is the main PluginAdapter class - */ - private org.etsi.its.adapter.TestAdapter _itsTestAdapter; - - private static Properties _properties = new Properties(); - - /** - * Logger instance - */ - private final static Logger _logger = Logger.getLogger("org.etsi.its"); - - private TriStatus m_triOK; - - private TriStatus m_triKO; - - private IItsExternalFunctionsProvider _extfuncsImpl; - - public PluginAdapter() { - _logger.entering("PluginAdapter", "Constructor"); - - // Load TA settings - Level level = Level.ALL; - try { - _properties.load(MainTA.class.getResourceAsStream("/org/etsi/its/tool/elvior/res/ta.properties")); - String debugLevel = _properties.getProperty("DEBUG_ENABLED", "OFF"); - level = Level.OFF; - if (debugLevel.equalsIgnoreCase("ALL")) { - level = Level.ALL; - } else if (debugLevel.equalsIgnoreCase("INFO")) { - level = Level.INFO; - } else if (debugLevel.equalsIgnoreCase("SEVERE")) { - level = Level.SEVERE; - } else if (!debugLevel.equalsIgnoreCase("OFF")) { - TERFactory.getInstance().logError("Unsupported logging level: " + debugLevel); - } - } catch (IOException e) { - e.printStackTrace(); - } - _logger.addHandler(new ConsoleHandler()); - _logger.setUseParentHandlers(false); - _logger.setLevel(level); -// _logger.getHandlers()[0].setLevel(level); - - // Register this object as the instance implementing the TRI-SA interface - TriProvider.getInstance().setTriCommunicationSA(this); - // Register this object as the instance implementing the TRI-PA interface - TriProvider.getInstance().setTriPlatformPA(this); - TriTciChannel channel = TriTciChannel.getInstance(); - // Set application name that will be displayed in the TestCast log - channel.setApplicationName("ItsPlatform"); - // Register this object as the receiver of events generated by TestCast framework - channel.setEventHandler(this); - TriFactory factory = TriProvider.getInstance().getTriFactory(); - m_triOK = factory.createOkStatus(); - m_triKO = factory.createErrorStatus(); - TERFactory.setImpl(new TeRequiredImpl(this)); - // External functions - TciCDWrapperFactory.getInstance().setImpl(new TciCDWrapper()); - _extfuncsImpl = new ItsExternalFunctionsProvider(); - } - - public void run() { - _logger.entering("PluginAdapter", "run"); - - // Attempt to connect to TestCast - if (TriTciChannel.getInstance().open()) { - _itsTestAdapter = new org.etsi.its.adapter.TestAdapter(); - try { - synchronized(this) { - wait(); - } - } catch (InterruptedException e) { - } - } - _logger.exiting("PluginAdapter", "run"); - } - - public TriStatus triCall(TriComponentId componentId, TriPortId tsiPortId, - TriAddress sutAddress, TriSignatureId signatureId, - TriParameterList parameterList) { - return _itsTestAdapter.triCall(componentId, tsiPortId, sutAddress, signatureId, parameterList); - } - - public TriStatus triCallBC(TriComponentId componentId, TriPortId tsiPortId, - TriSignatureId signatureId, TriParameterList parameterList) { - return _itsTestAdapter.triCallBC(componentId, tsiPortId, signatureId, parameterList); - } - - public TriStatus triCallMC(TriComponentId componentId, TriPortId tsiPortId, - TriAddressList sutAddresses, TriSignatureId signatureId, - TriParameterList parameterList) { - return _itsTestAdapter.triCallMC(componentId, tsiPortId, sutAddresses, signatureId, parameterList); - } - - public TriStatus triEndTestCase() { - return _itsTestAdapter.triEndTestCase(); - } - - public TriStatus triExecuteTestCase(TriTestCaseId testCaseId, TriPortIdList tsiPorts) { -// TERFactory.getInstance().logDebug("triExecuteTestCase"); - // Disable XTRI functionality for all ports, so that existing SA implementation can be reused - for(int i = 0; i < tsiPorts.size(); i++) { - TriTciChannel.getInstance().enableXTriForPort(tsiPorts.get(i), false); - } - return _itsTestAdapter.triExecuteTestcase(testCaseId, tsiPorts); - } - - public TriStatus triMap(TriPortId compPortId, TriPortId tsiPortId) { -// TERFactory.getInstance().logDebug("triMap: " + compPortId.getComponent().getComponentName() + " - " + tsiPortId.getPortName()); - return _itsTestAdapter.triMap(compPortId, tsiPortId); - } - - public TriStatus triRaise(TriComponentId componentId, TriPortId tsiPortId, - TriAddress sutAddress, TriSignatureId signatureId, TriException exception) { -// TERFactory.getInstance().logDebug("triRaise"); - return _itsTestAdapter.triRaise(componentId, tsiPortId, sutAddress, signatureId, exception); - } - - public TriStatus triRaiseBC(TriComponentId componentId, - TriPortId tsiPortId, TriSignatureId signatureId, TriException exc) { -// TERFactory.getInstance().logDebug("triRaiseBC"); - return _itsTestAdapter.triRaiseBC(componentId, tsiPortId, signatureId, exc); - } - - public TriStatus triRaiseMC(TriComponentId componentId, - TriPortId tsiPortId, TriAddressList sutAddresses, - TriSignatureId signatureId, TriException exc) { -// TERFactory.getInstance().logDebug("triRaiseMC"); - return _itsTestAdapter.triRaiseMC(componentId, tsiPortId, sutAddresses, signatureId, exc); - } - - public TriStatus triReply(TriComponentId componentId, TriPortId tsiPortId, - TriAddress sutAddress, TriSignatureId signatureId, - TriParameterList parameterList, TriParameter returnValue) { -// TERFactory.getInstance().logDebug("triReply"); - return _itsTestAdapter.triReply(componentId, tsiPortId, sutAddress, signatureId, parameterList, returnValue); - } - - public TriStatus triReplyBC(TriComponentId componentId, - TriPortId tsiPortId, TriSignatureId signatureId, - TriParameterList parameterList, TriParameter returnValue) { -// TERFactory.getInstance().logDebug("triReplyBC"); - return _itsTestAdapter.triReplyBC(componentId, tsiPortId, signatureId, parameterList, returnValue); - } - - public TriStatus triReplyMC(TriComponentId componentId, - TriPortId tsiPortId, TriAddressList sutAddresses, - TriSignatureId signatureId, TriParameterList parameterList, - TriParameter returnValue) { -// TERFactory.getInstance().logDebug("triReplyMC"); - return _itsTestAdapter.triReplyMC(componentId, tsiPortId, sutAddresses, signatureId, parameterList, returnValue); - } - - public TriStatus triSAReset() { -// TERFactory.getInstance().logDebug("triSAReset"); - return _itsTestAdapter.triSAReset(); - } - - public TriStatus triSend(TriComponentId componentId, TriPortId tsiPortId, - TriAddress address, TriMessage sendMessage) { -// TERFactory.getInstance().logDebug("triSend"); - return _itsTestAdapter.triSend(componentId, tsiPortId, address, sendMessage); - } - - public TriStatus triSendBC(TriComponentId componentId, TriPortId tsiPortId, - TriMessage sendMessage) { -// TERFactory.getInstance().logDebug("triSendBC"); - return _itsTestAdapter.triSendBC(componentId, tsiPortId, sendMessage); - } - - public TriStatus triSendMC(TriComponentId componentId, TriPortId tsiPortId, - TriAddressList addresses, TriMessage sendMessage) { -// TERFactory.getInstance().logDebug("triSendMC"); - return _itsTestAdapter.triSendMC(componentId, tsiPortId, addresses, sendMessage); - } - - public TriStatus triSutActionInformal(String description) { -// TERFactory.getInstance().logDebug("triSutActionInformal"); - return _itsTestAdapter.triSutActionInformal(description); - } - - public TriStatus triUnmap(TriPortId compPortId, TriPortId tsiPortId) { -// TERFactory.getInstance().logDebug("triUnmap"); - return _itsTestAdapter.triUnmap(compPortId, tsiPortId); - } - - public TriStatus triExternalFunction(TriFunctionId functionId, TriParameterList parameterList, TriParameter returnValue) { - //TERFactory.getInstance().logDebug(">>> PluginAdapter.triExternalFunction: " + functionId.getFunctionName()); // + " - " + parameterList + " - " + returnValue.getParameterName() + " - " + returnValue.getParameterPassingMode()); - - TriStatus result = m_triOK; - if ( - functionId.getFunctionName().endsWith("fx_computeIPv6CheckSum") && - (parameterList.size() == 5) - ) { - // Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3 - exec_computeIPv6CheckSum(parameterList, returnValue); - } else if ( - functionId.getFunctionName().endsWith("fx_computeDistance") && - (parameterList.size() == 4) - ) { - // Compute a distance between two points - exec_computeDistance(parameterList, returnValue); - } else if ( - functionId.getFunctionName().endsWith("fx_computePositionUsingDistance") && - (parameterList.size() == 6) - ) { - // Compute a position using a reference position, a distance and an orientation - exec_computePositionUsingDistance(parameterList, returnValue); - } else if ( - functionId.getFunctionName().endsWith("fx_computePositionFromRotation") && - (parameterList.size() == 7) - ) { - // Compute a reference position rotation - exec_computePositionFromRotation(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_computeGnTimestamp")) { - // Compute timestamp based on current time - exec_computeGnTimestamp(returnValue); - } else if (functionId.getFunctionName().endsWith("fx_getCurrentTime")) { - // Gets the current time - exec_getCurrentTime(returnValue); - } else if (functionId.getFunctionName().endsWith("fx_getCurrentTimeMark")) { - // Gets the tenths of a second in the current or next hour in units of 1/10th second from UTC time - exec_getCurrentTimeMark(returnValue); - } else if (functionId.getFunctionName().endsWith("fx_getMinuteOfTheYear")) { - // Gets the the minutes of current UTC year - exec_getMinuteOfTheYear(returnValue); - } else if (functionId.getFunctionName().endsWith("fx_getDSecond")) { - // Gets the milliseconds point in the current UTC minute - exec_getDSecond(returnValue); - } else if (functionId.getFunctionName().endsWith("xf_parseIpv6Address")) { - exec_parseIpv6Address(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_hashWithSha256") && (parameterList.size() == 1)) { - exec_hashWithSha256(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_signWithEcdsaNistp256WithSha256") && (parameterList.size() == 2)) { - exec_signWithEcdsaNistp256WithSha256(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_verifyWithEcdsaNistp256WithSha256") && (parameterList.size() == 4)) { - exec_verifyWithEcdsaNistp256WithSha256(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_generateKeyPair") && (parameterList.size() == 3)) { - exec_generateKeyPair(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_dms2dd") && (parameterList.size() == 4)) { - exec_dms2dd(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_isValidPolygonalRegion") && (parameterList.size() == 1)) { - exec_isValidPolygonalRegion(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_isPolygonalRegionInside") && (parameterList.size() == 2)) { - exec_isPolygonalRegionInside(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_isLocationInsideCircularRegion") && (parameterList.size() == 2)) { - exec_isLocationInsideCircularRegion(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_isLocationInsideRectangularRegion") && (parameterList.size() == 2)) { - exec_isLocationInsideRectangularRegion(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_isLocationInsidePolygonalRegion") && (parameterList.size() == 2)) { - exec_isLocationInsidePolygonalRegion(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_isLocationInsideIdentifiedRegion") && (parameterList.size() == 2)) { - exec_isLocationInsideIdentifiedRegion(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_loadCertificates") && (parameterList.size() == 2)) { - exec_loadCertificates(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_unloadCertificates") && (parameterList.size() == 0)) { - exec_unloadCertificates(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_readCertificate") && (parameterList.size() == 2)) { - exec_readCertificate(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_readCertificateDigest") && (parameterList.size() == 2)) { - exec_readCertificateDigest(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_readSigningKey") && (parameterList.size() == 2)) { - exec_readSigningKey(parameterList, returnValue); - } else if (functionId.getFunctionName().endsWith("fx_readEncryptingKey") && (parameterList.size() == 2)) { - exec_readEncryptingKey(parameterList, returnValue); - } else { - _logger.severe("Unprocessed external function"); - result = m_triKO; - } - //TERFactory.getInstance().logDebug("<<< PluginAdapter.triExternalFunction: " + ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - return result; - } - - public void onConnectionClosed() { - _logger.entering("PluginAdapter", "onConnectionClosed"); - synchronized(this) { - notify(); - } - } - - public void onConnectionEstablished() { - _logger.entering("PluginAdapter", "onConnectionEstablished"); - } - - public void onError(String error) { - _logger.entering("PluginAdapter", "onError", error); - } - - @Override - public TriStatus triPAReset() { -// TERFactory.getInstance().logDebug("triPAReset"); - return m_triOK; - } - - @Override - public TriStatus triReadTimer(TriTimerId timerId, TriTimerDuration elapsedTime) { - throw new RuntimeException(); - } - - @Override - public TriStatus triStartTimer(TriTimerId timerId, TriTimerDuration timerDuration) { - throw new RuntimeException(); - } - - @Override - public TriStatus triStopTimer(TriTimerId timerId) { - throw new RuntimeException(); - } - - @Override - public TriStatus triTimerRunning(TriTimerId timerId, TriBoolean running) { - throw new RuntimeException(); - } - - @Override - public void triEnqueueCall(TriPortId tsiPortId, TriAddress SUTaddress, TriComponentId componentId, TriSignatureId signatureId, TriParameterList parameterList) { - throw new RuntimeException(); - } - - @Override - public void triEnqueueException(TriPortId tsiPortId, TriAddress sutAddress, TriComponentId componentId, TriSignatureId signatureId, - TriException exception) { - throw new RuntimeException(); - } - - @Override - public void triEnqueueMsg(TriPortId tsiPortId, TriAddress sutAddress, TriComponentId componentId, TriMessage receivedMessage) { - TriProvider.getInstance().getTriCommunicationTE().triEnqueueMsg( - tsiPortId, - null, - componentId, - receivedMessage); - } - - @Override - public void triEnqueueReply(TriPortId tsiPortId, TriAddress address, TriComponentId componentId, TriSignatureId signatureId, TriParameterList parameterList, TriParameter returnValue) { - throw new RuntimeException(); - } - - @Override - public TriStatus triMapParam(TriPortId arg0, TriPortId arg1, TriParameterList arg2) { - throw new RuntimeException(); - } - - @Override - public TriStatus triUnmapParam(TriPortId arg0, TriPortId arg1, TriParameterList arg2) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriCall(TriComponentId arg0, TriPortId arg1, Value arg2, TriSignatureId arg3, TciParameterList arg4) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriCallBC(TriComponentId arg0, TriPortId arg1, TriSignatureId arg2, TciParameterList arg3) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriCallMC(TriComponentId arg0, TriPortId arg1, TciValueList arg2, TriSignatureId arg3, TciParameterList arg4) { - throw new RuntimeException(); - } - - @Override - public Value xtriConvert(Object arg0, org.etsi.ttcn.tci.Type arg1) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriMapParam(TriPortId arg0, TriPortId arg1, TciParameterList arg2) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriRaise(TriComponentId arg0, TriPortId arg1, Value arg2, TriSignatureId arg3, Value arg4) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriRaiseBC(TriComponentId arg0, TriPortId arg1, TriSignatureId arg2, Value arg3) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriRaiseMC(TriComponentId arg0, TriPortId arg1, TciValueList arg2, TriSignatureId arg3, Value arg4) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriReply(TriComponentId arg0, TriPortId arg1, Value arg2, TriSignatureId arg3, TciParameterList arg4, Value arg5) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriReplyBC(TriComponentId arg0, TriPortId arg1, TriSignatureId arg2, TciParameterList arg3, Value arg4) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriReplyMC(TriComponentId arg0, TriPortId arg1, TciValueList arg2, TriSignatureId arg3, TciParameterList arg4, Value arg5) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriSend(TriComponentId compPortId, TriPortId tsiPortId, Value arg2, Value arg3) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriSendBC(TriComponentId arg0, TriPortId arg1, Value arg2) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriSendMC(TriComponentId arg0, TriPortId arg1, TciValueList arg2, Value arg3) { - throw new RuntimeException(); - } - - @Override - public TriStatus xtriUnmapParam(TriPortId arg0, TriPortId arg1, TciParameterList arg2) { - throw new RuntimeException(); - } - - @Override - public TriStatus triStaticMap(TriPortId arg0, TriPortId arg1) { - throw new RuntimeException(); - } - - private void exec_computeIPv6CheckSum(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_computeIPv6CheckSum"); - - // Source address (128 bits) - byte[] value = parameterList.get(0).getEncodedParameter(); - OctetstringValue sourceAddress = (OctetstringValue)TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - sourceAddress.setLength(value.length); - for (int i = 0; i < value.length; i++) { - sourceAddress.setOctet(i, value[i]); - } - // Destination address (128 bits) - _logger.info(String.format("Setting parameter %s", parameterList.get(1).getParameterName())); - value = parameterList.get(1).getEncodedParameter(); - OctetstringValue destinationAddress = (OctetstringValue)TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - destinationAddress.setLength(value.length); - for (int i = 0; i < value.length; i++) { - destinationAddress.setOctet(i, value[i]); - } - // Upper-Layer Packet Length (32 bits) - _logger.info(String.format("Setting parameter %s", parameterList.get(2).getParameterName())); - value = parameterList.get(2).getEncodedParameter(); - IntegerValue payloadLength = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - payloadLength.setInteger(ByteHelper.byteArrayToInt(value)); - // Upper-Layer payload - _logger.info(String.format("Setting parameter %s", parameterList.get(3).getParameterName())); - value = parameterList.get(3).getEncodedParameter(); - OctetstringValue payload = (OctetstringValue)TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - payload.setLength(value.length); - for (int i = 0; i < value.length; i++) { - payload.setOctet(i, value[i]); - } - // Next header value (e.g. 0x3a for ICMPv6) (8bits) - _logger.info(String.format("Setting parameter %s", parameterList.get(4).getParameterName())); - value = parameterList.get(4).getEncodedParameter(); - IntegerValue nextHdr = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - nextHdr.setInteger(ByteHelper.byteArrayToInt(value)); - // Execute the function - OctetstringValue checksum = _extfuncsImpl.fx_computeIPv6CheckSum( - sourceAddress, - destinationAddress, - payloadLength, - payload, - nextHdr - ); - _logger.info(String.format("fx_computeIPv6CheckSum returns 0x%02x%02x", checksum.getOctet(0), checksum.getOctet(1))); - value = new byte[checksum.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte)checksum.getOctet(i); - } - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(value.length * Byte.SIZE); - returnValue.setEncodedParameter(value); - - _logger.exiting("PluginAdapter", "exec_computeIPv6CheckSum", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_computeIPv6CheckSum - - private void exec_computeDistance(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_computeDistance"); - -// _logger.info(String.format("Setting parameter %s: %s", parameterList.get(0).getParameterName(), ByteHelper.byteArrayToString(parameterList.get(0).getEncodedParameter()))); - byte[] value = parameterList.get(0).getEncodedParameter(); - IntegerValue latitudeA = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - latitudeA.setInteger(ByteHelper.byteArrayToInt(value)); - -// _logger.info(String.format("Setting parameter %s: %s", parameterList.get(1).getParameterName(), ByteHelper.byteArrayToString(parameterList.get(1).getEncodedParameter()))); - value = parameterList.get(1).getEncodedParameter(); - IntegerValue longitudeA = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - longitudeA.setInteger(ByteHelper.byteArrayToInt(value)); - -// _logger.info(String.format("Setting parameter %s: %s", parameterList.get(2).getParameterName(), ByteHelper.byteArrayToString(parameterList.get(2).getEncodedParameter()))); - value = parameterList.get(2).getEncodedParameter(); - IntegerValue latitudeB = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - latitudeB.setInteger(ByteHelper.byteArrayToInt(value)); - -// _logger.info(String.format("Setting parameter %s: %s", parameterList.get(3).getParameterName(), ByteHelper.byteArrayToString(parameterList.get(3).getEncodedParameter()))); - value = parameterList.get(3).getEncodedParameter(); - IntegerValue longitudeB = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - longitudeB.setInteger(ByteHelper.byteArrayToInt(value)); - - // Execute the function -// _logger.info(String.format("_extfuncsImpl.fx_computeDistance %d, %d, %d, %d", latitudeA.getInteger(), longitudeA.getInteger(), latitudeB.getInteger(), longitudeB.getInteger())); - FloatValue distance = _extfuncsImpl.fx_computeDistance( - latitudeA, - longitudeA, - latitudeB, - longitudeB - ); -// _logger.info(String.format("fx_computeDistance returns %f", distance.getFloat())); - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - byte[] convert = ByteHelper.floatToByteArray(distance.getFloat()); - returnValue.setNumberOfBits(convert.length * Byte.SIZE); - returnValue.setEncodedParameter(convert); - - _logger.exiting("PluginAdapter", "exec_computeDistance", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_computeDistance - - private void exec_computePositionUsingDistance(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_computePositionUsingDistance"); - - _logger.info(String.format("Setting parameter %s", parameterList.get(0).getParameterName())); - byte[] value = parameterList.get(0).getEncodedParameter(); - IntegerValue refLatitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - refLatitude.setInteger(ByteHelper.byteArrayToInt(value)); - - _logger.info(String.format("Setting parameter %s", parameterList.get(1).getParameterName())); - value = parameterList.get(1).getEncodedParameter(); - IntegerValue refLongitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - refLongitude.setInteger(ByteHelper.byteArrayToInt(value)); - - _logger.info(String.format("Setting parameter %s", parameterList.get(2).getParameterName())); - value = parameterList.get(2).getEncodedParameter(); - FloatValue distance = (FloatValue)TciProvider.getInstance().getTciCDRequired().getFloat().newInstance(); - distance.setFloat(ByteHelper.byteArrayToInt(value)); // FIXME Should be byteArrayToFloat??? - - _logger.info(String.format("Setting parameter %s", parameterList.get(3).getParameterName())); - value = parameterList.get(3).getEncodedParameter(); - IntegerValue orientation = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - orientation.setInteger(ByteHelper.byteArrayToInt(value)); - - IntegerValue latitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - IntegerValue longitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - _extfuncsImpl.fx_computePositionUsingDistance(refLatitude, refLongitude, distance, orientation, latitude, longitude); - - TriParameter param = parameterList.get(4); - param.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - param.setNumberOfBits(Integer.SIZE); - param.setEncodedParameter(ByteHelper.intToByteArray(latitude.getInteger(), Integer.SIZE / Byte.SIZE)); - - param = parameterList.get(5); - param.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - param.setNumberOfBits(Integer.SIZE); - param.setEncodedParameter(ByteHelper.intToByteArray(longitude.getInteger(), Integer.SIZE / Byte.SIZE)); - - _logger.exiting("PluginAdapter", "exec_computePositionUsingDistance"); - } // End of method exec_computePositionUsingDistance - - private void exec_computePositionFromRotation(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_computePositionUsingDistance"); - - _logger.info(String.format("Setting parameter %s", parameterList.get(0).getParameterName())); - byte[] value = parameterList.get(0).getEncodedParameter(); - IntegerValue refLatitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - refLatitude.setInteger(ByteHelper.byteArrayToInt(value)); - - _logger.info(String.format("Setting parameter %s", parameterList.get(1).getParameterName())); - value = parameterList.get(1).getEncodedParameter(); - IntegerValue refLongitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - refLongitude.setInteger(ByteHelper.byteArrayToInt(value)); - - _logger.info(String.format("Setting parameter %s", parameterList.get(2).getParameterName())); - value = parameterList.get(2).getEncodedParameter(); - IntegerValue cenLatitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - cenLatitude.setInteger(ByteHelper.byteArrayToInt(value)); - - _logger.info(String.format("Setting parameter %s", parameterList.get(3).getParameterName())); - value = parameterList.get(3).getEncodedParameter(); - IntegerValue cenLongitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - cenLongitude.setInteger(ByteHelper.byteArrayToInt(value)); - - _logger.info(String.format("Setting parameter %s", parameterList.get(4).getParameterName())); - value = parameterList.get(4).getEncodedParameter(); - IntegerValue rotation = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - rotation.setInteger(ByteHelper.byteArrayToInt(value)); - - IntegerValue latitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - IntegerValue longitude = (IntegerValue)TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); - _extfuncsImpl.fx_computePositionFromRotation(refLatitude, refLongitude, cenLatitude, cenLongitude, rotation, latitude, longitude); - - TriParameter param = parameterList.get(5); - param.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - param.setNumberOfBits(Integer.SIZE); - param.setEncodedParameter(ByteHelper.intToByteArray(latitude.getInteger(), Integer.SIZE / Byte.SIZE)); - - param = parameterList.get(6); - param.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - param.setNumberOfBits(Integer.SIZE); - param.setEncodedParameter(ByteHelper.intToByteArray(longitude.getInteger(), Integer.SIZE / Byte.SIZE)); - - _logger.exiting("PluginAdapter", "exec_computePositionUsingDistance"); - } - - private void exec_computeGnTimestamp(TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_computeGnTimestamp"); - - // Execute the function - IntegerValue timestamp = _extfuncsImpl.fx_computeGnTimestamp(); -// _logger.info(String.format("exec_computeGnTimestamp returns %d", timestamp.getInteger())); - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Integer.SIZE); - returnValue.setEncodedParameter( - ByteHelper.intToByteArray( - timestamp.getInteger(), - Integer.SIZE / Byte.SIZE - )); - - _logger.exiting("PluginAdapter", "exec_computeGnTimestamp", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_computeGnTimestamp - - private void exec_getCurrentTime(TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_getCurrentTime"); - - // Execute the function - IntegerValue time = _extfuncsImpl.fx_getCurrentTime(); -// _logger.info(String.format("exec_getCurrentTime returns %d", ((IntegerValueEx)time).getInt64())); - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Long.SIZE); - returnValue.setEncodedParameter( - ByteHelper.longToByteArray( -// ((IntegerValueEx)time).getInt64() << 6, // Decoding starts from bit 0, byte 0, so we have to shift the value 6 bits to the left - // 6/*Long.SIZE / Byte.SIZE*/ // Encoding on 48 bits - ((IntegerValueEx)time).getInt64(), - Long.SIZE / Byte.SIZE - )); - - _logger.exiting("PluginAdapter", "exec_getCurrentTime", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_getCurrentTime - - private void exec_getCurrentTimeMark(TriParameter returnValue) { - //_logger.entering("PluginAdapter", "exec_getCurrentTimeMark"); - - // Execute the function - IntegerValue time = _extfuncsImpl.fx_getCurrentTimeMark(); - //_logger.info(String.format("exec_getCurrentTimeMark returns %d", ((IntegerValueEx)time).getInt64())); - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Long.SIZE); - returnValue.setEncodedParameter( - ByteHelper.longToByteArray( - ((IntegerValueEx)time).getInt64(), - 4/*Integer.SIZE / Byte.SIZE*/ // Encoding on 32 bits - )); - - //_logger.exiting("PluginAdapter", "exec_getCurrentTimeMark: ", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_getCurrentTimeMark - - private void exec_getMinuteOfTheYear(TriParameter returnValue) { - //_logger.entering("PluginAdapter", "exec_getMinuteOfTheYear"); - - // Execute the function - IntegerValue time = _extfuncsImpl.fx_getMinuteOfTheYear(); - //_logger.info(String.format("exec_getMinuteOfTheYear returns %d", ((IntegerValueEx)time).getInt64())); - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Long.SIZE); - returnValue.setEncodedParameter( - ByteHelper.longToByteArray( - ((IntegerValueEx)time).getInt64(), - 2/*Short.SIZE / Byte.SIZE*/ // Encoding on 16 bits - )); - - //_logger.exiting("PluginAdapter", "exec_getMinuteOfTheYear: ", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_getMinuteOfTheYear - - private void exec_getDSecond(TriParameter returnValue) { - //_logger.entering("PluginAdapter", "exec_getDSecond"); - - // Execute the function - IntegerValue time = _extfuncsImpl.fx_getDSecond(); - //_logger.info(String.format("exec_getDSecond returns %d", ((IntegerValueEx)time).getInt64())); - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Long.SIZE); - returnValue.setEncodedParameter( - ByteHelper.longToByteArray( - ((IntegerValueEx)time).getInt64(), - 2/*Short.SIZE / Byte.SIZE*/ // Encoding on 16 bits - )); - - //_logger.exiting("PluginAdapter", "exec_getDSecond: ", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_getDSecond - - private void exec_generateKeyPair(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_generateKeyPair"); - - // Execute the function - OctetstringValue privateKey = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - OctetstringValue publicKeyX = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - OctetstringValue publicKeyY = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - BooleanValue result = _extfuncsImpl.fx_generateKeyPair(privateKey, publicKeyX, publicKeyY); - _logger.info(String.format("exec_generateKeyPair returns %s", (new Boolean(result.getBoolean())))); - // privateKey - TriParameter Key = parameterList.get(0); - Key.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - byte[] ref = new byte[privateKey.getLength()]; - for (int i = 0; i < ref.length; i++) { - ref[i] = (byte) privateKey.getOctet(i); - } // End 'for' statement - Key.setEncodedParameter(ref); - // publicKeyX - Key = parameterList.get(1); - Key.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - Key.setNumberOfBits(publicKeyX.getLength() * Byte.SIZE); - ref = new byte[publicKeyX.getLength()]; - for (int i = 0; i < ref.length; i++) { - ref[i] = (byte) publicKeyX.getOctet(i); - } // End 'for' statement - Key.setEncodedParameter(ref); - // publicKeyY - Key = parameterList.get(2); - Key.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - Key.setNumberOfBits(publicKeyY.getLength() * Byte.SIZE); - ref = new byte[publicKeyY.getLength()]; - for (int i = 0; i < ref.length; i++) { - ref[i] = (byte) publicKeyY.getOctet(i); - } // End 'for' statement - Key.setEncodedParameter(ref); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) } ); - - _logger.exiting("PluginAdapter", "exec_generateKeyPair", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_generateKeyPair - - private void exec_verifyWithEcdsaNistp256WithSha256(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_verifyWithEcdsaNistp256WithSha256"); - - // Execute the function - _logger.info(String.format("Setting parameter %s", parameterList.get(0).getParameterName())); - byte[] value = parameterList.get(0).getEncodedParameter(); - OctetstringValue toBeVerifiedData = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - toBeVerifiedData.setLength(value.length); - for (int i = 0; i < toBeVerifiedData.getLength(); i++) { - toBeVerifiedData.setOctet(i, value[i]); - } // End 'for' statement - _logger.info(String.format("Setting parameter %s", parameterList.get(1).getParameterName())); - value = parameterList.get(1).getEncodedParameter(); - OctetstringValue signature = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - signature.setLength(value.length); - for (int i = 0; i < signature.getLength(); i++) { - signature.setOctet(i, value[i]); - } // End 'for' statement - _logger.info(String.format("Setting parameter %s", parameterList.get(2).getParameterName())); - value = parameterList.get(2).getEncodedParameter(); - OctetstringValue ecdsaNistp256PublicKeyX = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - ecdsaNistp256PublicKeyX.setLength(value.length); - for (int i = 0; i < ecdsaNistp256PublicKeyX.getLength(); i++) { - ecdsaNistp256PublicKeyX.setOctet(i, value[i]); - } // End 'for' statement - _logger.info(String.format("Setting parameter %s", parameterList.get(3).getParameterName())); - value = parameterList.get(3).getEncodedParameter(); - OctetstringValue ecdsaNistp256PublicKeyY = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - ecdsaNistp256PublicKeyY.setLength(value.length); - for (int i = 0; i < ecdsaNistp256PublicKeyY.getLength(); i++) { - ecdsaNistp256PublicKeyY.setOctet(i, value[i]); - } // End 'for' statement - BooleanValue result = _extfuncsImpl.fx_verifyWithEcdsaNistp256WithSha256(toBeVerifiedData, signature, ecdsaNistp256PublicKeyX, ecdsaNistp256PublicKeyY); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) } ); - - _logger.exiting("PluginAdapter", "exec_verifyWithEcdsaNistp256WithSha256", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_fx_verifyWithEcdsaNistp256WithSha256 - - private void exec_signWithEcdsaNistp256WithSha256(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_signWithEcdsaNistp256WithSha256"); - - // Execute the function - _logger.info(String.format("Setting parameter %s", parameterList.get(0).getParameterName())); - byte[] value = parameterList.get(0).getEncodedParameter(); - OctetstringValue toBeSignedData = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - toBeSignedData.setLength(value.length); - for (int i = 0; i < toBeSignedData.getLength(); i++) { - toBeSignedData.setOctet(i, value[i]); - } // End 'for' statement - _logger.info(String.format("Setting parameter %s", parameterList.get(1).getParameterName())); - value = parameterList.get(1).getEncodedParameter(); - OctetstringValue privateKey = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - privateKey.setLength(value.length); - for (int i = 0; i < privateKey.getLength(); i++) { - privateKey.setOctet(i, value[i]); - } // End 'for' statement -// IntegerValueEx privateKey = (IntegerValueEx) TciProvider.getInstance().getTciCDRequired().getInteger().newInstance(); -// privateKey.setInt64(ByteHelper.byteArrayToLong(value)); - OctetstringValue result = _extfuncsImpl.fx_signWithEcdsaNistp256WithSha256(toBeSignedData, privateKey); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(result.getLength() * Byte.SIZE); - value = new byte[result.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte) result.getOctet(i); - } // End 'for' statement - returnValue.setEncodedParameter(value); - - _logger.exiting("PluginAdapter", "exec_signWithEcdsaNistp256WithSha256", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_signWithEcdsaNistp256WithSha256 - - private void exec_hashWithSha256(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_hashWithSha256"); - - // Execute the function - _logger.info(String.format("Setting parameter %s", parameterList.get(0).getParameterName())); - byte[] value = parameterList.get(0).getEncodedParameter(); - OctetstringValue toBeHashedData = (OctetstringValue) TciProvider.getInstance().getTciCDRequired().getOctetstring().newInstance(); - toBeHashedData.setLength(value.length); - for (int i = 0; i < toBeHashedData.getLength(); i++) { - toBeHashedData.setOctet(i, value[i]); - } // End 'for' statement - OctetstringValue result = _extfuncsImpl.fx_hashWithSha256(toBeHashedData); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(result.getLength() * Byte.SIZE); -// TERFactory.getInstance().logDebug("Result length = " + result.getLength()); - value = new byte[result.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte) result.getOctet(i); - } // End 'for' statement - returnValue.setEncodedParameter(value); - - _logger.exiting("PluginAdapter", "exec_hashWithSha256", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_hashWithSha256 - - private void exec_dms2dd(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_dms2dd"); - - // Prepare arguments - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - IntegerValue degrees = wrapper.setInteger(new BigInteger(parameterList.get(0).getEncodedParameter())); - IntegerValue minutes = wrapper.setInteger(new BigInteger(parameterList.get(1).getEncodedParameter())); - FloatValue seconds = wrapper.getFloat(); - seconds.setFloat(ByteHelper.byteArrayToFloat(parameterList.get(2).getEncodedParameter())); - OctetstringValue latlon = wrapper.getOctetstring(); - latlon.setLength(1); - latlon.setOctet(0, parameterList.get(3).getEncodedParameter()[0]); - FloatValue result = _extfuncsImpl.fx_dms2dd(degrees, minutes, seconds, latlon); - - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Float.SIZE); - returnValue.setEncodedParameter(ByteHelper.floatToByteArray(result.getFloat())); - - _logger.exiting("PluginAdapter", "exec_dms2dd", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_dms2dd - - private void exec_isValidPolygonalRegion(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_isValidPolygonalRegion"); - - // Decode region parameter - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - RecordOfValue region = wrapper.getRecordOfValue("LibItsSecurity_TypesAndValues.PolygonalRegion"); - byte[] value = parameterList.get(0).getEncodedParameter(); - byte length = value[0]; - int offset = 1; - while (offset < length) { // TODO Create a method to fill PolygonRegions - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue twoDLocation = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - twoDLocation.setField("latitude", wrapper.setInteger(latitude)); - twoDLocation.setField("longitude", wrapper.setInteger(longitude)); - } - // Execute the function - BooleanValue result = _extfuncsImpl.fx_isValidPolygonalRegion(region); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_isValidPolygonalRegion", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_isValidPolygonalRegion - - private void exec_isPolygonalRegionInside(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_isPolygonalRegionInside"); - - // Decode parent parameter -// ByteHelper.dump("exec_isPolygonalRegionInside: ", parameterList.get(0).getEncodedParameter()); - // Execute the function - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - RecordOfValue parent = wrapper.getRecordOfValue("LibItsSecurity_TypesAndValues.PolygonalRegion"); - byte[] value = parameterList.get(0).getEncodedParameter(); - byte length = value[0]; - int offset = 1; - while (offset < length) { // TODO Create a method to fill PolygonRegions - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue twoDLocation = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - twoDLocation.setField("latitude", wrapper.setInteger(latitude)); - twoDLocation.setField("longitude", wrapper.setInteger(longitude)); - parent.appendField(twoDLocation); - } // End of 'while' statement - // Decode region parameter - RecordOfValue region = wrapper.getRecordOfValue("LibItsSecurity_TypesAndValues.PolygonalRegion"); - value = ByteHelper.extract(parameterList.get(0).getEncodedParameter(), offset, parameterList.get(0).getEncodedParameter().length - offset); - length = value[0]; - offset = 1; - while (offset < length) { // TODO Create a method to fill PolygonRegions - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue twoDLocation = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - twoDLocation.setField("latitude", wrapper.setInteger(latitude)); - twoDLocation.setField("longitude", wrapper.setInteger(longitude)); - region.appendField(twoDLocation); - } // End of 'while' statement - // Execute the function - BooleanValue result = _extfuncsImpl.fx_isPolygonalRegionInside(parent, region); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_isPolygonalRegionInside", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_isPolygonalRegionInside - - private void exec_isLocationInsideCircularRegion(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_isLocationInsideCircularRegion"); - - // Decode rectangularRegions parameter -// ByteHelper.dump("exec_isLocationInsideCircularRegion: ", parameterList.get(0).getEncodedParameter()); - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - byte[] value = parameterList.get(0).getEncodedParameter(); - int offset = 0; - // Center - RecordValue center = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - center.setField("latitude", wrapper.setInteger(latitude)); - center.setField("longitude", wrapper.setInteger(longitude)); - - // Radius - int radius = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Short.SIZE / Byte.SIZE)); - - RecordValue circularRegion = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.CircularRegion"); - circularRegion.setField("center", center); - circularRegion.setField("radius", wrapper.setInteger(radius)); - // Decode location parameter -// ByteHelper.dump("exec_isLocationInsideCircularRegion: ", parameterList.get(1).getEncodedParameter()); - value = parameterList.get(1).getEncodedParameter(); - offset = 0; - // WGS84 Latitude - latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue location = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.ThreeDLocation"); - location.setField("latitude", wrapper.setInteger(latitude)); - location.setField("longitude", wrapper.setInteger(longitude)); - OctetstringValue elevation = wrapper.getOctetstring(); - elevation.setLength(2); - elevation.setOctet(0, 0x00); elevation.setOctet(1, 0x00); - location.setField("elevation", elevation); - // Execute the function - BooleanValue result = _extfuncsImpl.fx_isLocationInsideCircularRegion(circularRegion, location); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_isLocationInsideCircularRegion", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_isLocationInsideCircularRegion - - private void exec_isLocationInsideRectangularRegion(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_isLocationInsideRectangularRegion"); - - // Decode rectangularRegions parameter -// ByteHelper.dump("exec_isLocationInsidePolygonalRegion: ", parameterList.get(0).getEncodedParameter()); - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - RecordOfValue rectangularRegions = wrapper.getRecordOfValue("LibItsSecurity_TypesAndValues.RectangularRegions"); - byte[] value = parameterList.get(0).getEncodedParameter(); - byte length = value[0]; - int offset = 1; - while (offset < length) { // TODO Create a method to fill RectangularRegions - // northwest - RecordValue northwest = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - northwest.setField("latitude", wrapper.setInteger(latitude)); - northwest.setField("longitude", wrapper.setInteger(longitude)); - - // southeast - RecordValue southeast = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - // WGS84 Latitude - latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - southeast.setField("latitude", wrapper.setInteger(latitude)); - southeast.setField("longitude", wrapper.setInteger(longitude)); - - RecordValue rectangularRegion = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.RectangularRegion"); - rectangularRegion.setField("northwest", northwest); - rectangularRegion.setField("southeast", southeast); - - rectangularRegions.appendField(rectangularRegion); - } // End of 'while' statement - // Decode location parameter -// ByteHelper.dump("exec_isLocationInsidePolygonalRegion: ", parameterList.get(1).getEncodedParameter()); - value = parameterList.get(1).getEncodedParameter(); - offset = 0; - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue location = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.ThreeDLocation"); - location.setField("latitude", wrapper.setInteger(latitude)); - location.setField("longitude", wrapper.setInteger(longitude)); - OctetstringValue elevation = wrapper.getOctetstring(); - elevation.setLength(2); - elevation.setOctet(0, 0x00); elevation.setOctet(1, 0x00); - location.setField("elevation", elevation); - // Execute the function - BooleanValue result = _extfuncsImpl.fx_isLocationInsideRectangularRegion(rectangularRegions, location); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_isLocationInsideRectangularRegion", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_isLocationInsideRectangularRegion - - private void exec_isLocationInsidePolygonalRegion(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_isLocationInsidePolygonalRegion"); - -// ByteHelper.dump("exec_isLocationInsidePolygonalRegion: ", parameterList.get(0).getEncodedParameter()); - // Execute the function - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - RecordOfValue polygonalArea = wrapper.getRecordOfValue("LibItsSecurity_TypesAndValues.PolygonalRegion"); - byte[] value = parameterList.get(0).getEncodedParameter(); - byte length = value[0]; - int offset = 1; - while (offset < length) { // TODO Create a method to fill PolygonRegions - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue twoDLocation = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.TwoDLocation"); - twoDLocation.setField("latitude", wrapper.setInteger(latitude)); - twoDLocation.setField("longitude", wrapper.setInteger(longitude)); - polygonalArea.appendField(twoDLocation); - } // End of 'while' statement -// ByteHelper.dump("exec_isLocationInsidePolygonalRegion: ", parameterList.get(1).getEncodedParameter()); - value = parameterList.get(1).getEncodedParameter(); - offset = 0; - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue location = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.ThreeDLocation"); - location.setField("latitude", wrapper.setInteger(latitude)); - location.setField("longitude", wrapper.setInteger(longitude)); - OctetstringValue elevation = wrapper.getOctetstring(); - elevation.setLength(2); - elevation.setOctet(0, 0x00); elevation.setOctet(1, 0x00); - location.setField("elevation", elevation); - BooleanValue result = _extfuncsImpl.fx_isLocationInsidePolygonalRegion(polygonalArea, location); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_isLocationInsidePolygonalRegion", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_isLocationInsidePolygonalRegion - - private void exec_isLocationInsideIdentifiedRegion(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_isLocationInsideIdentifiedRegion"); - - // Decode rectangularRegions parameter -// ByteHelper.dump("exec_isLocationInsideIdentifiedRegion: ", parameterList.get(0).getEncodedParameter()); - ITciCDWrapper wrapper = TciCDWrapperFactory.getTciCDInstance(); - byte[] value = parameterList.get(0).getEncodedParameter(); - int offset = 0; - // RegionDictionary - EnumeratedValue region_dictionary = wrapper.getEnumValue("LibItsSecurity_TypesAndValues.RegionDictionary"); - region_dictionary.setInt(value[offset++]); - // region_identifier - int region_identifier = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Short.SIZE / Byte.SIZE)); - offset += Short.SIZE / Byte.SIZE; - // local_region - int local_region; - if ((value[offset] & 0x80) == 0x00) { // One byte length - local_region = value[offset]; - } else { - // TODO Process it as IntX, not as 4 bytes integer - value[offset] &= 0x7f; - local_region = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Short.SIZE / Byte.SIZE)); - } - RecordValue identifiedRegion = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.IdentifiedRegion"); - identifiedRegion.setField("region_dictionary", region_dictionary); - identifiedRegion.setField("region_identifier", wrapper.setInteger(region_identifier)); - identifiedRegion.setField("local_region", wrapper.setInteger(local_region)); - - // Decode location parameter -// ByteHelper.dump("exec_isLocationInsideIdentifiedRegion: ", parameterList.get(1).getEncodedParameter()); - value = parameterList.get(1).getEncodedParameter(); - offset = 0; - // WGS84 Latitude - int latitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - // WGS84 Longitude - int longitude = ByteHelper.byteArrayToInt(ByteHelper.extract(value, offset, Integer.SIZE / Byte.SIZE)); - offset += Integer.SIZE / Byte.SIZE; - RecordValue location = wrapper.getRecordValue("LibItsSecurity_TypesAndValues.ThreeDLocation"); - location.setField("latitude", wrapper.setInteger(latitude)); - location.setField("longitude", wrapper.setInteger(longitude)); - OctetstringValue elevation = wrapper.getOctetstring(); - elevation.setLength(2); - elevation.setOctet(0, 0x00); elevation.setOctet(1, 0x00); - location.setField("elevation", elevation); - // Execute the function - BooleanValue result = _extfuncsImpl.fx_isLocationInsideIdentifiedRegion(identifiedRegion, location); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_isLocationInsideIdentifiedRegion", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_isLocationInsideIdentifiedRegion - - private void exec_loadCertificates(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_loadCertificates"); - - // Decode parameter -// ByteHelper.dump("exec_loadCertificates: ", parameterList.get(0).getEncodedParameter()); - CharstringValue rootDirectory = TciCDWrapperFactory.getTciCDInstance().getCharstringValue(); - String str = new String(parameterList.get(0).getEncodedParameter()); - rootDirectory.setString(str); - -// ByteHelper.dump("exec_loadCertificates: ", parameterList.get(1).getEncodedParameter()); - CharstringValue configId = TciCDWrapperFactory.getTciCDInstance().getCharstringValue(); - str = new String(parameterList.get(1).getEncodedParameter()); - configId.setString(str); - - // Execute the function - BooleanValue result = _extfuncsImpl.fx_loadCertificates(rootDirectory, configId); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_loadCertificates", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_parseIpv6Address - - private void exec_unloadCertificates(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_unloadCertificates"); - - // Execute the function - BooleanValue result = _extfuncsImpl.fx_unloadCertificates(); - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_unloadCertificates", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_parseIpv6Address - - private void exec_readCertificate(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_readCertificate"); - - // Decode parameter -// ByteHelper.dump("exec_readCertificate: ", parameterList.get(0).getEncodedParameter()); - CharstringValue certificateId = TciCDWrapperFactory.getTciCDInstance().getCharstringValue(); - String str = new String(parameterList.get(0).getEncodedParameter()); - certificateId.setString(str); - - OctetstringValue certificate = TciCDWrapperFactory.getTciCDInstance().getOctetstring(); - - // Execute the function - BooleanValue result = _extfuncsImpl.fx_readCertificate(certificateId, certificate); - - parameterList.get(1).setNumberOfBits(certificate.getLength() * Byte.SIZE); - byte[] value = new byte[certificate.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte) certificate.getOctet(i); - }// End of 'for'statement - parameterList.get(1).setEncodedParameter(value); - - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_readCertificate", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_parseIpv6Address - - private void exec_readCertificateDigest(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_readCertificateDigest"); - - // Decode parameter -// ByteHelper.dump("exec_readCertificate: ", parameterList.get(0).getEncodedParameter()); - CharstringValue certificateId = TciCDWrapperFactory.getTciCDInstance().getCharstringValue(); - String str = new String(parameterList.get(0).getEncodedParameter()); - certificateId.setString(str); - - OctetstringValue digest = TciCDWrapperFactory.getTciCDInstance().getOctetstring(); - - // Execute the function - BooleanValue result = _extfuncsImpl.fx_readCertificateDigest(certificateId, digest); - - parameterList.get(1).setNumberOfBits(digest.getLength() * Byte.SIZE); - byte[] value = new byte[digest.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte) digest.getOctet(i); - }// End of 'for'statement - parameterList.get(1).setEncodedParameter(value); - - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_readCertificateDigest", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_readCertificateDigest - - private void exec_readSigningKey(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_readSigningKeys"); - - // Decode parameter -// ByteHelper.dump("exec_readSigningKeys: ", parameterList.get(0).getEncodedParameter()); - CharstringValue keysId = TciCDWrapperFactory.getTciCDInstance().getCharstringValue(); - String str = new String(parameterList.get(0).getEncodedParameter()); - keysId.setString(str); - - OctetstringValue privateKey = TciCDWrapperFactory.getTciCDInstance().getOctetstring(); - - // Execute the function - BooleanValue result = _extfuncsImpl.fx_readSigningKey(keysId, privateKey); - - parameterList.get(1).setNumberOfBits(privateKey.getLength() * Byte.SIZE); - byte[] value = new byte[privateKey.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte) privateKey.getOctet(i); - }// End of 'for'statement - parameterList.get(1).setEncodedParameter(value); - - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_readSigningKeys", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_readSigningKeys - - private void exec_readEncryptingKey(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_readEncryptingKey"); - - // Decode parameter -// ByteHelper.dump("exec_readEncryptingKey: ", parameterList.get(0).getEncodedParameter()); - CharstringValue keysId = TciCDWrapperFactory.getTciCDInstance().getCharstringValue(); - String str = new String(parameterList.get(0).getEncodedParameter()); - keysId.setString(str); - - OctetstringValue privateKey = TciCDWrapperFactory.getTciCDInstance().getOctetstring(); - - // Execute the function - BooleanValue result = _extfuncsImpl.fx_readEncryptingKey(keysId, privateKey); - - parameterList.get(1).setNumberOfBits(privateKey.getLength() * Byte.SIZE); - byte[] value = new byte[privateKey.getLength()]; - for (int i = 0; i < value.length; i++) { - value[i] = (byte) privateKey.getOctet(i); - }// End of 'for'statement - parameterList.get(1).setEncodedParameter(value); - - // Return code - returnValue.setParameterPassingMode(TriParameterPassingMode.TRI_OUT); - returnValue.setNumberOfBits(Byte.SIZE); - returnValue.setEncodedParameter(new byte[] { (byte)((result.getBoolean() == true) ? 0x01 : 0x00) }); - - _logger.exiting("PluginAdapter", "exec_readSigningKeys", ByteHelper.byteArrayToString(returnValue.getEncodedParameter())); - } // End of method exec_readSigningKeys - - private void exec_parseIpv6Address(TriParameterList parameterList, TriParameter returnValue) { - _logger.entering("PluginAdapter", "exec_parseIpv6Address"); - - } // End of method exec_parseIpv6Address - - @Override - public TriStatus triBeginWait(long arg0, TriComponentId arg1) { - throw new RuntimeException(); - } - - @Override - public TriStatus triNextSampling(long arg0, TriPortId arg1) { - throw new RuntimeException(); - } - - @Override - public TriStatus triReadClock(TriLong arg0) { - throw new RuntimeException(); - } - - @Override - public TriStatus triStartClock(long arg0) { - throw new RuntimeException(); - } - - @Override - public void triSAErrorReq(String arg0) { - throw new RuntimeException(); - } - - @Override - public TriStatus triGetStreamValue(TriComponentId arg0, TriPortId arg1, TriAddress arg2, TriMessage arg3) { - throw new RuntimeException(); - } - - @Override - public TriStatus triSetStreamValue(TriComponentId arg0, TriPortId arg1, TriAddress arg2, TriMessage arg3) { - throw new RuntimeException(); - } - -} // End of class PluginAdapter diff --git a/javasrc/tool/org/etsi/its/tool/elvior/res/codec.properties b/javasrc/tool/org/etsi/its/tool/elvior/res/codec.properties deleted file mode 100644 index 2e3b585f3c6e59cc5a82baafa5b15434ebef1067..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/res/codec.properties +++ /dev/null @@ -1,11 +0,0 @@ -# Debug level - Authorized values: OFF, ALL, INFO, SEVERE -DEBUG_ENABLED=OFF - -ASN.1Codecs=CAM,DENM,CDD,MAPEM_SPATEM,IVIM,EVSCN,SREM_SSEM -CAM=LibItsCam_asn1,org.etsi.its.tool.elvior.LibItsCam_asn1 -DENM=LibItsDenm_asn1,org.etsi.its.tool.elvior.LibItsDenm_asn1 -CDD=LibItsContainer_asn1,org.etsi.its.tool.elvior.LibItsContainer_asn1 -MAPEM_SPATEM=LibItsMapemSpatem_asn1,org.etsi.its.tool.elvior.LibItsMapemSpatem_asn1 -IVIM=LibItsIvim_asn1,org.etsi.its.tool.elvior.LibItsIvim_asn1 -EVSCN=LibItsEvcsn_asn1,org.etsi.its.tool.elvior.LibItsEvcsn_asn1 -SREM_SSEM=LibItsSremSsem_asn1,org.etsi.its.tool.elvior.LibItsSremSsem_asn1 diff --git a/javasrc/tool/org/etsi/its/tool/elvior/res/ta.properties b/javasrc/tool/org/etsi/its/tool/elvior/res/ta.properties deleted file mode 100644 index 7be70ca76e289da2fa4032df70be69bc9047a575..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/elvior/res/ta.properties +++ /dev/null @@ -1,141 +0,0 @@ -# Debug level - Authorized values: OFF, ALL, INFO, SEVERE -DEBUG_ENABLED=OFF - -# Define the port/layer configuration for CAM -camPort=BTP/GN/ETH -#camPort=BTP/GN/UdpIpCSG -#camPort=BTP/GN/CSG -#camPort=BTP/GN/UdpIpMarben - -# Define the port/layer configuration for DENM -denmPort=BTP/GN/ETH -#denmPort=BTP/GN/UdpIpCSG -#denmPort=BTP/GN/CSG -#denmPort=BTP/GN/UdpIpMarben - -# Define the port/layer configuration for MAPEM-SPATEM -mapemSpatemPort=BTP/GN/ETH -#mapemSpatemPort=BTP/GN/CSG - -# Define the port/layer configuration for IVIM -ivimPort=BTP/GN/ETH -#ivimPort=BTP/GN/CSG - -# Define the port/layer configuration for SREM-SSEM -sremSsemPort=BTP/GN/ETH -#sremSsemPort=BTP/GN/CSG - -# Define the port/layer configuration for BTP -btpPort=GN/ETH - -# Define the port/layer configuration for GeoNetworking -#geoNetworkingPort=ETH -#geoNetworkingPort=UdpIpCSG -geoNetworkingPort=CSG -#geoNetworkingPort=UdpIpMarben - -# Define the port/layer configuration for GeoNetworking over IPv6 -ipv6OverGeoNetworkingPort=Debug - -# Define the port/layer configuration for CALM FNTP -#fntpPort=FNTP/ETH -#fntpPort=FNTP/UdpIp - -# Define the port/layer configuration for CALM FSAP -#fsapPort=FSAP/UdpIp -#fsapPort=FSAP/UdpIp - -# Commsignia RSU and OBU Simulator -UpperTesterSettings=10.200.1.101:12345 -# Commsignia Wireless OBU -#UpperTesterSettings=80.98.62.165:18502 -# Savari/VPN -#UpperTesterSettings=192.168.20.153:1999 -# Yogoko/VPN -#UpperTesterSettings=192.168.201.2:12345 -# Home laptop -#UpperTesterSettings=192.168.1.53:12345 -# Marben Jupiter VM32G upper tester -#UpperTesterSettings=192.168.7.182:10005 -# Nordsys upper tester -#UpperTesterSettings=172.23.0.1:1234 - -# RSU simulator -ConfigTesterSettings=10.200.1.102:12346 - -# Peer ITS station -#LinkLayer_Peer=001C6B0D0099 - -# Define the MAC address of the Ethernet interface connected to the IUT device -# Home laptop VMWare MAC address -#LocalEthernetMAC=005056C00008 -# Home laptop MAC address (Wireless) -#LocalEthernetMAC=DC536045AF7E -# Home laptop MAC address (Wired) -LocalEthernetMAC=F8CAB8083918 -# Home laptop/VPN MAC address -#LocalEthernetMAC=00FF6BADBFC2 -# ETSI computer MAC address -#LocalEthernetMAC=0022191B7FDB -# G5 bridge connected on USB3/Ethernet -#LocalEthernetMAC=00E08F008855 - -# Post-mortem ATS execution mode (G5 raw Ethernet only) -OfflineMode=false -#PcapFile=pcap/vendor/Livorno 20160914-2 DENM Full packet.pcap -PcapFile=F:/FSCOM/ETSI/ITS/STF517_ITS_Valid_Conform_Frmwk.2016/ITS-CMS5 PreQ/Savari/TC_SEC_ITSS_SND_MSG_01_01_BV.pcap -# Start at time in seconds since 1970-01-01, e.g. 1421661427.233361 -OffsetTime=0 - -# Define the Ethernet type value used by the IUT -IutEthernetTypeValue=0x8947 - -# Node Ethernet addresses -LinkLayer_MTC=001C6B0D0000 -# Link-Layer address of component NodeA -LinkLayer_NodeA=001C6B0D0001 -# Link-Layer address of component NodeB -LinkLayer_NodeB=001C6B0D0002 -# Link-Layer address of component NodeC -LinkLayer_NodeC=001C6B0D0003 -# Link-Layer address of component NodeD -LinkLayer_NodeD=001C6B0D0004 -# Link-Layer address of component NodeE -LinkLayer_NodeE=001C6B0D0005 -# Link-Layer address of component NodeF -LinkLayer_NodeF=001C6B0D0006 -# Link-Layer address of component NodeG -LinkLayer_NodeG=001C6B0D0007 -# Link-Layer address of component NodeH -LinkLayer_NodeH=001C6B0D0008 -# Link-Layer address of component NodeI -LinkLayer_NodeI=001C6B0D0009 -# Link-Layer address of component NodeJ -LinkLayer_NodeJ=001C6B0D000A - -# Interval between each beacon sent by TS (ms) -TsBeaconInterval=1000 - -# Latitude of Test System -#Commsignia TsLatitude=435525450 -#Yogoko TsLatitude=481210840 -#Marben TsLatitude=436175790 -#Livorno -TsLatitude=43551050 -# Sofia-antipolis TsLatitude=436175790 - -# Longitude of Test System -#Commsignia TsLongitude=103008910 -#Yogoko TsLongitude=-16287930 -#Marben TsLongitude=70546480 -#Livorno -TsLongitude=10298730 -# Sofia-antipolis TsLongitude=70546480 - -# Secured mode status -UtSecuredMode=false -# Secured configuration identifier -TsSecuredRootPath=data/certificates -# Secured root path to access certificates and private keys -TsSecuredConfiId= - diff --git a/javasrc/tool/org/etsi/its/tool/testingtech/ExternalFunctionsPluginProvider.java b/javasrc/tool/org/etsi/its/tool/testingtech/ExternalFunctionsPluginProvider.java deleted file mode 100644 index c04661cb759f02108d22fe577e2f61e5d3bd15e3..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/testingtech/ExternalFunctionsPluginProvider.java +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.its.tool.testingtech; - -import org.etsi.codec.TciCDWrapperFactory; -import org.etsi.its.extfunc.IItsExternalFunctionsProvider; -import org.etsi.its.extfunc.ItsExternalFunctionsProvider; -import org.etsi.tool.testingtech.TciCDWrapper; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; - -import com.testingtech.ttcn.extension.ExternalFunctionsProvider; -import com.testingtech.ttcn.tri.ExternalFunctionsDefinition; - -import de.tu_berlin.cs.uebb.muttcn.runtime.RB; - -/** - * This class provides access to the implementation of TTCN-3 external function - * @see IItsExternalFunctionsProvider - */ -public class ExternalFunctionsPluginProvider implements ExternalFunctionsProvider, ExternalFunctionsDefinition, IItsExternalFunctionsProvider { - - /** - * Reference to the - */ - private IItsExternalFunctionsProvider _externalFunctionsPluginProvider; - - - /** - * Constructor - */ - public ExternalFunctionsPluginProvider() { - _externalFunctionsPluginProvider = null; - - } - - /** - * Constructor - * - * @param rb TTwb runtime reference - */ - public ExternalFunctionsPluginProvider(RB rb) { - TciCDWrapperFactory.getInstance().setImpl(new TciCDWrapper(rb)); - _externalFunctionsPluginProvider = (IItsExternalFunctionsProvider)new ItsExternalFunctionsProvider(); - - } - - /** - * Refer to TTwb developer's guide - */ - @Override - public ExternalFunctionsDefinition getExternalFunctions(RB rb) { - return new ExternalFunctionsPluginProvider(rb); - } - - /** - * This external function gets the current time - * @param pLatitudeA Latitude of node A - * @param pLongitudeA Longitude of node A - * @param pLatitudeB Latitude of node B - * @param pLongitudeB Longitude of node B - * @return The current time in Epoch format - * - * TTCN-3 signature: - * external function fx_computeDistance(in UInt32 p_latitudeA, in UInt32 p_longitudeA, in UInt32 p_latitudeB, in UInt32 p_longitudeB) return float; - */ - @Override - public FloatValue fx_computeDistance(IntegerValue pLatitudeA, - IntegerValue pLongitudeA, IntegerValue pLatitudeB, - IntegerValue pLongitudeB) { - return _externalFunctionsPluginProvider.fx_computeDistance(pLatitudeA, pLongitudeA, pLatitudeB, pLongitudeB); - } - - /** - * External function to compute a position using a reference position, a distance and an orientation - * @param pIutLongPosVector Reference position - * @param pDistance Distance to the reference position (in meter) - * @param pOrientation Direction of the computed position (0 to 359; 0 means North) - * @param pLatitude Computed position's latitude - * @param pLongitude Computed position's longitude - * - * TTCN-3 signature: - * external function fx_computePositionUsingDistance(in LongPosVector p_iutLongPosVector, in integer p_distance, in integer p_orientation, out UInt32 p_latitude, out UInt32 p_longitude); - */ - @Override - public void fx_computePositionUsingDistance( - IntegerValue p_refLatitude, IntegerValue p_refLongitude, - FloatValue pDistance, IntegerValue pOrientation, - IntegerValue pLatitude, IntegerValue pLongitude) { - _externalFunctionsPluginProvider.fx_computePositionUsingDistance(p_refLatitude, p_refLongitude, pDistance, pOrientation, pLatitude, pLongitude); - } - - /** - * External function to compute a position using a reference position, a distance and an orientation - * @param pIutLongPosVector Reference position - * @param pCenLongPosVector Central reference position - * @param p_rotation Rotation value (in degrees) - * @param pLatitude Computed position's latitude - * @param pLongitude Computed position's longitude - * - * TTCN-3 signature: - * external function fx_computePositionFromRotation(in LongPosVector p_iutLongPosVector, in Int32 p_rotation, out Int32 p_latitude, out Int32 p_longitude); - */ - @Override - public void fx_computePositionFromRotation( - IntegerValue p_refLatitude, IntegerValue p_refLongitude, - IntegerValue p_cenLatitude, IntegerValue p_cenLongitude, - IntegerValue pRotation, - IntegerValue pLatitude, IntegerValue pLongitude) { - _externalFunctionsPluginProvider.fx_computePositionFromRotation(p_refLatitude, p_refLongitude, p_cenLatitude, p_cenLongitude, pRotation, pLatitude, pLongitude); - } - - @Override - public FloatValue fx_computeRadiusFromCircularArea(FloatValue p_squareMeters) { - return _externalFunctionsPluginProvider.fx_computeRadiusFromCircularArea(p_squareMeters); - } - - /** - * This external function gets the current time - * @return The current time in Epoch format - * - * TTCN-3 signature: - * external function fx_getCurrentTime() return TimeStamp; - */ - @Override - public IntegerValue fx_getCurrentTime() { - return _externalFunctionsPluginProvider.fx_getCurrentTime(); - } - - /** - * This external function gets the current time - * @return The current time in tenths of a second in the current or next hour in units of 1/10th second from UTC time - * - * TTCN-3 signature: - * external function fx_getCurrentTimeMark() return TimeMark; - */ - @Override - public IntegerValue fx_getCurrentTimeMark() { - return _externalFunctionsPluginProvider.fx_getCurrentTimeMark(); - } - - /** - * This external function gets the current time - * @return The current time in tenths of a second in the current or next hour in units of 1/10th second from UTC time - * - * TTCN-3 signature: - * external function fx_getMinuteOfTheYear() return MinuteOfTheYear; - */ - @Override - public IntegerValue fx_getMinuteOfTheYear() { - return _externalFunctionsPluginProvider.fx_getMinuteOfTheYear(); - } - - /** - * This external function gets the milliseconds point in the current UTC minute - * @return The milliseconds point in the current UTC minute (0..60000) - * - * TTCN-3 signature: - * external function fx_getDSecond() return DSecond; - */ - public IntegerValue fx_getDSecond() { - return _externalFunctionsPluginProvider.fx_getDSecond(); - } - - /** - * External function to compute timestamp based on current time - * @return Unix-Epoch-Time mod 2^32 - * - * TTCN-3 signature: - * external function fx_computeGnTimestamp() return UInt32; - */ - @Override - public IntegerValue fx_computeGnTimestamp() { - return _externalFunctionsPluginProvider.fx_computeGnTimestamp(); - - } - - /** - * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3 - * @param p_sourceAddress Source address, - * @param p_destinationAddress Destination address - * @param p_payloadLength Upper-Layer Packet Length - * @param p_payload Upper-Layer payload - * @param p_nextHdr Next header value (e.g. 0x3a for ICMPv6) - * @return The checksum value - * @see RFC 2460 IPv6 Specification - * - * TTCN-3 signature: - * external function fx_computeIPv6CheckSum( - * in template (value) Ipv6Address p_sourceAddress, - * in template (value) Ipv6Address p_destinationAddress, - * in template (value) integer p_payloadLength, - * in template (value) octetstring p_payload, - * in template (value) integer p_nextHdr - * ) return Oct2; - *
-      * Pseudo header is defined by RFC 2460 - Clause 8.1
-      *   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +                         Source Address                        +
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +                      Destination Address                      +
-      *  |                                                               |
-      *  +                                                               +
-      *  |                                                               |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                   Upper-Layer Packet Length                   |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      *  |                      zero                     |  Next Header  |
-      *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-      * 
- */ - @Override - public OctetstringValue fx_computeIPv6CheckSum( - OctetstringValue p_sourceAddress, - OctetstringValue p_destinationAddress, - IntegerValue p_payloadLength, - OctetstringValue p_payload, - IntegerValue p_nextHdr - ) { - return _externalFunctionsPluginProvider.fx_computeIPv6CheckSum(p_sourceAddress, p_destinationAddress, p_payloadLength, p_payload, p_nextHdr); - } - - @Override - public OctetstringValue xf_parseIpv6Address(final CharstringValue p_textIpv6Address) { - return _externalFunctionsPluginProvider.xf_parseIpv6Address(p_textIpv6Address); - } - - /** - * @desc Produces a 256-bit (32-byte) hash value - * @param p_toBeHashedData Data to be used to calculate the hash value - * @return The hash value - */ - @Override - public OctetstringValue fx_hashWithSha256(final OctetstringValue p_toBeHashedData) { - return _externalFunctionsPluginProvider.fx_hashWithSha256(p_toBeHashedData); - } - - /** - * @desc Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signaturee - * @param p_toBeSignedData The data to be signed - * @param p_privateKey The private key - * @return The signature value - */ - @Override - public OctetstringValue fx_signWithEcdsaNistp256WithSha256(final OctetstringValue p_toBeSignedData, final OctetstringValue p_privateKey) { - return _externalFunctionsPluginProvider.fx_signWithEcdsaNistp256WithSha256(p_toBeSignedData, p_privateKey); - } - - /** - * @desc Verify the signature of the specified data - * @param p_toBeVerifiedData The data to be verified - * @param p_signature The signature - * @param p_ecdsaNistp256PublicKeyX The public key (x coordinate) - * @param p_ecdsaNistp256PublicKeyY The public key (y coordinate) - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_verifyWithEcdsaNistp256WithSha256(final OctetstringValue p_toBeVerifiedData, final OctetstringValue p_signature, final OctetstringValue p_ecdsaNistp256PublicKeyX, final OctetstringValue p_ecdsaNistp256PublicKeyY) { - return _externalFunctionsPluginProvider.fx_verifyWithEcdsaNistp256WithSha256(p_toBeVerifiedData, p_signature, p_ecdsaNistp256PublicKeyX, p_ecdsaNistp256PublicKeyY); - } - - /** - * @desc Produce a new public/private key pair based on Elliptic Curve Digital Signature Algorithm (ECDSA) algorithm - * @param p_privateKey The new private key value - * @param p_publicKeyX The new public key value (x coordinate) - * @param p_publicKeyX The new public key value (y coordinate) - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_generateKeyPair(OctetstringValue p_privateKey, OctetstringValue p_publicKeyX, OctetstringValue p_publicKeyY) { - return _externalFunctionsPluginProvider.fx_generateKeyPair(p_privateKey, p_publicKeyX, p_publicKeyY); - } - - /** - * @desc Check that given polygon doesn't have neither self-intersections nor holes. - * @param p_region Polygonal Region - * @return true on success, false otherwise - */ - @Override - public BooleanValue fx_isValidPolygonalRegion(RecordOfValue p_region) { - return _externalFunctionsPluginProvider.fx_isValidPolygonalRegion(p_region); - } - - @Override - public BooleanValue fx_isPolygonalRegionInside(RecordOfValue p_parent, RecordOfValue p_region) { - return _externalFunctionsPluginProvider.fx_isPolygonalRegionInside(p_parent, p_region); - } - - @Override - public BooleanValue fx_isLocationInsideCircularRegion(RecordValue p_region, RecordValue p_location) { - return _externalFunctionsPluginProvider.fx_isLocationInsideCircularRegion(p_region, p_location); - } - - @Override - public BooleanValue fx_isLocationInsideRectangularRegion(RecordOfValue p_region, RecordValue p_location) { - return _externalFunctionsPluginProvider.fx_isLocationInsideRectangularRegion(p_region, p_location); - } - - @Override - public BooleanValue fx_isLocationInsidePolygonalRegion(final RecordOfValue p_region, final RecordValue p_location) { - return _externalFunctionsPluginProvider.fx_isLocationInsidePolygonalRegion(p_region, p_location); - } - - @Override - public BooleanValue fx_isLocationInsideIdentifiedRegion(RecordValue p_region, RecordValue p_location) { - return _externalFunctionsPluginProvider.fx_isLocationInsideIdentifiedRegion(p_region, p_location); - } - - @Override - public FloatValue fx_dms2dd(IntegerValue p_degrees, IntegerValue p_minutes, FloatValue p_seconds, OctetstringValue p_latlon) { - return _externalFunctionsPluginProvider.fx_dms2dd(p_degrees, p_minutes, p_seconds, p_latlon); - } - - @Override - public BooleanValue fx_loadCertificates(CharstringValue p_rootDirectory, CharstringValue p_configId) { - return _externalFunctionsPluginProvider.fx_loadCertificates(p_rootDirectory, p_configId); - } - - @Override - public BooleanValue fx_unloadCertificates() { - return _externalFunctionsPluginProvider.fx_unloadCertificates(); - } - - @Override - public BooleanValue fx_readCertificate(CharstringValue p_certificateName, OctetstringValue p_certificate) { - return _externalFunctionsPluginProvider.fx_readCertificate(p_certificateName, p_certificate); - } - - @Override - public BooleanValue fx_readCertificateDigest(CharstringValue p_certificateName, OctetstringValue p_digest) { - return _externalFunctionsPluginProvider.fx_readCertificateDigest(p_certificateName, p_digest); - } - - @Override - public BooleanValue fx_readSigningKey(CharstringValue p_certificateName, OctetstringValue p_privateKey) { - return _externalFunctionsPluginProvider.fx_readSigningKey(p_certificateName, p_privateKey); - } - - @Override - public BooleanValue fx_readEncryptingKey(CharstringValue p_certificateName, OctetstringValue p_privateKey) { - return _externalFunctionsPluginProvider.fx_readEncryptingKey(p_certificateName, p_privateKey); - } - -} diff --git a/javasrc/tool/org/etsi/its/tool/testingtech/GnssRemoteControl.java b/javasrc/tool/org/etsi/its/tool/testingtech/GnssRemoteControl.java deleted file mode 100644 index 62f22a4a1e813ff072039b54153cfc14eadb0456..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/testingtech/GnssRemoteControl.java +++ /dev/null @@ -1,711 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * (C) Copyright Testing Technologies, 2001-2016. All Rights Reserved. - * - * All copies of this program, whether in whole or in part, and whether - * modified or not, must display this and all other embedded copyright - * and ownership notices in full. - * - * See the file COPYRIGHT for details of redistribution and use. - * - * You should have received a copy of the COPYRIGHT file along with - * this file; if not, write to the Testing Technologies, - * Michaelkirchstr. 17/18, 10179 Berlin, Germany. - * - * TESTING TECHNOLOGIES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE. IN NO EVENT SHALL TESTING TECHNOLOGIES BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF - * THIS SOFTWARE. - * - * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, - * EITHER EXPRESSED OR IMPLIED, INCLUDING ANY KIND OF IMPLIED OR - * EXPRESSED WARRANTY OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES - * OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * ----------------------------------------------------------------------------- */ -package org.etsi.its.tool.testingtech; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.Socket; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; - -import org.etsi.adapter.IGnssSupport; -import org.etsi.adapter.ITERequired; -import org.etsi.adapter.TERFactory; -import org.etsi.common.ByteHelper; -import org.etsi.its.adapter.ports.AdapterControlPort; -import org.etsi.its.adapter.ports.AdapterPort; -import org.etsi.its.adapter.ports.PortEvent; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriCommunicationTE; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriStatus; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -import com.testingtech.ttcn.tci.codec.tabular.TabularDecoder; -import com.testingtech.ttcn.tci.codec.tabular.TabularException; -import com.testingtech.ttcn.tri.TriStatusImpl; -import com.testingtech.util.BitArrayInputStream; -import com.testingtech.util.BitArrayInputStream.Endianness; -import com.testingtech.util.ReferenceObject; - -public class GnssRemoteControl implements IGnssSupport { - - private final String STATUS_START = ""; - private final String STATUS_END = ""; - - private final String DATA_START = ""; - private final String DATA_END = ""; - - private Socket soc = null; - private static Boolean receiverRunning = false; - private static GnssRemoteControl gnssRC = null; - - private boolean debug = true; - - public static GnssRemoteControl getInstance() { - if (gnssRC == null){ - gnssRC = new GnssRemoteControl(); - } - return gnssRC; - } - - public TriStatus init() { - return TriStatusImpl.OK; - } - - public static void main(String[] args) { - - TERFactory.setImpl(new ITERequired() { - - @Override - public void logError(String errorMessage) { - System.out.println(errorMessage); - } - - @Override - public void logDebug(String debugMessage) { - System.out.println(debugMessage); - } - - @Override - public TriStatus getTriStatus(int statusCode, String message) { - return null; - } - - @Override - public TriStatus getTriStatus(int statusCode) { - return null; - } - - @Override - public TriMessage getTriMessage(byte[] message) { - return null; - } - - @Override - public TriAddress getTriAddress(byte[] message) { - return null; - } - - @Override - public Value getTaParameter(String param) { - return null; - } - - @Override - public TriCommunicationTE getCommunicationTE() { - return null; - } - }); - - try { - for (int i = 0; i < 1; i++) { - GnssRemoteControl grc = GnssRemoteControl.getInstance(); - grc.showMessage("Now controlled by TTwborkbench"); - grc.loadScenario(1500); -// grc.getScenarioName(); -// grc.getScenarioStatus(); -// grc.getScenarioDuration(); - grc.startScenario(); - grc.awaitTimeInRunningScenario(new AdapterControlPort("test", "TestComp"), 60000); -// grc.awaitDistanceToCover(new AdapterControlPort("test", "TestComp"), 200.0); - grc.getGpsTime(); -// grc.getScenarioStatus(); - grc.stopScenario(); -// grc.getScenarioStatus(); - } - } catch (Throwable th) { - th.printStackTrace(); - } - } - - public void dispose() { - try { - TERFactory.getInstance().logDebug("+++++++++++++++++++++++++++++++++++++++++++++"); - TERFactory.getInstance().logDebug("CLOSING"); - TERFactory.getInstance().logDebug("+++++++++++++++++++++++++++++++++++++++++++++"); - if (soc!=null) { - soc.close(); - soc = null; - } - gnssRC = null; - } catch (IOException e) { - e.printStackTrace(); - } - } - - private String getScenario(int p_id) throws Exception { - String result; - String scenario; - - switch (p_id) { - case 0: -// result = "c:\\Program Files (x86)\\Spirent Communications\\Positioning Application\\Scenarios\\C2C\\StaticPos\\StaticPos.scn"; - scenario = "GnssScenario_StaticPos"; - break; - case 200: -// result = "C:\\Program Files (x86)\\Spirent Communications\\Positioning Application\\Scenarios\\C2C\\DynamicPos1000m\\DynamicPos200m.scn"; - scenario = "GnssScenario_DynamicPos200m"; - break; - case 1000: -// result = "C:\\Program Files (x86)\\Spirent Communications\\Positioning Application\\Scenarios\\C2C\\DynamicPos1000m\\DynamicPos1000m.scn"; - scenario = "GnssScenario_DynamicPos1000m"; - break; - case 1500: -// return "C:\\Program Files (x86)\\Spirent Communications\\Positioning Application\\Scenarios\\C2C\\DynamicPos1500m\\DynamicPos1500m.scn"; - scenario = "GnssScenario_DynamicPos1500m"; - break; -// case 4: -// return "C:\\Program Files (x86)\\Spirent Communications\\Positioning Application\\Scenarios\\C2C\\DynamicPos1500m_straight\\DynamicPos1500m_straight.scn"; - default: - throw new Exception(p_id + ": Unknown scenario identification"); - } - - try { - result = ((CharstringValue)TERFactory.getInstance().getTaParameter(scenario)).getString(); - } - catch (Exception e) { - throw new Exception("Could not retrieve TA parameter " + scenario + ". Check configuration."); - } - - return result; - } - - public int showMessage(String msg) { - return handleCommand("MESSAGE,TTCN-3,Info,"+msg); - } - - public boolean loadScenario(int p_id) { - try { - boolean result= 2 == handleCommand("SC,"+getScenario(p_id)); - return result && enableDataStreaming(); - } catch (Throwable th) { - th.printStackTrace(); - return false; - } - } - - public int getScenarioName() { - return handleCommand("SC_NAME"); - } - - public int getScenarioDuration() { - return handleCommand("SC_DURATION"); - } - - public int getScenarioStatus() { - return handleCommand("NULL"); - } - - public boolean enableDataStreaming() { - String address; - try { - try { - address = ((CharstringValue)TERFactory.getInstance().getTaParameter("TestSystemIpAddress")).getString(); - } - catch (Throwable th) { - address = "10.73.100.28"; - } - } - catch (Throwable th) { - th.printStackTrace(); - return false; - } - - boolean result = 2==handleCommand("DS_ENABLE,1"); - handleCommand("DS_INFO"); - if (result) { - result = 2==handleCommand("DS_IP,"+address); - } - if (result) { - result = 2==handleCommand("DS_VEH_MOT,v1,1"); - } - if (result) { - result = 2==handleCommand("DS_VEH_CMS,v1,0"); - } - if (result) { - result = 2==handleCommand("DS_SYNC,0"); - } - if (result) { - result = 2==handleCommand("DS_STATUS,0"); - } - if (result) { - result = 2==handleCommand("DS_ANT_MOT,v1_a1,0"); - } - return result; - } - - public boolean startScenario() { - int result = handleCommand("RU"); - if (result==4) { - while((result = getScenarioStatus())!=5){ - try { - Thread.sleep(50); - } catch (InterruptedException e) { - //ignore - } - }; - } - return result==5; - } - - public boolean stopScenario() { - stopReceiver(); - return 2==handleCommand("-,EN,1"); - } - - public boolean awaitDistanceToCover(final AdapterPort commPort, final double distance) { - boolean result = false; - try { - final DatagramSocket udpReceiverSoc = new DatagramSocket(15660); - udpReceiverSoc.setSoTimeout(100); - - synchronized (receiverRunning) { - receiverRunning = true; - } - - new Thread(new Runnable() { - - @Override - public void run() { - boolean result = false; - DatagramPacket packet = new DatagramPacket(new byte[1500], 1500); - Double prevLatitude = null; - Double prevLongitude = null; - Double distanceCovered = 0.0; - - while(isReceiverRunning()) { - try { - udpReceiverSoc.receive(packet); - byte[] data = packet.getData(); - int length = packet.getLength(); - byte[] received = new byte[length]; - System.arraycopy(data, 0, received, 0, length); - TabularDecoder dec = new TabularDecoder(new BitArrayInputStream(received)); - try { - int type = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - if (type==0) { - int version = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - int time_into_run = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - int time_of_validity = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - int vehicleNumber = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - //skip spare - dec.decodeOctetstring(4); - //skip posn, velocity, acceleration, jerk - dec.decodeOctetstring(96); - BigInteger tmp = dec.decodeBigInteger(false, 64, Endianness.LITTLE_ENDIAN); - double curLatitude = Double.longBitsToDouble(tmp.longValue()); - tmp = dec.decodeBigInteger(false, 64, Endianness.LITTLE_ENDIAN); - double curLongitude = Double.longBitsToDouble(tmp.longValue()); - - if (debug) { - TERFactory.getInstance().logDebug("Type : " + type); - TERFactory.getInstance().logDebug("Version : " + version); - TERFactory.getInstance().logDebug("Time(into run) : " + time_into_run); - TERFactory.getInstance().logDebug("Time(validity) : " + time_of_validity); - TERFactory.getInstance().logDebug("VehicleNumber : " + vehicleNumber); - TERFactory.getInstance().logDebug("Latitude : " + curLatitude); - TERFactory.getInstance().logDebug("Longitude : " + curLongitude); - } - - if (prevLatitude != null && prevLongitude != null) { - distanceCovered += computeDistance(prevLatitude, curLatitude, prevLongitude, curLongitude); - } - prevLatitude = curLatitude; - prevLongitude = curLongitude; - - if (debug) { - TERFactory.getInstance().logDebug("Distance: " + distanceCovered); - } - - if (distanceCovered>=distance) { - result = true; - stopReceiver(); - } - } - } catch (TabularException e) { - e.printStackTrace(); - } - } catch (SocketTimeoutException ste) { - //nothing received, ignore - } catch (IOException e) { - e.printStackTrace(); - result = false; - stopReceiver(); - } - } - udpReceiverSoc.close(); - commPort.setChanged(); - byte[] response = {(byte)AdapterControlPort.AcGnssDistanceCovered, (byte)(result?AdapterControlPort.AcFalse:AdapterControlPort.AcTrue)}; - commPort.notifyObservers(new PortEvent(response, commPort.getPortName(), commPort.getComponentName())); - } - }, "AwaitDistanceCovered").start(); - } catch (SocketException e) { - e.printStackTrace(); - result = false; - } - - return result; - } - - public boolean awaitTimeInRunningScenario(final AdapterPort commPort, final int time) { - boolean result = false; - try { - final DatagramSocket udpReceiverSoc = new DatagramSocket(15660); - udpReceiverSoc.setSoTimeout(100); - - synchronized (receiverRunning) { - receiverRunning = true; - } - - Thread receiver = - new Thread(new Runnable() { - - @Override - public void run() { - boolean result = false; - DatagramPacket packet = new DatagramPacket(new byte[1500], 1500); - - while(isReceiverRunning()) { - try { - udpReceiverSoc.receive(packet); - TabularDecoder dec = new TabularDecoder(new BitArrayInputStream(packet.getData(), packet.getLength()<<3)); - try { - int type = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - if (type==0) { - int version = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - int time_into_run = dec.decodeInteger(false, 32, Endianness.LITTLE_ENDIAN); - - if (debug) { - TERFactory.getInstance().logDebug("Version : " + version); - TERFactory.getInstance().logDebug("Time(into run) : " + time_into_run); - } - - if (time_into_run>=(time*1000)/*in ms*/) { - result = true; - stopReceiver(); - } - } - } catch (TabularException e) { - e.printStackTrace(); - } - } catch (SocketTimeoutException ste) { - //nothing received, ignore - } catch (IOException e) { - e.printStackTrace(); - result = false; - stopReceiver(); - } - } - udpReceiverSoc.close(); - commPort.setChanged(); - byte[] response = {(byte)AdapterControlPort.AcGnssTimeReached, (byte)(result?AdapterControlPort.AcFalse:AdapterControlPort.AcTrue)}; - commPort.notifyObservers(new PortEvent(response, commPort.getPortName(), commPort.getComponentName())); - } - }, "AwaitTimeIntoRun"); - receiver.start(); -// try { -// receiver.join(); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } - } catch (SocketException e) { - e.printStackTrace(); - result = false; - } - - return result; - } - - public boolean changeSpeed(double speed) { - return false; - } - - public boolean changeHeading(double heading) { - return false; - } - - public BigInteger getGpsTime() { - boolean result = false; - BigInteger now = null; - long tmpNow = 0; - - ReferenceObject data = new ReferenceObject(new Double(0)); - result = 5==handleCommand("-,GPS_TIME", data); - if (result) { - if (data.get()!=0.0) { - tmpNow = data.get().longValue(); - } - else { - result = false; - } - } - //TODO Check if leap seconds should be handled - - if (result) { - String gpsdatestr="01/06/1980 00:00:00 +0000"; - String itsdatestr="01/01/2004 00:00:00 +0000"; - DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss Z"); - try { - Date gpsInit = formatter.parse(gpsdatestr); - long time = new Date(tmpNow*1000 + gpsInit.getTime()).getTime(); - now = new BigInteger( - 1, - ByteHelper.longToByteArray(time - ((java.util.Date)formatter.parse(itsdatestr)).getTime(), Long.SIZE / Byte.SIZE) - ); - if (debug) { - TERFactory.getInstance().logDebug("timeGps : " + time); - time = System.currentTimeMillis(); - TERFactory.getInstance().logDebug("timeSys : " + time); - TERFactory.getInstance().logDebug("now : " + now); - TERFactory.getInstance().logDebug("ref : " + - new BigInteger( - 1, - ByteHelper.longToByteArray(time - ((java.util.Date)formatter.parse(itsdatestr)).getTime(), Long.SIZE / Byte.SIZE) - ).longValue() - ); - TERFactory.getInstance().logDebug("date : " + - new BigInteger( - 1, - ByteHelper.longToByteArray(((java.util.Date)formatter.parse("12/15/2015 00:00:00 +0000")).getTime() - ((java.util.Date)formatter.parse(itsdatestr)).getTime(), Long.SIZE / Byte.SIZE) - ).longValue() - ); - } - } catch (ParseException e) { - now = BigInteger.ZERO; - } - } - - return now; - } - - private int handleCommand(String command) { - return handleCommand(command, null); - } - private int handleCommand(String command, ReferenceObject data) { - if (soc==null) { - try { - String address; - try { - address = ((CharstringValue)TERFactory.getInstance().getTaParameter("GnssControllerAddress")).getString(); - } - catch (Throwable th) { - address = "10.73.224.145"; - } - soc = new Socket(address, 15650); - } - catch (Throwable th) { - th.printStackTrace(); - return -1; - } - } - try { - command += "\r"; - TERFactory.getInstance().logDebug(new Date().toString()); - TERFactory.getInstance().logDebug("+++++++++++++++++++++++++++++++++++++++++++++"); - TERFactory.getInstance().logDebug(command); - TERFactory.getInstance().logDebug("+++++++++++++++++++++++++++++++++++++++++++++"); - soc.getOutputStream().write(command.getBytes()); - soc.getOutputStream().flush(); - int read=0; - StringBuffer sb = new StringBuffer(); - do { - read = soc.getInputStream().read(); - sb.append(new String(new byte[] {(byte) read})); - } while(read!='\r'); - String response = sb.toString(); - TERFactory.getInstance().logDebug(response); - - int statusStart = response.indexOf(STATUS_START); - - int statusEnd = response.indexOf(STATUS_END, statusStart); - - String status = response.substring(statusStart+STATUS_START.length(), statusEnd).trim(); - - if (data!=null) { - int dataStart = response.indexOf(DATA_START); - - if (dataStart!=-1) { - int dataEnd = response.indexOf(DATA_END, dataStart); - if (dataEnd!=-1) { - String dataStr = response.substring(dataStart+DATA_START.length(), dataEnd).trim(); - data.set(Double.valueOf(dataStr)); - } - } - } - - handleResponse(response); - - return Integer.valueOf(status); - } catch (Throwable th) { - th.printStackTrace(); - return -1; - } - } - - private void handleResponse(String response) { - try { - SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); - parser.parse(new ByteArrayInputStream(response.getBytes()), new DefaultHandler() { - private boolean inStatus; - private boolean inData; - private boolean inError; - private boolean inFatal; - StringBuffer sb = new StringBuffer();; - - /* (non-Javadoc) - * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int) - */ - @Override - public void characters(char[] ch, int start, int length) - throws SAXException { - if (inStatus || inData || inError || inFatal) { - sb.append(ch, start, length); - } - super.characters(ch, start, length); - } - - /* (non-Javadoc) - * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) - */ - @Override - public void startElement(String uri, String localName, - String qName, Attributes attributes) - throws SAXException { - localName = getLocalName(localName, qName); - if (localName.equals("status")) { - inStatus=true; - sb.setLength(0); - } - else if (localName.equals("data")) { - inData=true; - sb.setLength(0); - } - else if (localName.equals("error")) { - inError=true; - sb.setLength(0); - } - else if (localName.equals("fatal")) { - inFatal=true; - sb.setLength(0); - } - super.startElement(uri, localName, qName, attributes); - } - - @Override - public void endElement(String uri, String localName, - String qName) throws SAXException { - localName = getLocalName(localName, qName); - if (localName.equals("status")) { - inStatus=false; - TERFactory.getInstance().logDebug("status: " + sb.toString()); - sb.setLength(0); - } - else if (localName.equals("data")) { - inData=false; - TERFactory.getInstance().logDebug("data: " + sb.toString()); - sb.setLength(0); - } - else if (localName.equals("error")) { - inError=false; - TERFactory.getInstance().logDebug("error: " + sb.toString()); - sb.setLength(0); - } - else if (localName.equals("fatal")) { - inFatal=false; - TERFactory.getInstance().logDebug("fatal: " + sb.toString()); - sb.setLength(0); - } - super.endElement(uri, localName, qName); - } - }, null); - } catch (ParserConfigurationException e) { - e.printStackTrace(); - } catch (SAXException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private String getLocalName(String localName, String qName) { - if (localName.isEmpty()) { - String[] nameParts = qName.split(":",2); - if (nameParts.length==1) { - localName = nameParts[0]; - } - else { - localName = nameParts[1]; - } - } - return localName; - } - - static boolean isReceiverRunning() { - synchronized (receiverRunning) { - return receiverRunning; - } - } - - void stopReceiver() { - synchronized (receiverRunning) { - receiverRunning = false; - } - } - - double computeDistance(double p_latitudeA, double p_latitudeB, double p_longitudeA, double p_longitudeB) { - double R = 6371000; // m - double dLat = p_latitudeB-p_latitudeA; - double dLon = p_longitudeB-p_longitudeA; - double lat1 = p_latitudeA; - double lat2 = p_latitudeB; - - double a = Math.sin(dLat/2) * Math.sin(dLat/2) + - Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); - double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); - double d = R * c; - - return d; - } -} diff --git a/javasrc/tool/org/etsi/its/tool/testingtech/Its_CodecProvider.java b/javasrc/tool/org/etsi/its/tool/testingtech/Its_CodecProvider.java deleted file mode 100644 index 4f89c08ef61a255f24afc6d1bb9eb8de59c1c1f2..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/testingtech/Its_CodecProvider.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @author ETSI / STF462 / Alexandre Berge - * @version $URL$ - * $Id$ - */ -package org.etsi.its.tool.testingtech; - -import org.etsi.codec.ITciCDWrapper; -import org.etsi.codec.TciCDWrapperFactory; -import org.etsi.tool.testingtech.TTWBCodecSupport; -import org.etsi.ttcn.codec.CodecFactory; -import org.etsi.ttcn.codec.MainCodec; -import org.etsi.ttcn.tci.TciCDProvided; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriMessage; - -import com.testingtech.ttcn.extension.CodecProvider; -import com.testingtech.util.plugin.PluginInitException; - -import de.tu_berlin.cs.uebb.muttcn.runtime.RB; - -/** This is the main entry point for Its codec - */ -public class Its_CodecProvider implements CodecProvider { - - /** - * This method provides the codec associated to the specified encoding identifier - * - * @param rb TTwb Runtime reference - * @param encodingName The name of the encoding, specified by the TTCN-3 key words 'with/encode' - * @return The codec associated to the specified encoding identifier - */ - @Override - public TciCDProvided getCodec(RB rb, String encodingName) throws PluginInitException { - - // Register External codecs - CodecFactory cf = CodecFactory.getInstance(); - TTWBCodecSupport cs = new TTWBCodecSupport(rb); - cf.setExternalCodec("LibItsCam_asn1", cs.getCodec("LibItsCam_asn1")); - cf.setExternalCodec("LibItsDenm_asn1", cs.getCodec("LibItsDenm_asn1")); - cf.setExternalCodec("LibItsMapemSpatem_asn1", cs.getCodec("LibItsMapemSpatem_asn1")); - cf.setExternalCodec("LibItsIvim_asn1", cs.getCodec("LibItsIvim_asn1")); - cf.setExternalCodec("LibItsEvcsn_asn1", cs.getCodec("LibItsEvcsn_asn1")); - cf.setExternalCodec("LibItsSremSsem_asn1", cs.getCodec("LibItsSremSsem_asn1")); - //TODO: add V2G external codecs (xsd) - //TODO: Yann add CALM external codecs (ASN.1) - return new Codec(); - } - - private class Codec implements TciCDProvided { - - @Override - public Value decode(TriMessage message, Type decodingHypothesis) { - MainCodec codec = new MainCodec((ITciCDWrapper) TciCDWrapperFactory.getTciCDInstance()); - Value v = null; - try { - v = codec.triDecode(message, decodingHypothesis); - } - catch(Exception e) { - e.printStackTrace(); - } - return v; - } - - @Override - public TriMessage encode(Value value) { - MainCodec codec = new MainCodec((ITciCDWrapper) TciCDWrapperFactory.getTciCDInstance()); - TriMessage m = null; - try { - m = codec.triEncode(value); - } - catch(Exception e) { - e.printStackTrace(); - } - return m; - } - } -} diff --git a/javasrc/tool/org/etsi/its/tool/testingtech/PluginAdapter.java b/javasrc/tool/org/etsi/its/tool/testingtech/PluginAdapter.java deleted file mode 100644 index 53c57e5bf945f63a57dac3ff8ca8544877f8495a..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/its/tool/testingtech/PluginAdapter.java +++ /dev/null @@ -1,212 +0,0 @@ -package org.etsi.its.tool.testingtech; - -import org.etsi.adapter.GnssSupportFactory; -import org.etsi.adapter.TERFactory; -import org.etsi.its.adapter.TestAdapter; -import org.etsi.tool.testingtech.TeRequiredImpl; -import org.etsi.ttcn.tri.TriActionTemplate; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriAddressList; -import org.etsi.ttcn.tri.TriComponentId; -import org.etsi.ttcn.tri.TriException; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriParameter; -import org.etsi.ttcn.tri.TriParameterList; -import org.etsi.ttcn.tri.TriPortId; -import org.etsi.ttcn.tri.TriPortIdList; -import org.etsi.ttcn.tri.TriSignatureId; -import org.etsi.ttcn.tri.TriStatus; -import org.etsi.ttcn.tri.TriTestCaseId; - -import com.testingtech.ttcn.tri.ISAPlugin; -import com.testingtech.ttcn.tri.PluginIdentifier; -import com.testingtech.ttcn.tri.PluginIdentifierContainer; -import com.testingtech.ttcn.tri.TriStatusImpl; -import com.testingtech.ttcn.tri.extension.PortPluginProvider; - -import de.tu_berlin.cs.uebb.muttcn.runtime.RB; - -@SuppressWarnings("deprecation") -public class PluginAdapter implements ISAPlugin, PortPluginProvider, PluginIdentifierContainer { - - /** - * - */ - private static final long serialVersionUID = 3032642487407372318L; - - /** - * Instance of tool independent test adapter implementation - */ - protected TestAdapter ta; - - /** - * TTwb runtime reference - */ - protected RB rb; - - /** - * TTwb plugin identifier - */ - protected PluginIdentifier pluginId = new PluginIdentifier("org.etsi.its.testingtech.port"); - - @Override - public ISAPlugin getPortPlugin() { - return this; - } - - @Override - public void setPluginIdentifier(PluginIdentifier pluginId) { - this.pluginId = pluginId; - } - - @Override - public void setRB(RB rb) { - this.rb = rb; - TERFactory.setImpl(new TeRequiredImpl(this.rb, pluginId)); - ta = new TestAdapter(); - } - - @Override - public TriStatus setUp() { - GnssSupportFactory.setImpl(new GnssRemoteControl()); - return GnssSupportFactory.getInstance().init(); - } - - @Override - public TriStatus tearDown() { - return new TriStatusImpl(); - } - - public TriStatus reInit() { - return tearDown(); - } - - @Override - public TriStatus triCall(TriComponentId componentId, TriPortId tsiPortId, - TriAddress sutAddress, TriSignatureId signatureId, - TriParameterList parameterList) { - return ta.triCall(componentId, tsiPortId, sutAddress, signatureId, parameterList); - } - - @Override - public TriStatus triCallBC(TriComponentId componentId, TriPortId tsiPortId, - TriSignatureId signatureId, TriParameterList parameterList) { - return ta.triCallBC(componentId, tsiPortId, signatureId, parameterList); - } - - @Override - public TriStatus triCallMC(TriComponentId componentId, TriPortId tsiPortId, - TriAddressList sutAddresses, TriSignatureId signatureId, - TriParameterList parameterList) { - return ta.triCallMC(componentId, tsiPortId, sutAddresses, signatureId, parameterList); - } - - @Override - public TriStatus triEndTestCase() { - return ta.triEndTestCase(); - } - - @Override - public TriStatus triExecuteTestcase(TriTestCaseId testCaseId, - TriPortIdList tsiPorts) { - return ta.triExecuteTestcase(testCaseId, tsiPorts); - } - - @Override - public TriStatus triMap(TriPortId compPortId, TriPortId tsiPortId) { - return ta.triMap(compPortId, tsiPortId); - } - - @Override - public TriStatus triMapParam(TriPortId compPortId, TriPortId tsiPortId, - TriParameterList paramList) { - return ta.triMapParam(compPortId, tsiPortId, paramList); - } - - @Override - public TriStatus triRaise(TriComponentId componentId, TriPortId tsiPortId, - TriAddress sutAddress, TriSignatureId signatureId, - TriException exception) { - return ta.triRaise(componentId, tsiPortId, sutAddress, signatureId, exception); - } - - @Override - public TriStatus triRaiseBC(TriComponentId componentId, - TriPortId tsitPortId, TriSignatureId signatureId, TriException exc) { - return ta.triRaiseBC(componentId, tsitPortId, signatureId, exc); - } - - @Override - public TriStatus triRaiseMC(TriComponentId componentId, - TriPortId tsitPortId, TriAddressList sutAddresses, - TriSignatureId signatureId, TriException exc) { - return ta.triRaiseMC(componentId, tsitPortId, sutAddresses, signatureId, exc); - } - - @Override - public TriStatus triReply(TriComponentId componentId, TriPortId tsiPortId, - TriAddress sutAddress, TriSignatureId signatureId, - TriParameterList parameterList, TriParameter returnValue) { - return ta.triReply(componentId, tsiPortId, sutAddress, signatureId, parameterList, returnValue); - } - - @Override - public TriStatus triReplyBC(TriComponentId componentId, - TriPortId tsiPortId, TriSignatureId signatureId, - TriParameterList parameterList, TriParameter returnValue) { - return ta.triReplyBC(componentId, tsiPortId, signatureId, parameterList, returnValue); - } - - @Override - public TriStatus triReplyMC(TriComponentId componentId, - TriPortId tsiPortId, TriAddressList sutAddresses, - TriSignatureId signatureId, TriParameterList parameterList, - TriParameter returnValue) { - return ta.triReplyMC(componentId, tsiPortId, sutAddresses, signatureId, parameterList, returnValue); - } - - @Override - public TriStatus triSAReset() { - return ta.triSAReset(); - } - - @Override - public TriStatus triSend(TriComponentId componentId, TriPortId tsiPortId, - TriAddress address, TriMessage sendMessage) { - return ta.triSend(componentId, tsiPortId, address, sendMessage); - } - - @Override - public TriStatus triSendBC(TriComponentId componentId, TriPortId tsiPortId, - TriMessage sendMessage) { - return ta.triSendBC(componentId, tsiPortId, sendMessage); - } - - @Override - public TriStatus triSendMC(TriComponentId componentId, TriPortId tsiPortId, - TriAddressList addresses, TriMessage sendMessage) { - return ta.triSendMC(componentId, tsiPortId, addresses, sendMessage); - } - - @Override - public TriStatus triSutActionInformal(String description) { - return ta.triSutActionInformal(description); - } - - @Override - public TriStatus triSutActionTemplate(TriActionTemplate templateValue) { - return ta.triSutActionTemplate(templateValue); - } - - @Override - public TriStatus triUnmap(TriPortId compPortId, TriPortId tsiPortId) { - return ta.triUnmap(compPortId, tsiPortId); - } - - @Override - public TriStatus triUnmapParam(TriPortId compPortId, TriPortId tsiPortId, - TriParameterList paramList) { - return ta.triUnmapParam(compPortId, tsiPortId, paramList); - } - -} diff --git a/javasrc/tool/org/etsi/tool/elvior/TciCDWrapper.java b/javasrc/tool/org/etsi/tool/elvior/TciCDWrapper.java deleted file mode 100644 index fc653dbe0f8b15ad802a1c0976aeeb57a99a0749..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/tool/elvior/TciCDWrapper.java +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.tool.elvior; - -import java.math.BigInteger; -import java.util.logging.Logger; - -import org.elvior.ttcn.tritci.IntegerValueEx; -import org.elvior.ttcn.tritci.TciProvider; -import org.etsi.adapter.TERFactory; -import org.etsi.codec.ITciCDWrapper; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.TciCDRequired; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -/** This class implements the ITciCDWrapper interface - * - * Note that the TCI Codec Interface (TCI-CD) describes the operations a TTCN-3 Executable is required to implement and the operations a codec implementation for a certain encoding scheme shall provide to the TE - * - * See ETSI ES 201 873-6 V4.2.1 - Clause 7.3.2.1 TCI-CD required - */ -public class TciCDWrapper implements ITciCDWrapper { - - private TciCDRequired _tciFactory = TciProvider.getInstance().getTciCDRequired(); - - private Logger _logger; - - public TciCDWrapper() { - _logger = Logger.getLogger("org.etsi.its"); - } - - @Override - public IntegerValue setInteger(final Integer value) { - IntegerValue iv = (IntegerValue)_tciFactory.getInteger().newInstance(); - iv.setInteger(value); - return iv; - } - - @Override - public int getInteger(final IntegerValue iv) { - return iv.getInteger(); - } - - @Override - public IntegerValue setInteger(final BigInteger value) { -// TERFactory.getInstance().logDebug(">>> getBigInteger: " + value); - IntegerValueEx bi = (IntegerValueEx) _tciFactory.getInteger().newInstance(); //_tciFactory.getTypeForName("org.elvior.ttcn.tritci.IntegerValueEx"); - if (bi != null) { -// TERFactory.getInstance().logDebug("getBigInteger: then"); - bi.setInt64(value.longValue()); -// TERFactory.getInstance().logDebug("getBigInteger: bi=" + bi.getInt64()); - return (IntegerValue)bi; - } else { -// TERFactory.getInstance().logDebug("getBigInteger: else"); - IntegerValue i = (IntegerValue) _tciFactory.getInteger().newInstance(); -// TERFactory.getInstance().logDebug("getBigInteger: i=" + i); - i.setInteger(value.intValue()); - return i; - } - } - - @Override - public void setInteger(BigInteger value, IntegerValue setInt) { - ((IntegerValueEx)setInt).setInt64(value.longValue()); - } - - @Override - public long getBigInteger(final IntegerValue iv) { - return ((IntegerValueEx)iv).getInt64(); - } - - @Override - public OctetstringValue getOctetstring() { - return (OctetstringValue)_tciFactory.getOctetstring().newInstance(); - } - - /** Constructs and returns a basic TTCN-3 string type - * - * @return An instance of Type representing a TTCN-3 string type - */ - @Override - public CharstringValue getCharstringValue() { - return (CharstringValue)_tciFactory.getCharstring().newInstance(); - } - - @Override - public FloatValue getFloat() { - return (FloatValue)_tciFactory.getFloat().newInstance(); - } - - @Override - public Value getUnionValue(final Type decodingHypothesis, final String variantName) { -// TERFactory.getInstance().logDebug(">>> getUnionValue: " + decodingHypothesis.getName() + ", " + variantName); - - String variantTypeName = decodingHypothesis.getDefiningModule().getModuleName() + "." + decodingHypothesis.getName() + "." + variantName; -// TERFactory.getInstance().logDebug("variantTypeName is " + variantTypeName); - Type variantType = getTypeForName(variantTypeName); - if(variantType != null) { - Value testVal = variantType.newInstance(); - if(testVal != null) { -// TERFactory.getInstance().logDebug("Variant value has been created."); - return testVal; - } - } -// TERFactory.getInstance().logError("variantType is null"); - -// TERFactory.getInstance().logDebug("Variant value hasn't been created."); - return null; - } - - @Override - public Type getTypeForName(final String type) { -// TERFactory.getInstance().logDebug("TciCDWrapper.getTypeForName: " + type); - Type originalType; - if (type.indexOf("DecodedBtpPayload") != -1) { - if (type.endsWith("camPacket")) { - originalType = _tciFactory.getTypeForName("CAM_PDU_Descriptions.CAM"); - } else if (type.endsWith("denmPacket")) { - originalType = _tciFactory.getTypeForName("DENM_PDU_Descriptions.DENM"); - } else if (type.endsWith("mapemPacket")) { - originalType = _tciFactory.getTypeForName("MAPEM_PDU_Descriptions.MAPEM"); - } else if (type.endsWith("spatemPacket")) { - originalType = _tciFactory.getTypeForName("MAPEM_PDU_Descriptions.SPATEM"); - } else if (type.endsWith("ivimPacket")) { - originalType = _tciFactory.getTypeForName("IVIM_PDU_Descriptions.IVIM"); - } else if (type.endsWith("evcsnPacket")) { - originalType = _tciFactory.getTypeForName("EVCSN_PDU_Descriptions.EvcsnPdu"); - } else if (type.endsWith("sremPacket")) { - originalType = _tciFactory.getTypeForName("SREM_PDU_Descriptions.SREM"); - } else if (type.endsWith("ssemPacket")) { - originalType = _tciFactory.getTypeForName("SSEM_PDU_Descriptions.SSEM"); - } else { - originalType = _tciFactory.getTypeForName(type); - } - } else { - originalType = _tciFactory.getTypeForName(type); - } -// TERFactory.getInstance().logDebug("TciCDWrapper.getTypeForName: " + originalType.getName()); - return originalType; - } // End of method getTypeForName - - @Override - public BooleanValue getBoolean() { - return (BooleanValue)_tciFactory.getBoolean().newInstance(); - } - - @Override - public EnumeratedValue getEnumValue(String typeName) { - return (EnumeratedValue)_tciFactory.getTypeForName(typeName).newInstance(); - } - - @Override - public RecordValue getRecordValue(final String typeName) { - return (RecordValue)_tciFactory.getTypeForName(typeName).newInstance(); - } - - @Override - public RecordOfValue getRecordOfValue(final String typeName) { - return (RecordOfValue)_tciFactory.getTypeForName(typeName).newInstance(); - } - - @Override - public void setInteger(IntegerValue intValue, final Integer value) { - intValue.setInteger(value); - } - -// @Override -// public void logDebug(String debugMessage) { -// _logger.info(debugMessage); -// } -// -// @Override -// public void logError(String errorMessage) { -// _logger.severe(errorMessage); -// } -// -} // End of class TciCDWrapper diff --git a/javasrc/tool/org/etsi/tool/elvior/TeRequiredImpl.java b/javasrc/tool/org/etsi/tool/elvior/TeRequiredImpl.java deleted file mode 100644 index feef17111e506965f22376e91ed448106cb7226d..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/tool/elvior/TeRequiredImpl.java +++ /dev/null @@ -1,236 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.tool.elvior; - -import java.io.IOException; -import java.util.Properties; -import java.util.logging.Logger; - -import org.elvior.ttcn.tritci.TriFactory; -import org.elvior.ttcn.tritci.TriProvider; -import org.etsi.adapter.ITERequired; -import org.etsi.its.tool.elvior.MainTA; -import org.etsi.its.tool.elvior.PluginAdapter; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.LengthRestriction; -import org.etsi.ttcn.tci.MatchingMechanism; -import org.etsi.ttcn.tci.RangeBoundary; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriCommunicationTE; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriStatus; - -public class TeRequiredImpl implements ITERequired { - - TriFactory _factory = TriProvider.getInstance().getTriFactory(); - -// private TriTciChannel _tciFactory = TriTciChannel.getInstance(); - - private final PluginAdapter _ta; - - private static Properties _properties = new Properties(); - - protected final static Logger _logger = Logger.getLogger("org.etsi.its"); - - public TeRequiredImpl(PluginAdapter ta) { - _ta = ta; - // Load TA settings - try { - _properties.load(MainTA.class.getResourceAsStream("/org/etsi/its/tool/elvior/res/ta.properties")); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public TriCommunicationTE getCommunicationTE() { - return (TriCommunicationTE)_ta; - } - - /** - * @desc Retrieve TA settings from external file - * It does not work with TestcatT3 because of TCI is only available during test case execution (from triExecuteTestCase method call till triEndTestCase method call) - */ - @Override - public Value getTaParameter(String param) { - CharstringValue string = new CharstringValue() { - private String _value = ""; - @Override - public boolean notPresent() { - return _value.isEmpty(); - } - - @Override - public String getValueEncodingVariant() { - return null; - } - - @Override - public String getValueEncoding() { - return null; - } - - @Override - public Type getType() { - return null; - } - - @Override - public void setString(String value) { - _value = value; - } - - @Override - public void setLength(int length) { - } - - @Override - public void setChar(int index, char arg1) { - } - - @Override - public String getString() { - return _value; - } - - @Override - public int getLength() { - return _value.length(); - } - - @Override - public char getChar(int index) { - return _value.charAt(index); - } - - @Override - public LengthRestriction getLengthRestriction() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RangeBoundary getLowerTypeBoundary() { - // TODO Auto-generated method stub - return null; - } - - @Override - public LengthRestriction getTypeLengthRestriction() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MatchingMechanism getTypeMatchingMechanism() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RangeBoundary getUpperTypeBoundary() { - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean isEvaluated() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isFuzzy() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isIfPresentEnabled() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isLazy() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isMatchingSymbol() { - // TODO Auto-generated method stub - return false; - } - - @Override - public LengthRestriction newLengthRestriction() { - // TODO Auto-generated method stub - return null; - } - - @Override - public void setIfPresentEnabled(boolean arg0) { - // TODO Auto-generated method stub - - } - - @Override - public void setLengthRestriction(LengthRestriction arg0) { - // TODO Auto-generated method stub - - } - - @Override - public String valueToString() { - // TODO Auto-generated method stub - return null; - } - }; - string.setString(_properties.getProperty(param, "")); - - return string; - } - - @Override - public TriAddress getTriAddress(byte[] message) { - TriAddress address = _factory.createAddress(); - address.setEncodedAddress(message); - return address; - } - - @Override - public TriMessage getTriMessage(byte[] message) { - TriMessage msg = _factory.createMessage(); - msg.setEncodedMessage(message); - msg.setNumberOfBits(message.length * Byte.SIZE); - return msg; - } - - @Override - public TriStatus getTriStatus(int statusCode) { - TriStatus status = _factory.createErrorStatus(); - status.setStatus(statusCode); - return status; - } - - @Override - public TriStatus getTriStatus(int statusCode, String message) { - return getTriStatus(statusCode); - } - - @Override - public void logDebug(String debugMessage) { - _logger.info(debugMessage); - } - - @Override - public void logError(String errorMessage) { - _logger.severe(errorMessage); - } - -} // End of class TeRequiredImpl diff --git a/javasrc/tool/org/etsi/tool/testingtech/TTWBCodecSupport.java b/javasrc/tool/org/etsi/tool/testingtech/TTWBCodecSupport.java deleted file mode 100644 index e4fdfb54cef4a1f48a856a6edf2ffedb35bac06f..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/tool/testingtech/TTWBCodecSupport.java +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $URL$ - * $Id$ - */ -package org.etsi.tool.testingtech; - -import org.etsi.codec.ITCIRequired; -import org.etsi.ttcn.tci.TciCDProvided; - -import com.testingtech.ttcn.extension.CodecProvider; -import com.testingtech.ttcn.tri.AbstractPlugin; -import com.testingtech.util.plugin.IPlugin; -import com.testingtech.util.plugin.IPluginParameter; -import com.testingtech.util.plugin.PluginInitException; -import com.testingtech.util.plugin.PluginInstantiationException; -import com.testingtech.util.plugin.PluginParameter; -import com.testingtech.util.plugin.PluginRepository; - -import de.tu_berlin.cs.uebb.muttcn.runtime.RB; - -/** - * This class provides an implementation of the ITCIRequired interface to create a instance of TTCN-3 codec - * - * @category Factory - */ -public class TTWBCodecSupport implements ITCIRequired{ - - private RB _rb; - - /** - * Constructor - * @param rb TTWB Test Execution instance - */ - public TTWBCodecSupport(RB rb) { - _rb = rb; - } - - /** - * We overwrite this method to bypass the codec caching mechanism provided by TTwb. - * The reason is that the TA is based on multicomponent/one port mapping mechanism - * - * @param encodingName The encoding identifier - * @return The codec instance on success, null otherwise - */ - @Override - public TciCDProvided getCodec(String encodingName) { - if (encodingName == null) - return null; - IPluginParameter[] parameters = new IPluginParameter[]{ - new PluginParameter("encoding", encodingName) - }; - IPlugin plugin = PluginRepository.getInstance().getPluginByParameters( - CodecProvider.class.getName(), parameters); - if (plugin != null) { - try { - CodecProvider codecProvider = (CodecProvider) plugin.instantiate(CodecProvider.class.getName(), parameters, _rb.getExternalLoader()); - try { - TciCDProvided codec = codecProvider.getCodec(_rb, encodingName); - if (codec!=null && codec instanceof AbstractPlugin) { - ((AbstractPlugin) codec).initAbstractPlugin(_rb); - } - return codec; - } catch (PluginInitException e) { - e.printStackTrace(); - } - } - catch (PluginInstantiationException e) { - e.printStackTrace(); - } - } else { - TciCDProvided codec = _rb.TestAdapter.getCodec(encodingName); - if (codec!=null && codec instanceof AbstractPlugin) { - ((AbstractPlugin) codec).initAbstractPlugin(_rb); - } - return codec; - } - - return null; - } - -} // End of class BaseCodec diff --git a/javasrc/tool/org/etsi/tool/testingtech/TciCDWrapper.java b/javasrc/tool/org/etsi/tool/testingtech/TciCDWrapper.java deleted file mode 100644 index 4d22c69d6dbd428e1a6e86a1ae8bdb8b87bf5f69..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/tool/testingtech/TciCDWrapper.java +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @author STF 424_ITS_Test_Platform - * @version $id$ - */ -package org.etsi.tool.testingtech; - -import java.math.BigInteger; - -import org.etsi.codec.ITciCDWrapper; -import org.etsi.ttcn.tci.BooleanValue; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.EnumeratedValue; -import org.etsi.ttcn.tci.FloatValue; -import org.etsi.ttcn.tci.IntegerValue; -import org.etsi.ttcn.tci.OctetstringValue; -import org.etsi.ttcn.tci.RecordOfValue; -import org.etsi.ttcn.tci.RecordValue; -import org.etsi.ttcn.tci.Type; -import org.etsi.ttcn.tci.Value; - -import de.tu_berlin.cs.uebb.muttcn.runtime.RB; - -/** This class implements the ITciCDWrapper interface - * - * Note that the TCI Codec Interface (TCI-CD) describes the operations a TTCN-3 Executable is required to implement and the operations a codec implementation for a certain encoding scheme shall provide to the TE - * - * See ETSI ES 201 873-6 V4.2.1 - Clause 7.3.2.1 TCI-CD required - */ -public class TciCDWrapper implements ITciCDWrapper { - - /** - * RuntimeBehavior instance reference - */ - private RB _rb; - - /** - * Specialized ctor - * @param rb TTCN-3 runtime reference - */ - public TciCDWrapper(final RB rb) { - _rb = rb; - } - - @Override - public IntegerValue setInteger(Integer value) { - IntegerValue iv = (IntegerValue)_rb.getTciCDRequired().getInteger().newInstance(); - iv.setInt(value); - return iv; - } - - @Override - public IntegerValue setInteger(BigInteger value) { - IntegerValue iv = (IntegerValue)_rb.getTciCDRequired().getInteger().newInstance(); - iv.setBigInt(value); - return iv; - } - - @Override - public void setInteger(IntegerValue intValue, final Integer value) { - intValue.setInt(value); - } - - @Override - public void setInteger(BigInteger value, IntegerValue setInt) { - setInt.setBigInt(value); - } - - /** Constructs and returns a basic TTCN-3 integer type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ -// @Override -// public IntegerValue getInteger() { -// return (IntegerValue)_rb.getTciCDRequired().getInteger().newInstance(); -// } -// - @Override - public int getInteger(IntegerValue iv) { - return iv.getInt(); - } - - @Override - public long getBigInteger(IntegerValue iv) { - return iv.getBigInt().longValue(); - } - - /** Constructs and returns a basic TTCN-3 float type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.3 getFloat - * @return An instance of Type representing a TTCN-3 float type - */ - @Override - public FloatValue getFloat() { - return (FloatValue)_rb.getTciCDRequired().getFloat().newInstance(); - } - - /** Constructs and returns a basic TTCN-3 octet string type - * - * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getOctetstring - * @return An instance of Type representing a TTCN-3 octet string type - */ - @Override - public OctetstringValue getOctetstring() { - return (OctetstringValue)_rb.getTciCDRequired().getOctetstring().newInstance(); - } - - /** Constructs and returns a basic TTCN-3 string type - * - * @return An instance of Type representing a TTCN-3 string type - */ - @Override - public CharstringValue getCharstringValue() { - return (CharstringValue)_rb.getTciCDRequired().getCharstring().newInstance(); - } - - @Override - public Value getUnionValue(Type decodingHypothesis, String variantName) { - // TODO Auto-generated method stub - throw new RuntimeException("Not implemented for TTWB"); - } - - @Override - public Type getTypeForName(String type) { - return _rb.getTciCDRequired().getTypeForName(type); - } - - @Override - public BooleanValue getBoolean() { - return (BooleanValue)_rb.getTciCDRequired().getBoolean().newInstance(); - } - - @Override - public RecordValue getRecordValue(String typeName) { - return (RecordValue) _rb.getTciCDRequired().getTypeForName(typeName); - } - - @Override - public RecordOfValue getRecordOfValue(String typeName) { - return (RecordOfValue) _rb.getTciCDRequired().getTypeForName(typeName); - } - - @Override - public EnumeratedValue getEnumValue(String typeName) { - return (EnumeratedValue) _rb.getTciCDRequired().getTypeForName(typeName); - } - -} // End of class TciCDWrapper diff --git a/javasrc/tool/org/etsi/tool/testingtech/TeRequiredImpl.java b/javasrc/tool/org/etsi/tool/testingtech/TeRequiredImpl.java deleted file mode 100644 index 7c870f2e3a0abf262c3beb800b67c4046cba85a9..0000000000000000000000000000000000000000 --- a/javasrc/tool/org/etsi/tool/testingtech/TeRequiredImpl.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.etsi.tool.testingtech; - -import java.util.logging.ConsoleHandler; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; - -import org.etsi.adapter.ITERequired; -import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tci.Value; -import org.etsi.ttcn.tri.TriAddress; -import org.etsi.ttcn.tri.TriCommunicationTE; -import org.etsi.ttcn.tri.TriMessage; -import org.etsi.ttcn.tri.TriStatus; - -import com.testingtech.ttcn.logging.RTLoggingConstants; -import com.testingtech.ttcn.tri.PluginIdentifier; -import com.testingtech.ttcn.tri.TAParameterIdImpl; -import com.testingtech.ttcn.tri.TAParameterServer; -import com.testingtech.ttcn.tri.TriAddressImpl; -import com.testingtech.ttcn.tri.TriMessageImpl; -import com.testingtech.ttcn.tri.TriStatusImpl; - -import de.tu_berlin.cs.uebb.muttcn.runtime.RB; - -public class TeRequiredImpl implements ITERequired { - - private RB RB; - private final PluginIdentifier pluginId; - private Logger _logger; - - public TeRequiredImpl(RB rB, PluginIdentifier pluginId) { - RB = rB; - this.pluginId = pluginId; - - Value debugLevelValue = getTaParameter("DEBUG_ENABLED"); - String debugLevel = "OFF"; - if (debugLevelValue!=null) { - debugLevel = ((CharstringValue)debugLevelValue).getString(); - } - Level level = Level.OFF; - if (debugLevel.equalsIgnoreCase("ALL")) { - level = Level.ALL; - } else if (debugLevel.equalsIgnoreCase("INFO")) { - level = Level.INFO; - } else if (!debugLevel.equalsIgnoreCase("OFF")) { - RB.getTciTLProvided_Latest().tliInfo("", - de.tu_berlin.cs.uebb.muttcn.runtime.RB.currentTimeNanos(), "", - -1, RB.self(), RTLoggingConstants.RT_LOG_ERROR, "Unsupported logging level: " + debugLevel); - } - _logger = Logger.getLogger("org.etsi.its"); //$NON-NLS-1$ - _logger.addHandler(new ConsoleHandler() { - /* (non-Javadoc) - * @see java.util.logging.ConsoleHandler#publish(java.util.logging.LogRecord) - */ - @Override - public void publish(LogRecord logRecord) { - int level = RTLoggingConstants.RT_LOG_DEBUG; - if (logRecord.getLevel().intValue() == Level.SEVERE.intValue()) { - level = RTLoggingConstants.RT_LOG_ERROR; - } - RB.getTciTLProvided_Latest().tliInfo("", - de.tu_berlin.cs.uebb.muttcn.runtime.RB.currentTimeNanos(), "", - -1, RB.self(), level, logRecord.getMessage()); - } - - }); - _logger.setUseParentHandlers(false); - _logger.setLevel(level); - } - - @Override - public TriCommunicationTE getCommunicationTE() { - return RB.getTriCommunicationTE(); - } - - @Override - public Value getTaParameter(String param) { - if (RB.TestAdapter instanceof TAParameterServer) { - TAParameterServer paramServer = (TAParameterServer)RB.TestAdapter; - return paramServer.getTAParameter(pluginId, TAParameterIdImpl.valueOf(param)); - } - RB.tciTMProvided.tciError("Could not retrieve TA parameter: " + param); - return null; - } - - @Override - public TriAddress getTriAddress(byte[] message) { - return new TriAddressImpl(message); - } - - @Override - public TriMessage getTriMessage(byte[] message) { - return TriMessageImpl.valueOf(message); - } - - @Override - public TriStatus getTriStatus(int statusCode) { - return new TriStatusImpl(statusCode); - } - - @Override - public TriStatus getTriStatus(int statusCode, String message) { - switch(statusCode) { - case TriStatus.TRI_OK: - RB.getTciTLProvided_Latest().tliInfo("", de.tu_berlin.cs.uebb.muttcn.runtime.RB.currentTimeNanos(), "", -1, null, RTLoggingConstants.RT_LOG_INFO, message); - return new TriStatusImpl(); - default: - return new TriStatusImpl(message); - } - - } - - @Override - public void logDebug(String debugMessage) { - _logger.log(Level.ALL, debugMessage); - } - - @Override - public void logError(String errorMessage) { - _logger.log(Level.SEVERE, errorMessage); - } - -} diff --git a/patches/ElviorCodec.jardesc b/patches/ElviorCodec.jardesc deleted file mode 100644 index be3d5ee942f5505283c1bd48ec06494328b92962..0000000000000000000000000000000000000000 --- a/patches/ElviorCodec.jardesc +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/patches/ElviorSUT.jardesc b/patches/ElviorSUT.jardesc deleted file mode 100644 index f213d4fa24c1f641e9e83d6bf804325f212f134e..0000000000000000000000000000000000000000 --- a/patches/ElviorSUT.jardesc +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/patches/tct3_asn1_IS.patch b/patches/tct3_asn1_IS.patch deleted file mode 100644 index 0b76c4804130e1bf9b47d736d0b57965da30aeda..0000000000000000000000000000000000000000 --- a/patches/tct3_asn1_IS.patch +++ /dev/null @@ -1,2303 +0,0 @@ -Index: ETSI_TS_103301_IVIM_PDU_Descriptions.asn -=================================================================== ---- ETSI_TS_103301_IVIM_PDU_Descriptions.asn (nonexistent) -+++ ETSI_TS_103301_IVIM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,34 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ETSI TS 103 301 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message -+-- as defined in ETSI TS 103 301 -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: IVI-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+IVIM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+IVIM ::= SEQUENCE { -+ header ItsPduHeader, -+ ivi IviStructure -+} -+ -+END -Index: ETSI_TS_103301_MAPEM_PDU_Descriptions.asn -=================================================================== ---- ETSI_TS_103301_MAPEM_PDU_Descriptions.asn (nonexistent) -+++ ETSI_TS_103301_MAPEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,34 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ETSI TS 103 301 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message -+-- as defined in ETSI TS 103 301 -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: MAP-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+MAPEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+MAPEM ::= SEQUENCE { -+ header ItsPduHeader, -+ map MapData -+} -+ -+END -\ No newline at end of file -Index: ETSI_TS_103301_SPATEM_PDU_Descriptions.asn -=================================================================== ---- ETSI_TS_103301_SPATEM_PDU_Descriptions.asn (nonexistent) -+++ ETSI_TS_103301_SPATEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,39 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ETSI TS 103 301 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message -+-- as defined in ETSI TS 103 301 -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+ -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SPAT-MESSAGE-PDU-Descriptions -+-- -+-- This ASN.1 was created: 30.08.2016 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SPATEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) spatem (0) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+SPATEM ::= SEQUENCE { -+ header ItsPduHeader, -+ spat SPAT -+} -+ -+END -+ -Index: ETSI_TS_103301_SREM_PDU_Descriptions.asn -=================================================================== ---- ETSI_TS_103301_SREM_PDU_Descriptions.asn (nonexistent) -+++ ETSI_TS_103301_SREM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,28 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ETSI TS 103 301 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message -+-- as defined in ETSI TS 103 301 -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+SREM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+SREM ::= SEQUENCE { -+ header ItsPduHeader, -+ srm SignalRequestMessage -+} -+ -+END -Index: ETSI_TS_103301_SSEM_PDU_Descriptions.asn -=================================================================== ---- ETSI_TS_103301_SSEM_PDU_Descriptions.asn (nonexistent) -+++ ETSI_TS_103301_SSEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,29 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ETSI TS 103 301 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message -+-- as defined in ETSI TS 103 301 -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+SSEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+SSEM ::= SEQUENCE { -+ header ItsPduHeader, -+ ssm SignalStatusMessage -+} -+ -+END -\ No newline at end of file -Index: ISO_TS_19091_AddGrpC.asn -=================================================================== ---- ISO_TS_19091_AddGrpC.asn (nonexistent) -+++ ISO_TS_19091_AddGrpC.asn (working copy) -@@ -0,0 +1,120 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 19091 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message -+-- as defined in ISO TS 19091 and SAEJ2735 -+-- -+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe) -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: AddGrpC -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+ -+AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -+ -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC -+Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+ConnectionManeuverAssist-addGrpC ::= SEQUENCE { -+ itsStationPositions ItsStationPositionList OPTIONAL, -+ rsuGNSSOffset NodeOffsetPointXY OPTIONAL, -+ ... -+} -+ -+ConnectionTrajectory-addGrpC ::= SEQUENCE { -+ nodes NodeSetXY, -+ ... -+} -+ -+Control-addGrpC ::= SEQUENCE { -+ ptvRequest PtvRequestType, -+ ... -+} -+ -+IntersectionState-addGrpC ::= SEQUENCE { -+ activePrioritizations PrioritizationResponseList OPTIONAL, -+ ... -+} -+ -+MapData-addGrpC ::= SEQUENCE { -+ signalHeadLocations SignalHeadLocationList OPTIONAL, -+ ... -+} -+ -+Position3D-addGrpC ::= SEQUENCE { -+ altitude Altitude, -+ ... -+} -+ -+PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse -+ -+PrioritizationResponse ::= SEQUENCE { -+ stationID StationID, -+ priorState PrioritizationResponseStatus, -+ signalGroup SignalGroupID, -+ ... -+} -+ -+RestrictionUserType-addGrpC ::= SEQUENCE { -+ emission EmissionType OPTIONAL, -+ ... -+} -+ -+SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation -+ -+SignalHeadLocation ::= SEQUENCE { -+ nodeXY NodeOffsetPointXY, -+ nodeZ DeltaAltitude, -+ signalGroupID SignalGroupID, -+ ... -+} -+ -+SignalStatusPackage-addGrpC ::= SEQUENCE { -+ synchToSchedule DeltaTime OPTIONAL, -+ ... -+} -+ -+ -+ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition -+ -+ItsStationPosition ::= SEQUENCE { -+ stationID StationID, -+ laneID LaneID OPTIONAL, -+ nodeXY NodeOffsetPointXY OPTIONAL, -+ timeReference TimeReference OPTIONAL, -+ ... -+} -+EmissionType ::= ENUMERATED { -+ euro1, -+ euro2, -+ euro3, -+ euro4, -+ euro5, -+ euro6, -+ ... -+} -+ -+PtvRequestType ::= ENUMERATED { -+ preRequest, -+ mainRequest, -+ doorCloseRequest, -+ cancelRequest, -+ emergencyRequest, -+ ... -+} -+ -+TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) -+ -+END -Index: ISO_TS_19091_DSRC.asn -=================================================================== ---- ISO_TS_19091_DSRC.asn (nonexistent) -+++ ISO_TS_19091_DSRC.asn (working copy) -@@ -0,0 +1,1869 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 19091 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message -+-- as defined in ISO TS 19091 and SAEJ2735 -+-- -+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe) -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: DSRC -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -+Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, -+Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState, -+Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, -+Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} -+Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) }; -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Messages... -+-- This table typicaly contains message entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+MessageFrame ::= SEQUENCE { -+ messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), -+ value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), -+ ... -+ } -+ -+MESSAGE-ID-AND-TYPE ::= CLASS { -+ &id DSRCmsgID UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+MessageTypes MESSAGE-ID-AND-TYPE ::= { -+ { MapData IDENTIFIED BY mapData } | -+ { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | -+ { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | -+ { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, -+ ... -- Expansion to be used only by the SAE J2735 DSRC TC -+ } -+ -+ -+-- Regional extensions support -+REG-EXT-ID-AND-TYPE ::= CLASS { -+ &id RegionId UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -+ regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -+ regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -+ } -+ -+SPAT ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ name DescriptiveName OPTIONAL, -+ -- human readable name for this collection -+ -- to be used only in debug mode -+ -+ intersections IntersectionStateList, -+ -- sets of SPAT data (one per intersection) -+ -+ -- If PrioritizationResponse data is required, it is found -+ -- in the RegionalSPAT entry below -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SPAT}} OPTIONAL, -+ ... -+ } -+ -+SignalRequestMessage ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ second DSecond, -+ sequenceNumber MsgCount OPTIONAL, -+ -+ requests SignalRequestList OPTIONAL, -+ -- Request Data for one or more signalized -+ -- intersections that support SRM dialogs -+ -+ requestor RequestorDescription, -+ -- Requesting Device and other User Data -+ -- contains vehicle ID (if from a vehicle) -+ -- as well as type data and current position -+ -- and may contain additional transit data -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, -+ ... -+} -+ -+SignalStatusMessage ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ second DSecond, -+ sequenceNumber MsgCount OPTIONAL, -+ -+ -- Status Data for one of more signalized intersections -+ status SignalStatusList, -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, -+ ... -+} -+ -+MapData ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ msgIssueRevision MsgCount, -+ layerType LayerType OPTIONAL, -+ layerID LayerID OPTIONAL, -+ intersections IntersectionGeometryList OPTIONAL, -+ -- All Intersection definitions -+ roadSegments RoadSegmentList OPTIONAL, -+ -- All roadway descriptions -+ -+ dataParameters DataParameters OPTIONAL, -+ -- Any meta data regarding the map contents -+ -+ restrictionList RestrictionClassList OPTIONAL, -+ -- Any restriction ID tables which have -+ -- established for these map entries -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MapData}} OPTIONAL, -+ -+ -- NOTE: -+ -- Other map data will be added here as it is defined -+ -- Examples of the type of content to be added include -+ -- curve warnings, construction routes, etc. -+ ... -+} -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Data_Frames... -+-- This table typicaly contains data frame entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+AdvisorySpeed ::= SEQUENCE { -+ type AdvisorySpeedType, -+ -- the type of advisory which this is. -+ speed SpeedAdvice OPTIONAL, -+ -- See Section 11 for converting and translating speed -+ -- expressed in mph into units of m/s -+ -- This element is optional ONLY when superceded -+ -- by the presence of a regional speed element found in -+ -- Reg-AdvisorySpeed entry -+ confidence SpeedConfidence OPTIONAL, -+ -- A confidence value for the above speed -+ distance ZoneLength OPTIONAL, -+ -- Unit = 1 meter, -+ -- The distance indicates the region for which the advised speed -+ -- is recommended, it is specified upstream from the stop bar -+ -- along the connected egressing lane -+ class RestrictionClassID OPTIONAL, -+ -- the vehicle types to which it applies -+ -- when absent, the AdvisorySpeed applies to -+ -- all motor vehicle types -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, -+ ... -+ } -+ -+AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed -+ -+ComputedLane ::= SEQUENCE { -+ -- Data needed to created a computed lane -+ referenceLaneId LaneID, -+ -- the lane ID upon which this -+ -- computed lane will be based -+ -- Lane Offset in X and Y direction -+ offsetXaxis CHOICE { -+ small DrivenLineOffsetSm, -+ large DrivenLineOffsetLg -+ }, -+ offsetYaxis CHOICE { -+ small DrivenLineOffsetSm, -+ large DrivenLineOffsetLg -+ }, -+ -- A path X offset value for translations of the -+ -- path's points when creating translated lanes. -+ -- The values found in the reference lane are -+ -- all offset based on the X and Y values from -+ -- the coordinates of the reference lane's -+ -- initial path point. -+ -- Lane Rotation -+ rotateXY Angle OPTIONAL, -+ -- A path rotation value for the entire lane -+ -- Observe that this rotates the existing orientation -+ -- of the referenced lane, it does not replace it. -+ -- Rotation occurs about the initial path point. -+ -- Lane Path Scale (zooming) -+ scaleXaxis Scale-B12 OPTIONAL, -+ scaleYaxis Scale-B12 OPTIONAL, -+ -- value for translations or zooming of the path's -+ -- points. The values found in the reference lane -+ -- are all expanded or contracted based on the X -+ -- and Y and width values from the coordinates of -+ -- the reference lane's initial path point. -+ -- The Z axis remains untouched. -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-ComputedLane}} OPTIONAL, -+ ... -+ } -+ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection -+ -+ConnectingLane ::= SEQUENCE { -+ lane LaneID, -- Index of the connecting lane -+ maneuver AllowedManeuvers OPTIONAL -+ -- The Maneuver between -+ -- the enclosing lane and this lane -+ -- at the stop line to connect them -+ } -+ -+ -+Connection ::= SEQUENCE { -+ -- The subject lane connecting to this lane is: -+ connectingLane ConnectingLane, -+ -- The index of the connecting lane and also -+ -- the maneuver from the current lane to it -+ remoteIntersection IntersectionReferenceID OPTIONAL, -+ -- This entry is only used when the -+ -- indicated connecting lane belongs -+ -- to another intersection layout. This -+ -- provides a means to create meshes of lanes -+ -+ -- SPAT mapping details at the stop line are: -+ signalGroup SignalGroupID OPTIONAL, -+ -- The matching signal group send by -+ -- the SPAT message for this lane/maneuver. -+ -- Shall be present unless the connectingLane -+ -- has no signal group (is un-signalized) -+ userClass RestrictionClassID OPTIONAL, -+ -- The Restriction Class of users this applies to -+ -- The use of some lane/maneuver and SignalGroupID -+ -- pairings are restricted to selected users. -+ -- When absent, the SignalGroupID applies to all -+ -+ -- Movement assist details are given by: -+ connectionID LaneConnectionID OPTIONAL -+ -- An optional connection index used to -+ -- relate this lane connection to any dynamic -+ -- clearance data in the SPAT. Note that -+ -- the index may be shared with other -+ -- connections if the clearance data is common -+ } -+ -+ -+ConnectionManeuverAssist ::= SEQUENCE { -+ connectionID LaneConnectionID, -+ -- the common connectionID used by all lanes to which -+ -- this data applies -+ -- (this value traces to ConnectsTo entries in lanes) -+ -- Expected Clearance Information -+ queueLength ZoneLength OPTIONAL, -+ -- Unit = 1 meter, 0 = no queue -+ -- The distance from the stop line to the back -+ -- edge of the last vehicle in the queue, -+ -- as measured along the lane center line. -+ availableStorageLength ZoneLength OPTIONAL, -+ -- Unit = 1 meter, 0 = no space remains -+ -- Distance (e.g. beginning from the downstream -+ -- stop-line up to a given distance) with a high -+ -- probability for successfully executing the -+ -- connecting maneuver between the two lanes -+ -- during the current cycle. -+ -- Used for enhancing the awareness of vehicles -+ -- to anticipate if they can pass the stop line -+ -- of the lane. Used for optimizing the green wave, -+ -- due to knowledge of vehicles waiting in front -+ -- of a red light (downstream). -+ -- The element nextTime in TimeChangeDetails -+ -- in the containing data frame contains the next -+ -- timemark at which an active phase is expected, -+ -- a form of storage flush interval. -+ waitOnStop WaitOnStopline OPTIONAL, -+ -- If "true", the vehicles on this specific connecting -+ -- maneuver have to stop on the stop-line and not -+ -- to enter the collision area -+ pedBicycleDetect PedestrianBicycleDetect OPTIONAL, -+ -- true if ANY ped or bicycles are detected crossing -+ -- the above lanes. Set to false ONLY if there is a -+ -- high certainty that there are none present, -+ -- otherwise element is not sent. -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, -+ ... -+ } -+ -+DataParameters ::= SEQUENCE { -+ processMethod IA5String(SIZE(1..255)) OPTIONAL, -+ processAgency IA5String(SIZE(1..255)) OPTIONAL, -+ lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, -+ geoidUsed IA5String(SIZE(1..255)) OPTIONAL, -+ ... -+ } -+ -+EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID -+ -- The unique ID numbers for each -+ -- lane object which is 'active' -+ -- as part of the dynamic map contents. -+ -+GenericLane ::= SEQUENCE { -+ laneID LaneID, -+ -- The unique ID number assigned -+ -- to this lane object -+ name DescriptiveName OPTIONAL, -+ -- often for debug use only -+ -- but at times used to name ped crossings -+ ingressApproach ApproachID OPTIONAL, -- inbound -+ egressApproach ApproachID OPTIONAL, -- outbound -+ -- Approach IDs to which this lane belongs -+ laneAttributes LaneAttributes, -+ -- All Attribute information about -+ -- the basic selected lane type -+ -- Directions of use, Geometric co-sharing -+ -- and Type Specific Attributes -+ -- These Attributes are 'lane - global' that is, -+ -- they are true for the entire length of the lane -+ maneuvers AllowedManeuvers OPTIONAL, -+ -- the permitted maneuvers for this lane -+ nodeList NodeListXY, -+ -- Lane spatial path information as well as -+ -- various Attribute information along the node path -+ -- Attributes found here are more general and may -+ -- come and go over the length of the lane. -+ connectsTo ConnectsToList OPTIONAL, -+ -- a list of other lanes and their signal group IDs -+ -- each connecting lane and its signal group ID -+ -- is given, therefore this element provides the -+ -- information formerly in "signalGroups" in prior -+ -- editions. -+ overlays OverlayLaneList OPTIONAL, -+ -- A list of any lanes which have spatial paths that -+ -- overlay (run on top of, and not simply cross) -+ -- the path of this lane when used -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-GenericLane}} OPTIONAL, -+ ... -+ } -+ -+IntersectionAccessPoint ::= CHOICE { -+ lane LaneID, -+ approach ApproachID, -+ connection LaneConnectionID, -+ ... -+ } -+ -+IntersectionGeometry ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ -- For debug use only -+ id IntersectionReferenceID, -+ -- A globally unique value set, -+ -- consisting of a regionID and -+ -- intersection ID assignment -+ revision MsgCount, -+ -+ -- Required default values about lane descriptions follow -+ refPoint Position3D, -- The reference from which subsequent -+ -- data points are offset until a new -+ -- point is used. -+ laneWidth LaneWidth OPTIONAL, -+ -- Reference width used by all subsequent -+ -- lanes unless a new width is given -+ speedLimits SpeedLimitList OPTIONAL, -+ -- Reference regulatory speed limits -+ -- used by all subsequent -+ -- lanes unless a new speed is given -+ -- See Section 11 for converting and -+ -- translating speed expressed in mph -+ -- into units of m/s -+ -- Complete details regarding each lane type in this intersection -+ laneSet LaneList, -- Data about one or more lanes -+ -- (all lane data is found here) -+ -+ -- Data describing how to use and request preemption and -+ -- priority services from this intersection (if supported) -+ -- NOTE Additonal data may be added in the next release of the -+ -- standard at this point to handle this concept -+ preemptPriorityData PreemptPriorityList OPTIONAL, -+ -- data about one or more regional -+ -- preempt or priority zones -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, -+ ... -+ } -+ -+IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry -+ -+IntersectionReferenceID ::= SEQUENCE { -+ region RoadRegulatorID OPTIONAL, -+ -- a globally unique regional assignment value -+ -- typical assigned to a regional DOT authority -+ -- the value zero shall be used for testing needs -+ id IntersectionID -+ -- a unique mapping to the intersection -+ -- in question within the above region of use -+ } -+ -+IntersectionState ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ -- human readable name for intersection -+ -- to be used only in debug mode -+ id IntersectionReferenceID, -+ -- A globally unique value set, consisting of a -+ -- regionID and intersection ID assignment -+ -- provides a unique mapping to the -+ -- intersection MAP in question -+ -- which provides complete location -+ -- and approach/move/lane data -+ revision MsgCount, -+ status IntersectionStatusObject, -+ -- general status of the controller(s) -+ moy MinuteOfTheYear OPTIONAL, -+ -- Minute of current UTC year -+ -- used only with messages to be archived -+ timeStamp DSecond OPTIONAL, -+ -- the mSec point in the current UTC minute that -+ -- this message was constructed -+ enabledLanes EnabledLaneList OPTIONAL, -+ -- a list of lanes where the RevocableLane bit -+ -- has been set which are now active and -+ -- therefore part of the current intersection -+ states MovementList, -+ -- Each Movement is given in turn -+ -- and contains its signal phase state, -+ -- mapping to the lanes it applies to, and -+ -- point in time it will end, and it -+ -- may contain both active and future states -+ maneuverAssistList ManeuverAssistList OPTIONAL, -+ -- Assist data -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-IntersectionState}} OPTIONAL, -+ ... -+ } -+ -+IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState -+ -+LaneAttributes ::= SEQUENCE { -+ directionalUse LaneDirection, -- directions of lane use -+ sharedWith LaneSharing, -- co-users of the lane path -+ laneType LaneTypeAttributes, -- specific lane type data -+ regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL -+ } -+ -+LaneDataAttribute ::= CHOICE { -+ -- Segment attribute types and the data needed for each -+ pathEndPointAngle DeltaAngle, -+ -- adjusts final point/width slant -+ -- of the lane to align with the stop line -+ laneCrownPointCenter RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from centerline point -+ laneCrownPointLeft RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from left edge -+ laneCrownPointRight RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from right edge -+ laneAngle MergeDivergeNodeAngle, -+ -- the angle or direction of another lane -+ -- this is required to support Japan style -+ -- when a merge point angle is required -+ speedLimits SpeedLimitList, -+ -- Reference regulatory speed limits -+ -- used by all segments -+ -+ -- Add others as needed, in regional space -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-LaneDataAttribute}}, -+ ... -+ } -+ -+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -+ -+LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -+ -+LaneSharing ::= BIT STRING { -+ -- With bits as defined: -+ overlappingLaneDescriptionProvided (0), -+ -- Assert when another lane object is present to describe the -+ -- path of the overlapping shared lane -+ -- this construct is not used for lane objects which simply cross -+ multipleLanesTreatedAsOneLane (1), -+ -- Assert if the lane object path and width details represents -+ -- multiple lanes within it that are not further described -+ -+ -- Various modes and type of traffic that may share this lane: -+ otherNonMotorizedTrafficTypes (2), -- horse drawn etc. -+ individualMotorizedVehicleTraffic (3), -+ busVehicleTraffic (4), -+ taxiVehicleTraffic (5), -+ pedestriansTraffic (6), -+ cyclistVehicleTraffic (7), -+ trackedVehicleTraffic (8), -+ pedestrianTraffic (9) -+ } (SIZE (10)) -+ -- All zeros would indicate 'not shared' and 'not overlapping' -+ -+LaneTypeAttributes ::= CHOICE { -+ vehicle LaneAttributes-Vehicle, -- motor vehicle lanes -+ crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks -+ bikeLane LaneAttributes-Bike, -- bike lanes -+ sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths -+ median LaneAttributes-Barrier, -- medians & channelization -+ striping LaneAttributes-Striping, -- roadway markings -+ trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys -+ parking LaneAttributes-Parking, -- parking and stopping lanes -+ ... -+ } -+ -+ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist -+ -+MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent -+ -+MovementEvent ::= SEQUENCE { -+ eventState MovementPhaseState, -+ -- Consisting of: -+ -- Phase state (the basic 11 states) -+ -- Directional, protected, or permissive state -+ -+ timing TimeChangeDetails OPTIONAL, -+ -- Timing Data in UTC time stamps for event -+ -- includes start and min/max end times of phase -+ -- confidence and estimated next occurrence -+ -+ speeds AdvisorySpeedList OPTIONAL, -+ -- various speed advisories for use by -+ -- general and specific types of vehicles -+ -- supporting green-wave and other flow needs -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MovementEvent}} OPTIONAL, -+ ... -+ } -+ -+MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState -+ -+MovementState ::= SEQUENCE { -+ movementName DescriptiveName OPTIONAL, -+ -- uniquely defines movement by name -+ -- human readable name for intersection -+ -- to be used only in debug mode -+ signalGroup SignalGroupID, -+ -- the group id is used to map to lists -+ -- of lanes (and their descriptions) -+ -- which this MovementState data applies to -+ -- see comments in the Remarks for usage details -+ state-time-speed MovementEventList, -+ -- Consisting of sets of movement data with: -+ -- a) SignalPhaseState -+ -- b) TimeChangeDetails, and -+ -- c) AdvisorySpeeds (optional ) -+ -- Note one or more of the movement events may be for -+ -- a future time and that this allows conveying multiple -+ -- predictive phase and movement timing for various uses -+ -- for the current signal group -+ maneuverAssistList ManeuverAssistList OPTIONAL, -+ -- This information may also be placed in the -+ -- IntersectionState when common information applies to -+ -- different lanes in the same way -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MovementState}} OPTIONAL, -+ ... -+ } -+ -+NodeAttributeSetXY ::= SEQUENCE { -+ localNode NodeAttributeXYList OPTIONAL, -+ -- Attribute states which pertain to this node point -+ disabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are disabled at this node point -+ enabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are enabled at this node point -+ -- and which remain enabled until disabled or the lane ends -+ data LaneDataAttributeList OPTIONAL, -+ -- Attributes which require an additional data values -+ -- some of these are local to the node point, while others -+ -- persist with the provided values until changed -+ -- and this is indicated in each entry -+ dWidth Offset-B10 OPTIONAL, -+ -- A value added to the current lane width -+ -- at this node and from this node onwards, in 1cm steps -+ -- lane width between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ dElevation Offset-B10 OPTIONAL, -+ -- A value added to the current Elevation -+ -- at this node from this node onwards, in 10cm steps -+ -- elevations between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -+ ... -+ } -+ -+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -+ -+NodeAttributeXY ::= ENUMERATED { -+ -- Various values which pertain only to the current node point -+ -+ -- General Items -+ reserved, -+ stopLine, -- point where a mid-path stop line exists -+ -- See also 'do not block' for segments -+ -+ -- Path finish details -+ roundedCapStyleA, -- Used to control final path rounded end shape -+ -- with edge of curve at final point in a circle -+ roundedCapStyleB, -- Used to control final path rounded end shape -+ -- with edge of curve extending 50% of width past -+ -- final point in a circle -+ -+ -- Topography Points (items with no concept of a distance along the path) -+ mergePoint, -- Japan merge with 1 or more lanes -+ divergePoint, -- Japan diverge with 1 or more lanes -+ downstreamStopLine, -- Japan style downstream intersection -+ -- (a 2nd intersection) stop line -+ downstreamStartNode, -- Japan style downstream intersection -+ -- (a 2nd intersection) start node -+ -+ -- Pedestrian Support Attributes -+ closedToTraffic, -- where a pedestrian may NOT go -+ -- to be used during construction events -+ safeIsland, -- a pedestrian safe stopping point -+ -- also called a traffic island -+ -- This usage described a point feature on a path, -+ -- other entries can describe a path -+ curbPresentAtStepOff, -- the sidewalk to street curb is NOT -+ -- angled where it meets the edge of the -+ -- roadway (user must step up/down) -+ -+ -- Lane geometry details (see standard for defined shapes) -+ hydrantPresent, -- Or other services access -+ ... -+ } -+ -+Node-LLmD-64b ::= SEQUENCE { -+ lon Longitude, -+ lat Latitude -+ } -+ -+ Node-XY-20b ::= SEQUENCE { -+ x Offset-B10, -+ y Offset-B10 -+ } -+ -+Node-XY-22b ::= SEQUENCE { -+ x Offset-B11, -+ y Offset-B11 -+ } -+ -+ -+Node-XY-24b ::= SEQUENCE { -+ x Offset-B12, -+ y Offset-B12 -+ } -+ -+ -+Node-XY-26b ::= SEQUENCE { -+ x Offset-B13, -+ y Offset-B13 -+ } -+ -+ -+Node-XY-28b ::= SEQUENCE { -+ x Offset-B14, -+ y Offset-B14 -+ } -+ -+ -+Node-XY-32b ::= SEQUENCE { -+ x Offset-B16, -+ y Offset-B16 -+ } -+ -+NodeListXY ::= CHOICE { -+ nodes NodeSetXY, -+ -- a lane made up of two or more -+ -- XY node points and any attributes -+ -- defined in those nodes -+ computed ComputedLane, -+ -- a lane path computed by translating -+ -- the data defined by another lane -+ ... -+ } -+ -+NodeOffsetPointXY ::= CHOICE { -+ -- Nodes with X,Y content -+ node-XY1 Node-XY-20b, -- node is within 5.11m of last node -+ node-XY2 Node-XY-22b, -- node is within 10.23m of last node -+ node-XY3 Node-XY-24b, -- node is within 20.47m of last node -+ node-XY4 Node-XY-26b, -- node is within 40.96m of last node -+ node-XY5 Node-XY-28b, -- node is within 81.91m of last node -+ node-XY6 Node-XY-32b, -- node is within 327.67m of last node -+ node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -+ regional RegionalExtension {{Reg-NodeOffsetPointXY}} -+ -- node which follows is of a -+ -- regional definition type -+ } -+ -+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -+ -+NodeXY ::= SEQUENCE { -+ delta NodeOffsetPointXY, -+ -- A choice of which X,Y offset value to use -+ -- this includes various delta values as well a regional choices -+ attributes NodeAttributeSetXY OPTIONAL, -+ -- Any optional Attributes which are needed -+ -- This includes changes to the current lane width and elevation -+ ... -+} -+ -+OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID -+ -- The unique ID numbers for any lane object which have -+ -- spatial paths that overlay (run on top of, and not -+ -- simply cross with) the current lane. -+ -- Such as a train path that overlays a motor vehicle -+ -- lane object for a roadway segment. -+ -+Position3D ::= SEQUENCE { -+ lat Latitude, -- in 1/10th micro degrees -+ long Longitude, -- in 1/10th micro degrees -+ elevation Elevation OPTIONAL, -- in 10 cm units -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-Position3D}} OPTIONAL, -+ ... -+ } -+ -+PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone -+ -+RegulatorySpeedLimit ::= SEQUENCE { -+ type SpeedLimitType, -+ -- The type of regulatory speed which follows -+ speed Velocity -+ -- The speed in units of 0.02 m/s -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ } -+ -+RequestorDescription ::= SEQUENCE { -+ id VehicleID, -+ -- The ID used in the BSM or CAM of the requestor -+ -- This ID is presumed not to change -+ -- during the exchange -+ type RequestorType OPTIONAL, -+ -- Information regarding all type and class data -+ -- about the requesting vehicle -+ position RequestorPositionVector OPTIONAL, -+ -- The location of the requesting vehicle -+ name DescriptiveName OPTIONAL, -+ -- A human readable name for debugging use -+ -- Support for Transit requests -+ routeName DescriptiveName OPTIONAL, -+ -- A string for transit operations use -+ transitStatus TransitVehicleStatus OPTIONAL, -+ -- current vehicle state (loading, etc.) -+ transitOccupancy TransitVehicleOccupancy OPTIONAL, -+ -- current vehicle occupancy -+ transitSchedule DeltaTime OPTIONAL, -+ -- current vehicle schedule adherence -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, -+ ... -+ } -+ -+RequestorPositionVector ::= SEQUENCE { -+ position Position3D, -+ heading Angle OPTIONAL, -+ speed TransmissionAndSpeed OPTIONAL, -+ ... -+ } -+ -+RequestorType ::= SEQUENCE { -+ -- Defines who is requesting -+ role BasicVehicleRole, -- Basic role of this user at this time -+ subrole RequestSubRole OPTIONAL, -- A local list with role based items -+ -+ -- Defines what kind of request (a level of importance in the Priority Scheme) -+ request RequestImportanceLevel OPTIONAL, -- A local list with request items -+ -+ -- Additional classification details -+ iso3883 Iso3833VehicleType OPTIONAL, -+ hpmsType VehicleType OPTIONAL, -- HPMS classification types -+ -+ regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, -+ ... -+ } -+ -+RestrictionClassAssignment ::= SEQUENCE { -+ id RestrictionClassID, -+ -- the unique value (within an intersection or local region) -+ -- that is assigned to this group of users -+ users RestrictionUserTypeList -+ -- The list of user types/classes -+ -- to which this restriction ID applies -+ } -+ -+RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment -+ -+RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType -+ -+RestrictionUserType ::= CHOICE { -+ basicType RestrictionAppliesTo, -+ -- a set of the most commonly used types -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RestrictionUserType}}, -+ ... -+ } -+ -+RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -+ -+RoadSegmentReferenceID ::= SEQUENCE { -+ region RoadRegulatorID OPTIONAL, -+ -- a globally unique regional assignment value -+ -- typically assigned to a regional DOT authority -+ -- the value zero shall be used for testing needs -+ id RoadSegmentID -+ -- a unique mapping to the road segment -+ -- in question within the above region of use -+ -- during its period of assignment and use -+ -- note that unlike intersectionID values, -+ -- this value can be reused by the region -+ } -+ -+RoadSegment ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ id RoadSegmentReferenceID, -+ -- a globally unique value for the segment -+ revision MsgCount, -+ -- Required default values about the descriptions to follow -+ refPoint Position3D, -- the reference from which subsequent -+ -- data points are offset until a new -+ -- point is used. -+ laneWidth LaneWidth OPTIONAL, -+ -- Reference width used by all subsequent -+ -- lanes unless a new width is given -+ speedLimits SpeedLimitList OPTIONAL, -+ -- Reference regulatory speed limits -+ -- used by all subsequent -+ -- lanes unless a new speed is given -+ -- See Section 11 for converting and -+ -- translating speed expressed in mph -+ -- into units of m/s -+ -+ -- Data describing disruptions in the RoadSegment -+ -- such as work zones etc will be added here; -+ -- in the US the SAE ITIS codes would be used here -+ -- The details regarding each lane type in the RoadSegment -+ roadLaneSet RoadLaneSetList, -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RoadSegment}} OPTIONAL, -+ ... -+ } -+ -+RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment -+ -+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -+ -+SignalControlZone ::= SEQUENCE { -+ zone RegionalExtension {{Reg-SignalControlZone}}, -+ ... -+ } -+ -+SignalRequesterInfo ::= SEQUENCE { -+ -- These three items serve to uniquely identify the requester -+ -- and the specific request to all parties -+ id VehicleID, -+ request RequestID, -+ sequenceNumber MsgCount, -+ role BasicVehicleRole OPTIONAL, -+ -+ typeData RequestorType OPTIONAL, -+ -- Used when addition data besides the role -+ -- is needed, at which point the role entry -+ -- above is not sent. -+ ... -+ } -+ -+SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage -+ -+SignalRequestPackage ::= SEQUENCE { -+ request SignalRequest, -+ -- The specific request to the intersection -+ -- contains IntersectionID, request type, -+ -- requested action (approach/lane request) -+ -+ -- The Estimated Time of Arrival (ETA) when the service is requested -+ minute MinuteOfTheYear OPTIONAL, -+ second DSecond OPTIONAL, -+ duration DSecond OPTIONAL, -+ -- The duration value is used to provide a short interval that -+ -- extends the ETA so that the requesting vehicle can arrive at -+ -- the point of service with uncertainty or with some desired -+ -- duration of service. This concept can be used to avoid needing -+ -- to frequently update the request. -+ -- The requester must update the ETA and duration values if the -+ -- period of services extends beyond the duration time. -+ -- It should be assumed that if the vehicle does not clear the -+ -- intersection when the duration is reached, the request will -+ -- be cancelled and the intersection will revert to -+ -- normal operation. -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, -+ ... -+ } -+ -+SignalRequest ::= SEQUENCE { -+ -- the unique ID of the target intersection -+ id IntersectionReferenceID, -+ -+ -- The unique requestID used by the requestor -+ requestID RequestID, -+ -+ -- The type of request or cancel for priority or preempt use -+ -- when a prior request is canceled, only the requestID is needed -+ requestType PriorityRequestType, -+ -+ -- In typical use either an approach or a lane number would -+ -- be given, this indicates the requested -+ -- path through the intersection to the degree it is known. -+ inBoundLane IntersectionAccessPoint, -+ -- desired entry approach or lane -+ outBoundLane IntersectionAccessPoint OPTIONAL, -+ -- desired exit approach or lane -+ -- the values zero is used to indicate -+ -- intent to stop within the intersection -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequest}} OPTIONAL, -+ ... -+ } -+ -+SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus -+ -+SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage -+ -+SignalStatusPackage ::= SEQUENCE { -+ -- The party that made the initial SRM request -+ requester SignalRequesterInfo OPTIONAL, -+ -- The lanes or approaches used in the request -+ inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle -+ outboundOn IntersectionAccessPoint OPTIONAL, -+ -+ -- The Estimated Time of Arrival (ETA) when the service is requested -+ -- This data echos the data of the request -+ minute MinuteOfTheYear OPTIONAL, -+ second DSecond OPTIONAL, -+ duration DSecond OPTIONAL, -+ -+ -- the SRM status for this request -+ status PrioritizationResponseStatus, -+ -- Status of request, this may include rejection -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, -+ ... -+ } -+ -+SignalStatus ::= SEQUENCE { -+ sequenceNumber MsgCount, -+ -- changed whenever the below contents have change -+ id IntersectionReferenceID, -+ -- this provides a unique mapping to the -+ -- intersection map in question -+ -- which provides complete location -+ -- and approach/movement/lane data -+ -- as well as zones for priority/preemption -+ sigStatus SignalStatusPackageList, -+ -- a list of detailed status containing all -+ -- priority or preemption state data, both -+ -- active and pending, and who requested it -+ -- requests which are denied are also listed -+ -- here for a short period of time -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatus}} OPTIONAL, -+ ... -+ } -+ -+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -+ -+SpeedLimitType ::= ENUMERATED { -+ unknown, -- Speed limit type not available -+ maxSpeedInSchoolZone, -- Only sent when the limit is active -+ maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -+ maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -+ -- where a reduced speed is present -+ vehicleMinSpeed, -+ vehicleMaxSpeed, -- Regulatory speed limit for general traffic -+ vehicleNightMaxSpeed, -+ -+ truckMinSpeed, -+ truckMaxSpeed, -+ truckNightMaxSpeed, -+ -+ vehiclesWithTrailersMinSpeed, -+ vehiclesWithTrailersMaxSpeed, -+ vehiclesWithTrailersNightMaxSpeed, -+ ... -+ } -+ -+TimeChangeDetails ::= SEQUENCE { -+ startTime TimeMark OPTIONAL, -+ -- When this phase 1st started -+ minEndTime TimeMark, -+ -- Expected shortest end time -+ maxEndTime TimeMark OPTIONAL, -+ -- Expected longest end time -+ -+ likelyTime TimeMark OPTIONAL, -+ -- Best predicted value based on other data -+ confidence TimeIntervalConfidence OPTIONAL, -+ -- Applies to above time element only -+ -+ nextTime TimeMark OPTIONAL -+ -- A rough estimate of time when -+ -- this phase may next occur again -+ -- used to support various ECO driving power -+ -- management needs. -+ } -+ -+TimeMark ::= INTEGER (0..36001) -+ -- Tenths of a second in the current or next hour -+ -- In units of 1/10th second from UTC time -+ -- A range of 0~36000 covers one hour -+ -- The values 35991..36000 are used when a leap second occurs -+ -- The value 36001 is used to indicate time >3600 seconds -+ -- 36002 is to be used when value undefined or unknown -+ -- Note that this is NOT expressed in GPS time -+ -- or in local time -+ -+TransmissionAndSpeed ::= SEQUENCE { -+ transmisson TransmissionState, -+ speed Velocity -+ } -+ -+VehicleID ::= CHOICE { -+ entityID TemporaryID, -+ stationID StationID -+ } -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Data_Elements... -+-- This table typicaly contains data element entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+AdvisorySpeedType ::= ENUMERATED { -+ none (0), -+ greenwave (1), -+ ecoDrive (2), -+ transit (3), -+ ... -+ } -- Note: subject to further growth -+ -+AllowedManeuvers ::= BIT STRING { -+ -- With bits as defined: -+ -- Allowed maneuvers at path end (stop line) -+ -- All maneuvers with bits not set are therefore prohibited ! -+ -- A value of zero shall be used for unknown, indicating no Maneuver -+ maneuverStraightAllowed (0), -+ -- a Straight movement is allowed in this lane -+ maneuverLeftAllowed (1), -+ -- a Left Turn movement is allowed in this lane -+ maneuverRightAllowed (2), -+ -- a Right Turn movement is allowed in this lane -+ maneuverUTurnAllowed (3), -+ -- a U turn movement is allowed in this lane -+ maneuverLeftTurnOnRedAllowed (4), -+ -- a Stop, and then proceed when safe movement -+ -- is allowed in this lane -+ maneuverRightTurnOnRedAllowed (5), -+ -- a Stop, and then proceed when safe movement -+ -- is allowed in this lane -+ maneuverLaneChangeAllowed (6), -+ -- a movement which changes to an outer lane -+ -- on the egress side is allowed in this lane -+ -- (example: left into either outbound lane) -+ maneuverNoStoppingAllowed (7), -+ -- the vehicle should not stop at the stop line -+ -- (example: a flashing green arrow) -+ yieldAllwaysRequired (8), -+ -- the allowed movements above are not protected -+ -- (example: an permanent yellow condition) -+ goWithHalt (9), -+ -- after making a full stop, may proceed -+ caution (10), -+ -- proceed past stop line with caution -+ reserved1 (11) -+ -- used to align to 12 Bit Field -+ -+ } (SIZE(12)) -+ -+Angle ::= INTEGER (0..28800) -+ -- LSB of 0.0125 degrees -+ -- A range of 0 to 359.9875 degrees -+ -+ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown -+ -+BasicVehicleRole ::= ENUMERATED { -+ -- Values used in the EU and in the US -+ basicVehicle (0), -- Light duty passenger vehicle type -+ publicTransport (1), -- Used in EU for Transit us -+ specialTransport (2), -- Used in EU (e.g. heavy load) -+ dangerousGoods (3), -- Used in EU for any HAZMAT -+ roadWork (4), -- Used in EU for State and Local DOT uses -+ roadRescue (5), -- Used in EU and in the US to include tow trucks. -+ emergency (6), -- Used in EU for Police, Fire and Ambulance units -+ safetyCar (7), -- Used in EU for Escort vehicles -+ -- Begin US unique numbering -+ none-unknown (8), -- added to follow current SAE style guidelines -+ truck (9), -- Heavy trucks with additional BSM rights and obligations -+ motorcycle (10), -- -+ roadSideSource (11), -- For infrastructure generated calls such as -+ -- fire house, rail infrastructure, roadwork site, etc. -+ police (12), -- -+ fire (13), -- -+ ambulance (14), -- (does not include private para-transit etc.) -+ dot (15), -- all roadwork vehicles -+ transit (16), -- all transit vehicles -+ slowMoving (17), -- to also include oversize etc. -+ stopNgo (18), -- to include trash trucks, school buses and others -+ -- that routinely disturb the free flow of traffic -+ cyclist (19), -- -+ pedestrian (20), -- also includes those with mobility limitations -+ nonMotorized (21), -- other, horse drawn, etc. -+ military (22), -- -+ ... -+ } -+ -+DeltaAngle ::= INTEGER (-150..150) -+ -- With an angle range from -+ -- negative 150 to positive 150 -+ -- in one degree steps where zero is directly -+ -- along the axis or the lane center line as defined by the -+ -- two closest points -+ -+DeltaTime ::= INTEGER (-122 .. 121) -+ -- Supporting a range of +/- 20 minute in steps of 10 seconds -+ -- the value of -121 shall be used when more than -20 minutes -+ -- the value of +120 shall be used when more than +20 minutes -+ -- the value -122 shall be used when the value is unavailable -+ -+DescriptiveName ::= IA5String (SIZE(1..63)) -+ -+DrivenLineOffsetLg ::= INTEGER (-32767..32767) -+ -- LSB units are 1 cm. -+ -+DrivenLineOffsetSm ::= INTEGER (-2047..2047) -+ -- LSB units are 1 cm. -+ -+DSecond ::= INTEGER (0..65535) -- units of milliseconds -+ -+DSRCmsgID ::= INTEGER (0..32767) -+ mapData DSRCmsgID ::= 18 -- MAP, intersections -+ signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT -+ signalRequestMessage DSRCmsgID ::= 29 -- SRM -+ signalStatusMessage DSRCmsgID ::= 30 -- SSM -+ -+Elevation ::= INTEGER (-4096..61439) -+ -- In units of 10 cm steps above or below the reference ellipsoid -+ -- Providing a range of -409.5 to + 6143.9 meters -+ -- The value -4096 shall be used when Unknown is to be sent -+ -+IntersectionID ::= INTEGER (0..65535) -+ -- The values zero through 255 are allocated for testing purposes -+ -- Note that the value assigned to an intersection will be -+ -- unique within a given regional ID only -+ -+IntersectionStatusObject ::= BIT STRING { -+ manualControlIsEnabled (0), -+ -- Timing reported is per programmed values, etc. but person -+ -- at cabinet can manually request that certain intervals are -+ -- terminated early (e.g. green). -+ stopTimeIsActivated (1), -+ -- And all counting/timing has stopped. -+ failureFlash (2), -+ -- Above to be used for any detected hardware failures, -+ -- e.g. conflict monitor as well as for police flash -+ preemptIsActive (3), -+ signalPriorityIsActive (4), -+ -+ -- Additional states -+ fixedTimeOperation (5), -+ -- Schedule of signals is based on time only -+ -- (i.e. the state can be calculated) -+ trafficDependentOperation (6), -+ -- Operation is based on different levels of traffic parameters -+ -- (requests, duration of gaps or more complex parameters) -+ standbyOperation (7), -+ -- Controller: partially switched off or partially amber flashing -+ failureMode (8), -+ -- Controller has a problem or failure in operation -+ off (9), -+ -- Controller is switched off -+ -+ -- Related to MAP and SPAT bindings -+ recentMAPmessageUpdate (10), -+ -- Map revision with content changes -+ recentChangeInMAPassignedLanesIDsUsed (11), -+ -- Change in MAP's assigned lanes used (lane changes) -+ -- Changes in the active lane list description -+ noValidMAPisAvailableAtThisTime (12), -+ -- MAP (and various lanes indexes) not available -+ noValidSPATisAvailableAtThisTime (13) -+ -- SPAT system is not working at this time -+ -+ -- Bits 14,15 reserved at this time and shall be zero -+ } (SIZE(16)) -+ -+ -+LaneAttributes-Barrier ::= BIT STRING { -+ -- With bits as defined: -+ median-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ median (1), -+ whiteLineHashing (2), -+ stripedLines (3), -+ doubleStripedLines (4), -+ trafficCones (5), -+ constructionBarrier (6), -+ trafficChannels (7), -+ lowCurbs (8), -+ highCurbs (9) -+ -- Bits 10~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Bike ::= BIT STRING { -+ -- With bits as defined: -+ bikeRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ pedestrianUseAllowed (1), -+ -- The path allows pedestrian traffic, -+ -- if not set, this mode is prohibited -+ isBikeFlyOverLane (2), -+ -- path of lane is not at grade -+ fixedCycleTime (3), -+ -- the phases use preset times -+ -- i.e. there is not a 'push to cross' button -+ biDirectionalCycleTimes (4), -+ -- ped walk phases use different SignalGroupID -+ -- for each direction. The first SignalGroupID -+ -- in the first Connection represents 'inbound' -+ -- flow (the direction of travel towards the first -+ -- node point) while second SignalGroupID in the -+ -- next Connection entry represents the 'outbound' -+ -- flow. And use of RestrictionClassID entries -+ -- in the Connect follow this same pattern in pairs. -+ isolatedByBarrier (5), -+ unsignalizedSegmentsPresent (6) -+ -- The lane path consists of one of more segments -+ -- which are not part of a signal group ID -+ -+ -- Bits 7~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Crosswalk ::= BIT STRING { -+ -- With bits as defined: -+ -- MUTCD provides no suitable "types" to use here -+ crosswalkRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ bicyleUseAllowed (1), -+ -- The path allows bicycle traffic, -+ -- if not set, this mode is prohibited -+ isXwalkFlyOverLane (2), -+ -- path of lane is not at grade -+ fixedCycleTime (3), -+ -- ped walk phases use preset times -+ -- i.e. there is not a 'push to cross' button -+ biDirectionalCycleTimes (4), -+ -- ped walk phases use different SignalGroupID -+ -- for each direction. The first SignalGroupID -+ -- in the first Connection represents 'inbound' -+ -- flow (the direction of travel towards the first -+ -- node point) while second SignalGroupID in the -+ -- next Connection entry represents the 'outbound' -+ -- flow. And use of RestrictionClassID entries -+ -- in the Connect follow this same pattern in pairs. -+ hasPushToWalkButton (5), -+ -- Has a demand input -+ audioSupport (6), -+ -- audio crossing cues present -+ rfSignalRequestPresent (7), -+ -- Supports RF push to walk technologies -+ unsignalizedSegmentsPresent (8) -+ -- The lane path consists of one of more segments -+ -- which are not part of a signal group ID -+ -- Bits 9~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Parking ::= BIT STRING { -+ -- With bits as defined: -+ -- Parking use details, note that detailed restrictions such as -+ -- allowed hours are sent by way of ITIS codes in the TIM message -+ parkingRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ parallelParkingInUse (1), -+ headInParkingInUse (2), -+ doNotParkZone (3), -+ -- used to denote fire hydrants as well as -+ -- short disruptions in a parking zone -+ parkingForBusUse (4), -+ parkingForTaxiUse (5), -+ noPublicParkingUse (6) -+ -- private parking, as in front of -+ -- private property -+ -- Bits 7~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Sidewalk ::= BIT STRING { -+ -- With bits as defined: -+ sidewalk-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ bicyleUseAllowed (1), -+ -- The path allows bicycle traffic, -+ -- if not set, this mode is prohibited -+ isSidewalkFlyOverLane (2), -+ -- path of lane is not at grade -+ walkBikes (3) -+ -- bike traffic must dismount and walk -+ -- Bits 4~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-Striping ::= BIT STRING { -+ -- With bits as defined: -+ stripeToConnectingLanesRevocableLane (0), -+ -- this lane may be activated or not activated based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ stripeDrawOnLeft (1), -+ stripeDrawOnRight (2), -+ -- which side of lane to mark -+ stripeToConnectingLanesLeft (3), -+ stripeToConnectingLanesRight (4), -+ stripeToConnectingLanesAhead (5) -+ -- the stripe type should be -+ -- presented to the user visually -+ -- to reflect stripes in the -+ -- intersection for the type of -+ -- movement indicated -+ -- Bits 6~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-TrackedVehicle ::= BIT STRING { -+ -- With bits as defined: -+ spec-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ spec-commuterRailRoadTrack (1), -+ spec-lightRailRoadTrack (2), -+ spec-heavyRailRoadTrack (3), -+ spec-otherRailType (4) -+ -- Bits 5~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-Vehicle ::= BIT STRING { -+ -- With bits as defined: -+ isVehicleRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ isVehicleFlyOverLane (1), -+ -- path of lane is not at grade -+ hovLaneUseOnly (2), -+ restrictedToBusUse (3), -+ restrictedToTaxiUse (4), -+ restrictedFromPublicUse (5), -+ hasIRbeaconCoverage (6), -+ permissionOnRequest (7) -- e.g. to inform about a lane for e-cars -+ -+ } (SIZE (8,...)) -+ -+LaneConnectionID ::= INTEGER (0..255) -+ -+LaneDirection ::= BIT STRING { -+ -- With bits as defined: -+ -- Allowed directions of travel in the lane object -+ -- All lanes are described from the stop line outwards -+ ingressPath (0), -+ -- travel from rear of path to front -+ -- is allowed -+ egressPath (1) -+ -- travel from front of path to rear -+ -- is allowed -+ -- Notes: No Travel, i.e. the lane object type does not support -+ -- travel (medians, curbs, etc.) is indicated by not -+ -- asserting any bit value -+ -- Bi-Directional Travel (such as a ped crosswalk) is -+ -- indicated by asserting both of the bits -+ } (SIZE (2)) -+ -+LaneID ::= INTEGER (0..255) -+ -- the value 0 shall be used when the lane ID is -+ -- not available or not known -+ -- the value 255 is reserved for future use -+ -+LayerID ::= INTEGER (0..100) -+ -+LayerType ::= ENUMERATED { -+ none, -+ mixedContent, -- two or more of the below types -+ generalMapData, -+ intersectionData, -+ curveData, -+ roadwaySectionData, -+ parkingAreaData, -+ sharedLaneData, -+ ... -+ } -+ -+LaneWidth ::= INTEGER (0..32767) -- units of 1 cm -+ -+MergeDivergeNodeAngle ::= INTEGER (-180..180) -+ -- In units of 1.5 degrees from north -+ -- the value -180 shall be used to represent -+ -- data is not available or unknown -+ -+MinuteOfTheYear ::= INTEGER (0..527040) -+ -- the value 527040 shall be used for invalid -+ -+MovementPhaseState ::= ENUMERATED { -+ -- Note that based on the regions and the operating mode not every -+ -- phase will be used in all transportation modes and that not -+ -- every phase will be used in all transportation modes -+ -+ unavailable (0), -+ -- This state is used for unknown or error -+ dark (1), -+ -- The signal head is dark (unlit) -+ -+ -- Reds -+ stop-Then-Proceed (2), -+ -- Often called 'flashing red' in US -+ -- Driver Action: -+ -- Stop vehicle at stop line. -+ -- Do not proceed unless it is safe. -+ -- Note that the right to proceed either right or left when -+ -- it is safe may be contained in the lane description to -+ -- handle what is called a 'right on red' -+ stop-And-Remain (3), -+ -- e.g. called 'red light' in US -+ -- Driver Action: -+ -- Stop vehicle at stop line. -+ -- Do not proceed. -+ -- Note that the right to proceed either right or left when -+ -- it is safe may be contained in the lane description to -+ -- handle what is called a 'right on red' -+ -+ -- Greens -+ pre-Movement (4), -+ -- Not used in the US, red+yellow partly in EU -+ -- Driver Action: -+ -- Stop vehicle. -+ -- Prepare to proceed (pending green) -+ -- (Prepare for transition to green/go) -+ permissive-Movement-Allowed (5), -+ -- Often called 'permissive green' in US -+ -- Driver Action: -+ -- Proceed with caution, -+ -- must yield to all conflicting traffic -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ protected-Movement-Allowed (6), -+ -- Often called 'protected green' in US -+ -- Driver Action: -+ -- Proceed, tossing caution to the wind, -+ -- in indicated (allowed) direction. -+ -+ -- Yellows / Ambers -+ -- The vehicle is not allowed to cross the stop bar if it is possible -+ -- to stop without danger. -+ permissive-clearance (7), -+ -- Often called 'permissive yellow' in US -+ -- Driver Action: -+ -- Prepare to stop. -+ -- Proceed if unable to stop, -+ -- Clear Intersection. -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ protected-clearance (8), -+ -- Often called 'protected yellow' in US -+ -- Driver Action: -+ -- Prepare to stop. -+ -- Proceed if unable to stop, -+ -- in indicated direction (to connected lane) -+ -- Clear Intersection. -+ -+ caution-Conflicting-Traffic (9) -+ -- Often called 'flashing yellow' in US -+ -- Often used for extended periods of time -+ -- Driver Action: -+ -- Proceed with caution, -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ } -+ -- The above number assignments are not used with UPER encoding -+ -- and are only to be used with DER or implicit encoding -+ -+MsgCount ::= INTEGER (0..127) -+ -+Offset-B10 ::= INTEGER (-512..511) -+ -- a range of +- 5.11 meters -+ -+Offset-B11 ::= INTEGER (-1024..1023) -+ -- a range of +- 10.23 meters -+ -+Offset-B12 ::= INTEGER (-2048..2047) -+ -- a range of +- 20.47 meters -+ -+Offset-B13 ::= INTEGER (-4096..4095) -+ -- a range of +- 40.95 meters -+ -+Offset-B14 ::= INTEGER (-8192..8191) -+ -- a range of +- 81.91 meters -+ -+Offset-B16 ::= INTEGER (-32768..32767) -+ -- a range of +- 327.68 meters -+ -+PedestrianBicycleDetect ::= BOOLEAN -+ -- true if ANY Pedestrians or Bicyclists are -+ -- detected crossing the target lane or lanes -+ -+PrioritizationResponseStatus ::= ENUMERATED { -+ unknown (0), -+ -- Unknown state -+ requested (1), -+ -- This prioritization request was detected -+ -- by the traffic controller -+ processing (2), -+ -- Checking request -+ -- (request is in queue, other requests are prior) -+ watchOtherTraffic (3), -+ -- Cannot give full permission, -+ -- therefore watch for other traffic -+ -- Note that other requests may be present -+ granted (4), -+ -- Intervention was successful -+ -- and now prioritization is active -+ rejected (5), -+ -- The prioritization or preemption request was -+ -- rejected by the traffic controller -+ maxPresence (6), -+ -- The Request has exceeded maxPresence time -+ -- Used when the controller has determined that -+ -- the requester should then back off and -+ -- request an alternative. -+ reserviceLocked (7), -+ -- Prior conditions have resulted in a reservice -+ -- locked event: the controller requires the -+ -- passage of time before another similar request -+ -- will be accepted -+ ... -+} -+ -+PriorityRequestType ::= ENUMERATED { -+ priorityRequestTypeReserved (0), -+ priorityRequest (1), -+ priorityRequestUpdate (2), -+ priorityCancellation (3), -+ ... -+ } -+ -+RegionId ::= INTEGER (0..255) -+ noRegion RegionId ::= 0 -- Use default supplied stubs -+ addGrpA RegionId ::= 1 -- USA -+ addGrpB RegionId ::= 2 -- Japan -+ addGrpC RegionId ::= 3 -- EU -+ -- NOTE: new registered regional IDs will be added here -+ -- The values 128 and above are for local region use -+ -+RequestID ::= INTEGER (0..255) -+ -+RequestImportanceLevel ::= ENUMERATED { -+ requestImportanceLevelUnKnown (0), -+ requestImportanceLevel1 (1), -- The least important request -+ requestImportanceLevel2 (2), -- The values here shall be assigned -+ requestImportanceLevel3 (3), -- Meanings based on regional needs -+ requestImportanceLevel4 (4), -- for each of the basic roles which -+ requestImportanceLevel5 (5), -- are defined elsewhere -+ requestImportanceLevel6 (6), -+ requestImportanceLevel7 (7), -+ requestImportanceLevel8 (8), -+ requestImportanceLevel9 (9), -+ requestImportanceLevel10 (10), -+ requestImportanceLevel11 (11), -+ requestImportanceLevel12 (12), -+ requestImportanceLevel13 (13), -+ requestImportanceLevel14 (14), -- The most important request -+ requestImportanceReserved (15) -- Reserved for future use -+ } -+ -+RequestSubRole ::= ENUMERATED { -+ requestSubRoleUnKnown (0), -+ requestSubRole1 (1), -- The first type of sub role -+ requestSubRole2 (2), -- The values here shall be assigned -+ requestSubRole3 (3), -- Meanings based on regional needs -+ requestSubRole4 (4), -- to refine and expand the basic -+ requestSubRole5 (5), -- roles which are defined elsewhere -+ requestSubRole6 (6), -+ requestSubRole7 (7), -+ requestSubRole8 (8), -+ requestSubRole9 (9), -+ requestSubRole10 (10), -+ requestSubRole11 (11), -+ requestSubRole12 (12), -+ requestSubRole13 (13), -+ requestSubRole14 (14), -- The last type of sub role -+ requestSubRoleReserved (15) -- Reserved for future use -+ } -+ -+RestrictionAppliesTo ::= ENUMERATED { -+ none, -- applies to nothing -+ equippedTransit, -- buses etc. -+ equippedTaxis, -+ equippedOther, -- other vehicle types with -+ -- necessary signal phase state -+ -- reception equipment -+ emissionCompliant, -- regional variants with more -+ -- definitive items also exist -+ equippedBicycle, -+ weightCompliant, -+ heightCompliant, -+ -- Items dealing with traveler needs serviced by the infrastructure -+ -- These end users (which are not vehicles) are presumed to be suitably equipped -+ pedestrians, -+ slowMovingPersons, -+ wheelchairUsers, -+ visualDisabilities, -+ audioDisabilities, -- hearing -+ otherUnknownDisabilities, -+ ... -+ } -+ -+RestrictionClassID ::= INTEGER (0..255) -+ -- An index value to identify data about classes of users -+ -- the value used varies with each intersection's -+ -- needs and is defined in the map to the assigned -+ -- classes of supported users. -+ -+RoadRegulatorID ::= INTEGER (0..65535) -+ -- The value zero shall be used for testing only -+ -+RoadSegmentID ::= INTEGER (0..65535) -+ -- The values zero to 255 shall be used for testing only -+ -- Note that the value assigned to an RoadSegment will be -+ -- unique within a given regional ID only during its use -+ -+RoadwayCrownAngle ::= INTEGER (-128..127) -+ -- In LSB units of 0.3 degrees of angle -+ -- over a range of -38.1 to + 38.1 degrees -+ -- The value -128 shall be used for unknown -+ -- The value zero shall be used for angles -+ -- which are between -0.15 and +0.15 -+ -+Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent -+ -+SignalGroupID ::= INTEGER (0..255) -+ -- The value 0 shall be used when the ID is -+ -- not available or not known -+ -- the value 255 is reserved to indicate a -+ -- permanent green movement state -+ -- therefore a simple 8 phase signal controller -+ -- device might use 1..9 as its groupIDs -+ -+SegmentAttributeXY ::= ENUMERATED { -+ -- Various values which can be Enabled and Disabled for a lane segment -+ -+ -- General Items -+ reserved , -+ doNotBlock , -- segment where a vehicle -+ -- may not come to a stop -+ whiteLine , -- segment where lane crossing not allowed -+ -- such as the final few meters of a lane -+ -+ -- Porous Lane states, merging, turn outs, parking etc. -+ -+ mergingLaneLeft , -- indicates porous lanes -+ mergingLaneRight , -+ -+ curbOnLeft , -- indicates presence of curbs -+ curbOnRight , -+ -+ loadingzoneOnLeft , -- loading or drop off zones -+ loadingzoneOnRight , -+ -+ turnOutPointOnLeft , -- opening to adjacent street/alley/road -+ turnOutPointOnRight , -+ -+ adjacentParkingOnLeft , -- side of road parking -+ adjacentParkingOnRight , -+ -+ -- Bike Lane Needs -+ adjacentBikeLaneOnLeft , -- presence of marked bike lanes -+ adjacentBikeLaneOnRight , -+ sharedBikeLane , -- right of way is shared with bikes -+ -- who may occupy entire lane width -+ bikeBoxInFront , -+ -+ -- Transit Needs -+ transitStopOnLeft , -- any form of bus/transit loading -+ -- with pull in-out access to lane on left -+ transitStopOnRight , -- any form of bus/transit loading -+ -- with pull in-out access to lane on right -+ transitStopInLane , -- any form of bus/transit loading -+ -- in mid path of the lane -+ sharedWithTrackedVehicle , -- lane is shared with train or trolley -+ -- not used for crossing tracks -+ -+ -+ -- Pedestrian Support Attributes -+ safeIsland , -- begin/end a safety island in path -+ lowCurbsPresent , -- for ADA support -+ rumbleStripPresent , -- for ADA support -+ audibleSignalingPresent , -- for ADA support -+ adaptiveTimingPresent , -- for ADA support -+ rfSignalRequestPresent , -- Supports RF push to walk technologies -+ partialCurbIntrusion , -- path is blocked by a median or curb -+ -- but at least 1 meter remains open for use -+ -- and at-grade passage -+ -+ -- Lane geometry details (see standard for defined shapes) -+ taperToLeft , -- Used to control final path shape -+ taperToRight , -- Used to control final path shape -+ taperToCenterLine , -- Used to control final path shape -+ -+ -- Parking Lane and Curb Attributes -+ parallelParking , -- -+ headInParking , -- Parking at an angle with the street -+ freeParking , -- no restriction on use of parking -+ timeRestrictionsOnParking , -- Parking is not permitted at all times -+ -- typically used when the 'parking' lane -+ -- becomes a driving lane at times -+ costToPark , -- Used where parking has a cost -+ midBlockCurbPresent , -- a protruding curb near lane edge -+ unEvenPavementPresent , -- a disjoint height at lane edge -+ ... -+ } -+ -+SpeedAdvice ::= INTEGER (0..500) -+ -- LSB units are 0.1 m/s^2 -+ -- the value 499 shall be used for values at or greater than 49.9 m/s -+ -- the value 500 shall be used to indicate that speed is unavailable -+ -+ -+TemporaryID ::= OCTET STRING (SIZE(4)) -+ -+TimeIntervalConfidence ::= INTEGER (0..15) -+ -- Value Probability -+ -- 0 21% -+ -- 1 36% -+ -- 2 47% -+ -- 3 56% -+ -- 4 62% -+ -- 5 68% -+ -- 6 73% -+ -- 7 77% -+ -- 8 81% -+ -- 9 85% -+ -- 10 88% -+ -- 11 91% -+ -- 12 94% -+ -- 13 96% -+ -- 14 98% -+ -- 15 100% -+ -+TransitVehicleOccupancy ::= ENUMERATED { -+ occupancyUnknown (0), -+ occupancyEmpty (1), -+ occupancyVeryLow (2), -+ occupancyLow (3), -+ occupancyMed (4), -+ occupancyHigh (5), -+ occupancyNearlyFull (6), -+ occupancyFull (7) -+ } -+ -+TransitVehicleStatus ::= BIT STRING { -+ loading (0), -- parking and unable to move at this time -+ anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) -+ aBikeLoad (2), -- loading of a bicycle is in progress -+ doorOpen (3), -- a vehicle door is open for passenger access -+ charging (4), -- a vehicle is connected to charging point -+ atStopLine (5) -- a vehicle is at the stop line for the lane it is in -+ } (SIZE(8)) -+ -+TransmissionState ::= ENUMERATED { -+ neutral (0), -- Neutral -+ park (1), -- Park -+ forwardGears (2), -- Forward gears -+ reverseGears (3), -- Reverse gears -+ reserved1 (4), -+ reserved2 (5), -+ reserved3 (6), -+ unavailable (7) -- not-equipped or unavailable value, -+ -- Any related speed is relative to the vehicle reference frame used -+ } -+ -+VehicleType ::= ENUMERATED { -+ none (0), -- Not Equipped, Not known or unavailable -+ unknown (1), -- Does not fit any other category -+ special (2), -- Special use -+ moto (3), -- Motorcycle -+ car (4), -- Passenger car -+ carOther (5), -- Four tire single units -+ bus (6), -- Buses -+ axleCnt2 (7), -- Two axle, six tire single units -+ axleCnt3 (8), -- Three axle, single units -+ axleCnt4 (9), -- Four or more axle, single unit -+ axleCnt4Trailer (10), -- Four or less axle, single trailer -+ axleCnt5Trailer (11), -- Five or less axle, single trailer -+ axleCnt6Trailer (12), -- Six or more axle, single trailer -+ axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer -+ axleCnt6MultiTrailer (14), -- Six axle, multi-trailer -+ axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer -+ ... -+ } -+ -+Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -+ -- The value 8191 indicates that -+ -- velocity is unavailable -+ -+WaitOnStopline ::= BOOLEAN -- -+ -- True or False -+ -- If "true", the vehicles on this specific connecting -+ -- maneuver have to stop on the stop-line -+ -- and not to enter the collision area -+ -+ZoneLength ::= INTEGER (0..10000) -+ -- Unit = 1 meter, 0 = unknown, -+ -- The value 10000 to be used for Distances >=10000 m -+ -- (e.g. from known point to another point along a -+ -- known path, often against traffic flow direction -+ -- when used for measuring queues) -+ -+END -+ -Index: ISO_TS_19091_REGION.asn -=================================================================== ---- ISO_TS_19091_REGION.asn (nonexistent) -+++ ISO_TS_19091_REGION.asn (working copy) -@@ -0,0 +1,108 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 19091 -+-- -+-- This ASN.1 was generated: 30.08.2016 -+-- -+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message -+-- as defined in ISO TS 19091 and SAEJ2735 -+-- -+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe) -+-- -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: REGION -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC -+ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC, -+SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; -+ -+Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { -+ {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { -+ {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { -+ {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-MapData REG-EXT-ID-AND-TYPE ::= { -+ {MapData-addGrpC IDENTIFIED BY addGrpC}, -+ ... -+} -+ -+Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -+ {Control-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-Position3D REG-EXT-ID-AND-TYPE ::= { -+ {Position3D-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { -+ {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { -+ { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } -+ -+END diff --git a/patches/tct3_javasrc.patch b/patches/tct3_javasrc.patch deleted file mode 100644 index 50eaa4b1df489fa0c155310d0201a867fc5c7f1b..0000000000000000000000000000000000000000 --- a/patches/tct3_javasrc.patch +++ /dev/null @@ -1,178 +0,0 @@ -Index: adapter/org/etsi/its/adapter/TestAdapter.java -=================================================================== ---- adapter/org/etsi/its/adapter/TestAdapter.java (revision 2612) -+++ adapter/org/etsi/its/adapter/TestAdapter.java (working copy) -@@ -20,7 +20,6 @@ - import org.etsi.its.adapter.ports.ProtocolPortFactory; - import org.etsi.its.adapter.ports.UpperTesterPort; - import org.etsi.ttcn.tci.CharstringValue; --import org.etsi.ttcn.tri.TriActionTemplate; - import org.etsi.ttcn.tri.TriAddress; - import org.etsi.ttcn.tri.TriAddressList; - import org.etsi.ttcn.tri.TriCommunicationSA; -@@ -74,7 +73,6 @@ - /* (non-Javadoc) - * @see org.etsi.ttcn.tri.TriCommunicationSA#triExecuteTestcase(org.etsi.ttcn.tri.TriTestCaseId, org.etsi.ttcn.tri.TriPortIdList) - */ -- @Override - public TriStatus triExecuteTestcase(final TriTestCaseId tcId, final TriPortIdList portList) { - return required.getTriStatus(TriStatus.TRI_OK); - } -@@ -303,15 +301,6 @@ - } - - /** -- * triSutActionTemplate not implemented -- * @see org.etsi.ttcn.tri.TriCommunicationSA#triSutActionTemplate(org.etsi.ttcn.tri.TriActionTemplate) -- */ -- @Override -- public TriStatus triSutActionTemplate(TriActionTemplate templateValue) { -- return required.getTriStatus(TriStatus.TRI_ERROR, "triSutActionTemplate not implemented"); -- } -- -- /** - * triMapParam not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triMapParam(org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriPortId, org.etsi.ttcn.tri.TriParameterList) - */ -@@ -328,4 +317,28 @@ - public TriStatus triUnmapParam(TriPortId compPortId, TriPortId tsiPortId, TriParameterList paramList) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triUnmapParam not implemented"); - } -+ -+ @Override -+ public TriStatus triExecuteTestCase(TriTestCaseId arg0, TriPortIdList arg1) { -+ // TODO Auto-generated method stub -+ return triExecuteTestcase(arg0, arg1); -+ } -+ -+ @Override -+ public TriStatus triGetStreamValue(TriComponentId arg0, TriPortId arg1, TriAddress arg2, TriMessage arg3) { -+ // TODO Auto-generated method stub -+ return null; -+ } -+ -+ @Override -+ public TriStatus triSetStreamValue(TriComponentId arg0, TriPortId arg1, TriAddress arg2, TriMessage arg3) { -+ // TODO Auto-generated method stub -+ return null; -+ } -+ -+ @Override -+ public TriStatus triStaticMap(TriPortId arg0, TriPortId arg1) { -+ // TODO Auto-generated method stub -+ return null; -+ } - } -Index: certificatesio/org/etsi/certificates/io/CertificatesIO.java -=================================================================== ---- certificatesio/org/etsi/certificates/io/CertificatesIO.java (revision 2612) -+++ certificatesio/org/etsi/certificates/io/CertificatesIO.java (working copy) -@@ -149,7 +149,7 @@ - */ - @Override - public boolean readCertificate(final String key, final ByteArrayOutputStream certificate) { --// TERFactory.getInstance().logDebug(">>> CertificatesIO.readCertificate: " + key); -+ TERFactory.getInstance().logDebug(">>> CertificatesIO.readCertificate: " + key); - - String certKey; - if (_cachedReverseCertificatesDigest.containsKey(key)) { -@@ -173,7 +173,7 @@ - - @Override - public boolean readCertificateDigest(final String certificateId, final ByteArrayOutputStream digest) { --// TERFactory.getInstance().logDebug(">>> CertificatesIO.readCertificateDigest: " + certificateId); -+ TERFactory.getInstance().logDebug(">>> CertificatesIO.readCertificateDigest: " + certificateId); - - // Sanity check - if (!_cachedCertificatesDigest.containsKey(certificateId)) { -@@ -199,7 +199,7 @@ - */ - @Override - public boolean readSigningKey(final String keyName, final ByteArrayOutputStream key) { --// TERFactory.getInstance().logDebug(">>> CertificatesIO.readSigningKey: " + keyName); -+ TERFactory.getInstance().logDebug(">>> CertificatesIO.readSigningKey: " + keyName); - - try { - String certKey; -@@ -305,11 +305,11 @@ - return; - } - _cachedCertificatesDigest.put(certName, bytes); --// TERFactory.getInstance().logDebug("CertificatesIO.addDigestItem: Store digest: " + ByteHelper.byteArrayToString(bytes) + " - " + certName); -+ TERFactory.getInstance().logDebug("CertificatesIO.addDigestItem: Store digest: " + ByteHelper.byteArrayToString(bytes) + " - " + certName); - } - - private void addCertItem(final File p_certFile) throws FileNotFoundException, IOException { --// TERFactory.getInstance().logDebug(">>> CertificatesIO.addItem: " + p_certFile); -+ TERFactory.getInstance().logDebug(">>> CertificatesIO.addCertItem: " + p_certFile); - - // Load the keys file name - String filename = p_certFile.getName(); -@@ -322,14 +322,14 @@ - fsKeys.close(); - bytes = ByteHelper.hexStringToByteArray(new String(bytes)); - _cachedCertificates.put(certName, bytes); --// TERFactory.getInstance().logDebug("CertificatesIO.addItem: Store cert " + certName + " - " + ByteHelper.byteArrayToString(bytes)); -+ TERFactory.getInstance().logDebug("CertificatesIO.addCertItem: Store cert " + certName + " - " + ByteHelper.byteArrayToString(bytes)); - - // calculate digest - bytes = calculateDigestFromCertificate(bytes); - _cachedCertificatesDigest.put(certName, bytes); --// TERFactory.getInstance().logDebug("CertificatesIO.addItem: Store digest: " + ByteHelper.byteArrayToString(bytes) + " - " + certName); -+ TERFactory.getInstance().logDebug("CertificatesIO.addCertItem: Store digest: " + ByteHelper.byteArrayToString(bytes) + " - " + certName); - _cachedReverseCertificatesDigest.put(ByteHelper.byteArrayToString(bytes), certName); --// TERFactory.getInstance().logDebug("CertificatesIO.addItem: Store reverse digest " + ByteHelper.byteArrayToString(bytes) + " - " + certName); -+ TERFactory.getInstance().logDebug("CertificatesIO.addCertItem: Store reverse digest " + ByteHelper.byteArrayToString(bytes) + " - " + certName); - - // Load Private Keys - filename = p_certFile.getPath(); -Index: codec/org/etsi/ttcn/codec/CodecFactory.java -=================================================================== ---- codec/org/etsi/ttcn/codec/CodecFactory.java (revision 2612) -+++ codec/org/etsi/ttcn/codec/CodecFactory.java (working copy) -@@ -83,7 +83,7 @@ - if(codec != null) { - //TERFactory.getInstance().logDebug(String.format("%50s", encoding)); - //TERFactory.getInstance().logDebug(" ==> " + codec.getClass().getName()); -- System.out.println(String.format("%50s", encoding) + " ==> " + codec.getClass().getName()); -+ //System.out.println(String.format("%50s", encoding) + " ==> " + codec.getClass().getName()); - return codec; - } - return null; -@@ -92,12 +92,12 @@ - public ICodec getCodec(MainCodec mainCodec, int classType, String encoding, String typeName) { - - //TERFactory.getInstance().logDebug(String.format("%50s", typeName + "(" + encoding + ")")); -- System.out.println(String.format("%50s", typeName + "(" + encoding + ")")); -+// System.out.println(String.format("%50s", typeName + "(" + encoding + ")")); - Class cls = null; - Class[] ctorParams = {MainCodec.class}; - - //TERFactory.getInstance().logDebug("getCodec: Search internal codec for " + classType + '/' + encoding + '/' + typeName); -- System.out.println("getCodec: Search internal codec for " + classType + '/' + encoding + '/' + typeName); -+// System.out.println("getCodec: Search internal codec for " + classType + '/' + encoding + '/' + typeName); - cls = codecs.get(classType + '/' + encoding + '/' + typeName); - if(cls == null) { - cls = codecs.get(classType + '/' + encoding + '/'); -@@ -108,7 +108,7 @@ - - if(cls != null) { - //TERFactory.getInstance().logDebug(" ==> " + cls.getName()); -- System.out.println(" ==> " + cls.getName()); -+ //System.out.println(" ==> " + cls.getName()); - try { - Constructor ctor = cls.getConstructor(ctorParams); - return ctor.newInstance(mainCodec); -Index: codec/org/etsi/ttcn/codec/MainCodec.java -=================================================================== ---- codec/org/etsi/ttcn/codec/MainCodec.java (revision 2612) -+++ codec/org/etsi/ttcn/codec/MainCodec.java (working copy) -@@ -67,6 +67,8 @@ - - @Override - public CodecBuffer encode(Value value) { -+ //TERFactory.getInstance().logDebug(">>> MainCodec.encode: " + value); -+ //System.out.println(">>> MainCodec.encode: " + value); - - CodecFactory cf = CodecFactory.getInstance(); - TciCDProvided extCodec = cf.getExternalCodec(value.getValueEncoding()); diff --git a/patches/titanization_asn1_IS.patch b/patches/titanization_asn1_IS.patch deleted file mode 100644 index 3fb0726f261851ce7b3d90f752890982c0d7a808..0000000000000000000000000000000000000000 --- a/patches/titanization_asn1_IS.patch +++ /dev/null @@ -1,6318 +0,0 @@ -Index: EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn -=================================================================== ---- EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn (nonexistent) -+++ EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,157 @@ -+EV-RechargingSpotReservation-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+ ItsPduHeader FROM ITS-Container { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -+}; -+ -+EV-RSR ::= SEQUENCE { -+ header ItsPduHeader, -+ messageBody EV-RSR-MessageBody -+} -+ -+EV-RSR-MessageBody ::= CHOICE { -+ preReservationRequestMessage PreReservationRequestMessage, -+ preReservationResponseMessage PreReservationResponseMessage, -+ reservationRequestMessage ReservationRequestMessage, -+ reservationResponseMessage ReservationResponseMessage, -+ cancellationRequestMessage CancellationRequestMessage, -+ cancellationResponseMessage CancellationResponseMessage, -+ updateRequestMessage UpdateRequestMessage, -+ updateResponseMessage UpdateResponseMessage, -+... -+} -+ -+PreReservationRequestMessage ::= SEQUENCE { -+ evse-ID EVSE-ID, -+ arrivalTime TimestampUTC, -+ departureTime TimestampUTC OPTIONAL, -+ rechargingType RechargingType, -+ batteryType BatteryType OPTIONAL, -+ ... -+} -+ -+PreReservationResponseMessage ::= SEQUENCE { -+ preReservation-ID PreReservation-ID, -+ availabilityStatus AvailabilityStatus, -+ preReservationExpirationTime TimestampUTC, -+ supportedPaymentTypes SupportedPaymentTypes, -+ ... -+} -+ -+ReservationRequestMessage ::= SEQUENCE { -+ currentTime TimestampUTC, -+ preReservation-ID PreReservation-ID, -+ arrivalTime TimestampUTC, -+ departureTime TimestampUTC OPTIONAL, -+ eAmount EAmount, -+ eAmountMin EAmount, -+ paymentType PaymentType, -+ payment-ID Payment-ID, -+ secondPayment-ID Payment-ID OPTIONAL, -+ pairing-ID Pairing-ID OPTIONAL, -+ ... -+} -+ -+ReservationResponseMessage ::= SEQUENCE { -+ reservationResponseCode ReservationResponseCode, -+ reservation-ID Reservation-ID OPTIONAL, -+ reservation-Password Reservation-Password OPTIONAL, -+ stationDetails StationDetails OPTIONAL, -+ chargingSpotLabel ChargingSpotLabel OPTIONAL, -+ expirationTime TimestampUTC, -+ freeCancelTimeLimit TimestampUTC OPTIONAL, -+ ... -+} -+ -+CancellationRequestMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ reservation-Password Reservation-Password, -+ currentTime TimestampUTC, -+ ... -+} -+ -+CancellationResponseMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ cancellationResponseCode CancellationResponseCode, -+ ... -+} -+ -+UpdateRequestMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ reservation-Password Reservation-Password, -+ updatedArrivalTime TimestampUTC, -+ updatedDepartureTime TimestampUTC, -+ ... -+} -+ -+UpdateResponseMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ updateResponseCode UpdateResponseCode, -+ chargingSpotLabel ChargingSpotLabel OPTIONAL, -+ ... -+} -+ -+ -+ -+AvailabilityStatus ::= ENUMERATED { available, no-free-capacity } -+ -+BatteryType ::= UTF8String (SIZE(1..16)) -+ -+CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password } -+ -+ChargingSpotLabel ::= UTF8String (SIZE(1..4)) -+ -+ContractID ::= UTF8String (SIZE(1..24)) -+ -+EAmount ::= INTEGER { oneWh(1) } (1..500000) -+ -+ChargingPower ::= INTEGER { oneW(1) } (1..200000) -+ -+EVSE-ID ::= OCTET STRING (SIZE(1..32)) -+ -+ExternalIdentificationMeans ::= UTF8String (SIZE(1..24)) -+ -+Pairing-ID ::= VisibleString (SIZE(1..64)) -+ -+PaymentType ::= ENUMERATED {contract, externalIdentification} -+ -+Payment-ID ::= CHOICE { -+ contractID ContractID, -+ externalIdentificationMeans ExternalIdentificationMeans -+} -+ -+RechargingType ::= SEQUENCE { -+ rechargingMode RechargingMode, -+ powerSource PowerSource -+} -+ -+RechargingMode ::= INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15) -+ -+PowerSource::= INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7) -+ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability } -+ -+Reservation-ID ::= VisibleString (SIZE(8)) -+ -+PreReservation-ID ::= Reservation-ID -+ -+Reservation-Password ::= VisibleString (SIZE(8)) -+ -+ -+StationDetails ::= UTF8String (SIZE(1..32)) -+ -+SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2)) -+ -+TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) } -+ -+UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time } -+ -+StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID } -+ -+END -\ No newline at end of file -Index: EVCSN/EVCSN_PDU_Descriptions.asn -=================================================================== ---- EVCSN/EVCSN_PDU_Descriptions.asn (nonexistent) -+++ EVCSN/EVCSN_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,102 @@ -+-- Point of Interest (POI) notification for charging spot -+-- for electric vehicle -+-- EVCSN Message definition -+-- ASN.1 Start Definition -+ -+EVCSN-PDU-Descriptions { -+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) -+wg1 (1) ts (101556) evcsn (1) version (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+ ItsPduHeader, -+ StationID, -+ TimestampIts, -+ ReferencePosition -+FROM ITS-Container { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -+}; -+ -+-- Root Message PDU: EvcsnPdu -+ -+EvcsnPdu ::= SEQUENCE { -+ header ItsPduHeader, -+ evcsn EVChargingSpotNotificationPOIMessage -+} -+ -+EVChargingSpotNotificationPOIMessage ::= SEQUENCE { -+ poiHeader ItsPOIHeader, -- Specific POI Message Header -+ evcsnData ItsEVCSNData -- Electric Vehicle Charging Spot Data Elements -+} -+ -+ItsPOIHeader ::= SEQUENCE { -+ poiType POIType, -- set to "EV charging station POI ID = 1" -+ timeStamp TimestampIts, -+ relayCapable BOOLEAN -+} -+ -+ -+ItsEVCSNData ::= SEQUENCE { -+ totalNumberOfStations NumberStations, -+ chargingStationsData SEQUENCE (SIZE(1..256)) OF ItsChargingStationData -+} -+ -+ItsChargingStationData ::= SEQUENCE { -+ chargingStationID StationID, -+ utilityDistributorId UTF8String (SIZE(1..32)) OPTIONAL, -+ providerID UTF8String (SIZE(1..32)) OPTIONAL, -+ chargingStationLocation ReferencePosition, -+ address UTF8String OPTIONAL, -+ phoneNumber NumericString (SIZE(1..16)) OPTIONAL, -+ accessibility UTF8String (SIZE(1..32)), -+ digitalMap DigitalMap OPTIONAL, -+ openingDaysHours UTF8String, -+ pricing UTF8String, -+ bookingContactInfo UTF8String OPTIONAL, -+ payment UTF8String OPTIONAL, -+ chargingSpotsAvailable ItsChargingSpots, -+ ... -+} -+ -+ -+ItsChargingSpots ::= SEQUENCE (SIZE(1..16)) OF ItsChargingSpotDataElements -+ -+ -+ItsChargingSpotDataElements ::= SEQUENCE { -+ type ChargingSpotType, -+ evEquipmentID UTF8String OPTIONAL, -+ typeOfReceptacle TypeOfReceptacle, -+ energyAvailability UTF8String, -+ parkingPlacesData ParkingPlacesData OPTIONAL -+} -+ -+DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition -+ -+ChargingSpotType ::= BIT STRING { -+ standardChargeMode1(0), -+ standardChargeMode2(1), -+ standardOrFastChargeMode3(2), -+ fastChargeWithExternalCharger(3), -+ quickDrop(8), -+ inductiveChargeWhileStationary(12), -+ inductiveChargeWhileDriving(14) -+} -+ -+TypeOfReceptacle ::= BIT STRING -+ -+ParkingPlacesData ::= SEQUENCE (SIZE(1..4)) OF SpotAvailability -+ -+SpotAvailability ::= SEQUENCE { -+ maxWaitingTimeMinutes INTEGER (0..1400), -- 0 if available or max waiting -+ -- time (minutes) -+ blocking BOOLEAN -- true if the spot can be blocked -+} -+ -+POIType ::= INTEGER(0..65535) -+NumberStations ::= INTEGER(1..256) -+ -+END -\ No newline at end of file -Index: IS/AddGrpC.asn -=================================================================== ---- IS/AddGrpC.asn (nonexistent) -+++ IS/AddGrpC.asn (working copy) -@@ -0,0 +1,111 @@ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: AddGrpC -+-- ISO TS 19091 Oct 2015 v0910 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -+ -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+--FIXME RGY all definitions are moved to IS-DSRC-noCircular to cut circular import loop -+--NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC -+NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM IS-DSRC-REGION-noCircular -+Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+ConnectionManeuverAssist-addGrpC ::= SEQUENCE { -+ vehicleToLanePositions VehicleToLanePositionList OPTIONAL, -+ rsuGNSSOffset NodeOffsetPointXY OPTIONAL -+} -+ -+ConnectionTrajectory-addGrpC ::= SEQUENCE { -+ nodes NodeSetXY, -+ ... -+} -+ -+/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop -+Control-addGrpC ::= SEQUENCE { -+ ptvRequest PtvRequestType, -+ ... -+} -+*/ -+ -+IntersectionState-addGrpC ::= SEQUENCE { -+ activePrioritizations PrioritizationResponseList OPTIONAL, -+ ... -+} -+ -+MapData-addGrpC ::= SEQUENCE { -+ signalHeadLocations SignalHeadLocationList OPTIONAL, -+ ... -+} -+ -+Position3D-addGrpC ::= SEQUENCE { -+ altitude Altitude, -+ ... -+} -+ -+PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse -+ -+PrioritizationResponse ::= SEQUENCE { -+ stationed StationID, -+ priorState PrioritizationResponseStatus, -+ signalGroup SignalGroupID, -+ ... -+} -+ -+RestrictionUserType-addGrpC ::= SEQUENCE { -+ emission EmissionType OPTIONAL, -+ ... -+} -+ -+SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation -+ -+SignalHeadLocation ::= SEQUENCE { -+ nodeXY NodeOffsetPointXY, -+ nodeZ DeltaAltitude, -+ signalGroupID SignalGroupID, -+ ... -+} -+ -+SignalStatusPackage-addGrpC ::= SEQUENCE { -+ synchToSchedule DeltaTime OPTIONAL, -+ ... -+} -+ -+ -+VehicleToLanePositionList ::= SEQUENCE SIZE(1..5) OF VehicleToLanePosition -+ -+VehicleToLanePosition ::= SEQUENCE { -+ stationID StationID, -+ laneID LaneID, -+ timeReference TimeReference OPTIONAL, -+ ... -+} -+EmissionType ::= ENUMERATED { -+ euro1, -+ euro2, -+ euro3, -+ euro4, -+ euro5, -+ euro6, -+ ... -+} -+ -+/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop -+PtvRequestType ::= ENUMERATED { -+ preRequest, -+ mainRequest, -+ doorCloseRequest, -+ cancelRequest, -+ emergencyRequest, -+ ... -+} -+*/ -+ -+TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) -+ -+END - -Property changes on: IS/AddGrpC.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/AddGrpC_noCircular.asn -=================================================================== ---- IS/AddGrpC_noCircular.asn (nonexistent) -+++ IS/AddGrpC_noCircular.asn (working copy) -@@ -0,0 +1,30 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: AddGrpC -+-- ISO TS 19091 Oct 2015 v0910 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY definitions are moved here from AddGrpC; created to cut circular import loops amongst ASN.1 files -+AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -+ -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+ -+Control-addGrpC ::= SEQUENCE { -+ ptvRequest PtvRequestType, -+ ... -+} -+ -+PtvRequestType ::= ENUMERATED { -+ preRequest, -+ mainRequest, -+ doorCloseRequest, -+ cancelRequest, -+ emergencyRequest, -+ ... -+} -+ -+END - -Property changes on: IS/AddGrpC_noCircular.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/EfcModule.asn -=================================================================== ---- IS/EfcModule.asn (nonexistent) -+++ IS/EfcModule.asn (working copy) -@@ -0,0 +1,139 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 14906 -+-- -+-- -+-- -+-- This document contains only the data element needed for the encoding of an IVI message -+-- as defined in ISO TS 19321(2015) -+-- -+-- Published version location: -+-- http://standards.iso.org/iso/14906/old/ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+EfcModule {iso standard 14906 modules(0) efc(0) version(1)} DEFINITIONS -+ -+AUTOMATIC TAGS -+::= BEGIN -+--EXPORTS ALL; -+-- IMPORTS CountryCode, CS5, IssuerIdentifier FROM AVIAEINumberingAndDataStructures{iso(1) standard(0) 14816 } -+IMPORTS CountryCode, IssuerIdentifier FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}; -+-- defined in ISO 14816 -- -+-- Container, AttributeIdList, Attributes, AttributeList FROM DSRCData{iso standard 14906 modules (0) dsrc (1) version (1)}; -+-- NOTE: The following are the definitions of the action and response -+-- parameters -+ -+AxleWeightLimits ::= SEQUENCE{ -+ maxLadenweightOnAxle1 Int2, -+ maxLadenweightOnAxle2 Int2, -+ maxLadenweightOnAxle3 Int2, -+ maxLadenweightOnAxle4 Int2, -+ maxLadenweightOnAxle5 Int2 -+} -+ -+-- Fritz include -+DieselEmissionValues::= SEQUENCE { -+ particulate SEQUENCE { -+ unitType UnitType, -+ value INTEGER (0..32767) -+ }, -+ absorptionCoeff Int2 -+} -+ -+-- Fritz include -+EnvironmentalCharacteristics::= SEQUENCE { -+ euroValue EuroValue, -+ copValue CopValue -+} -+ -+EuroValue::= ENUMERATED { -+ noEntry (0), -+ euro-1 (1), -+ euro-2 (2), -+ euro-3 (3), -+ euro-4 (4), -+ euro-5 (5), -+ euro-6 (6), -+ reservedForUse1 (7), -+ reservedForUse2 (8), -+ reservedForUse3 (9), -+ reservedForUse4 (10), -+ reservedForUse5 (11), -+ reservedForUse6 (12), -+ reservedForUse7 (13), -+ reservedForUse8 (14), -+ reservedForUse9 (15) -+} -- 4 bits, EURO-Clases as defined in EC directive 88/77/EEC, annex 1 -+-- and in 91/542/EEC, 96/1/EC, 1999/96/EC, 2001/27/EC -+ -+CopValue::= ENUMERATED { -+ noEntry (0), -+ co2class1 (1), -- below 101 g/km -+ co2class2 (2), -- 101 to 120 g/km -+ co2class3 (3), -- 121 to 140 g/km -+ co2class4 (4), -- 141 to 160 g/km -+ co2class5 (5), -- 161 to 200 g/km -+ co2class6 (6), -- 201 to 250 g/km -+ co2class7 (7), -- above 250 g/km -+ reservedforUse (8) -- reserved for future CEN and ISO use -+} -- 4 bits, reserved for carbon dioxide pollution values as defined in -+-- EC directive 2003/127/EC' -+ -+-- Fritz include -+EngineCharacteristics::= INTEGER { -+ noEntry (0), -+ noEngine (1), -+ petrolUnleaded (2), -+ petrolLeaded (3), -+ diesel (4), -+ lPG (5), -+ battery (6), -+ solar (7) -+ -- (8-255) are reserved for future CEN use -+} (0..255) -+ -+-- Fritz include -+ExhaustEmissionValues ::= SEQUENCE { -+ unitType UnitType, -+ emissionCO INTEGER (0.. 32767), -+ emissionHC Int2, -+ emissionNOX Int2, -+ emissionHCNOX Int2 -+} -+ -+Int1 ::= INTEGER(0..255) -+ -+Int2 ::= INTEGER(0..65535) -+ -+-- Fritz include -+PassengerCapacity ::= SEQUENCE{ -+ numberOfSeats Int1, -+ numberOfStandingPlaces Int1 -+} -+ -+Provider ::= SEQUENCE { -- Fritz include -+countryCode CountryCode, -+providerIdentifier IssuerIdentifier -+} -+ -+SoundLevel ::= SEQUENCE{ -- fritz include -+soundstationary Int1, -+sounddriveby Int1 -+} -+ -+UnitType ::=ENUMERATED { -+ mg-km (0), -+ mg-kWh (1) -+} -+ -+VehicleDimensions ::= SEQUENCE { -- Fritz include -+vehicleLengthOverall Int1, -+vehicleHeigthOverall Int1, -+vehicleWidthOverall Int1 -+} -+ -+VehicleWeightLimits ::= SEQUENCE { -- fritz include -+vehicleMaxLadenWeight Int2, -+vehicleTrainMaximumWeight Int2, -+vehicleWeightUnladen Int2 -+} -+END - -Property changes on: IS/EfcModule.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/ETSI_TS_103301.asn -=================================================================== ---- IS/ETSI_TS_103301.asn (revision 1297) -+++ IS/ETSI_TS_103301.asn (nonexistent) -@@ -1,146 +0,0 @@ ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- ETSI TS 103 301 ---- ---- This ASN.1 was generated: 30.08.2016 ---- ---- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message ---- as defined in ETSI TS 103 301 ---- ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: SPAT-MESSAGE-PDU-Descriptions ---- ---- This ASN.1 was created: 30.08.2016 ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --SPATEM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) spatem (0) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- -- --SPATEM ::= SEQUENCE { -- header ItsPduHeader, -- spat SPAT --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: MAP-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --MAPEM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -- -- --MAPEM ::= SEQUENCE { -- header ItsPduHeader, -- map MapData --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: IVI-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --IVIM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -- -- --IVIM ::= SEQUENCE { -- header ItsPduHeader, -- ivi IviStructure --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: SRM-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --SREM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- --SREM ::= SEQUENCE { -- header ItsPduHeader, -- srm SignalRequestMessage --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: SSM-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --SSEM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- -- --SSEM ::= SEQUENCE { -- header ItsPduHeader, -- ssm SignalStatusMessage --} -- --END -- - -Property changes on: IS/ETSI_TS_103301.asn -___________________________________________________________________ -Deleted: svn:eol-style -## -1 +0,0 ## --native -\ No newline at end of property -Deleted: svn:keywords -## -1 +0,0 ## --URL Id -\ No newline at end of property -Deleted: svn:mime-type -## -1 +0,0 ## --text/plain -\ No newline at end of property -Index: IS/IS_DSRC.asn -=================================================================== ---- IS/IS_DSRC.asn (nonexistent) -+++ IS/IS_DSRC.asn (working copy) -@@ -0,0 +1,1906 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: DSRC -+-- ISO TS 19091 Oct 2015 v0909 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY renamed from DSRC, as module DSRC already exists in MAP-SPAT -+IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+--FIXME RGY definitions moved to module IS-DSRC-REGION-noCircular are commented our below -+StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -+Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, -+Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, /*Reg-LaneDataAttribute,*/ Reg-MovementEvent, Reg-MovementState, -+/*Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,*/ Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, -+--FIXME RGY module name changed to IS-REGION as REGION already used in MAP_SPAT -+--Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)}; -+Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM IS-REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} -+ -+--FIXME RGY definitions moved to IS-DSRC-REGION-noCircular but also refernced here are re-imported -+DeltaAngle, DeltaTime, LaneID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity, -+Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY FROM IS-DSRC-REGION-noCircular -+Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)} -+; -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Messages... -+-- This table typicaly contains message entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+MessageFrame ::= SEQUENCE { -+ messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), -+ value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), -+ ... -+ } -+ -+MESSAGE-ID-AND-TYPE ::= CLASS { -+ &id DSRCmsgID UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+MessageTypes MESSAGE-ID-AND-TYPE ::= { -+ { MapData IDENTIFIED BY mapData } | -+ { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | -+ { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | -+ { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, -+ ... -- Expansion to be used only by the SAE J2735 DSRC TC -+ } -+ -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+-- Regional extensions support -+REG-EXT-ID-AND-TYPE ::= CLASS { -+ &id RegionId UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -+ regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -+ regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -+ } -+*/ -+ -+SPAT ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ name DescriptiveName OPTIONAL, -+ -- human readable name for this collection -+ -- to be used only in debug mode -+ -+ intersections IntersectionStateList, -+ -- sets of SPAT data (one per intersection) -+ -+ -- If PrioritizationResponse data is required, it is found -+ -- in the RegionalSPAT entry below -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SPAT}} OPTIONAL, -+ ... -+ } -+ -+SignalRequestMessage ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ second DSecond, -+ sequenceNumber MsgCount OPTIONAL, -+ -+ requests SignalRequestList OPTIONAL, -+ -- Request Data for one or more signalized -+ -- intersections that support SRM dialogs -+ -+ requestor RequestorDescription, -+ -- Requesting Device and other User Data -+ -- contains vehicle ID (if from a vehicle) -+ -- as well as type data and current position -+ -- and may contain additional transit data -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, -+ ... -+} -+ -+SignalStatusMessage ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ second DSecond, -+ sequenceNumber MsgCount OPTIONAL, -+ -+ -- Status Data for one of more signalized intersections -+ status SignalStatusList, -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, -+ ... -+} -+ -+MapData ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ msgIssueRevision MsgCount, -+ layerType LayerType OPTIONAL, -+ layerID LayerID OPTIONAL, -+ intersections IntersectionGeometryList OPTIONAL, -+ -- All Intersection definitions -+ roadSegments RoadSegmentList OPTIONAL, -+ -- All roadway descriptions -+ -+ dataParameters DataParameters OPTIONAL, -+ -- Any meta data regarding the map contents -+ -+ restrictionList RestrictionClassList OPTIONAL, -+ -- Any restriction ID tables which have -+ -- established for these map entries -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MapData}} OPTIONAL, -+ -+ -- NOTE: -+ -- Other map data will be added here as it is defined -+ -- Examples of the type of content to be added include -+ -- curve warnings, construction routes, etc. -+ ... -+} -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Data_Frames... -+-- This table typicaly contains data frame entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+AdvisorySpeed ::= SEQUENCE { -+ type AdvisorySpeedType, -+ -- the type of advisory which this is. -+ speed SpeedAdvice OPTIONAL, -+ -- See Section 11 for converting and translating speed -+ -- expressed in mph into units of m/s -+ -- This element is optional ONLY when superceded -+ -- by the presence of a regional speed element found in -+ -- Reg-AdvisorySpeed entry -+ confidence SpeedConfidence OPTIONAL, -+ -- A confidence value for the above speed -+ distance ZoneLength OPTIONAL, -+ -- Unit = 1 meter, -+ -- The distance indicates the region for which the advised speed -+ -- is recommended, it is specified upstream from the stop bar -+ -- along the connected egressing lane -+ class RestrictionClassID OPTIONAL, -+ -- the vehicle types to which it applies -+ -- when absent, the AdvisorySpeed applies to -+ -- all motor vehicle types -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, -+ ... -+ } -+ -+AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed -+ -+ComputedLane ::= SEQUENCE { -+ -- Data needed to created a computed lane -+ referenceLaneId LaneID, -+ -- the lane ID upon which this -+ -- computed lane will be based -+ -- Lane Offset in X and Y direction -+ offsetXaxis CHOICE { -+ small DrivenLineOffsetSm, -+ large DrivenLineOffsetLg -+ }, -+ offsetYaxis CHOICE { -+ small DrivenLineOffsetSm, -+ large DrivenLineOffsetLg -+ }, -+ -- A path X offset value for translations of the -+ -- path's points when creating translated lanes. -+ -- The values found in the reference lane are -+ -- all offset based on the X and Y values from -+ -- the coordinates of the reference lane's -+ -- initial path point. -+ -- Lane Rotation -+ rotateXY Angle OPTIONAL, -+ -- A path rotation value for the entire lane -+ -- Observe that this rotates the existing orientation -+ -- of the referenced lane, it does not replace it. -+ -- Rotation occurs about the initial path point. -+ -- Lane Path Scale (zooming) -+ scaleXaxis Scale-B12 OPTIONAL, -+ scaleYaxis Scale-B12 OPTIONAL, -+ -- value for translations or zooming of the path's -+ -- points. The values found in the reference lane -+ -- are all expanded or contracted based on the X -+ -- and Y and width values from the coordinates of -+ -- the reference lane's initial path point. -+ -- The Z axis remains untouched. -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-ComputedLane}} OPTIONAL, -+ ... -+ } -+ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection -+ -+ConnectingLane ::= SEQUENCE { -+ lane LaneID, -- Index of the connecting lane -+ maneuver AllowedManeuvers OPTIONAL -+ -- The Maneuver between -+ -- the enclosing lane and this lane -+ -- at the stop line to connect them -+ } -+ -+ -+Connection ::= SEQUENCE { -+ -- The subject lane connecting to this lane is: -+ connectingLane ConnectingLane, -+ -- The index of the connecting lane and also -+ -- the maneuver from the current lane to it -+ remoteIntersection IntersectionReferenceID OPTIONAL, -+ -- This entry is only used when the -+ -- indicated connecting lane belongs -+ -- to another intersection layout. This -+ -- provides a means to create meshes of lanes -+ -+ -- SPAT mapping details at the stop line are: -+ signalGroup SignalGroupID OPTIONAL, -+ -- The matching signal group send by -+ -- the SPAT message for this lane/maneuver. -+ -- Shall be present unless the connectingLane -+ -- has no signal group (is un-signalized) -+ userClass RestrictionClassID OPTIONAL, -+ -- The Restriction Class of users this applies to -+ -- The use of some lane/maneuver and SignalGroupID -+ -- pairings are restricted to selected users. -+ -- When absent, the SignalGroupID applies to all -+ -+ -- Movement assist details are given by: -+ connectionID LaneConnectionID OPTIONAL -+ -- An optional connection index used to -+ -- relate this lane connection to any dynamic -+ -- clearance data in the SPAT. Note that -+ -- the index may be shared with other -+ -- connections if the clearance data is common -+ } -+ -+ -+ConnectionManeuverAssist ::= SEQUENCE { -+ connectionID LaneConnectionID, -+ -- the common connectionID used by all lanes to which -+ -- this data applies -+ -- (this value traces to ConnectsTo entries in lanes) -+ -- Expected Clearance Information -+ queueLength ZoneLength OPTIONAL, -+ -- Unit = 1 meter, 0 = no queue -+ -- The distance from the stop line to the back -+ -- edge of the last vehicle in the queue, -+ -- as measured along the lane center line. -+ availableStorageLength ZoneLength OPTIONAL, -+ -- Unit = 1 meter, 0 = no space remains -+ -- Distance (e.g. beginning from the downstream -+ -- stop-line up to a given distance) with a high -+ -- probability for successfully executing the -+ -- connecting maneuver between the two lanes -+ -- during the current cycle. -+ -- Used for enhancing the awareness of vehicles -+ -- to anticipate if they can pass the stop line -+ -- of the lane. Used for optimizing the green wave, -+ -- due to knowledge of vehicles waiting in front -+ -- of a red light (downstream). -+ -- The element nextTime in TimeChangeDetails -+ -- in the containing data frame contains the next -+ -- timemark at which an active phase is expected, -+ -- a form of storage flush interval. -+ waitOnStop WaitOnStopline OPTIONAL, -+ -- If "true", the vehicles on this specific connecting -+ -- maneuver have to stop on the stop-line and not -+ -- to enter the collision area -+ pedBicycleDetect PedestrianBicycleDetect OPTIONAL, -+ -- true if ANY ped or bicycles are detected crossing -+ -- the above lanes. Set to false ONLY if there is a -+ -- high certainty that there are none present, -+ -- otherwise element is not sent. -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, -+ ... -+ } -+ -+DataParameters ::= SEQUENCE { -+ processMethod IA5String(SIZE(1..255)) OPTIONAL, -+ processAgency IA5String(SIZE(1..255)) OPTIONAL, -+ lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, -+ geoidUsed IA5String(SIZE(1..255)) OPTIONAL, -+ ... -+ } -+ -+EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID -+ -- The unique ID numbers for each -+ -- lane object which is 'active' -+ -- as part of the dynamic map contents. -+ -+GenericLane ::= SEQUENCE { -+ laneID LaneID, -+ -- The unique ID number assigned -+ -- to this lane object -+ name DescriptiveName OPTIONAL, -+ -- often for debug use only -+ -- but at times used to name ped crossings -+ ingressApproach ApproachID OPTIONAL, -- inbound -+ egressApproach ApproachID OPTIONAL, -- outbound -+ -- Approach IDs to which this lane belongs -+ laneAttributes LaneAttributes, -+ -- All Attribute information about -+ -- the basic selected lane type -+ -- Directions of use, Geometric co-sharing -+ -- and Type Specific Attributes -+ -- These Attributes are 'lane - global' that is, -+ -- they are true for the entire length of the lane -+ maneuvers AllowedManeuvers OPTIONAL, -+ -- the permitted maneuvers for this lane -+ nodeList NodeListXY, -+ -- Lane spatial path information as well as -+ -- various Attribute information along the node path -+ -- Attributes found here are more general and may -+ -- come and go over the length of the lane. -+ connectsTo ConnectsToList OPTIONAL, -+ -- a list of other lanes and their signal group IDs -+ -- each connecting lane and its signal group ID -+ -- is given, therefore this element provides the -+ -- information formerly in "signalGroups" in prior -+ -- editions. -+ overlays OverlayLaneList OPTIONAL, -+ -- A list of any lanes which have spatial paths that -+ -- overlay (run on top of, and not simply cross) -+ -- the path of this lane when used -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-GenericLane}} OPTIONAL, -+ ... -+ } -+ -+IntersectionAccessPoint ::= CHOICE { -+ lane LaneID, -+ approach ApproachID, -+ connection LaneConnectionID, -+ ... -+ } -+ -+IntersectionGeometry ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ -- For debug use only -+ id IntersectionReferenceID, -+ -- A globally unique value set, -+ -- consisting of a regionID and -+ -- intersection ID assignment -+ revision MsgCount, -+ -+ -- Required default values about lane descriptions follow -+ refPoint Position3D, -- The reference from which subsequent -+ -- data points are offset until a new -+ -- point is used. -+ laneWidth LaneWidth OPTIONAL, -+ -- Reference width used by all subsequent -+ -- lanes unless a new width is given -+ speedLimits SpeedLimitList OPTIONAL, -+ -- Reference regulatory speed limits -+ -- used by all subsequent -+ -- lanes unless a new speed is given -+ -- See Section 11 for converting and -+ -- translating speed expressed in mph -+ -- into units of m/s -+ -- Complete details regarding each lane type in this intersection -+ laneSet LaneList, -- Data about one or more lanes -+ -- (all lane data is found here) -+ -+ -- Data describing how to use and request preemption and -+ -- priority services from this intersection (if supported) -+ -- NOTE Additonal data may be added in the next release of the -+ -- standard at this point to handle this concept -+ preemptPriorityData PreemptPriorityList OPTIONAL, -+ -- data about one or more regional -+ -- preempt or priority zones -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, -+ ... -+ } -+ -+IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry -+ -+IntersectionReferenceID ::= SEQUENCE { -+ region RoadRegulatorID OPTIONAL, -+ -- a globally unique regional assignment value -+ -- typical assigned to a regional DOT authority -+ -- the value zero shall be used for testing needs -+ id IntersectionID -+ -- a unique mapping to the intersection -+ -- in question within the above region of use -+ } -+ -+IntersectionState ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ -- human readable name for intersection -+ -- to be used only in debug mode -+ id IntersectionReferenceID, -+ -- A globally unique value set, consisting of a -+ -- regionID and intersection ID assignment -+ -- provides a unique mapping to the -+ -- intersection MAP in question -+ -- which provides complete location -+ -- and approach/move/lane data -+ revision MsgCount, -+ status IntersectionStatusObject, -+ -- general status of the controller(s) -+ moy MinuteOfTheYear OPTIONAL, -+ -- Minute of current UTC year -+ -- used only with messages to be archived -+ timeStamp DSecond OPTIONAL, -+ -- the mSec point in the current UTC minute that -+ -- this message was constructed -+ enabledLanes EnabledLaneList OPTIONAL, -+ -- a list of lanes where the RevocableLane bit -+ -- has been set which are now active and -+ -- therefore part of the current intersection -+ states MovementList, -+ -- Each Movement is given in turn -+ -- and contains its signal phase state, -+ -- mapping to the lanes it applies to, and -+ -- point in time it will end, and it -+ -- may contain both active and future states -+ maneuverAssistList ManeuverAssistList OPTIONAL, -+ -- Assist data -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-IntersectionState}} OPTIONAL, -+ ... -+ } -+ -+IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState -+ -+LaneAttributes ::= SEQUENCE { -+ directionalUse LaneDirection, -- directions of lane use -+ sharedWith LaneSharing, -- co-users of the lane path -+ laneType LaneTypeAttributes, -- specific lane type data -+ regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+LaneDataAttribute ::= CHOICE { -+ -- Segment attribute types and the data needed for each -+ pathEndPointAngle DeltaAngle, -+ -- adjusts final point/width slant -+ -- of the lane to align with the stop line -+ laneCrownPointCenter RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from centerline point -+ laneCrownPointLeft RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from left edge -+ laneCrownPointRight RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from right edge -+ laneAngle MergeDivergeNodeAngle, -+ -- the angle or direction of another lane -+ -- this is required to support Japan style -+ -- when a merge point angle is required -+ speedLimits SpeedLimitList, -+ -- Reference regulatory speed limits -+ -- used by all segments -+ -+ -- Add others as needed, in regional space -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-LaneDataAttribute}}, -+ ... -+ } -+ -+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -+*/ -+ -+LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -+ -+LaneSharing ::= BIT STRING { -+ -- With bits as defined: -+ overlappingLaneDescriptionProvided (0), -+ -- Assert when another lane object is present to describe the -+ -- path of the overlapping shared lane -+ -- this construct is not used for lane objects which simply cross -+ multipleLanesTreatedAsOneLane (1), -+ -- Assert if the lane object path and width details represents -+ -- multiple lanes within it that are not further described -+ -+ -- Various modes and type of traffic that may share this lane: -+ otherNonMotorizedTrafficTypes (2), -- horse drawn etc. -+ individualMotorizedVehicleTraffic (3), -+ busVehicleTraffic (4), -+ taxiVehicleTraffic (5), -+ pedestriansTraffic (6), -+ cyclistVehicleTraffic (7), -+ trackedVehicleTraffic (8), -+ pedestrianTraffic (9) -+ } (SIZE (10)) -+ -- All zeros would indicate 'not shared' and 'not overlapping' -+ -+LaneTypeAttributes ::= CHOICE { -+ vehicle LaneAttributes-Vehicle, -- motor vehicle lanes -+ crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks -+ bikeLane LaneAttributes-Bike, -- bike lanes -+ sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths -+ median LaneAttributes-Barrier, -- medians & channelization -+ striping LaneAttributes-Striping, -- roadway markings -+ trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys -+ parking LaneAttributes-Parking, -- parking and stopping lanes -+ ... -+ } -+ -+ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist -+ -+MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent -+ -+MovementEvent ::= SEQUENCE { -+ eventState MovementPhaseState, -+ -- Consisting of: -+ -- Phase state (the basic 11 states) -+ -- Directional, protected, or permissive state -+ -+ timing TimeChangeDetails OPTIONAL, -+ -- Timing Data in UTC time stamps for event -+ -- includes start and min/max end times of phase -+ -- confidence and estimated next occurrence -+ -+ speeds AdvisorySpeedList OPTIONAL, -+ -- various speed advisories for use by -+ -- general and specific types of vehicles -+ -- supporting green-wave and other flow needs -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MovementEvent}} OPTIONAL, -+ ... -+ } -+ -+MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState -+ -+MovementState ::= SEQUENCE { -+ movementName DescriptiveName OPTIONAL, -+ -- uniquely defines movement by name -+ -- human readable name for intersection -+ -- to be used only in debug mode -+ signalGroup SignalGroupID, -+ -- the group id is used to map to lists -+ -- of lanes (and their descriptions) -+ -- which this MovementState data applies to -+ -- see comments in the Remarks for usage details -+ state-time-speed MovementEventList, -+ -- Consisting of sets of movement data with: -+ -- a) SignalPhaseState -+ -- b) TimeChangeDetails, and -+ -- c) AdvisorySpeeds (optional ) -+ -- Note one or more of the movement events may be for -+ -- a future time and that this allows conveying multiple -+ -- predictive phase and movement timing for various uses -+ -- for the current signal group -+ maneuverAssistList ManeuverAssistList OPTIONAL, -+ -- This information may also be placed in the -+ -- IntersectionState when common information applies to -+ -- different lanes in the same way -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MovementState}} OPTIONAL, -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+NodeAttributeSetXY ::= SEQUENCE { -+ localNode NodeAttributeXYList OPTIONAL, -+ -- Attribute states which pertain to this node point -+ disabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are disabled at this node point -+ enabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are enabled at this node point -+ -- and which remain enabled until disabled or the lane ends -+ data LaneDataAttributeList OPTIONAL, -+ -- Attributes which require an additional data values -+ -- some of these are local to the node point, while others -+ -- persist with the provided values until changed -+ -- and this is indicated in each entry -+ dWidth Offset-B10 OPTIONAL, -+ -- A value added to the current lane width -+ -- at this node and from this node onwards, in 1cm steps -+ -- lane width between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ dElevation Offset-B10 OPTIONAL, -+ -- A value added to the current Elevation -+ -- at this node from this node onwards, in 10cm steps -+ -- elevations between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -+ ... -+ } -+ -+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -+ -+NodeAttributeXY ::= ENUMERATED { -+ -- Various values which pertain only to the current node point -+ -+ -- General Items -+ reserved, -+ stopLine, -- point where a mid-path stop line exists -+ -- See also 'do not block' for segments -+ -+ -- Path finish details -+ roundedCapStyleA, -- Used to control final path rounded end shape -+ -- with edge of curve at final point in a circle -+ roundedCapStyleB, -- Used to control final path rounded end shape -+ -- with edge of curve extending 50% of width past -+ -- final point in a circle -+ -+ -- Topography Points (items with no concept of a distance along the path) -+ mergePoint, -- Japan merge with 1 or more lanes -+ divergePoint, -- Japan diverge with 1 or more lanes -+ downstreamStopLine, -- Japan style downstream intersection -+ -- (a 2nd intersection) stop line -+ downstreamStartNode, -- Japan style downstream intersection -+ -- (a 2nd intersection) start node -+ -+ -- Pedestrian Support Attributes -+ closedToTraffic, -- where a pedestrian may NOT go -+ -- to be used during construction events -+ safeIsland, -- a pedestrian safe stopping point -+ -- also called a traffic island -+ -- This usage described a point feature on a path, -+ -- other entries can describe a path -+ curbPresentAtStepOff, -- the sidewalk to street curb is NOT -+ -- angled where it meets the edge of the -+ -- roadway (user must step up/down) -+ -+ -- Lane geometry details (see standard for defined shapes) -+ hydrantPresent, -- Or other services access -+ ... -+ } -+*/ -+ -+Node-LLmD-64b ::= SEQUENCE { -+ lon Longitude, -+ lat Latitude -+ } -+ -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+ Node-XY-20b ::= SEQUENCE { -+ x Offset-B10, -+ y Offset-B10 -+ } -+ -+Node-XY-22b ::= SEQUENCE { -+ x Offset-B11, -+ y Offset-B11 -+ } -+ -+ -+Node-XY-24b ::= SEQUENCE { -+ x Offset-B12, -+ y Offset-B12 -+ } -+ -+ -+Node-XY-26b ::= SEQUENCE { -+ x Offset-B13, -+ y Offset-B13 -+ } -+ -+ -+Node-XY-28b ::= SEQUENCE { -+ x Offset-B14, -+ y Offset-B14 -+ } -+ -+ -+Node-XY-32b ::= SEQUENCE { -+ x Offset-B16, -+ y Offset-B16 -+ } -+*/ -+ -+NodeListXY ::= CHOICE { -+ nodes NodeSetXY, -+ -- a lane made up of two or more -+ -- XY node points and any attributes -+ -- defined in those nodes -+ computed ComputedLane, -+ -- a lane path computed by translating -+ -- the data defined by another lane -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+NodeOffsetPointXY ::= CHOICE { -+ -- Nodes with X,Y content -+ node-XY1 Node-XY-20b, -- node is within 5.11m of last node -+ node-XY2 Node-XY-22b, -- node is within 10.23m of last node -+ node-XY3 Node-XY-24b, -- node is within 20.47m of last node -+ node-XY4 Node-XY-26b, -- node is within 40.96m of last node -+ node-XY5 Node-XY-28b, -- node is within 81.91m of last node -+ node-XY6 Node-XY-32b, -- node is within 327.67m of last node -+ node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -+ regional RegionalExtension {{Reg-NodeOffsetPointXY}} -+ -- node which follows is of a -+ -- regional definition type -+ } -+ -+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -+ -+NodeXY ::= SEQUENCE { -+ delta NodeOffsetPointXY, -+ -- A choice of which X,Y offset value to use -+ -- this includes various delta values as well a regional choices -+ attributes NodeAttributeSetXY OPTIONAL, -+ -- Any optional Attributes which are needed -+ -- This includes changes to the current lane width and elevation -+ ... -+} -+*/ -+ -+OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID -+ -- The unique ID numbers for any lane object which have -+ -- spatial paths that overlay (run on top of, and not -+ -- simply cross with) the current lane. -+ -- Such as a train path that overlays a motor vehicle -+ -- lane object for a roadway segment. -+ -+Position3D ::= SEQUENCE { -+ lat Latitude, -- in 1/10th micro degrees -+ long Longitude, -- in 1/10th micro degrees -+ elevation Elevation OPTIONAL, -- in 10 cm units -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-Position3D}} OPTIONAL, -+ ... -+ } -+ -+PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+RegulatorySpeedLimit ::= SEQUENCE { -+ type SpeedLimitType, -+ -- The type of regulatory speed which follows -+ speed Velocity -+ -- The speed in units of 0.02 m/s -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ } -+*/ -+ -+RequestorDescription ::= SEQUENCE { -+ id VehicleID, -+ -- The ID used in the BSM or CAM of the requestor -+ -- This ID is presumed not to change -+ -- during the exchange -+ type RequestorType OPTIONAL, -+ -- Information regarding all type and class data -+ -- about the requesting vehicle -+ position RequestorPositionVector OPTIONAL, -+ -- The location of the requesting vehicle -+ name DescriptiveName OPTIONAL, -+ -- A human readable name for debugging use -+ -- Support for Transit requests -+ routeName DescriptiveName OPTIONAL, -+ -- A string for transit operations use -+ transitStatus TransitVehicleStatus OPTIONAL, -+ -- current vehicle state (loading, etc.) -+ transitOccupancy TransitVehicleOccupancy OPTIONAL, -+ -- current vehicle occupancy -+ transitSchedule DeltaTime OPTIONAL, -+ -- current vehicle schedule adherence -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, -+ ... -+ } -+ -+RequestorPositionVector ::= SEQUENCE { -+ position Position3D, -+ heading Angle OPTIONAL, -+ speed TransmissionAndSpeed OPTIONAL, -+ ... -+ } -+ -+RequestorType ::= SEQUENCE { -+ -- Defines who is requesting -+ role BasicVehicleRole, -- Basic role of this user at this time -+ subrole RequestSubRole OPTIONAL, -- A local list with role based items -+ -+ -- Defines what kind of request (a level of importance in the Priority Scheme) -+ request RequestImportanceLevel OPTIONAL, -- A local list with request items -+ -+ -- Additional classification details -+ iso3883 Iso3833VehicleType OPTIONAL, -+ hpmsType VehicleType OPTIONAL, -- HPMS classification types -+ -+ regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, -+ ... -+ } -+ -+RestrictionClassAssignment ::= SEQUENCE { -+ id RestrictionClassID, -+ -- the unique value (within an intersection or local region) -+ -- that is assigned to this group of users -+ users RestrictionUserTypeList -+ -- The list of user types/classes -+ -- to which this restriction ID applies -+ } -+ -+RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment -+ -+RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType -+ -+RestrictionUserType ::= CHOICE { -+ basicType RestrictionAppliesTo, -+ -- a set of the most commonly used types -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RestrictionUserType}}, -+ ... -+ } -+ -+RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -+ -+RoadSegmentReferenceID ::= SEQUENCE { -+ region RoadRegulatorID OPTIONAL, -+ -- a globally unique regional assignment value -+ -- typically assigned to a regional DOT authority -+ -- the value zero shall be used for testing needs -+ id RoadSegmentID -+ -- a unique mapping to the road segment -+ -- in question within the above region of use -+ -- during its period of assignment and use -+ -- note that unlike intersectionID values, -+ -- this value can be reused by the region -+ } -+ -+RoadSegment ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ id RoadSegmentReferenceID, -+ -- a globally unique value for the segment -+ revision MsgCount, -+ -- Required default values about the descriptions to follow -+ refPoint Position3D, -- the reference from which subsequent -+ -- data points are offset until a new -+ -- point is used. -+ laneWidth LaneWidth OPTIONAL, -+ -- Reference width used by all subsequent -+ -- lanes unless a new width is given -+ speedLimits SpeedLimitList OPTIONAL, -+ -- Reference regulatory speed limits -+ -- used by all subsequent -+ -- lanes unless a new speed is given -+ -- See Section 11 for converting and -+ -- translating speed expressed in mph -+ -- into units of m/s -+ -+ -- Data describing disruptions in the RoadSegment -+ -- such as work zones etc will be added here; -+ -- in the US the SAE ITIS codes would be used here -+ -- The details regarding each lane type in the RoadSegment -+ roadLaneSet RoadLaneSetList, -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RoadSegment}} OPTIONAL, -+ ... -+ } -+ -+RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -+*/ -+ -+SignalControlZone ::= SEQUENCE { -+ zone RegionalExtension {{Reg-SignalControlZone}}, -+ ... -+ } -+ -+SignalRequesterInfo ::= SEQUENCE { -+ -- These three items serve to uniquely identify the requester -+ -- and the specific request to all parties -+ id VehicleID, -+ request RequestID, -+ sequenceNumber MsgCount, -+ role BasicVehicleRole OPTIONAL, -+ -+ typeData RequestorType OPTIONAL, -+ -- Used when addition data besides the role -+ -- is needed, at which point the role entry -+ -- above is not sent. -+ ... -+ } -+ -+SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage -+ -+SignalRequestPackage ::= SEQUENCE { -+ request SignalRequest, -+ -- The specific request to the intersection -+ -- contains IntersectionID, request type, -+ -- requested action (approach/lane request) -+ -+ -- The Estimated Time of Arrival (ETA) when the service is requested -+ minute MinuteOfTheYear OPTIONAL, -+ second DSecond OPTIONAL, -+ duration DSecond OPTIONAL, -+ -- The duration value is used to provide a short interval that -+ -- extends the ETA so that the requesting vehicle can arrive at -+ -- the point of service with uncertainty or with some desired -+ -- duration of service. This concept can be used to avoid needing -+ -- to frequently update the request. -+ -- The requester must update the ETA and duration values if the -+ -- period of services extends beyond the duration time. -+ -- It should be assumed that if the vehicle does not clear the -+ -- intersection when the duration is reached, the request will -+ -- be cancelled and the intersection will revert to -+ -- normal operation. -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, -+ ... -+ } -+ -+SignalRequest ::= SEQUENCE { -+ -- the unique ID of the target intersection -+ id IntersectionReferenceID, -+ -+ -- The unique requestID used by the requestor -+ requestID RequestID, -+ -+ -- The type of request or cancel for priority or preempt use -+ -- when a prior request is canceled, only the requestID is needed -+ requestType PriorityRequestType, -+ -+ -- In typical use either an approach or a lane number would -+ -- be given, this indicates the requested -+ -- path through the intersection to the degree it is known. -+ inBoundLane IntersectionAccessPoint, -+ -- desired entry approach or lane -+ outBoundLane IntersectionAccessPoint OPTIONAL, -+ -- desired exit approach or lane -+ -- the values zero is used to indicate -+ -- intent to stop within the intersection -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequest}} OPTIONAL, -+ ... -+ } -+ -+SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus -+ -+SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage -+ -+SignalStatusPackage ::= SEQUENCE { -+ -- The party that made the initial SRM request -+ requester SignalRequesterInfo OPTIONAL, -+ -- The lanes or approaches used in the request -+ inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle -+ outboundOn IntersectionAccessPoint OPTIONAL, -+ -+ -- The Estimated Time of Arrival (ETA) when the service is requested -+ -- This data echos the data of the request -+ minute MinuteOfTheYear OPTIONAL, -+ second DSecond OPTIONAL, -+ duration DSecond OPTIONAL, -+ -+ -- the SRM status for this request -+ status PrioritizationResponseStatus, -+ -- Status of request, this may include rejection -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, -+ ... -+ } -+ -+SignalStatus ::= SEQUENCE { -+ sequenceNumber MsgCount, -+ -- changed whenever the below contents have change -+ id IntersectionReferenceID, -+ -- this provides a unique mapping to the -+ -- intersection map in question -+ -- which provides complete location -+ -- and approach/movement/lane data -+ -- as well as zones for priority/preemption -+ sigStatus SignalStatusPackageList, -+ -- a list of detailed status containing all -+ -- priority or preemption state data, both -+ -- active and pending, and who requested it -+ -- requests which are denied are also listed -+ -- here for a short period of time -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatus}} OPTIONAL, -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -+ -+ -+SpeedLimitType ::= ENUMERATED { -+ unknown, -- Speed limit type not available -+ maxSpeedInSchoolZone, -- Only sent when the limit is active -+ maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -+ maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -+ -- where a reduced speed is present -+ vehicleMinSpeed, -+ vehicleMaxSpeed, -- Regulatory speed limit for general traffic -+ vehicleNightMaxSpeed, -+ -+ truckMinSpeed, -+ truckMaxSpeed, -+ truckNightMaxSpeed, -+ -+ vehiclesWithTrailersMinSpeed, -+ vehiclesWithTrailersMaxSpeed, -+ vehiclesWithTrailersNightMaxSpeed, -+ ... -+ } -+*/ -+ -+TimeChangeDetails ::= SEQUENCE { -+ startTime TimeMark OPTIONAL, -+ -- When this phase 1st started -+ minEndTime TimeMark, -+ -- Expected shortest end time -+ maxEndTime TimeMark OPTIONAL, -+ -- Expected longest end time -+ -+ likelyTime TimeMark OPTIONAL, -+ -- Best predicted value based on other data -+ confidence TimeIntervalConfidence OPTIONAL, -+ -- Applies to above time element only -+ -+ nextTime TimeMark OPTIONAL -+ -- A rough estimate of time when -+ -- this phase may next occur again -+ -- used to support various ECO driving power -+ -- management needs. -+ } -+ -+TimeMark ::= INTEGER (0..36001) -+ -- Tenths of a second in the current or next hour -+ -- In units of 1/10th second from UTC time -+ -- A range of 0~36000 covers one hour -+ -- The values 35991..36000 are used when a leap second occurs -+ -- The value 36001 is used to indicate time >3600 seconds -+ -- 36002 is to be used when value undefined or unknown -+ -- Note that this is NOT expressed in GPS time -+ -- or in local time -+ -+TransmissionAndSpeed ::= SEQUENCE { -+ transmisson TransmissionState, -+ speed Velocity -+ } -+ -+VehicleID ::= CHOICE { -+ entityID TemporaryID, -+ stationID StationID -+ } -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Data_Elements... -+-- This table typicaly contains data element entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+AdvisorySpeedType ::= ENUMERATED { -+ none (0), -+ greenwave (1), -+ ecoDrive (2), -+ transit (3), -+ ... -+ } -- Note: subject to further growth -+ -+AllowedManeuvers ::= BIT STRING { -+ -- With bits as defined: -+ -- Allowed maneuvers at path end (stop line) -+ -- All maneuvers with bits not set are therefore prohibited ! -+ -- A value of zero shall be used for unknown, indicating no Maneuver -+ maneuverStraightAllowed (0), -+ -- a Straight movement is allowed in this lane -+ maneuverLeftAllowed (1), -+ -- a Left Turn movement is allowed in this lane -+ maneuverRightAllowed (2), -+ -- a Right Turn movement is allowed in this lane -+ maneuverUTurnAllowed (3), -+ -- a U turn movement is allowed in this lane -+ maneuverLeftTurnOnRedAllowed (4), -+ -- a Stop, and then proceed when safe movement -+ -- is allowed in this lane -+ maneuverRightTurnOnRedAllowed (5), -+ -- a Stop, and then proceed when safe movement -+ -- is allowed in this lane -+ maneuverLaneChangeAllowed (6), -+ -- a movement which changes to an outer lane -+ -- on the egress side is allowed in this lane -+ -- (example: left into either outbound lane) -+ maneuverNoStoppingAllowed (7), -+ -- the vehicle should not stop at the stop line -+ -- (example: a flashing green arrow) -+ yieldAllwaysRequired (8), -+ -- the allowed movements above are not protected -+ -- (example: an permanent yellow condition) -+ goWithHalt (9), -+ -- after making a full stop, may proceed -+ caution (10), -+ -- proceed past stop line with caution -+ reserved1 (11) -+ -- used to align to 12 Bit Field -+ -+ } (SIZE(12)) -+ -+Angle ::= INTEGER (0..28800) -+ -- LSB of 0.0125 degrees -+ -- A range of 0 to 359.9875 degrees -+ -+ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown -+ -+BasicVehicleRole ::= ENUMERATED { -+ -- Values used in the EU and in the US -+ basicVehicle (0), -- Light duty passenger vehicle type -+ publicTransport (1), -- Used in EU for Transit us -+ specialTransport (2), -- Used in EU (e.g. heavy load) -+ dangerousGoods (3), -- Used in EU for any HAZMAT -+ roadWork (4), -- Used in EU for State and Local DOT uses -+ roadRescue (5), -- Used in EU and in the US to include tow trucks. -+ emergency (6), -- Used in EU for Police, Fire and Ambulance units -+ safetyCar (7), -- Used in EU for Escort vehicles -+ -- Begin US unique numbering -+ none-unknown (8), -- added to follow current SAE style guidelines -+ truck (9), -- Heavy trucks with additional BSM rights and obligations -+ motorcycle (10), -- -+ roadSideSource (11), -- For infrastructure generated calls such as -+ -- fire house, rail infrastructure, roadwork site, etc. -+ police (12), -- -+ fire (13), -- -+ ambulance (14), -- (does not include private para-transit etc.) -+ dot (15), -- all roadwork vehicles -+ transit (16), -- all transit vehicles -+ slowMoving (17), -- to also include oversize etc. -+ stopNgo (18), -- to include trash trucks, school buses and others -+ -- that routinely disturb the free flow of traffic -+ cyclist (19), -- -+ pedestrian (20), -- also includes those with mobility limitations -+ nonMotorized (21), -- other, horse drawn, etc. -+ military (22), -- -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+DeltaAngle ::= INTEGER (-150..150) -+ -- With an angle range from -+ -- negative 150 to positive 150 -+ -- in one degree steps where zero is directly -+ -- along the axis or the lane center line as defined by the -+ -- two closest points -+ -+DeltaTime ::= INTEGER (-122 .. 121) -+ -- Supporting a range of +/- 20 minute in steps of 10 seconds -+ -- the value of -121 shall be used when more than -20 minutes -+ -- the value of +120 shall be used when more than +20 minutes -+ -- the value -122 shall be used when the value is unavailable -+*/ -+ -+DescriptiveName ::= IA5String (SIZE(1..63)) -+ -+DrivenLineOffsetLg ::= INTEGER (-32767..32767) -+ -- LSB units are 1 cm. -+ -+DrivenLineOffsetSm ::= INTEGER (-2047..2047) -+ -- LSB units are 1 cm. -+ -+DSecond ::= INTEGER (0..65535) -- units of milliseconds -+ -+DSRCmsgID ::= INTEGER (0..32767) -+ mapData DSRCmsgID ::= 18 -- MAP, intersections -+ signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT -+ signalRequestMessage DSRCmsgID ::= 29 -- SRM -+ signalStatusMessage DSRCmsgID ::= 30 -- SSM -+ -+Elevation ::= INTEGER (-4096..61439) -+ -- In units of 10 cm steps above or below the reference ellipsoid -+ -- Providing a range of -409.5 to + 6143.9 meters -+ -- The value -4096 shall be used when Unknown is to be sent -+ -+IntersectionID ::= INTEGER (0..65535) -+ -- The values zero through 255 are allocated for testing purposes -+ -- Note that the value assigned to an intersection will be -+ -- unique within a given regional ID only -+ -+IntersectionStatusObject ::= BIT STRING { -+ manualControlIsEnabled (0), -+ -- Timing reported is per programmed values, etc. but person -+ -- at cabinet can manually request that certain intervals are -+ -- terminated early (e.g. green). -+ stopTimeIsActivated (1), -+ -- And all counting/timing has stopped. -+ failureFlash (2), -+ -- Above to be used for any detected hardware failures, -+ -- e.g. conflict monitor as well as for police flash -+ preemptIsActive (3), -+ signalPriorityIsActive (4), -+ -+ -- Additional states -+ fixedTimeOperation (5), -+ -- Schedule of signals is based on time only -+ -- (i.e. the state can be calculated) -+ trafficDependentOperation (6), -+ -- Operation is based on different levels of traffic parameters -+ -- (requests, duration of gaps or more complex parameters) -+ standbyOperation (7), -+ -- Controller: partially switched off or partially amber flashing -+ failureMode (8), -+ -- Controller has a problem or failure in operation -+ off (9), -+ -- Controller is switched off -+ -+ -- Related to MAP and SPAT bindings -+ recentMAPmessageUpdate (10), -+ -- Map revision with content changes -+ recentChangeInMAPassignedLanesIDsUsed (11), -+ -- Change in MAP's assigned lanes used (lane changes) -+ -- Changes in the active lane list description -+ noValidMAPisAvailableAtThisTime (12), -+ -- MAP (and various lanes indexes) not available -+ noValidSPATisAvailableAtThisTime (13) -+ -- SPAT system is not working at this time -+ -+ -- Bits 14,15 reserved at this time and shall be zero -+ } (SIZE(16)) -+ -+ -+LaneAttributes-Barrier ::= BIT STRING { -+ -- With bits as defined: -+ median-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ median (1), -+ whiteLineHashing (2), -+ stripedLines (3), -+ doubleStripedLines (4), -+ trafficCones (5), -+ constructionBarrier (6), -+ trafficChannels (7), -+ lowCurbs (8), -+ highCurbs (9) -+ -- Bits 10~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Bike ::= BIT STRING { -+ -- With bits as defined: -+ bikeRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ pedestrianUseAllowed (1), -+ -- The path allows pedestrian traffic, -+ -- if not set, this mode is prohibited -+ isBikeFlyOverLane (2), -+ -- path of lane is not at grade -+ fixedCycleTime (3), -+ -- the phases use preset times -+ -- i.e. there is not a 'push to cross' button -+ biDirectionalCycleTimes (4), -+ -- ped walk phases use different SignalGroupID -+ -- for each direction. The first SignalGroupID -+ -- in the first Connection represents 'inbound' -+ -- flow (the direction of travel towards the first -+ -- node point) while second SignalGroupID in the -+ -- next Connection entry represents the 'outbound' -+ -- flow. And use of RestrictionClassID entries -+ -- in the Connect follow this same pattern in pairs. -+ isolatedByBarrier (5), -+ unsignalizedSegmentsPresent (6) -+ -- The lane path consists of one of more segments -+ -- which are not part of a signal group ID -+ -+ -- Bits 7~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Crosswalk ::= BIT STRING { -+ -- With bits as defined: -+ -- MUTCD provides no suitable "types" to use here -+ crosswalkRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ bicyleUseAllowed (1), -+ -- The path allows bicycle traffic, -+ -- if not set, this mode is prohibited -+ isXwalkFlyOverLane (2), -+ -- path of lane is not at grade -+ fixedCycleTime (3), -+ -- ped walk phases use preset times -+ -- i.e. there is not a 'push to cross' button -+ biDirectionalCycleTimes (4), -+ -- ped walk phases use different SignalGroupID -+ -- for each direction. The first SignalGroupID -+ -- in the first Connection represents 'inbound' -+ -- flow (the direction of travel towards the first -+ -- node point) while second SignalGroupID in the -+ -- next Connection entry represents the 'outbound' -+ -- flow. And use of RestrictionClassID entries -+ -- in the Connect follow this same pattern in pairs. -+ hasPushToWalkButton (5), -+ -- Has a demand input -+ audioSupport (6), -+ -- audio crossing cues present -+ rfSignalRequestPresent (7), -+ -- Supports RF push to walk technologies -+ unsignalizedSegmentsPresent (8) -+ -- The lane path consists of one of more segments -+ -- which are not part of a signal group ID -+ -- Bits 9~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Parking ::= BIT STRING { -+ -- With bits as defined: -+ -- Parking use details, note that detailed restrictions such as -+ -- allowed hours are sent by way of ITIS codes in the TIM message -+ parkingRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ parallelParkingInUse (1), -+ headInParkingInUse (2), -+ doNotParkZone (3), -+ -- used to denote fire hydrants as well as -+ -- short disruptions in a parking zone -+ parkingForBusUse (4), -+ parkingForTaxiUse (5), -+ noPublicParkingUse (6) -+ -- private parking, as in front of -+ -- private property -+ -- Bits 7~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Sidewalk ::= BIT STRING { -+ -- With bits as defined: -+ sidewalk-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ bicyleUseAllowed (1), -+ -- The path allows bicycle traffic, -+ -- if not set, this mode is prohibited -+ isSidewalkFlyOverLane (2), -+ -- path of lane is not at grade -+ walkBikes (3) -+ -- bike traffic must dismount and walk -+ -- Bits 4~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-Striping ::= BIT STRING { -+ -- With bits as defined: -+ stripeToConnectingLanesRevocableLane (0), -+ -- this lane may be activated or not activated based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ stripeDrawOnLeft (1), -+ stripeDrawOnRight (2), -+ -- which side of lane to mark -+ stripeToConnectingLanesLeft (3), -+ stripeToConnectingLanesRight (4), -+ stripeToConnectingLanesAhead (5) -+ -- the stripe type should be -+ -- presented to the user visually -+ -- to reflect stripes in the -+ -- intersection for the type of -+ -- movement indicated -+ -- Bits 6~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-TrackedVehicle ::= BIT STRING { -+ -- With bits as defined: -+ spec-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ spec-commuterRailRoadTrack (1), -+ spec-lightRailRoadTrack (2), -+ spec-heavyRailRoadTrack (3), -+ spec-otherRailType (4) -+ -- Bits 5~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-Vehicle ::= BIT STRING { -+ -- With bits as defined: -+ isVehicleRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ isVehicleFlyOverLane (1), -+ -- path of lane is not at grade -+ hovLaneUseOnly (2), -+ restrictedToBusUse (3), -+ restrictedToTaxiUse (4), -+ restrictedFromPublicUse (5), -+ hasIRbeaconCoverage (6), -+ permissionOnRequest (7) -- e.g. to inform about a lane for e-cars -+ -+ } (SIZE (8,...)) -+ -+LaneConnectionID ::= INTEGER (0..255) -+ -+LaneDirection ::= BIT STRING { -+ -- With bits as defined: -+ -- Allowed directions of travel in the lane object -+ -- All lanes are described from the stop line outwards -+ ingressPath (0), -+ -- travel from rear of path to front -+ -- is allowed -+ egressPath (1) -+ -- travel from front of path to rear -+ -- is allowed -+ -- Notes: No Travel, i.e. the lane object type does not support -+ -- travel (medians, curbs, etc.) is indicated by not -+ -- asserting any bit value -+ -- Bi-Directional Travel (such as a ped crosswalk) is -+ -- indicated by asserting both of the bits -+ } (SIZE (2)) -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+LaneID ::= INTEGER (0..255) -+ -- the value 0 shall be used when the lane ID is -+ -- not available or not known -+ -- the value 255 is reserved for future use -+*/ -+ -+LayerID ::= INTEGER (0..100) -+ -+LayerType ::= ENUMERATED { -+ none, -+ mixedContent, -- two or more of the below types -+ generalMapData, -+ intersectionData, -+ curveData, -+ roadwaySectionData, -+ parkingAreaData, -+ sharedLaneData, -+ ... -+ } -+ -+LaneWidth ::= INTEGER (0..32767) -- units of 1 cm -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+MergeDivergeNodeAngle ::= INTEGER (-180..180) -+ -- In units of 1.5 degrees from north -+ -- the value -180 shall be used to represent -+ -- data is not available or unknown -+*/ -+ -+MinuteOfTheYear ::= INTEGER (0..527040) -+ -- the value 527040 shall be used for invalid -+ -+MovementPhaseState ::= ENUMERATED { -+ -- Note that based on the regions and the operating mode not every -+ -- phase will be used in all transportation modes and that not -+ -- every phase will be used in all transportation modes -+ -+ unavailable (0), -+ -- This state is used for unknown or error -+ dark (1), -+ -- The signal head is dark (unlit) -+ -+ -- Reds -+ stop-Then-Proceed (2), -+ -- Often called 'flashing red' in US -+ -- Driver Action: -+ -- Stop vehicle at stop line. -+ -- Do not proceed unless it is safe. -+ -- Note that the right to proceed either right or left when -+ -- it is safe may be contained in the lane description to -+ -- handle what is called a 'right on red' -+ stop-And-Remain (3), -+ -- e.g. called 'red light' in US -+ -- Driver Action: -+ -- Stop vehicle at stop line. -+ -- Do not proceed. -+ -- Note that the right to proceed either right or left when -+ -- it is safe may be contained in the lane description to -+ -- handle what is called a 'right on red' -+ -+ -- Greens -+ pre-Movement (4), -+ -- Not used in the US, red+yellow partly in EU -+ -- Driver Action: -+ -- Stop vehicle. -+ -- Prepare to proceed (pending green) -+ -- (Prepare for transition to green/go) -+ permissive-Movement-Allowed (5), -+ -- Often called 'permissive green' in US -+ -- Driver Action: -+ -- Proceed with caution, -+ -- must yield to all conflicting traffic -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ protected-Movement-Allowed (6), -+ -- Often called 'protected green' in US -+ -- Driver Action: -+ -- Proceed, tossing caution to the wind, -+ -- in indicated (allowed) direction. -+ -+ -- Yellows / Ambers -+ -- The vehicle is not allowed to cross the stop bar if it is possible -+ -- to stop without danger. -+ permissive-clearance (7), -+ -- Often called 'permissive yellow' in US -+ -- Driver Action: -+ -- Prepare to stop. -+ -- Proceed if unable to stop, -+ -- Clear Intersection. -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ protected-clearance (8), -+ -- Often called 'protected yellow' in US -+ -- Driver Action: -+ -- Prepare to stop. -+ -- Proceed if unable to stop, -+ -- in indicated direction (to connected lane) -+ -- Clear Intersection. -+ -+ caution-Conflicting-Traffic (9) -+ -- Often called 'flashing yellow' in US -+ -- Often used for extended periods of time -+ -- Driver Action: -+ -- Proceed with caution, -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ } -+ -- The above number assignments are not used with UPER encoding -+ -- and are only to be used with DER or implicit encoding -+ -+MsgCount ::= INTEGER (0..127) -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Offset-B10 ::= INTEGER (-512..511) -+ -- a range of +- 5.11 meters -+ -+Offset-B11 ::= INTEGER (-1024..1023) -+ -- a range of +- 10.23 meters -+ -+Offset-B12 ::= INTEGER (-2048..2047) -+ -- a range of +- 20.47 meters -+ -+Offset-B13 ::= INTEGER (-4096..4095) -+ -- a range of +- 40.95 meters -+ -+Offset-B14 ::= INTEGER (-8192..8191) -+ -- a range of +- 81.91 meters -+ -+Offset-B16 ::= INTEGER (-32768..32767) -+ -- a range of +- 327.68 meters -+*/ -+ -+PedestrianBicycleDetect ::= BOOLEAN -+ -- true if ANY Pedestrians or Bicyclists are -+ -- detected crossing the target lane or lanes -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+PrioritizationResponseStatus ::= ENUMERATED { -+ unknown (0), -+ -- Unknown state -+ requested (1), -+ -- This prioritization request was detected -+ -- by the traffic controller -+ processing (2), -+ -- Checking request -+ -- (request is in queue, other requests are prior) -+ watchOtherTraffic (3), -+ -- Cannot give full permission, -+ -- therefore watch for other traffic -+ -- Note that other requests may be present -+ granted (4), -+ -- Intervention was successful -+ -- and now prioritization is active -+ rejected (5), -+ -- The prioritization or preemption request was -+ -- rejected by the traffic controller -+ maxPresence (6), -+ -- The Request has exceeded maxPresence time -+ -- Used when the controller has determined that -+ -- the requester should then back off and -+ -- request an alternative. -+ reserviceLocked (7), -+ -- Prior conditions have resulted in a reservice -+ -- locked event: the controller requires the -+ -- passage of time before another similar request -+ -- will be accepted -+ ... -+} -+*/ -+ -+PriorityRequestType ::= ENUMERATED { -+ priorityRequestTypeReserved (0), -+ priorityRequest (1), -+ priorityRequestUpdate (2), -+ priorityCancellation (3), -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+RegionId ::= INTEGER (0..255) -+ noRegion RegionId ::= 0 -- Use default supplied stubs -+ addGrpA RegionId ::= 1 -- USA -+ addGrpB RegionId ::= 2 -- Japan -+ addGrpC RegionId ::= 3 -- EU -+ -- NOTE: new registered regional IDs will be added here -+ -- The values 128 and above are for local region use -+*/ -+ -+RequestID ::= INTEGER (0..255) -+ -+RequestImportanceLevel ::= ENUMERATED { -+ requestImportanceLevelUnKnown (0), -+ requestImportanceLevel1 (1), -- The least important request -+ requestImportanceLevel2 (2), -- The values here shall be assigned -+ requestImportanceLevel3 (3), -- Meanings based on regional needs -+ requestImportanceLevel4 (4), -- for each of the basic roles which -+ requestImportanceLevel5 (5), -- are defined elsewhere -+ requestImportanceLevel6 (6), -+ requestImportanceLevel7 (7), -+ requestImportanceLevel8 (8), -+ requestImportanceLevel9 (9), -+ requestImportanceLevel10 (10), -+ requestImportanceLevel11 (11), -+ requestImportanceLevel12 (12), -+ requestImportanceLevel13 (13), -+ requestImportanceLevel14 (14), -- The most important request -+ requestImportanceReserved (15) -- Reserved for future use -+ } -+ -+RequestSubRole ::= ENUMERATED { -+ requestSubRoleUnKnown (0), -+ requestSubRole1 (1), -- The first type of sub role -+ requestSubRole2 (2), -- The values here shall be assigned -+ requestSubRole3 (3), -- Meanings based on regional needs -+ requestSubRole4 (4), -- to refine and expand the basic -+ requestSubRole5 (5), -- roles which are defined elsewhere -+ requestSubRole6 (6), -+ requestSubRole7 (7), -+ requestSubRole8 (8), -+ requestSubRole9 (9), -+ requestSubRole10 (10), -+ requestSubRole11 (11), -+ requestSubRole12 (12), -+ requestSubRole13 (13), -+ requestSubRole14 (14), -- The last type of sub role -+ requestSubRoleReserved (15) -- Reserved for future use -+ } -+ -+RestrictionAppliesTo ::= ENUMERATED { -+ none, -- applies to nothing -+ equippedTransit, -- buses etc. -+ equippedTaxis, -+ equippedOther, -- other vehicle types with -+ -- necessary signal phase state -+ -- reception equipment -+ emissionCompliant, -- regional variants with more -+ -- definitive items also exist -+ equippedBicycle, -+ weightCompliant, -+ heightCompliant, -+ -- Items dealing with traveler needs serviced by the infrastructure -+ -- These end users (which are not vehicles) are presumed to be suitably equipped -+ pedestrians, -+ slowMovingPersons, -+ wheelchairUsers, -+ visualDisabilities, -+ audioDisabilities, -- hearing -+ otherUnknownDisabilities, -+ ... -+ } -+ -+RestrictionClassID ::= INTEGER (0..255) -+ -- An index value to identify data about classes of users -+ -- the value used varies with each intersection's -+ -- needs and is defined in the map to the assigned -+ -- classes of supported users. -+ -+RoadRegulatorID ::= INTEGER (0..65535) -+ -- The value zero shall be used for testing only -+ -+RoadSegmentID ::= INTEGER (0..65535) -+ -- The values zero to 255 shall be used for testing only -+ -- Note that the value assigned to an RoadSegment will be -+ -- unique within a given regional ID only during its use -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+RoadwayCrownAngle ::= INTEGER (-128..127) -+ -- In LSB units of 0.3 degrees of angle -+ -- over a range of -38.1 to + 38.1 degrees -+ -- The value -128 shall be used for unknown -+ -- The value zero shall be used for angles -+ -- which are between -0.15 and +0.15 -+*/ -+ -+Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SignalGroupID ::= INTEGER (0..255) -+ -- The value 0 shall be used when the ID is -+ -- not available or not known -+ -- the value 255 is reserved to indicate a -+ -- permanent green movement state -+ -- therefore a simple 8 phase signal controller -+ -- device might use 1..9 as its groupIDs -+*/ -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SegmentAttributeXY ::= ENUMERATED { -+ -- Various values which can be Enabled and Disabled for a lane segment -+ -+ -- General Items -+ reserved , -+ doNotBlock , -- segment where a vehicle -+ -- may not come to a stop -+ whiteLine , -- segment where lane crossing not allowed -+ -- such as the final few meters of a lane -+ -+ -- Porous Lane states, merging, turn outs, parking etc. -+ -+ mergingLaneLeft , -- indicates porous lanes -+ mergingLaneRight , -+ -+ curbOnLeft , -- indicates presence of curbs -+ curbOnRight , -+ -+ loadingzoneOnLeft , -- loading or drop off zones -+ loadingzoneOnRight , -+ -+ turnOutPointOnLeft , -- opening to adjacent street/alley/road -+ turnOutPointOnRight , -+ -+ adjacentParkingOnLeft , -- side of road parking -+ adjacentParkingOnRight , -+ -+ -- Bike Lane Needs -+ adjacentBikeLaneOnLeft , -- presence of marked bike lanes -+ adjacentBikeLaneOnRight , -+ sharedBikeLane , -- right of way is shared with bikes -+ -- who may occupy entire lane width -+ bikeBoxInFront , -+ -+ -- Transit Needs -+ transitStopOnLeft , -- any form of bus/transit loading -+ -- with pull in-out access to lane on left -+ transitStopOnRight , -- any form of bus/transit loading -+ -- with pull in-out access to lane on right -+ transitStopInLane , -- any form of bus/transit loading -+ -- in mid path of the lane -+ sharedWithTrackedVehicle , -- lane is shared with train or trolley -+ -- not used for crossing tracks -+ -+ -+ -- Pedestrian Support Attributes -+ safeIsland , -- begin/end a safety island in path -+ lowCurbsPresent , -- for ADA support -+ rumbleStripPresent , -- for ADA support -+ audibleSignalingPresent , -- for ADA support -+ adaptiveTimingPresent , -- for ADA support -+ rfSignalRequestPresent , -- Supports RF push to walk technologies -+ partialCurbIntrusion , -- path is blocked by a median or curb -+ -- but at least 1 meter remains open for use -+ -- and at-grade passage -+ -+ -- Lane geometry details (see standard for defined shapes) -+ taperToLeft , -- Used to control final path shape -+ taperToRight , -- Used to control final path shape -+ taperToCenterLine , -- Used to control final path shape -+ -+ -- Parking Lane and Curb Attributes -+ parallelParking , -- -+ headInParking , -- Parking at an angle with the street -+ freeParking , -- no restriction on use of parking -+ timeRestrictionsOnParking , -- Parking is not permitted at all times -+ -- typically used when the 'parking' lane -+ -- becomes a driving lane at times -+ costToPark , -- Used where parking has a cost -+ midBlockCurbPresent , -- a protruding curb near lane edge -+ unEvenPavementPresent , -- a disjoint height at lane edge -+ ... -+ } -+*/ -+ -+SpeedAdvice ::= INTEGER (0..500) -+ -- LSB units are 0.1 m/s^2 -+ -- the value 499 shall be used for values at or greater than 49.9 m/s -+ -- the value 500 shall be used to indicate that speed is unavailable -+ -+TemporaryID ::= OCTET STRING (SIZE(4)) -+ -+TimeIntervalConfidence ::= INTEGER (0..15) -+ -- Value Probability -+ -- 0 21% -+ -- 1 36% -+ -- 2 47% -+ -- 3 56% -+ -- 4 62% -+ -- 5 68% -+ -- 6 73% -+ -- 7 77% -+ -- 8 81% -+ -- 9 85% -+ -- 10 88% -+ -- 11 91% -+ -- 12 94% -+ -- 13 96% -+ -- 14 98% -+ -- 15 100% -+ -+TransitVehicleOccupancy ::= ENUMERATED { -+ occupancyUnknown (0), -+ occupancyEmpty (1), -+ occupancyVeryLow (2), -+ occupancyLow (3), -+ occupancyMed (4), -+ occupancyHigh (5), -+ occupancyNearlyFull (6), -+ occupancyFull (7) -+ } -+ -+TransitVehicleStatus ::= BIT STRING { -+ loading (0), -- parking and unable to move at this time -+ anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) -+ aBikeLoad (2), -- loading of a bicycle is in progress -+ doorOpen (3), -- a vehicle door is open for passenger access -+ charging (4), -- a vehicle is connected to charging point -+ atStopLine (5) -- a vehicle is at the stop line for the lane it is in -+ } (SIZE(8)) -+ -+TransmissionState ::= ENUMERATED { -+ neutral (0), -- Neutral -+ park (1), -- Park -+ forwardGears (2), -- Forward gears -+ reverseGears (3), -- Reverse gears -+ reserved1 (4), -+ reserved2 (5), -+ reserved3 (6), -+ unavailable (7) -- not-equipped or unavailable value, -+ -- Any related speed is relative to the vehicle reference frame used -+ } -+ -+VehicleType ::= ENUMERATED { -+ none (0), -- Not Equipped, Not known or unavailable -+ unknown (1), -- Does not fit any other category -+ special (2), -- Special use -+ moto (3), -- Motorcycle -+ car (4), -- Passenger car -+ carOther (5), -- Four tire single units -+ bus (6), -- Buses -+ axleCnt2 (7), -- Two axle, six tire single units -+ axleCnt3 (8), -- Three axle, single units -+ axleCnt4 (9), -- Four or more axle, single unit -+ axleCnt4Trailer (10), -- Four or less axle, single trailer -+ axleCnt5Trailer (11), -- Five or less axle, single trailer -+ axleCnt6Trailer (12), -- Six or more axle, single trailer -+ axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer -+ axleCnt6MultiTrailer (14), -- Six axle, multi-trailer -+ axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -+ -- The value 8191 indicates that -+ -- velocity is unavailable -+*/ -+ -+WaitOnStopline ::= BOOLEAN -- -+ -- True or False -+ -- If "true", the vehicles on this specific connecting -+ -- maneuver have to stop on the stop-line -+ -- and not to enter the collision area -+ -+ZoneLength ::= INTEGER (0..10000) -+ -- Unit = 1 meter, 0 = unknown, -+ -- The value 10000 to be used for Distances >=10000 m -+ -- (e.g. from known point to another point along a -+ -- known path, often against traffic flow direction -+ -- when used for measuring queues) -+ -+END - -Property changes on: IS/IS_DSRC.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/IS_DSRC_REGION_noCircular.asn -=================================================================== ---- IS/IS_DSRC_REGION_noCircular.asn (nonexistent) -+++ IS/IS_DSRC_REGION_noCircular.asn (working copy) -@@ -0,0 +1,419 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: DSRC -+-- ISO TS 19091 Oct 2015 v0909 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY definitions are moved here from IS-DSRC and IS-REGION; created to cut circular import loops amongst ASN.1 files -+IS-DSRC-REGION-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+Longitude, Latitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -+ -+Control-addGrpC FROM AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) }; -+ -+------------------------------------------------------ -+--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM IS-DSRC -+------------------------------------------------------ -+ -+DeltaAngle ::= INTEGER (-150..150) -+ -- With an angle range from -+ -- negative 150 to positive 150 -+ -- in one degree steps where zero is directly -+ -- along the axis or the lane center line as defined by the -+ -- two closest points -+ -+DeltaTime ::= INTEGER (-122 .. 121) -+ -- Supporting a range of +/- 20 minute in steps of 10 seconds -+ -- the value of -121 shall be used when more than -20 minutes -+ -- the value of +120 shall be used when more than +20 minutes -+ -- the value -122 shall be used when the value is unavailable -+ -+LaneDataAttribute ::= CHOICE { -+ -- Segment attribute types and the data needed for each -+ pathEndPointAngle DeltaAngle, -+ -- adjusts final point/width slant -+ -- of the lane to align with the stop line -+ laneCrownPointCenter RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from centerline point -+ laneCrownPointLeft RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from left edge -+ laneCrownPointRight RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from right edge -+ laneAngle MergeDivergeNodeAngle, -+ -- the angle or direction of another lane -+ -- this is required to support Japan style -+ -- when a merge point angle is required -+ speedLimits SpeedLimitList, -+ -- Reference regulatory speed limits -+ -- used by all segments -+ -+ -- Add others as needed, in regional space -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-LaneDataAttribute}}, -+ ... -+ } -+ -+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -+ -+LaneID ::= INTEGER (0..255) -+ -- the value 0 shall be used when the lane ID is -+ -- not available or not known -+ -- the value 255 is reserved for future use -+ -+MergeDivergeNodeAngle ::= INTEGER (-180..180) -+ -- In units of 1.5 degrees from north -+ -- the value -180 shall be used to represent -+ -- data is not available or unknown -+ -+NodeOffsetPointXY ::= CHOICE { -+ -- Nodes with X,Y content -+ node-XY1 Node-XY-20b, -- node is within 5.11m of last node -+ node-XY2 Node-XY-22b, -- node is within 10.23m of last node -+ node-XY3 Node-XY-24b, -- node is within 20.47m of last node -+ node-XY4 Node-XY-26b, -- node is within 40.96m of last node -+ node-XY5 Node-XY-28b, -- node is within 81.91m of last node -+ node-XY6 Node-XY-32b, -- node is within 327.67m of last node -+ node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -+ regional RegionalExtension {{Reg-NodeOffsetPointXY}} -+ -- node which follows is of a -+ -- regional definition type -+ } -+ -+Node-LLmD-64b ::= SEQUENCE { -+ lon Longitude, -+ lat Latitude -+ } -+ -+ -+Node-XY-20b ::= SEQUENCE { -+ x Offset-B10, -+ y Offset-B10 -+ } -+ -+Node-XY-22b ::= SEQUENCE { -+ x Offset-B11, -+ y Offset-B11 -+ } -+ -+ -+Node-XY-24b ::= SEQUENCE { -+ x Offset-B12, -+ y Offset-B12 -+ } -+ -+ -+Node-XY-26b ::= SEQUENCE { -+ x Offset-B13, -+ y Offset-B13 -+ } -+ -+ -+Node-XY-28b ::= SEQUENCE { -+ x Offset-B14, -+ y Offset-B14 -+ } -+ -+ -+Node-XY-32b ::= SEQUENCE { -+ x Offset-B16, -+ y Offset-B16 -+ } -+ -+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -+ -+NodeXY ::= SEQUENCE { -+ delta NodeOffsetPointXY, -+ -- A choice of which X,Y offset value to use -+ -- this includes various delta values as well a regional choices -+ attributes NodeAttributeSetXY OPTIONAL, -+ -- Any optional Attributes which are needed -+ -- This includes changes to the current lane width and elevation -+ ... -+} -+ -+NodeAttributeSetXY ::= SEQUENCE { -+ localNode NodeAttributeXYList OPTIONAL, -+ -- Attribute states which pertain to this node point -+ disabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are disabled at this node point -+ enabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are enabled at this node point -+ -- and which remain enabled until disabled or the lane ends -+ data LaneDataAttributeList OPTIONAL, -+ -- Attributes which require an additional data values -+ -- some of these are local to the node point, while others -+ -- persist with the provided values until changed -+ -- and this is indicated in each entry -+ dWidth Offset-B10 OPTIONAL, -+ -- A value added to the current lane width -+ -- at this node and from this node onwards, in 1cm steps -+ -- lane width between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ dElevation Offset-B10 OPTIONAL, -+ -- A value added to the current Elevation -+ -- at this node from this node onwards, in 10cm steps -+ -- elevations between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -+ ... -+ } -+ -+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -+ -+NodeAttributeXY ::= ENUMERATED { -+ -- Various values which pertain only to the current node point -+ -+ -- General Items -+ reserved, -+ stopLine, -- point where a mid-path stop line exists -+ -- See also 'do not block' for segments -+ -+ -- Path finish details -+ roundedCapStyleA, -- Used to control final path rounded end shape -+ -- with edge of curve at final point in a circle -+ roundedCapStyleB, -- Used to control final path rounded end shape -+ -- with edge of curve extending 50% of width past -+ -- final point in a circle -+ -+ -- Topography Points (items with no concept of a distance along the path) -+ mergePoint, -- Japan merge with 1 or more lanes -+ divergePoint, -- Japan diverge with 1 or more lanes -+ downstreamStopLine, -- Japan style downstream intersection -+ -- (a 2nd intersection) stop line -+ downstreamStartNode, -- Japan style downstream intersection -+ -- (a 2nd intersection) start node -+ -+ -- Pedestrian Support Attributes -+ closedToTraffic, -- where a pedestrian may NOT go -+ -- to be used during construction events -+ safeIsland, -- a pedestrian safe stopping point -+ -- also called a traffic island -+ -- This usage described a point feature on a path, -+ -- other entries can describe a path -+ curbPresentAtStepOff, -- the sidewalk to street curb is NOT -+ -- angled where it meets the edge of the -+ -- roadway (user must step up/down) -+ -+ -- Lane geometry details (see standard for defined shapes) -+ hydrantPresent, -- Or other services access -+ ... -+ } -+ -+Offset-B10 ::= INTEGER (-512..511) -+ -- a range of +- 5.11 meters -+ -+Offset-B11 ::= INTEGER (-1024..1023) -+ -- a range of +- 10.23 meters -+ -+Offset-B12 ::= INTEGER (-2048..2047) -+ -- a range of +- 20.47 meters -+ -+Offset-B13 ::= INTEGER (-4096..4095) -+ -- a range of +- 40.95 meters -+ -+Offset-B14 ::= INTEGER (-8192..8191) -+ -- a range of +- 81.91 meters -+ -+Offset-B16 ::= INTEGER (-32768..32767) -+ -- a range of +- 327.68 meters -+ -+PrioritizationResponseStatus ::= ENUMERATED { -+ unknown (0), -+ -- Unknown state -+ requested (1), -+ -- This prioritization request was detected -+ -- by the traffic controller -+ processing (2), -+ -- Checking request -+ -- (request is in queue, other requests are prior) -+ watchOtherTraffic (3), -+ -- Cannot give full permission, -+ -- therefore watch for other traffic -+ -- Note that other requests may be present -+ granted (4), -+ -- Intervention was successful -+ -- and now prioritization is active -+ rejected (5), -+ -- The prioritization or preemption request was -+ -- rejected by the traffic controller -+ maxPresence (6), -+ -- The Request has exceeded maxPresence time -+ -- Used when the controller has determined that -+ -- the requester should then back off and -+ -- request an alternative. -+ reserviceLocked (7), -+ -- Prior conditions have resulted in a reservice -+ -- locked event: the controller requires the -+ -- passage of time before another similar request -+ -- will be accepted -+ ... -+} -+ -+RegionId ::= INTEGER (0..255) -+ noRegion RegionId ::= 0 -- Use default supplied stubs -+ addGrpA RegionId ::= 1 -- USA -+ addGrpB RegionId ::= 2 -- Japan -+ addGrpC RegionId ::= 3 -- EU -+ -- NOTE: new registered regional IDs will be added here -+ -- The values 128 and above are for local region use -+ -+-- Regional extensions support -+REG-EXT-ID-AND-TYPE ::= CLASS { -+ &id RegionId UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -+ regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -+ regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -+ } -+ -+RegulatorySpeedLimit ::= SEQUENCE { -+ type SpeedLimitType, -+ -- The type of regulatory speed which follows -+ speed Velocity -+ -- The speed in units of 0.02 m/s -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ } -+ -+RoadwayCrownAngle ::= INTEGER (-128..127) -+ -- In LSB units of 0.3 degrees of angle -+ -- over a range of -38.1 to + 38.1 degrees -+ -- The value -128 shall be used for unknown -+ -- The value zero shall be used for angles -+ -- which are between -0.15 and +0.15 -+ -+ -+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -+ -+SegmentAttributeXY ::= ENUMERATED { -+ -- Various values which can be Enabled and Disabled for a lane segment -+ -+ -- General Items -+ reserved , -+ doNotBlock , -- segment where a vehicle -+ -- may not come to a stop -+ whiteLine , -- segment where lane crossing not allowed -+ -- such as the final few meters of a lane -+ -+ -- Porous Lane states, merging, turn outs, parking etc. -+ -+ mergingLaneLeft , -- indicates porous lanes -+ mergingLaneRight , -+ -+ curbOnLeft , -- indicates presence of curbs -+ curbOnRight , -+ -+ loadingzoneOnLeft , -- loading or drop off zones -+ loadingzoneOnRight , -+ -+ turnOutPointOnLeft , -- opening to adjacent street/alley/road -+ turnOutPointOnRight , -+ -+ adjacentParkingOnLeft , -- side of road parking -+ adjacentParkingOnRight , -+ -+ -- Bike Lane Needs -+ adjacentBikeLaneOnLeft , -- presence of marked bike lanes -+ adjacentBikeLaneOnRight , -+ sharedBikeLane , -- right of way is shared with bikes -+ -- who may occupy entire lane width -+ bikeBoxInFront , -+ -+ -- Transit Needs -+ transitStopOnLeft , -- any form of bus/transit loading -+ -- with pull in-out access to lane on left -+ transitStopOnRight , -- any form of bus/transit loading -+ -- with pull in-out access to lane on right -+ transitStopInLane , -- any form of bus/transit loading -+ -- in mid path of the lane -+ sharedWithTrackedVehicle , -- lane is shared with train or trolley -+ -- not used for crossing tracks -+ -+ -+ -- Pedestrian Support Attributes -+ safeIsland , -- begin/end a safety island in path -+ lowCurbsPresent , -- for ADA support -+ rumbleStripPresent , -- for ADA support -+ audibleSignalingPresent , -- for ADA support -+ adaptiveTimingPresent , -- for ADA support -+ rfSignalRequestPresent , -- Supports RF push to walk technologies -+ partialCurbIntrusion , -- path is blocked by a median or curb -+ -- but at least 1 meter remains open for use -+ -- and at-grade passage -+ -+ -- Lane geometry details (see standard for defined shapes) -+ taperToLeft , -- Used to control final path shape -+ taperToRight , -- Used to control final path shape -+ taperToCenterLine , -- Used to control final path shape -+ -+ -- Parking Lane and Curb Attributes -+ parallelParking , -- -+ headInParking , -- Parking at an angle with the street -+ freeParking , -- no restriction on use of parking -+ timeRestrictionsOnParking , -- Parking is not permitted at all times -+ -- typically used when the 'parking' lane -+ -- becomes a driving lane at times -+ costToPark , -- Used where parking has a cost -+ midBlockCurbPresent , -- a protruding curb near lane edge -+ unEvenPavementPresent , -- a disjoint height at lane edge -+ ... -+ } -+ -+SignalGroupID ::= INTEGER (0..255) -+ -- The value 0 shall be used when the ID is -+ -- not available or not known -+ -- the value 255 is reserved to indicate a -+ -- permanent green movement state -+ -- therefore a simple 8 phase signal controller -+ -- device might use 1..9 as its groupIDs -+ -+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -+ -+SpeedLimitType ::= ENUMERATED { -+ unknown, -- Speed limit type not available -+ maxSpeedInSchoolZone, -- Only sent when the limit is active -+ maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -+ maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -+ -- where a reduced speed is present -+ vehicleMinSpeed, -+ vehicleMaxSpeed, -- Regulatory speed limit for general traffic -+ vehicleNightMaxSpeed, -+ -+ truckMinSpeed, -+ truckMaxSpeed, -+ truckNightMaxSpeed, -+ -+ vehiclesWithTrailersMinSpeed, -+ vehiclesWithTrailersMaxSpeed, -+ vehiclesWithTrailersNightMaxSpeed, -+ ... -+ } -+ -+Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -+ -- The value 8191 indicates that -+ -- velocity is unavailable -+ -+------------------------------------------------------ -+--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM IS-REGION -+------------------------------------------------------ -+ -+Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -+ {Control-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+END - -Property changes on: IS/IS_DSRC_REGION_noCircular.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/IS_REGION.asn -=================================================================== ---- IS/IS_REGION.asn (nonexistent) -+++ IS/IS_REGION.asn (working copy) -@@ -0,0 +1,110 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: REGION -+-- TS 19091 Oct 2015 v0909 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY renamed from REGION, as module REGION already exists in MAP-SPAT -+IS-REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+--FIXME RGY definitions moved to non-circularity module -+--addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC -+addGrpC, REG-EXT-ID-AND-TYPE FROM IS-DSRC-REGION-noCircular -+--FIXME RGY Control-addGrpC has been moced to a non-circularity module -+Control-addGrpC FROM AddGrpC-noCircular -+ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, /*Control-addGrpC,*/ Position3D-addGrpC, RestrictionUserType-addGrpC, -+SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; -+ -+ -+Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { -+ {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { -+ {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { -+ {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -+*/ -+ -+Reg-MapData REG-EXT-ID-AND-TYPE ::= { -+ {MapData-addGrpC IDENTIFIED BY addGrpC}, -+ ... -+} -+ -+Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -+ {Control-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+*/ -+ -+Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -+*/ -+ -+Reg-Position3D REG-EXT-ID-AND-TYPE ::= { -+ {Position3D-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { -+ {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { -+ { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } -+ -+END - -Property changes on: IS/IS_REGION.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/ISO_TS_19091.asn -=================================================================== ---- IS/ISO_TS_19091.asn (revision 1297) -+++ IS/ISO_TS_19091.asn (nonexistent) -@@ -1,2077 +0,0 @@ ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- ISO TS 19091 ---- ---- This ASN.1 was generated: 30.08.2016 ---- ---- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message ---- as defined in ISO TS 19091 and SAEJ2735 ---- ---- It includes the addendunm extensions for Addgrp-C (e.g. Europe) ---- ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: AddGrpC ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -- -- --DEFINITIONS AUTOMATIC TAGS::= BEGIN -- --IMPORTS --NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC --Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- -- --ConnectionManeuverAssist-addGrpC ::= SEQUENCE { -- itsStationPositions ItsStationPositionList OPTIONAL, -- rsuGNSSOffset NodeOffsetPointXY OPTIONAL, -- ... --} -- --ConnectionTrajectory-addGrpC ::= SEQUENCE { -- nodes NodeSetXY, -- ... --} -- --Control-addGrpC ::= SEQUENCE { -- ptvRequest PtvRequestType, -- ... --} -- --IntersectionState-addGrpC ::= SEQUENCE { -- activePrioritizations PrioritizationResponseList OPTIONAL, -- ... --} -- --MapData-addGrpC ::= SEQUENCE { -- signalHeadLocations SignalHeadLocationList OPTIONAL, -- ... --} -- --Position3D-addGrpC ::= SEQUENCE { -- altitude Altitude, -- ... --} -- --PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse -- --PrioritizationResponse ::= SEQUENCE { -- stationID StationID, -- priorState PrioritizationResponseStatus, -- signalGroup SignalGroupID, -- ... --} -- --RestrictionUserType-addGrpC ::= SEQUENCE { -- emission EmissionType OPTIONAL, -- ... --} -- --SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation -- --SignalHeadLocation ::= SEQUENCE { -- nodeXY NodeOffsetPointXY, -- nodeZ DeltaAltitude, -- signalGroupID SignalGroupID, -- ... --} -- --SignalStatusPackage-addGrpC ::= SEQUENCE { -- synchToSchedule DeltaTime OPTIONAL, -- ... --} -- -- --ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition -- --ItsStationPosition ::= SEQUENCE { -- stationID StationID, -- laneID LaneID OPTIONAL, -- nodeXY NodeOffsetPointXY OPTIONAL, -- timeReference TimeReference OPTIONAL, -- ... --} --EmissionType ::= ENUMERATED { -- euro1, -- euro2, -- euro3, -- euro4, -- euro5, -- euro6, -- ... --} -- --PtvRequestType ::= ENUMERATED { -- preRequest, -- mainRequest, -- doorCloseRequest, -- cancelRequest, -- emergencyRequest, -- ... --} -- --TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: REGION ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } -- --DEFINITIONS AUTOMATIC TAGS::= BEGIN -- --IMPORTS --addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC --ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC, --SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; -- --Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { -- {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { -- {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { -- {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-MapData REG-EXT-ID-AND-TYPE ::= { -- {MapData-addGrpC IDENTIFIED BY addGrpC}, -- ... --} -- --Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -- {Control-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-Position3D REG-EXT-ID-AND-TYPE ::= { -- {Position3D-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { -- {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { -- { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: DSRC ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -- --DEFINITIONS AUTOMATIC TAGS::= BEGIN -- --IMPORTS --StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } --Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, --Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState, --Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, --Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} --Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) }; -- ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- ---- Start of entries from table Messages... ---- This table typicaly contains message entries. ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- -- --MessageFrame ::= SEQUENCE { -- messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), -- value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), -- ... -- } -- --MESSAGE-ID-AND-TYPE ::= CLASS { -- &id DSRCmsgID UNIQUE, -- &Type -- } WITH SYNTAX {&Type IDENTIFIED BY &id} -- --MessageTypes MESSAGE-ID-AND-TYPE ::= { -- { MapData IDENTIFIED BY mapData } | -- { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | -- { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | -- { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, -- ... -- Expansion to be used only by the SAE J2735 DSRC TC -- } -- -- ---- Regional extensions support --REG-EXT-ID-AND-TYPE ::= CLASS { -- &id RegionId UNIQUE, -- &Type -- } WITH SYNTAX {&Type IDENTIFIED BY &id} -- --RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -- regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -- regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -- } -- --SPAT ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- name DescriptiveName OPTIONAL, -- -- human readable name for this collection -- -- to be used only in debug mode -- -- intersections IntersectionStateList, -- -- sets of SPAT data (one per intersection) -- -- -- If PrioritizationResponse data is required, it is found -- -- in the RegionalSPAT entry below -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SPAT}} OPTIONAL, -- ... -- } -- --SignalRequestMessage ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- second DSecond, -- sequenceNumber MsgCount OPTIONAL, -- -- requests SignalRequestList OPTIONAL, -- -- Request Data for one or more signalized -- -- intersections that support SRM dialogs -- -- requestor RequestorDescription, -- -- Requesting Device and other User Data -- -- contains vehicle ID (if from a vehicle) -- -- as well as type data and current position -- -- and may contain additional transit data -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, -- ... --} -- --SignalStatusMessage ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- second DSecond, -- sequenceNumber MsgCount OPTIONAL, -- -- -- Status Data for one of more signalized intersections -- status SignalStatusList, -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, -- ... --} -- --MapData ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- msgIssueRevision MsgCount, -- layerType LayerType OPTIONAL, -- layerID LayerID OPTIONAL, -- intersections IntersectionGeometryList OPTIONAL, -- -- All Intersection definitions -- roadSegments RoadSegmentList OPTIONAL, -- -- All roadway descriptions -- -- dataParameters DataParameters OPTIONAL, -- -- Any meta data regarding the map contents -- -- restrictionList RestrictionClassList OPTIONAL, -- -- Any restriction ID tables which have -- -- established for these map entries -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-MapData}} OPTIONAL, -- -- -- NOTE: -- -- Other map data will be added here as it is defined -- -- Examples of the type of content to be added include -- -- curve warnings, construction routes, etc. -- ... --} -- -- ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- ---- Start of entries from table Data_Frames... ---- This table typicaly contains data frame entries. ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- -- --AdvisorySpeed ::= SEQUENCE { -- type AdvisorySpeedType, -- -- the type of advisory which this is. -- speed SpeedAdvice OPTIONAL, -- -- See Section 11 for converting and translating speed -- -- expressed in mph into units of m/s -- -- This element is optional ONLY when superceded -- -- by the presence of a regional speed element found in -- -- Reg-AdvisorySpeed entry -- confidence SpeedConfidence OPTIONAL, -- -- A confidence value for the above speed -- distance ZoneLength OPTIONAL, -- -- Unit = 1 meter, -- -- The distance indicates the region for which the advised speed -- -- is recommended, it is specified upstream from the stop bar -- -- along the connected egressing lane -- class RestrictionClassID OPTIONAL, -- -- the vehicle types to which it applies -- -- when absent, the AdvisorySpeed applies to -- -- all motor vehicle types -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, -- ... -- } -- --AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed -- --ComputedLane ::= SEQUENCE { -- -- Data needed to created a computed lane -- referenceLaneId LaneID, -- -- the lane ID upon which this -- -- computed lane will be based -- -- Lane Offset in X and Y direction -- offsetXaxis CHOICE { -- small DrivenLineOffsetSm, -- large DrivenLineOffsetLg -- }, -- offsetYaxis CHOICE { -- small DrivenLineOffsetSm, -- large DrivenLineOffsetLg -- }, -- -- A path X offset value for translations of the -- -- path's points when creating translated lanes. -- -- The values found in the reference lane are -- -- all offset based on the X and Y values from -- -- the coordinates of the reference lane's -- -- initial path point. -- -- Lane Rotation -- rotateXY Angle OPTIONAL, -- -- A path rotation value for the entire lane -- -- Observe that this rotates the existing orientation -- -- of the referenced lane, it does not replace it. -- -- Rotation occurs about the initial path point. -- -- Lane Path Scale (zooming) -- scaleXaxis Scale-B12 OPTIONAL, -- scaleYaxis Scale-B12 OPTIONAL, -- -- value for translations or zooming of the path's -- -- points. The values found in the reference lane -- -- are all expanded or contracted based on the X -- -- and Y and width values from the coordinates of -- -- the reference lane's initial path point. -- -- The Z axis remains untouched. -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-ComputedLane}} OPTIONAL, -- ... -- } --ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection -- --ConnectingLane ::= SEQUENCE { -- lane LaneID, -- Index of the connecting lane -- maneuver AllowedManeuvers OPTIONAL -- -- The Maneuver between -- -- the enclosing lane and this lane -- -- at the stop line to connect them -- } -- -- --Connection ::= SEQUENCE { -- -- The subject lane connecting to this lane is: -- connectingLane ConnectingLane, -- -- The index of the connecting lane and also -- -- the maneuver from the current lane to it -- remoteIntersection IntersectionReferenceID OPTIONAL, -- -- This entry is only used when the -- -- indicated connecting lane belongs -- -- to another intersection layout. This -- -- provides a means to create meshes of lanes -- -- -- SPAT mapping details at the stop line are: -- signalGroup SignalGroupID OPTIONAL, -- -- The matching signal group send by -- -- the SPAT message for this lane/maneuver. -- -- Shall be present unless the connectingLane -- -- has no signal group (is un-signalized) -- userClass RestrictionClassID OPTIONAL, -- -- The Restriction Class of users this applies to -- -- The use of some lane/maneuver and SignalGroupID -- -- pairings are restricted to selected users. -- -- When absent, the SignalGroupID applies to all -- -- -- Movement assist details are given by: -- connectionID LaneConnectionID OPTIONAL -- -- An optional connection index used to -- -- relate this lane connection to any dynamic -- -- clearance data in the SPAT. Note that -- -- the index may be shared with other -- -- connections if the clearance data is common -- } -- -- --ConnectionManeuverAssist ::= SEQUENCE { -- connectionID LaneConnectionID, -- -- the common connectionID used by all lanes to which -- -- this data applies -- -- (this value traces to ConnectsTo entries in lanes) -- -- Expected Clearance Information -- queueLength ZoneLength OPTIONAL, -- -- Unit = 1 meter, 0 = no queue -- -- The distance from the stop line to the back -- -- edge of the last vehicle in the queue, -- -- as measured along the lane center line. -- availableStorageLength ZoneLength OPTIONAL, -- -- Unit = 1 meter, 0 = no space remains -- -- Distance (e.g. beginning from the downstream -- -- stop-line up to a given distance) with a high -- -- probability for successfully executing the -- -- connecting maneuver between the two lanes -- -- during the current cycle. -- -- Used for enhancing the awareness of vehicles -- -- to anticipate if they can pass the stop line -- -- of the lane. Used for optimizing the green wave, -- -- due to knowledge of vehicles waiting in front -- -- of a red light (downstream). -- -- The element nextTime in TimeChangeDetails -- -- in the containing data frame contains the next -- -- timemark at which an active phase is expected, -- -- a form of storage flush interval. -- waitOnStop WaitOnStopline OPTIONAL, -- -- If "true", the vehicles on this specific connecting -- -- maneuver have to stop on the stop-line and not -- -- to enter the collision area -- pedBicycleDetect PedestrianBicycleDetect OPTIONAL, -- -- true if ANY ped or bicycles are detected crossing -- -- the above lanes. Set to false ONLY if there is a -- -- high certainty that there are none present, -- -- otherwise element is not sent. -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, -- ... -- } -- --DataParameters ::= SEQUENCE { -- processMethod IA5String(SIZE(1..255)) OPTIONAL, -- processAgency IA5String(SIZE(1..255)) OPTIONAL, -- lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, -- geoidUsed IA5String(SIZE(1..255)) OPTIONAL, -- ... -- } -- --EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID -- -- The unique ID numbers for each -- -- lane object which is 'active' -- -- as part of the dynamic map contents. -- --GenericLane ::= SEQUENCE { -- laneID LaneID, -- -- The unique ID number assigned -- -- to this lane object -- name DescriptiveName OPTIONAL, -- -- often for debug use only -- -- but at times used to name ped crossings -- ingressApproach ApproachID OPTIONAL, -- inbound -- egressApproach ApproachID OPTIONAL, -- outbound -- -- Approach IDs to which this lane belongs -- laneAttributes LaneAttributes, -- -- All Attribute information about -- -- the basic selected lane type -- -- Directions of use, Geometric co-sharing -- -- and Type Specific Attributes -- -- These Attributes are 'lane - global' that is, -- -- they are true for the entire length of the lane -- maneuvers AllowedManeuvers OPTIONAL, -- -- the permitted maneuvers for this lane -- nodeList NodeListXY, -- -- Lane spatial path information as well as -- -- various Attribute information along the node path -- -- Attributes found here are more general and may -- -- come and go over the length of the lane. -- connectsTo ConnectsToList OPTIONAL, -- -- a list of other lanes and their signal group IDs -- -- each connecting lane and its signal group ID -- -- is given, therefore this element provides the -- -- information formerly in "signalGroups" in prior -- -- editions. -- overlays OverlayLaneList OPTIONAL, -- -- A list of any lanes which have spatial paths that -- -- overlay (run on top of, and not simply cross) -- -- the path of this lane when used -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-GenericLane}} OPTIONAL, -- ... -- } -- --IntersectionAccessPoint ::= CHOICE { -- lane LaneID, -- approach ApproachID, -- connection LaneConnectionID, -- ... -- } -- --IntersectionGeometry ::= SEQUENCE { -- name DescriptiveName OPTIONAL, -- -- For debug use only -- id IntersectionReferenceID, -- -- A globally unique value set, -- -- consisting of a regionID and -- -- intersection ID assignment -- revision MsgCount, -- -- -- Required default values about lane descriptions follow -- refPoint Position3D, -- The reference from which subsequent -- -- data points are offset until a new -- -- point is used. -- laneWidth LaneWidth OPTIONAL, -- -- Reference width used by all subsequent -- -- lanes unless a new width is given -- speedLimits SpeedLimitList OPTIONAL, -- -- Reference regulatory speed limits -- -- used by all subsequent -- -- lanes unless a new speed is given -- -- See Section 11 for converting and -- -- translating speed expressed in mph -- -- into units of m/s -- -- Complete details regarding each lane type in this intersection -- laneSet LaneList, -- Data about one or more lanes -- -- (all lane data is found here) -- -- -- Data describing how to use and request preemption and -- -- priority services from this intersection (if supported) -- -- NOTE Additonal data may be added in the next release of the -- -- standard at this point to handle this concept -- preemptPriorityData PreemptPriorityList OPTIONAL, -- -- data about one or more regional -- -- preempt or priority zones -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, -- ... -- } -- --IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry -- --IntersectionReferenceID ::= SEQUENCE { -- region RoadRegulatorID OPTIONAL, -- -- a globally unique regional assignment value -- -- typical assigned to a regional DOT authority -- -- the value zero shall be used for testing needs -- id IntersectionID -- -- a unique mapping to the intersection -- -- in question within the above region of use -- } -- --IntersectionState ::= SEQUENCE { -- name DescriptiveName OPTIONAL, -- -- human readable name for intersection -- -- to be used only in debug mode -- id IntersectionReferenceID, -- -- A globally unique value set, consisting of a -- -- regionID and intersection ID assignment -- -- provides a unique mapping to the -- -- intersection MAP in question -- -- which provides complete location -- -- and approach/move/lane data -- revision MsgCount, -- status IntersectionStatusObject, -- -- general status of the controller(s) -- moy MinuteOfTheYear OPTIONAL, -- -- Minute of current UTC year -- -- used only with messages to be archived -- timeStamp DSecond OPTIONAL, -- -- the mSec point in the current UTC minute that -- -- this message was constructed -- enabledLanes EnabledLaneList OPTIONAL, -- -- a list of lanes where the RevocableLane bit -- -- has been set which are now active and -- -- therefore part of the current intersection -- states MovementList, -- -- Each Movement is given in turn -- -- and contains its signal phase state, -- -- mapping to the lanes it applies to, and -- -- point in time it will end, and it -- -- may contain both active and future states -- maneuverAssistList ManeuverAssistList OPTIONAL, -- -- Assist data -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-IntersectionState}} OPTIONAL, -- ... -- } -- --IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState -- --LaneAttributes ::= SEQUENCE { -- directionalUse LaneDirection, -- directions of lane use -- sharedWith LaneSharing, -- co-users of the lane path -- laneType LaneTypeAttributes, -- specific lane type data -- regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL -- } -- --LaneDataAttribute ::= CHOICE { -- -- Segment attribute types and the data needed for each -- pathEndPointAngle DeltaAngle, -- -- adjusts final point/width slant -- -- of the lane to align with the stop line -- laneCrownPointCenter RoadwayCrownAngle, -- -- sets the canter of the road bed -- -- from centerline point -- laneCrownPointLeft RoadwayCrownAngle, -- -- sets the canter of the road bed -- -- from left edge -- laneCrownPointRight RoadwayCrownAngle, -- -- sets the canter of the road bed -- -- from right edge -- laneAngle MergeDivergeNodeAngle, -- -- the angle or direction of another lane -- -- this is required to support Japan style -- -- when a merge point angle is required -- speedLimits SpeedLimitList, -- -- Reference regulatory speed limits -- -- used by all segments -- -- -- Add others as needed, in regional space -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-LaneDataAttribute}}, -- ... -- } -- --LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -- --LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -- --LaneSharing ::= BIT STRING { -- -- With bits as defined: -- overlappingLaneDescriptionProvided (0), -- -- Assert when another lane object is present to describe the -- -- path of the overlapping shared lane -- -- this construct is not used for lane objects which simply cross -- multipleLanesTreatedAsOneLane (1), -- -- Assert if the lane object path and width details represents -- -- multiple lanes within it that are not further described -- -- -- Various modes and type of traffic that may share this lane: -- otherNonMotorizedTrafficTypes (2), -- horse drawn etc. -- individualMotorizedVehicleTraffic (3), -- busVehicleTraffic (4), -- taxiVehicleTraffic (5), -- pedestriansTraffic (6), -- cyclistVehicleTraffic (7), -- trackedVehicleTraffic (8), -- pedestrianTraffic (9) -- } (SIZE (10)) -- -- All zeros would indicate 'not shared' and 'not overlapping' -- --LaneTypeAttributes ::= CHOICE { -- vehicle LaneAttributes-Vehicle, -- motor vehicle lanes -- crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks -- bikeLane LaneAttributes-Bike, -- bike lanes -- sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths -- median LaneAttributes-Barrier, -- medians & channelization -- striping LaneAttributes-Striping, -- roadway markings -- trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys -- parking LaneAttributes-Parking, -- parking and stopping lanes -- ... -- } -- --ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist -- --MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent -- --MovementEvent ::= SEQUENCE { -- eventState MovementPhaseState, -- -- Consisting of: -- -- Phase state (the basic 11 states) -- -- Directional, protected, or permissive state -- -- timing TimeChangeDetails OPTIONAL, -- -- Timing Data in UTC time stamps for event -- -- includes start and min/max end times of phase -- -- confidence and estimated next occurrence -- -- speeds AdvisorySpeedList OPTIONAL, -- -- various speed advisories for use by -- -- general and specific types of vehicles -- -- supporting green-wave and other flow needs -- -- See Section 11 for converting and translating -- -- speed expressed in mph into units of m/s -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-MovementEvent}} OPTIONAL, -- ... -- } -- --MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState -- --MovementState ::= SEQUENCE { -- movementName DescriptiveName OPTIONAL, -- -- uniquely defines movement by name -- -- human readable name for intersection -- -- to be used only in debug mode -- signalGroup SignalGroupID, -- -- the group id is used to map to lists -- -- of lanes (and their descriptions) -- -- which this MovementState data applies to -- -- see comments in the Remarks for usage details -- state-time-speed MovementEventList, -- -- Consisting of sets of movement data with: -- -- a) SignalPhaseState -- -- b) TimeChangeDetails, and -- -- c) AdvisorySpeeds (optional ) -- -- Note one or more of the movement events may be for -- -- a future time and that this allows conveying multiple -- -- predictive phase and movement timing for various uses -- -- for the current signal group -- maneuverAssistList ManeuverAssistList OPTIONAL, -- -- This information may also be placed in the -- -- IntersectionState when common information applies to -- -- different lanes in the same way -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-MovementState}} OPTIONAL, -- ... -- } -- --NodeAttributeSetXY ::= SEQUENCE { -- localNode NodeAttributeXYList OPTIONAL, -- -- Attribute states which pertain to this node point -- disabled SegmentAttributeXYList OPTIONAL, -- -- Attribute states which are disabled at this node point -- enabled SegmentAttributeXYList OPTIONAL, -- -- Attribute states which are enabled at this node point -- -- and which remain enabled until disabled or the lane ends -- data LaneDataAttributeList OPTIONAL, -- -- Attributes which require an additional data values -- -- some of these are local to the node point, while others -- -- persist with the provided values until changed -- -- and this is indicated in each entry -- dWidth Offset-B10 OPTIONAL, -- -- A value added to the current lane width -- -- at this node and from this node onwards, in 1cm steps -- -- lane width between nodes are a linear taper between pts -- -- the value of zero shall not be sent here -- dElevation Offset-B10 OPTIONAL, -- -- A value added to the current Elevation -- -- at this node from this node onwards, in 10cm steps -- -- elevations between nodes are a linear taper between pts -- -- the value of zero shall not be sent here -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -- ... -- } -- --NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -- --NodeAttributeXY ::= ENUMERATED { -- -- Various values which pertain only to the current node point -- -- -- General Items -- reserved, -- stopLine, -- point where a mid-path stop line exists -- -- See also 'do not block' for segments -- -- -- Path finish details -- roundedCapStyleA, -- Used to control final path rounded end shape -- -- with edge of curve at final point in a circle -- roundedCapStyleB, -- Used to control final path rounded end shape -- -- with edge of curve extending 50% of width past -- -- final point in a circle -- -- -- Topography Points (items with no concept of a distance along the path) -- mergePoint, -- Japan merge with 1 or more lanes -- divergePoint, -- Japan diverge with 1 or more lanes -- downstreamStopLine, -- Japan style downstream intersection -- -- (a 2nd intersection) stop line -- downstreamStartNode, -- Japan style downstream intersection -- -- (a 2nd intersection) start node -- -- -- Pedestrian Support Attributes -- closedToTraffic, -- where a pedestrian may NOT go -- -- to be used during construction events -- safeIsland, -- a pedestrian safe stopping point -- -- also called a traffic island -- -- This usage described a point feature on a path, -- -- other entries can describe a path -- curbPresentAtStepOff, -- the sidewalk to street curb is NOT -- -- angled where it meets the edge of the -- -- roadway (user must step up/down) -- -- -- Lane geometry details (see standard for defined shapes) -- hydrantPresent, -- Or other services access -- ... -- } -- --Node-LLmD-64b ::= SEQUENCE { -- lon Longitude, -- lat Latitude -- } -- -- Node-XY-20b ::= SEQUENCE { -- x Offset-B10, -- y Offset-B10 -- } -- --Node-XY-22b ::= SEQUENCE { -- x Offset-B11, -- y Offset-B11 -- } -- -- --Node-XY-24b ::= SEQUENCE { -- x Offset-B12, -- y Offset-B12 -- } -- -- --Node-XY-26b ::= SEQUENCE { -- x Offset-B13, -- y Offset-B13 -- } -- -- --Node-XY-28b ::= SEQUENCE { -- x Offset-B14, -- y Offset-B14 -- } -- -- --Node-XY-32b ::= SEQUENCE { -- x Offset-B16, -- y Offset-B16 -- } -- --NodeListXY ::= CHOICE { -- nodes NodeSetXY, -- -- a lane made up of two or more -- -- XY node points and any attributes -- -- defined in those nodes -- computed ComputedLane, -- -- a lane path computed by translating -- -- the data defined by another lane -- ... -- } -- --NodeOffsetPointXY ::= CHOICE { -- -- Nodes with X,Y content -- node-XY1 Node-XY-20b, -- node is within 5.11m of last node -- node-XY2 Node-XY-22b, -- node is within 10.23m of last node -- node-XY3 Node-XY-24b, -- node is within 20.47m of last node -- node-XY4 Node-XY-26b, -- node is within 40.96m of last node -- node-XY5 Node-XY-28b, -- node is within 81.91m of last node -- node-XY6 Node-XY-32b, -- node is within 327.67m of last node -- node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -- regional RegionalExtension {{Reg-NodeOffsetPointXY}} -- -- node which follows is of a -- -- regional definition type -- } -- --NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -- --NodeXY ::= SEQUENCE { -- delta NodeOffsetPointXY, -- -- A choice of which X,Y offset value to use -- -- this includes various delta values as well a regional choices -- attributes NodeAttributeSetXY OPTIONAL, -- -- Any optional Attributes which are needed -- -- This includes changes to the current lane width and elevation -- ... --} -- --OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID -- -- The unique ID numbers for any lane object which have -- -- spatial paths that overlay (run on top of, and not -- -- simply cross with) the current lane. -- -- Such as a train path that overlays a motor vehicle -- -- lane object for a roadway segment. -- --Position3D ::= SEQUENCE { -- lat Latitude, -- in 1/10th micro degrees -- long Longitude, -- in 1/10th micro degrees -- elevation Elevation OPTIONAL, -- in 10 cm units -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-Position3D}} OPTIONAL, -- ... -- } -- --PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone -- --RegulatorySpeedLimit ::= SEQUENCE { -- type SpeedLimitType, -- -- The type of regulatory speed which follows -- speed Velocity -- -- The speed in units of 0.02 m/s -- -- See Section 11 for converting and translating -- -- speed expressed in mph into units of m/s -- } -- --RequestorDescription ::= SEQUENCE { -- id VehicleID, -- -- The ID used in the BSM or CAM of the requestor -- -- This ID is presumed not to change -- -- during the exchange -- type RequestorType OPTIONAL, -- -- Information regarding all type and class data -- -- about the requesting vehicle -- position RequestorPositionVector OPTIONAL, -- -- The location of the requesting vehicle -- name DescriptiveName OPTIONAL, -- -- A human readable name for debugging use -- -- Support for Transit requests -- routeName DescriptiveName OPTIONAL, -- -- A string for transit operations use -- transitStatus TransitVehicleStatus OPTIONAL, -- -- current vehicle state (loading, etc.) -- transitOccupancy TransitVehicleOccupancy OPTIONAL, -- -- current vehicle occupancy -- transitSchedule DeltaTime OPTIONAL, -- -- current vehicle schedule adherence -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, -- ... -- } -- --RequestorPositionVector ::= SEQUENCE { -- position Position3D, -- heading Angle OPTIONAL, -- speed TransmissionAndSpeed OPTIONAL, -- ... -- } -- --RequestorType ::= SEQUENCE { -- -- Defines who is requesting -- role BasicVehicleRole, -- Basic role of this user at this time -- subrole RequestSubRole OPTIONAL, -- A local list with role based items -- -- -- Defines what kind of request (a level of importance in the Priority Scheme) -- request RequestImportanceLevel OPTIONAL, -- A local list with request items -- -- -- Additional classification details -- iso3883 Iso3833VehicleType OPTIONAL, -- hpmsType VehicleType OPTIONAL, -- HPMS classification types -- -- regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, -- ... -- } -- --RestrictionClassAssignment ::= SEQUENCE { -- id RestrictionClassID, -- -- the unique value (within an intersection or local region) -- -- that is assigned to this group of users -- users RestrictionUserTypeList -- -- The list of user types/classes -- -- to which this restriction ID applies -- } -- --RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment -- --RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType -- --RestrictionUserType ::= CHOICE { -- basicType RestrictionAppliesTo, -- -- a set of the most commonly used types -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-RestrictionUserType}}, -- ... -- } -- --RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -- --RoadSegmentReferenceID ::= SEQUENCE { -- region RoadRegulatorID OPTIONAL, -- -- a globally unique regional assignment value -- -- typically assigned to a regional DOT authority -- -- the value zero shall be used for testing needs -- id RoadSegmentID -- -- a unique mapping to the road segment -- -- in question within the above region of use -- -- during its period of assignment and use -- -- note that unlike intersectionID values, -- -- this value can be reused by the region -- } -- --RoadSegment ::= SEQUENCE { -- name DescriptiveName OPTIONAL, -- id RoadSegmentReferenceID, -- -- a globally unique value for the segment -- revision MsgCount, -- -- Required default values about the descriptions to follow -- refPoint Position3D, -- the reference from which subsequent -- -- data points are offset until a new -- -- point is used. -- laneWidth LaneWidth OPTIONAL, -- -- Reference width used by all subsequent -- -- lanes unless a new width is given -- speedLimits SpeedLimitList OPTIONAL, -- -- Reference regulatory speed limits -- -- used by all subsequent -- -- lanes unless a new speed is given -- -- See Section 11 for converting and -- -- translating speed expressed in mph -- -- into units of m/s -- -- -- Data describing disruptions in the RoadSegment -- -- such as work zones etc will be added here; -- -- in the US the SAE ITIS codes would be used here -- -- The details regarding each lane type in the RoadSegment -- roadLaneSet RoadLaneSetList, -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-RoadSegment}} OPTIONAL, -- ... -- } -- --RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment -- --SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -- --SignalControlZone ::= SEQUENCE { -- zone RegionalExtension {{Reg-SignalControlZone}}, -- ... -- } -- --SignalRequesterInfo ::= SEQUENCE { -- -- These three items serve to uniquely identify the requester -- -- and the specific request to all parties -- id VehicleID, -- request RequestID, -- sequenceNumber MsgCount, -- role BasicVehicleRole OPTIONAL, -- -- typeData RequestorType OPTIONAL, -- -- Used when addition data besides the role -- -- is needed, at which point the role entry -- -- above is not sent. -- ... -- } -- --SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage -- --SignalRequestPackage ::= SEQUENCE { -- request SignalRequest, -- -- The specific request to the intersection -- -- contains IntersectionID, request type, -- -- requested action (approach/lane request) -- -- -- The Estimated Time of Arrival (ETA) when the service is requested -- minute MinuteOfTheYear OPTIONAL, -- second DSecond OPTIONAL, -- duration DSecond OPTIONAL, -- -- The duration value is used to provide a short interval that -- -- extends the ETA so that the requesting vehicle can arrive at -- -- the point of service with uncertainty or with some desired -- -- duration of service. This concept can be used to avoid needing -- -- to frequently update the request. -- -- The requester must update the ETA and duration values if the -- -- period of services extends beyond the duration time. -- -- It should be assumed that if the vehicle does not clear the -- -- intersection when the duration is reached, the request will -- -- be cancelled and the intersection will revert to -- -- normal operation. -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, -- ... -- } -- --SignalRequest ::= SEQUENCE { -- -- the unique ID of the target intersection -- id IntersectionReferenceID, -- -- -- The unique requestID used by the requestor -- requestID RequestID, -- -- -- The type of request or cancel for priority or preempt use -- -- when a prior request is canceled, only the requestID is needed -- requestType PriorityRequestType, -- -- -- In typical use either an approach or a lane number would -- -- be given, this indicates the requested -- -- path through the intersection to the degree it is known. -- inBoundLane IntersectionAccessPoint, -- -- desired entry approach or lane -- outBoundLane IntersectionAccessPoint OPTIONAL, -- -- desired exit approach or lane -- -- the values zero is used to indicate -- -- intent to stop within the intersection -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalRequest}} OPTIONAL, -- ... -- } -- --SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus -- --SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage -- --SignalStatusPackage ::= SEQUENCE { -- -- The party that made the initial SRM request -- requester SignalRequesterInfo OPTIONAL, -- -- The lanes or approaches used in the request -- inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle -- outboundOn IntersectionAccessPoint OPTIONAL, -- -- -- The Estimated Time of Arrival (ETA) when the service is requested -- -- This data echos the data of the request -- minute MinuteOfTheYear OPTIONAL, -- second DSecond OPTIONAL, -- duration DSecond OPTIONAL, -- -- -- the SRM status for this request -- status PrioritizationResponseStatus, -- -- Status of request, this may include rejection -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, -- ... -- } -- --SignalStatus ::= SEQUENCE { -- sequenceNumber MsgCount, -- -- changed whenever the below contents have change -- id IntersectionReferenceID, -- -- this provides a unique mapping to the -- -- intersection map in question -- -- which provides complete location -- -- and approach/movement/lane data -- -- as well as zones for priority/preemption -- sigStatus SignalStatusPackageList, -- -- a list of detailed status containing all -- -- priority or preemption state data, both -- -- active and pending, and who requested it -- -- requests which are denied are also listed -- -- here for a short period of time -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalStatus}} OPTIONAL, -- ... -- } -- --SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -- --SpeedLimitType ::= ENUMERATED { -- unknown, -- Speed limit type not available -- maxSpeedInSchoolZone, -- Only sent when the limit is active -- maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -- maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -- -- where a reduced speed is present -- vehicleMinSpeed, -- vehicleMaxSpeed, -- Regulatory speed limit for general traffic -- vehicleNightMaxSpeed, -- -- truckMinSpeed, -- truckMaxSpeed, -- truckNightMaxSpeed, -- -- vehiclesWithTrailersMinSpeed, -- vehiclesWithTrailersMaxSpeed, -- vehiclesWithTrailersNightMaxSpeed, -- ... -- } -- --TimeChangeDetails ::= SEQUENCE { -- startTime TimeMark OPTIONAL, -- -- When this phase 1st started -- minEndTime TimeMark, -- -- Expected shortest end time -- maxEndTime TimeMark OPTIONAL, -- -- Expected longest end time -- -- likelyTime TimeMark OPTIONAL, -- -- Best predicted value based on other data -- confidence TimeIntervalConfidence OPTIONAL, -- -- Applies to above time element only -- -- nextTime TimeMark OPTIONAL -- -- A rough estimate of time when -- -- this phase may next occur again -- -- used to support various ECO driving power -- -- management needs. -- } -- --TimeMark ::= INTEGER (0..36001) -- -- Tenths of a second in the current or next hour -- -- In units of 1/10th second from UTC time -- -- A range of 0~36000 covers one hour -- -- The values 35991..36000 are used when a leap second occurs -- -- The value 36001 is used to indicate time >3600 seconds -- -- 36002 is to be used when value undefined or unknown -- -- Note that this is NOT expressed in GPS time -- -- or in local time -- --TransmissionAndSpeed ::= SEQUENCE { -- transmisson TransmissionState, -- speed Velocity -- } -- --VehicleID ::= CHOICE { -- entityID TemporaryID, -- stationID StationID -- } -- -- ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- ---- Start of entries from table Data_Elements... ---- This table typicaly contains data element entries. ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- -- --AdvisorySpeedType ::= ENUMERATED { -- none (0), -- greenwave (1), -- ecoDrive (2), -- transit (3), -- ... -- } -- Note: subject to further growth -- --AllowedManeuvers ::= BIT STRING { -- -- With bits as defined: -- -- Allowed maneuvers at path end (stop line) -- -- All maneuvers with bits not set are therefore prohibited ! -- -- A value of zero shall be used for unknown, indicating no Maneuver -- maneuverStraightAllowed (0), -- -- a Straight movement is allowed in this lane -- maneuverLeftAllowed (1), -- -- a Left Turn movement is allowed in this lane -- maneuverRightAllowed (2), -- -- a Right Turn movement is allowed in this lane -- maneuverUTurnAllowed (3), -- -- a U turn movement is allowed in this lane -- maneuverLeftTurnOnRedAllowed (4), -- -- a Stop, and then proceed when safe movement -- -- is allowed in this lane -- maneuverRightTurnOnRedAllowed (5), -- -- a Stop, and then proceed when safe movement -- -- is allowed in this lane -- maneuverLaneChangeAllowed (6), -- -- a movement which changes to an outer lane -- -- on the egress side is allowed in this lane -- -- (example: left into either outbound lane) -- maneuverNoStoppingAllowed (7), -- -- the vehicle should not stop at the stop line -- -- (example: a flashing green arrow) -- yieldAllwaysRequired (8), -- -- the allowed movements above are not protected -- -- (example: an permanent yellow condition) -- goWithHalt (9), -- -- after making a full stop, may proceed -- caution (10), -- -- proceed past stop line with caution -- reserved1 (11) -- -- used to align to 12 Bit Field -- -- } (SIZE(12)) -- --Angle ::= INTEGER (0..28800) -- -- LSB of 0.0125 degrees -- -- A range of 0 to 359.9875 degrees -- --ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown -- --BasicVehicleRole ::= ENUMERATED { -- -- Values used in the EU and in the US -- basicVehicle (0), -- Light duty passenger vehicle type -- publicTransport (1), -- Used in EU for Transit us -- specialTransport (2), -- Used in EU (e.g. heavy load) -- dangerousGoods (3), -- Used in EU for any HAZMAT -- roadWork (4), -- Used in EU for State and Local DOT uses -- roadRescue (5), -- Used in EU and in the US to include tow trucks. -- emergency (6), -- Used in EU for Police, Fire and Ambulance units -- safetyCar (7), -- Used in EU for Escort vehicles -- -- Begin US unique numbering -- none-unknown (8), -- added to follow current SAE style guidelines -- truck (9), -- Heavy trucks with additional BSM rights and obligations -- motorcycle (10), -- -- roadSideSource (11), -- For infrastructure generated calls such as -- -- fire house, rail infrastructure, roadwork site, etc. -- police (12), -- -- fire (13), -- -- ambulance (14), -- (does not include private para-transit etc.) -- dot (15), -- all roadwork vehicles -- transit (16), -- all transit vehicles -- slowMoving (17), -- to also include oversize etc. -- stopNgo (18), -- to include trash trucks, school buses and others -- -- that routinely disturb the free flow of traffic -- cyclist (19), -- -- pedestrian (20), -- also includes those with mobility limitations -- nonMotorized (21), -- other, horse drawn, etc. -- military (22), -- -- ... -- } -- --DeltaAngle ::= INTEGER (-150..150) -- -- With an angle range from -- -- negative 150 to positive 150 -- -- in one degree steps where zero is directly -- -- along the axis or the lane center line as defined by the -- -- two closest points -- --DeltaTime ::= INTEGER (-122 .. 121) -- -- Supporting a range of +/- 20 minute in steps of 10 seconds -- -- the value of -121 shall be used when more than -20 minutes -- -- the value of +120 shall be used when more than +20 minutes -- -- the value -122 shall be used when the value is unavailable -- --DescriptiveName ::= IA5String (SIZE(1..63)) -- --DrivenLineOffsetLg ::= INTEGER (-32767..32767) -- -- LSB units are 1 cm. -- --DrivenLineOffsetSm ::= INTEGER (-2047..2047) -- -- LSB units are 1 cm. -- --DSecond ::= INTEGER (0..65535) -- units of milliseconds -- --DSRCmsgID ::= INTEGER (0..32767) -- mapData DSRCmsgID ::= 18 -- MAP, intersections -- signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT -- signalRequestMessage DSRCmsgID ::= 29 -- SRM -- signalStatusMessage DSRCmsgID ::= 30 -- SSM -- --Elevation ::= INTEGER (-4096..61439) -- -- In units of 10 cm steps above or below the reference ellipsoid -- -- Providing a range of -409.5 to + 6143.9 meters -- -- The value -4096 shall be used when Unknown is to be sent -- --IntersectionID ::= INTEGER (0..65535) -- -- The values zero through 255 are allocated for testing purposes -- -- Note that the value assigned to an intersection will be -- -- unique within a given regional ID only -- --IntersectionStatusObject ::= BIT STRING { -- manualControlIsEnabled (0), -- -- Timing reported is per programmed values, etc. but person -- -- at cabinet can manually request that certain intervals are -- -- terminated early (e.g. green). -- stopTimeIsActivated (1), -- -- And all counting/timing has stopped. -- failureFlash (2), -- -- Above to be used for any detected hardware failures, -- -- e.g. conflict monitor as well as for police flash -- preemptIsActive (3), -- signalPriorityIsActive (4), -- -- -- Additional states -- fixedTimeOperation (5), -- -- Schedule of signals is based on time only -- -- (i.e. the state can be calculated) -- trafficDependentOperation (6), -- -- Operation is based on different levels of traffic parameters -- -- (requests, duration of gaps or more complex parameters) -- standbyOperation (7), -- -- Controller: partially switched off or partially amber flashing -- failureMode (8), -- -- Controller has a problem or failure in operation -- off (9), -- -- Controller is switched off -- -- -- Related to MAP and SPAT bindings -- recentMAPmessageUpdate (10), -- -- Map revision with content changes -- recentChangeInMAPassignedLanesIDsUsed (11), -- -- Change in MAP's assigned lanes used (lane changes) -- -- Changes in the active lane list description -- noValidMAPisAvailableAtThisTime (12), -- -- MAP (and various lanes indexes) not available -- noValidSPATisAvailableAtThisTime (13) -- -- SPAT system is not working at this time -- -- -- Bits 14,15 reserved at this time and shall be zero -- } (SIZE(16)) -- -- --LaneAttributes-Barrier ::= BIT STRING { -- -- With bits as defined: -- median-RevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- median (1), -- whiteLineHashing (2), -- stripedLines (3), -- doubleStripedLines (4), -- trafficCones (5), -- constructionBarrier (6), -- trafficChannels (7), -- lowCurbs (8), -- highCurbs (9) -- -- Bits 10~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Bike ::= BIT STRING { -- -- With bits as defined: -- bikeRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- pedestrianUseAllowed (1), -- -- The path allows pedestrian traffic, -- -- if not set, this mode is prohibited -- isBikeFlyOverLane (2), -- -- path of lane is not at grade -- fixedCycleTime (3), -- -- the phases use preset times -- -- i.e. there is not a 'push to cross' button -- biDirectionalCycleTimes (4), -- -- ped walk phases use different SignalGroupID -- -- for each direction. The first SignalGroupID -- -- in the first Connection represents 'inbound' -- -- flow (the direction of travel towards the first -- -- node point) while second SignalGroupID in the -- -- next Connection entry represents the 'outbound' -- -- flow. And use of RestrictionClassID entries -- -- in the Connect follow this same pattern in pairs. -- isolatedByBarrier (5), -- unsignalizedSegmentsPresent (6) -- -- The lane path consists of one of more segments -- -- which are not part of a signal group ID -- -- -- Bits 7~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Crosswalk ::= BIT STRING { -- -- With bits as defined: -- -- MUTCD provides no suitable "types" to use here -- crosswalkRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- bicyleUseAllowed (1), -- -- The path allows bicycle traffic, -- -- if not set, this mode is prohibited -- isXwalkFlyOverLane (2), -- -- path of lane is not at grade -- fixedCycleTime (3), -- -- ped walk phases use preset times -- -- i.e. there is not a 'push to cross' button -- biDirectionalCycleTimes (4), -- -- ped walk phases use different SignalGroupID -- -- for each direction. The first SignalGroupID -- -- in the first Connection represents 'inbound' -- -- flow (the direction of travel towards the first -- -- node point) while second SignalGroupID in the -- -- next Connection entry represents the 'outbound' -- -- flow. And use of RestrictionClassID entries -- -- in the Connect follow this same pattern in pairs. -- hasPushToWalkButton (5), -- -- Has a demand input -- audioSupport (6), -- -- audio crossing cues present -- rfSignalRequestPresent (7), -- -- Supports RF push to walk technologies -- unsignalizedSegmentsPresent (8) -- -- The lane path consists of one of more segments -- -- which are not part of a signal group ID -- -- Bits 9~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Parking ::= BIT STRING { -- -- With bits as defined: -- -- Parking use details, note that detailed restrictions such as -- -- allowed hours are sent by way of ITIS codes in the TIM message -- parkingRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- parallelParkingInUse (1), -- headInParkingInUse (2), -- doNotParkZone (3), -- -- used to denote fire hydrants as well as -- -- short disruptions in a parking zone -- parkingForBusUse (4), -- parkingForTaxiUse (5), -- noPublicParkingUse (6) -- -- private parking, as in front of -- -- private property -- -- Bits 7~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Sidewalk ::= BIT STRING { -- -- With bits as defined: -- sidewalk-RevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- bicyleUseAllowed (1), -- -- The path allows bicycle traffic, -- -- if not set, this mode is prohibited -- isSidewalkFlyOverLane (2), -- -- path of lane is not at grade -- walkBikes (3) -- -- bike traffic must dismount and walk -- -- Bits 4~15 reserved and set to zero -- } (SIZE (16)) -- -- --LaneAttributes-Striping ::= BIT STRING { -- -- With bits as defined: -- stripeToConnectingLanesRevocableLane (0), -- -- this lane may be activated or not activated based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- stripeDrawOnLeft (1), -- stripeDrawOnRight (2), -- -- which side of lane to mark -- stripeToConnectingLanesLeft (3), -- stripeToConnectingLanesRight (4), -- stripeToConnectingLanesAhead (5) -- -- the stripe type should be -- -- presented to the user visually -- -- to reflect stripes in the -- -- intersection for the type of -- -- movement indicated -- -- Bits 6~15 reserved and set to zero -- } (SIZE (16)) -- -- --LaneAttributes-TrackedVehicle ::= BIT STRING { -- -- With bits as defined: -- spec-RevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- spec-commuterRailRoadTrack (1), -- spec-lightRailRoadTrack (2), -- spec-heavyRailRoadTrack (3), -- spec-otherRailType (4) -- -- Bits 5~15 reserved and set to zero -- } (SIZE (16)) -- -- --LaneAttributes-Vehicle ::= BIT STRING { -- -- With bits as defined: -- isVehicleRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- isVehicleFlyOverLane (1), -- -- path of lane is not at grade -- hovLaneUseOnly (2), -- restrictedToBusUse (3), -- restrictedToTaxiUse (4), -- restrictedFromPublicUse (5), -- hasIRbeaconCoverage (6), -- permissionOnRequest (7) -- e.g. to inform about a lane for e-cars -- -- } (SIZE (8,...)) -- --LaneConnectionID ::= INTEGER (0..255) -- --LaneDirection ::= BIT STRING { -- -- With bits as defined: -- -- Allowed directions of travel in the lane object -- -- All lanes are described from the stop line outwards -- ingressPath (0), -- -- travel from rear of path to front -- -- is allowed -- egressPath (1) -- -- travel from front of path to rear -- -- is allowed -- -- Notes: No Travel, i.e. the lane object type does not support -- -- travel (medians, curbs, etc.) is indicated by not -- -- asserting any bit value -- -- Bi-Directional Travel (such as a ped crosswalk) is -- -- indicated by asserting both of the bits -- } (SIZE (2)) -- --LaneID ::= INTEGER (0..255) -- -- the value 0 shall be used when the lane ID is -- -- not available or not known -- -- the value 255 is reserved for future use -- --LayerID ::= INTEGER (0..100) -- --LayerType ::= ENUMERATED { -- none, -- mixedContent, -- two or more of the below types -- generalMapData, -- intersectionData, -- curveData, -- roadwaySectionData, -- parkingAreaData, -- sharedLaneData, -- ... -- } -- --LaneWidth ::= INTEGER (0..32767) -- units of 1 cm -- --MergeDivergeNodeAngle ::= INTEGER (-180..180) -- -- In units of 1.5 degrees from north -- -- the value -180 shall be used to represent -- -- data is not available or unknown -- --MinuteOfTheYear ::= INTEGER (0..527040) -- -- the value 527040 shall be used for invalid -- --MovementPhaseState ::= ENUMERATED { -- -- Note that based on the regions and the operating mode not every -- -- phase will be used in all transportation modes and that not -- -- every phase will be used in all transportation modes -- -- unavailable (0), -- -- This state is used for unknown or error -- dark (1), -- -- The signal head is dark (unlit) -- -- -- Reds -- stop-Then-Proceed (2), -- -- Often called 'flashing red' in US -- -- Driver Action: -- -- Stop vehicle at stop line. -- -- Do not proceed unless it is safe. -- -- Note that the right to proceed either right or left when -- -- it is safe may be contained in the lane description to -- -- handle what is called a 'right on red' -- stop-And-Remain (3), -- -- e.g. called 'red light' in US -- -- Driver Action: -- -- Stop vehicle at stop line. -- -- Do not proceed. -- -- Note that the right to proceed either right or left when -- -- it is safe may be contained in the lane description to -- -- handle what is called a 'right on red' -- -- -- Greens -- pre-Movement (4), -- -- Not used in the US, red+yellow partly in EU -- -- Driver Action: -- -- Stop vehicle. -- -- Prepare to proceed (pending green) -- -- (Prepare for transition to green/go) -- permissive-Movement-Allowed (5), -- -- Often called 'permissive green' in US -- -- Driver Action: -- -- Proceed with caution, -- -- must yield to all conflicting traffic -- -- Conflicting traffic may be present -- -- in the intersection conflict area -- protected-Movement-Allowed (6), -- -- Often called 'protected green' in US -- -- Driver Action: -- -- Proceed, tossing caution to the wind, -- -- in indicated (allowed) direction. -- -- -- Yellows / Ambers -- -- The vehicle is not allowed to cross the stop bar if it is possible -- -- to stop without danger. -- permissive-clearance (7), -- -- Often called 'permissive yellow' in US -- -- Driver Action: -- -- Prepare to stop. -- -- Proceed if unable to stop, -- -- Clear Intersection. -- -- Conflicting traffic may be present -- -- in the intersection conflict area -- protected-clearance (8), -- -- Often called 'protected yellow' in US -- -- Driver Action: -- -- Prepare to stop. -- -- Proceed if unable to stop, -- -- in indicated direction (to connected lane) -- -- Clear Intersection. -- -- caution-Conflicting-Traffic (9) -- -- Often called 'flashing yellow' in US -- -- Often used for extended periods of time -- -- Driver Action: -- -- Proceed with caution, -- -- Conflicting traffic may be present -- -- in the intersection conflict area -- } -- -- The above number assignments are not used with UPER encoding -- -- and are only to be used with DER or implicit encoding -- --MsgCount ::= INTEGER (0..127) -- --Offset-B10 ::= INTEGER (-512..511) -- -- a range of +- 5.11 meters -- --Offset-B11 ::= INTEGER (-1024..1023) -- -- a range of +- 10.23 meters -- --Offset-B12 ::= INTEGER (-2048..2047) -- -- a range of +- 20.47 meters -- --Offset-B13 ::= INTEGER (-4096..4095) -- -- a range of +- 40.95 meters -- --Offset-B14 ::= INTEGER (-8192..8191) -- -- a range of +- 81.91 meters -- --Offset-B16 ::= INTEGER (-32768..32767) -- -- a range of +- 327.68 meters -- --PedestrianBicycleDetect ::= BOOLEAN -- -- true if ANY Pedestrians or Bicyclists are -- -- detected crossing the target lane or lanes -- --PrioritizationResponseStatus ::= ENUMERATED { -- unknown (0), -- -- Unknown state -- requested (1), -- -- This prioritization request was detected -- -- by the traffic controller -- processing (2), -- -- Checking request -- -- (request is in queue, other requests are prior) -- watchOtherTraffic (3), -- -- Cannot give full permission, -- -- therefore watch for other traffic -- -- Note that other requests may be present -- granted (4), -- -- Intervention was successful -- -- and now prioritization is active -- rejected (5), -- -- The prioritization or preemption request was -- -- rejected by the traffic controller -- maxPresence (6), -- -- The Request has exceeded maxPresence time -- -- Used when the controller has determined that -- -- the requester should then back off and -- -- request an alternative. -- reserviceLocked (7), -- -- Prior conditions have resulted in a reservice -- -- locked event: the controller requires the -- -- passage of time before another similar request -- -- will be accepted -- ... --} -- --PriorityRequestType ::= ENUMERATED { -- priorityRequestTypeReserved (0), -- priorityRequest (1), -- priorityRequestUpdate (2), -- priorityCancellation (3), -- ... -- } -- --RegionId ::= INTEGER (0..255) -- noRegion RegionId ::= 0 -- Use default supplied stubs -- addGrpA RegionId ::= 1 -- USA -- addGrpB RegionId ::= 2 -- Japan -- addGrpC RegionId ::= 3 -- EU -- -- NOTE: new registered regional IDs will be added here -- -- The values 128 and above are for local region use -- --RequestID ::= INTEGER (0..255) -- --RequestImportanceLevel ::= ENUMERATED { -- requestImportanceLevelUnKnown (0), -- requestImportanceLevel1 (1), -- The least important request -- requestImportanceLevel2 (2), -- The values here shall be assigned -- requestImportanceLevel3 (3), -- Meanings based on regional needs -- requestImportanceLevel4 (4), -- for each of the basic roles which -- requestImportanceLevel5 (5), -- are defined elsewhere -- requestImportanceLevel6 (6), -- requestImportanceLevel7 (7), -- requestImportanceLevel8 (8), -- requestImportanceLevel9 (9), -- requestImportanceLevel10 (10), -- requestImportanceLevel11 (11), -- requestImportanceLevel12 (12), -- requestImportanceLevel13 (13), -- requestImportanceLevel14 (14), -- The most important request -- requestImportanceReserved (15) -- Reserved for future use -- } -- --RequestSubRole ::= ENUMERATED { -- requestSubRoleUnKnown (0), -- requestSubRole1 (1), -- The first type of sub role -- requestSubRole2 (2), -- The values here shall be assigned -- requestSubRole3 (3), -- Meanings based on regional needs -- requestSubRole4 (4), -- to refine and expand the basic -- requestSubRole5 (5), -- roles which are defined elsewhere -- requestSubRole6 (6), -- requestSubRole7 (7), -- requestSubRole8 (8), -- requestSubRole9 (9), -- requestSubRole10 (10), -- requestSubRole11 (11), -- requestSubRole12 (12), -- requestSubRole13 (13), -- requestSubRole14 (14), -- The last type of sub role -- requestSubRoleReserved (15) -- Reserved for future use -- } -- --RestrictionAppliesTo ::= ENUMERATED { -- none, -- applies to nothing -- equippedTransit, -- buses etc. -- equippedTaxis, -- equippedOther, -- other vehicle types with -- -- necessary signal phase state -- -- reception equipment -- emissionCompliant, -- regional variants with more -- -- definitive items also exist -- equippedBicycle, -- weightCompliant, -- heightCompliant, -- -- Items dealing with traveler needs serviced by the infrastructure -- -- These end users (which are not vehicles) are presumed to be suitably equipped -- pedestrians, -- slowMovingPersons, -- wheelchairUsers, -- visualDisabilities, -- audioDisabilities, -- hearing -- otherUnknownDisabilities, -- ... -- } -- --RestrictionClassID ::= INTEGER (0..255) -- -- An index value to identify data about classes of users -- -- the value used varies with each intersection's -- -- needs and is defined in the map to the assigned -- -- classes of supported users. -- --RoadRegulatorID ::= INTEGER (0..65535) -- -- The value zero shall be used for testing only -- --RoadSegmentID ::= INTEGER (0..65535) -- -- The values zero to 255 shall be used for testing only -- -- Note that the value assigned to an RoadSegment will be -- -- unique within a given regional ID only during its use -- --RoadwayCrownAngle ::= INTEGER (-128..127) -- -- In LSB units of 0.3 degrees of angle -- -- over a range of -38.1 to + 38.1 degrees -- -- The value -128 shall be used for unknown -- -- The value zero shall be used for angles -- -- which are between -0.15 and +0.15 -- --Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent -- --SignalGroupID ::= INTEGER (0..255) -- -- The value 0 shall be used when the ID is -- -- not available or not known -- -- the value 255 is reserved to indicate a -- -- permanent green movement state -- -- therefore a simple 8 phase signal controller -- -- device might use 1..9 as its groupIDs -- --SegmentAttributeXY ::= ENUMERATED { -- -- Various values which can be Enabled and Disabled for a lane segment -- -- -- General Items -- reserved , -- doNotBlock , -- segment where a vehicle -- -- may not come to a stop -- whiteLine , -- segment where lane crossing not allowed -- -- such as the final few meters of a lane -- -- -- Porous Lane states, merging, turn outs, parking etc. -- -- mergingLaneLeft , -- indicates porous lanes -- mergingLaneRight , -- -- curbOnLeft , -- indicates presence of curbs -- curbOnRight , -- -- loadingzoneOnLeft , -- loading or drop off zones -- loadingzoneOnRight , -- -- turnOutPointOnLeft , -- opening to adjacent street/alley/road -- turnOutPointOnRight , -- -- adjacentParkingOnLeft , -- side of road parking -- adjacentParkingOnRight , -- -- -- Bike Lane Needs -- adjacentBikeLaneOnLeft , -- presence of marked bike lanes -- adjacentBikeLaneOnRight , -- sharedBikeLane , -- right of way is shared with bikes -- -- who may occupy entire lane width -- bikeBoxInFront , -- -- -- Transit Needs -- transitStopOnLeft , -- any form of bus/transit loading -- -- with pull in-out access to lane on left -- transitStopOnRight , -- any form of bus/transit loading -- -- with pull in-out access to lane on right -- transitStopInLane , -- any form of bus/transit loading -- -- in mid path of the lane -- sharedWithTrackedVehicle , -- lane is shared with train or trolley -- -- not used for crossing tracks -- -- -- -- Pedestrian Support Attributes -- safeIsland , -- begin/end a safety island in path -- lowCurbsPresent , -- for ADA support -- rumbleStripPresent , -- for ADA support -- audibleSignalingPresent , -- for ADA support -- adaptiveTimingPresent , -- for ADA support -- rfSignalRequestPresent , -- Supports RF push to walk technologies -- partialCurbIntrusion , -- path is blocked by a median or curb -- -- but at least 1 meter remains open for use -- -- and at-grade passage -- -- -- Lane geometry details (see standard for defined shapes) -- taperToLeft , -- Used to control final path shape -- taperToRight , -- Used to control final path shape -- taperToCenterLine , -- Used to control final path shape -- -- -- Parking Lane and Curb Attributes -- parallelParking , -- -- headInParking , -- Parking at an angle with the street -- freeParking , -- no restriction on use of parking -- timeRestrictionsOnParking , -- Parking is not permitted at all times -- -- typically used when the 'parking' lane -- -- becomes a driving lane at times -- costToPark , -- Used where parking has a cost -- midBlockCurbPresent , -- a protruding curb near lane edge -- unEvenPavementPresent , -- a disjoint height at lane edge -- ... -- } -- --SpeedAdvice ::= INTEGER (0..500) -- -- LSB units are 0.1 m/s^2 -- -- the value 499 shall be used for values at or greater than 49.9 m/s -- -- the value 500 shall be used to indicate that speed is unavailable -- -- --TemporaryID ::= OCTET STRING (SIZE(4)) -- --TimeIntervalConfidence ::= INTEGER (0..15) -- -- Value Probability -- -- 0 21% -- -- 1 36% -- -- 2 47% -- -- 3 56% -- -- 4 62% -- -- 5 68% -- -- 6 73% -- -- 7 77% -- -- 8 81% -- -- 9 85% -- -- 10 88% -- -- 11 91% -- -- 12 94% -- -- 13 96% -- -- 14 98% -- -- 15 100% -- --TransitVehicleOccupancy ::= ENUMERATED { -- occupancyUnknown (0), -- occupancyEmpty (1), -- occupancyVeryLow (2), -- occupancyLow (3), -- occupancyMed (4), -- occupancyHigh (5), -- occupancyNearlyFull (6), -- occupancyFull (7) -- } -- --TransitVehicleStatus ::= BIT STRING { -- loading (0), -- parking and unable to move at this time -- anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) -- aBikeLoad (2), -- loading of a bicycle is in progress -- doorOpen (3), -- a vehicle door is open for passenger access -- charging (4), -- a vehicle is connected to charging point -- atStopLine (5) -- a vehicle is at the stop line for the lane it is in -- } (SIZE(8)) -- --TransmissionState ::= ENUMERATED { -- neutral (0), -- Neutral -- park (1), -- Park -- forwardGears (2), -- Forward gears -- reverseGears (3), -- Reverse gears -- reserved1 (4), -- reserved2 (5), -- reserved3 (6), -- unavailable (7) -- not-equipped or unavailable value, -- -- Any related speed is relative to the vehicle reference frame used -- } -- --VehicleType ::= ENUMERATED { -- none (0), -- Not Equipped, Not known or unavailable -- unknown (1), -- Does not fit any other category -- special (2), -- Special use -- moto (3), -- Motorcycle -- car (4), -- Passenger car -- carOther (5), -- Four tire single units -- bus (6), -- Buses -- axleCnt2 (7), -- Two axle, six tire single units -- axleCnt3 (8), -- Three axle, single units -- axleCnt4 (9), -- Four or more axle, single unit -- axleCnt4Trailer (10), -- Four or less axle, single trailer -- axleCnt5Trailer (11), -- Five or less axle, single trailer -- axleCnt6Trailer (12), -- Six or more axle, single trailer -- axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer -- axleCnt6MultiTrailer (14), -- Six axle, multi-trailer -- axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer -- ... -- } -- --Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -- -- The value 8191 indicates that -- -- velocity is unavailable -- --WaitOnStopline ::= BOOLEAN -- -- -- True or False -- -- If "true", the vehicles on this specific connecting -- -- maneuver have to stop on the stop-line -- -- and not to enter the collision area -- --ZoneLength ::= INTEGER (0..10000) -- -- Unit = 1 meter, 0 = unknown, -- -- The value 10000 to be used for Distances >=10000 m -- -- (e.g. from known point to another point along a -- -- known path, often against traffic flow direction -- -- when used for measuring queues) -- --END -- - -Property changes on: IS/ISO_TS_19091.asn -___________________________________________________________________ -Deleted: svn:eol-style -## -1 +0,0 ## --native -\ No newline at end of property -Deleted: svn:keywords -## -1 +0,0 ## --URL Id -\ No newline at end of property -Deleted: svn:mime-type -## -1 +0,0 ## --text/plain -\ No newline at end of property -Index: IS/ISO_TS_24534_3.asn -=================================================================== ---- IS/ISO_TS_24534_3.asn (nonexistent) -+++ IS/ISO_TS_24534_3.asn (working copy) -@@ -0,0 +1,85 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 24534-3:2015 -+-- -+-- This ASN.1 was generateds: 30.08.2016 -+-- -+-- This document contains only the data element needed for the encoding of an IVI message -+-- as defined in ISO TS 19321(2015) -+-- -+-- Published version location: -+-- http://standards.iso.org/iso/24534/-3/ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+-- ISO 24534-3:2015 -+-- Version 29.4.2015 -+ -+ -+ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)} -+ -+ -+DEFINITIONS AUTOMATIC TAGS ::= BEGIN -+ -+-- Electronic Registration Identification (ERI)- Vehicle Data -+ -+EuVehicleCategoryCode ::= CHOICE { -+ euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999 -+ euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999 -+ euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999 -+ euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999 -+ euVehilcleCategoryT NULL, -- conforms to UNECE 1999 -+ euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999 -+ } -+ -+EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 } -+ -+EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3} -+ -+EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3} -+ -+EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4} -+ -+Iso3833VehicleType ::= INTEGER { -+ passengerCar (0), -- term No 3.1.1 -+ saloon (1), -- term No 3.1.1.1 (sedan) -+ convertibleSaloon (2), -- term No 3.1.1.2 -+ pullmanSaloon (3), -- term No 3.1.1.3 -+ stationWagon (4), -- term No 3.1.1.4 -+ truckStationWagon (5), -- term No 3.1.1.4.1 -+ coupe (6), -- term No 3.1.1.5 (coupé) -+ convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider) -+ multipurposePassengerCar (8), -- term No 3.1.1.7 -+ forwardControlPassengerCar (9), -- term No 3.1.1.8 -+ specialPassengerCar (10), -- term No 3.1.1.9 -+ bus (11), -- term No 3.1.2 -+ minibus (12), -- term No 3.1.2.1 -+ urbanBus (13), -- term No 3.1.2.2 -+ interurbanCoach (14), -- term No 3.1.2.3 -+ longDistanceCoach (15), -- term No 3.1.2.4 -+ articulatedBus (16), -- term No 3.1.2.5 -+ trolleyBus (17), -- term No 3.1.2.6 -+ specialBus (18), -- term No 3.1.2.7 -+ commercialVehicle (19), -- term No 3.1.3 -+ specialCommercialVehicle (20), -- term No 3.1.3.1 -+ specialVehicle (21), -- term No 3.1.4 -+ trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor) -+ semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor) -+ trailer (24), -- term No 3.2.1 -+ busTrailer (25), -- term No 3.2.1.1 -+ generalPurposeTrailer (26), -- term No 3.2.1.2 -+ caravan (27), -- term No 3.2.1.3 -+ specialTrailer (28), -- term No 3.2.1.4 -+ semiTrailer (29), -- term No 3.2.2 -+ busSemiTrailer (30), -- term No 3.2.2.1 -+ generalPurposeSemiTrailer (31), -- term No 3.2.2.2 -+ specialSemiTrailer (32), -- term No 3.2.2.3 -+ roadTrain (33), -- term No 3.3.1 -+ passengerRoadTrain (34), -- term No 3.3.2 -+ articulatedRoadTrain (35), -- term No 3.3.3 -+ doubleRoadTrain (36), -- term No 3.3.4 -+ compositeRoadTrain (37), -- term No 3.3.5 -+ specialRoadTrain (38), -- term No 3.3.6 -+ moped (39), -- term No 3.4 -+ motorCycle (40) -- term No 3.5 -+ } (0..255) -+ -+END - -Property changes on: IS/ISO_TS_24534_3.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/IVIM_PDU_Descriptions.asn -=================================================================== ---- IS/IVIM_PDU_Descriptions.asn (nonexistent) -+++ IS/IVIM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,26 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: IVI-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+IVIM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+IVIM ::= SEQUENCE { -+ header ItsPduHeader, -+ ivi IviStructure -+} -+ -+END - -Property changes on: IS/IVIM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/MAPEM_PDU_Desriptions.asn -=================================================================== ---- IS/MAPEM_PDU_Desriptions.asn (nonexistent) -+++ IS/MAPEM_PDU_Desriptions.asn (working copy) -@@ -0,0 +1,28 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: MAP-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+MAPEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY ISO's DSRC module is renamed to IS-DSRC -+--MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+MapData FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+MAPEM ::= SEQUENCE { -+ header ItsPduHeader, -+ map MapData -+} -+ -+END - -Property changes on: IS/MAPEM_PDU_Desriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/SPATEM_PDU_Descriptions.asn -=================================================================== ---- IS/SPATEM_PDU_Descriptions.asn (nonexistent) -+++ IS/SPATEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,134 @@ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SPAT-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SPATEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) spatem (0) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY ISO's DSRC module is renamed to IS-DSRC -+--SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+SPAT FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+SPATEM ::= SEQUENCE { -+ header ItsPduHeader, -+ spat SPAT -+} -+ -+END -+ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: MAP-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+MAPEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+MAPEM ::= SEQUENCE { -+ header ItsPduHeader, -+ map MapData -+} -+ -+END -+*/ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: IVI-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+IVIM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+IVIM ::= SEQUENCE { -+ header ItsPduHeader, -+ ivi IviStructure -+} -+ -+END -+*/ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SRM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SREM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+SREM ::= SEQUENCE { -+ header ItsPduHeader, -+ srm SignalRequestMessage -+} -+ -+END -+*/ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SSM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SSEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+SSEM ::= SEQUENCE { -+ header ItsPduHeader, -+ ssm SignalStatusMessage -+} -+ -+END -+*/ - -Property changes on: IS/SPATEM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/SREM_PDU_Descriptions.asn -=================================================================== ---- IS/SREM_PDU_Descriptions.asn (nonexistent) -+++ IS/SREM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,26 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SRM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SREM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY module name changed to IS-DSRC as DSRC already used in MAP_SPAT -+SignalRequestMessage FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+SREM ::= SEQUENCE { -+ header ItsPduHeader, -+ srm SignalRequestMessage -+} -+ -+END - -Property changes on: IS/SREM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/SSEM_PDU_Descriptions.asn -=================================================================== ---- IS/SSEM_PDU_Descriptions.asn (nonexistent) -+++ IS/SSEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,27 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SSM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SSEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY module name changed to IS-DSRC as DSRC already used in MAP_SPAT -+SignalStatusMessage FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+SSEM ::= SEQUENCE { -+ header ItsPduHeader, -+ ssm SignalStatusMessage -+} -+ -+END - -Property changes on: IS/SSEM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: ITS-Container/ITS_Container.asn -=================================================================== ---- ITS-Container/ITS_Container.asn (nonexistent) -+++ ITS-Container/ITS_Container.asn (working copy) -@@ -0,0 +1,498 @@ -+ITS-Container { -+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+ItsPduHeader ::= SEQUENCE { -+ protocolVersion INTEGER{currentVersion(1)} (0..255), -+ messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11) } (0..255), -- Mantis #7209, #7005 -+ stationID StationID -+} -+ -+StationID ::= INTEGER(0..4294967295) -+ -+ReferencePosition ::= SEQUENCE { -+ latitude Latitude, -+ longitude Longitude, -+ positionConfidenceEllipse PosConfidenceEllipse , -+ altitude Altitude -+} -+ -+DeltaReferencePosition ::= SEQUENCE { -+ deltaLatitude DeltaLatitude, -+ deltaLongitude DeltaLongitude, -+ deltaAltitude DeltaAltitude -+} -+ -+Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001) -+ -+Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001) -+ -+Altitude ::= SEQUENCE { -+ altitudeValue AltitudeValue, -+ altitudeConfidence AltitudeConfidence -+} -+ -+AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) -+ -+AltitudeConfidence ::= ENUMERATED { -+ alt-000-01 (0), -+ alt-000-02 (1), -+ alt-000-05 (2), -+ alt-000-10 (3), -+ alt-000-20 (4), -+ alt-000-50 (5), -+ alt-001-00 (6), -+ alt-002-00 (7), -+ alt-005-00 (8), -+ alt-010-00 (9), -+ alt-020-00 (10), -+ alt-050-00 (11), -+ alt-100-00 (12), -+ alt-200-00 (13), -+ outOfRange (14), -+ unavailable (15) -+} -+ -+DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072) -+ -+DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072) -+ -+DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800) -+ -+PosConfidenceEllipse ::= SEQUENCE { -+ semiMajorConfidence SemiAxisLength, -+ semiMinorConfidence SemiAxisLength, -+ semiMajorOrientation HeadingValue -+} -+ -+PathPoint ::= SEQUENCE { -+ pathPosition DeltaReferencePosition, -+ pathDeltaTime PathDeltaTime OPTIONAL -+} -+ -+PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) -+ -+PtActivation ::= SEQUENCE { -+ ptActivationType PtActivationType, -+ ptActivationData PtActivationData -+} -+ -+PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) -+ -+PtActivationData ::= OCTET STRING (SIZE(1..20)) -+ -+AccelerationControl ::= BIT STRING { -+ brakePedalEngaged (0), -+ gasPedalEngaged (1), -+ emergencyBrakeEngaged (2), -+ collisionWarningEngaged (3), -+ accEngaged (4), -+ cruiseControlEngaged (5), -+ speedLimiterEngaged (6) -+} (SIZE(7)) -+ -+ -+SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) -+ -+CauseCode ::= SEQUENCE { -+ causeCode CauseCodeType, -+ subCauseCode SubCauseCodeType -+} -+ -+CauseCodeType ::= INTEGER { -+ reserved (0), -+ trafficCondition (1), -+ accident (2), -+ roadworks (3), -+ adverseWeatherCondition-Adhesion (6), -+ hazardousLocation-SurfaceCondition (9), -+ hazardousLocation-ObstacleOnTheRoad (10), -+ hazardousLocation-AnimalOnTheRoad (11), -+ humanPresenceOnTheRoad (12), -+ wrongWayDriving (14), -+ rescueAndRecoveryWorkInProgress (15), -+ adverseWeatherCondition-ExtremeWeatherCondition (17), -+ adverseWeatherCondition-Visibility (18), -+ adverseWeatherCondition-Precipitation (19), -+ slowVehicle (26), -+ dangerousEndOfQueue (27), -+ vehicleBreakdown (91), -+ postCrash (92), -+ humanProblem (93), -+ stationaryVehicle (94), -+ emergencyVehicleApproaching (95), -+ hazardousLocation-DangerousCurve (96), -+ collisionRisk (97), -+ signalViolation (98), -+ dangerousSituation (99) -+} (0..255) -+ -+SubCauseCodeType ::= INTEGER (0..255) -+ -+TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) -+ -+AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) -+ -+RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) -+ -+HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) -+ -+WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) -+ -+AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) -+ -+AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) -+ -+AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) -+ -+AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) -+ -+SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) -+ -+StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) -+ -+HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) -+ -+EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) -+ -+HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) -+ -+HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) -+ -+HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) -+ -+HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) -+ -+ CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) -+ -+ SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) -+ -+RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) -+ -+DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) -+ -+DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) -+ -+VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8)} (0..255) -+ -+PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) -+ -+Curvature ::= SEQUENCE { -+ curvatureValue CurvatureValue, -+ curvatureConfidence CurvatureConfidence -+} -+ -+CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001) -+ -+CurvatureConfidence ::= ENUMERATED { -+ onePerMeter-0-00002 (0), -+ onePerMeter-0-0001 (1), -+ onePerMeter-0-0005 (2), -+ onePerMeter-0-002 (3), -+ onePerMeter-0-01 (4), -+ onePerMeter-0-1 (5), -+ outOfRange (6), -+ unavailable (7) -+} -+ -+CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} -+ -+Heading ::= SEQUENCE { -+ headingValue HeadingValue, -+ headingConfidence HeadingConfidence -+} -+ -+HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) -+ -+HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127) -+ -+LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), -+outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) -+ -+ClosedLanes ::= SEQUENCE { -+ hardShoulderStatus HardShoulderStatus OPTIONAL, -+ drivingLaneStatus DrivingLaneStatus, -+ ... -+} -+ -+HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} -+ -+DrivingLaneStatus ::= BIT STRING (SIZE (1..14)) -+ -+ -+PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) -+ -+SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) -+ -+SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) -+ -+VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) -+ -+Speed ::= SEQUENCE { -+ speedValue SpeedValue, -+ speedConfidence SpeedConfidence -+} -+ -+DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} -+ -+EmbarkationStatus ::= BOOLEAN -+ -+LongitudinalAcceleration ::= SEQUENCE { -+ longitudinalAccelerationValue LongitudinalAccelerationValue, -+ longitudinalAccelerationConfidence AccelerationConfidence -+} -+ -+LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) -+ -+AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) -+ -+LateralAcceleration ::= SEQUENCE { -+ lateralAccelerationValue LateralAccelerationValue, -+ lateralAccelerationConfidence AccelerationConfidence -+} -+ -+LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) -+ -+VerticalAcceleration ::= SEQUENCE { -+ verticalAccelerationValue VerticalAccelerationValue, -+ verticalAccelerationConfidence AccelerationConfidence -+} -+ -+VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) -+ -+StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), -+lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) -+ -+ExteriorLights ::= BIT STRING { -+ lowBeamHeadlightsOn (0), -+ highBeamHeadlightsOn (1), -+ leftTurnSignalOn (2), -+ rightTurnSignalOn (3), -+ daytimeRunningLightsOn (4), -+ reverseLightOn (5), -+ fogLightOn (6), -+ parkingLightsOn (7) -+} (SIZE(8)) -+ -+DangerousGoodsBasic::= ENUMERATED { -+ explosives1(0), -+ explosives2(1), -+ explosives3(2), -+ explosives4(3), -+ explosives5(4), -+ explosives6(5), -+ flammableGases(6), -+ nonFlammableGases(7), -+ toxicGases(8), -+ flammableLiquids(9), -+ flammableSolids(10), -+ substancesLiableToSpontaneousCombustion(11), -+ substancesEmittingFlammableGasesUponContactWithWater(12), -+ oxidizingSubstances(13), -+ organicPeroxides(14), -+ toxicSubstances(15), -+ infectiousSubstances(16), -+ radioactiveMaterial(17), -+ corrosiveSubstances(18), -+ miscellaneousDangerousSubstances(19) -+} -+ -+DangerousGoodsExtended ::= SEQUENCE { -+ dangerousGoodsType DangerousGoodsBasic, -+ unNumber INTEGER (0..9999), -+ elevatedTemperature BOOLEAN, -+ tunnelsRestricted BOOLEAN, -+ limitedQuantity BOOLEAN, -+ emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL, -+ phoneNumber IA5String (SIZE (1..24)) OPTIONAL, -+ companyName UTF8String (SIZE (1..24)) OPTIONAL -+} -+ -+SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) -+ -+LightBarSirenInUse ::= BIT STRING { -+ lightBarActivated (0), -+ sirenActivated (1) -+} (SIZE(2)) -+ -+HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) -+ -+PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) -+ -+PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) -+ -+PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) -+ -+RequestResponseIndication ::= ENUMERATED {request(0), response(1)} -+ -+SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) -+ -+StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} -+ -+Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67) -+ -+TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... -+} -+ -+WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) -+ -+TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) -+ -+PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) -+ -+PositionOfOccupants ::= BIT STRING { -+ row1LeftOccupied (0), -+ row1RightOccupied (1), -+ row1MidOccupied (2), -+ row1NotDetectable (3), -+ row1NotPresent (4), -+ row2LeftOccupied (5), -+ row2RightOccupied (6), -+ row2MidOccupied (7), -+ row2NotDetectable (8), -+ row2NotPresent (9), -+ row3LeftOccupied (10), -+ row3RightOccupied (11), -+ row3MidOccupied (12), -+ row3NotDetectable (13), -+ row3NotPresent (14), -+ row4LeftOccupied (15), -+ row4RightOccupied (16), -+ row4MidOccupied (17), -+ row4NotDetectable (18), -+ row4NotPresent (19)} (SIZE(20)) -+ -+PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} -+ -+VehicleIdentification ::= SEQUENCE { -+ wMInumber WMInumber OPTIONAL, -+ vDS VDS OPTIONAL, -+ ... -+} -+ -+WMInumber ::= IA5String (SIZE(1..3)) -+ -+VDS ::= IA5String (SIZE(6)) -+ -+EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) -+ -+VehicleLength ::= SEQUENCE { -+ vehicleLengthValue VehicleLengthValue, -+ vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication -+} -+ -+VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) -+ -+VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} -+ -+VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) -+ -+PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint -+ -+EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) -+ -+InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) -+ -+RoadType ::= ENUMERATED { -+ urban-NoStructuralSeparationToOppositeLanes(0), -+ urban-WithStructuralSeparationToOppositeLanes(1), -+ nonUrban-NoStructuralSeparationToOppositeLanes(2), -+ nonUrban-WithStructuralSeparationToOppositeLanes(3)} -+ -+SteeringWheelAngle ::= SEQUENCE { -+ steeringWheelAngleValue SteeringWheelAngleValue, -+ steeringWheelAngleConfidence SteeringWheelAngleConfidence -+} -+ -+SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) -+ -+SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127) -+ -+TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) -+ -+VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8),commercial(9),military(10),roadOperator(11),taxi(12), reserved1(13), reserved2(14), reserved3(15)} -+ -+YawRate::= SEQUENCE { -+ yawRateValue YawRateValue, -+ yawRateConfidence YawRateConfidence -+} -+ -+YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) -+ -+YawRateConfidence ::= ENUMERATED { -+ degSec-000-01 (0), -+ degSec-000-05 (1), -+ degSec-000-10 (2), -+ degSec-001-00 (3), -+ degSec-005-00 (4), -+ degSec-010-00 (5), -+ degSec-100-00 (6), -+ outOfRange (7), -+ unavailable (8) -+} -+ -+ProtectedZoneType::= ENUMERATED { cenDsrcTolling (0), ... } -+ -+RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} -+ -+RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} -+ -+TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) -+ -+ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) -+ -+ActionID ::= SEQUENCE { -+ originatingStationID StationID, -+ sequenceNumber SequenceNumber -+} -+ -+ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition -+ -+ProtectedCommunicationZone ::= SEQUENCE { -+ protectedZoneType ProtectedZoneType, -+ expiryTime TimestampIts OPTIONAL, -+ protectedZoneLatitude Latitude, -+ protectedZoneLongitude Longitude, -+ protectedZoneRadius ProtectedZoneRadius OPTIONAL, -+ protectedZoneID ProtectedZoneID OPTIONAL -+} -+ -+Traces ::= SEQUENCE SIZE(1..7) OF PathHistory -+ -+NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) -+ -+SequenceNumber ::= INTEGER (0..65535) -+ -+PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar -+ -+RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType -+ -+EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint -+ -+EventPoint ::= SEQUENCE { -+ eventPosition DeltaReferencePosition, -+ eventDeltaTime PathDeltaTime OPTIONAL, -+ informationQuality InformationQuality -+} -+ -+ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone -+ -+ -+ -+CenDsrcTollingZone ::= SEQUENCE { -+ protectedZoneLatitude Latitude, -+ protectedZoneLongitude Longitude, -+ cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL -+} -+ -+ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) -+ -+ProtectedZoneID ::= INTEGER (0.. 134217727) -+ -+CenDsrcTollingZoneID ::= ProtectedZoneID -+ -+END diff --git a/patches/titanization_asn1_LibIts.patch b/patches/titanization_asn1_LibIts.patch deleted file mode 100644 index 3fb0726f261851ce7b3d90f752890982c0d7a808..0000000000000000000000000000000000000000 --- a/patches/titanization_asn1_LibIts.patch +++ /dev/null @@ -1,6318 +0,0 @@ -Index: EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn -=================================================================== ---- EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn (nonexistent) -+++ EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,157 @@ -+EV-RechargingSpotReservation-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+ ItsPduHeader FROM ITS-Container { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -+}; -+ -+EV-RSR ::= SEQUENCE { -+ header ItsPduHeader, -+ messageBody EV-RSR-MessageBody -+} -+ -+EV-RSR-MessageBody ::= CHOICE { -+ preReservationRequestMessage PreReservationRequestMessage, -+ preReservationResponseMessage PreReservationResponseMessage, -+ reservationRequestMessage ReservationRequestMessage, -+ reservationResponseMessage ReservationResponseMessage, -+ cancellationRequestMessage CancellationRequestMessage, -+ cancellationResponseMessage CancellationResponseMessage, -+ updateRequestMessage UpdateRequestMessage, -+ updateResponseMessage UpdateResponseMessage, -+... -+} -+ -+PreReservationRequestMessage ::= SEQUENCE { -+ evse-ID EVSE-ID, -+ arrivalTime TimestampUTC, -+ departureTime TimestampUTC OPTIONAL, -+ rechargingType RechargingType, -+ batteryType BatteryType OPTIONAL, -+ ... -+} -+ -+PreReservationResponseMessage ::= SEQUENCE { -+ preReservation-ID PreReservation-ID, -+ availabilityStatus AvailabilityStatus, -+ preReservationExpirationTime TimestampUTC, -+ supportedPaymentTypes SupportedPaymentTypes, -+ ... -+} -+ -+ReservationRequestMessage ::= SEQUENCE { -+ currentTime TimestampUTC, -+ preReservation-ID PreReservation-ID, -+ arrivalTime TimestampUTC, -+ departureTime TimestampUTC OPTIONAL, -+ eAmount EAmount, -+ eAmountMin EAmount, -+ paymentType PaymentType, -+ payment-ID Payment-ID, -+ secondPayment-ID Payment-ID OPTIONAL, -+ pairing-ID Pairing-ID OPTIONAL, -+ ... -+} -+ -+ReservationResponseMessage ::= SEQUENCE { -+ reservationResponseCode ReservationResponseCode, -+ reservation-ID Reservation-ID OPTIONAL, -+ reservation-Password Reservation-Password OPTIONAL, -+ stationDetails StationDetails OPTIONAL, -+ chargingSpotLabel ChargingSpotLabel OPTIONAL, -+ expirationTime TimestampUTC, -+ freeCancelTimeLimit TimestampUTC OPTIONAL, -+ ... -+} -+ -+CancellationRequestMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ reservation-Password Reservation-Password, -+ currentTime TimestampUTC, -+ ... -+} -+ -+CancellationResponseMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ cancellationResponseCode CancellationResponseCode, -+ ... -+} -+ -+UpdateRequestMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ reservation-Password Reservation-Password, -+ updatedArrivalTime TimestampUTC, -+ updatedDepartureTime TimestampUTC, -+ ... -+} -+ -+UpdateResponseMessage ::= SEQUENCE { -+ reservation-ID Reservation-ID, -+ updateResponseCode UpdateResponseCode, -+ chargingSpotLabel ChargingSpotLabel OPTIONAL, -+ ... -+} -+ -+ -+ -+AvailabilityStatus ::= ENUMERATED { available, no-free-capacity } -+ -+BatteryType ::= UTF8String (SIZE(1..16)) -+ -+CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password } -+ -+ChargingSpotLabel ::= UTF8String (SIZE(1..4)) -+ -+ContractID ::= UTF8String (SIZE(1..24)) -+ -+EAmount ::= INTEGER { oneWh(1) } (1..500000) -+ -+ChargingPower ::= INTEGER { oneW(1) } (1..200000) -+ -+EVSE-ID ::= OCTET STRING (SIZE(1..32)) -+ -+ExternalIdentificationMeans ::= UTF8String (SIZE(1..24)) -+ -+Pairing-ID ::= VisibleString (SIZE(1..64)) -+ -+PaymentType ::= ENUMERATED {contract, externalIdentification} -+ -+Payment-ID ::= CHOICE { -+ contractID ContractID, -+ externalIdentificationMeans ExternalIdentificationMeans -+} -+ -+RechargingType ::= SEQUENCE { -+ rechargingMode RechargingMode, -+ powerSource PowerSource -+} -+ -+RechargingMode ::= INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15) -+ -+PowerSource::= INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7) -+ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability } -+ -+Reservation-ID ::= VisibleString (SIZE(8)) -+ -+PreReservation-ID ::= Reservation-ID -+ -+Reservation-Password ::= VisibleString (SIZE(8)) -+ -+ -+StationDetails ::= UTF8String (SIZE(1..32)) -+ -+SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2)) -+ -+TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) } -+ -+UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time } -+ -+StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID } -+ -+END -\ No newline at end of file -Index: EVCSN/EVCSN_PDU_Descriptions.asn -=================================================================== ---- EVCSN/EVCSN_PDU_Descriptions.asn (nonexistent) -+++ EVCSN/EVCSN_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,102 @@ -+-- Point of Interest (POI) notification for charging spot -+-- for electric vehicle -+-- EVCSN Message definition -+-- ASN.1 Start Definition -+ -+EVCSN-PDU-Descriptions { -+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) -+wg1 (1) ts (101556) evcsn (1) version (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+ ItsPduHeader, -+ StationID, -+ TimestampIts, -+ ReferencePosition -+FROM ITS-Container { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -+}; -+ -+-- Root Message PDU: EvcsnPdu -+ -+EvcsnPdu ::= SEQUENCE { -+ header ItsPduHeader, -+ evcsn EVChargingSpotNotificationPOIMessage -+} -+ -+EVChargingSpotNotificationPOIMessage ::= SEQUENCE { -+ poiHeader ItsPOIHeader, -- Specific POI Message Header -+ evcsnData ItsEVCSNData -- Electric Vehicle Charging Spot Data Elements -+} -+ -+ItsPOIHeader ::= SEQUENCE { -+ poiType POIType, -- set to "EV charging station POI ID = 1" -+ timeStamp TimestampIts, -+ relayCapable BOOLEAN -+} -+ -+ -+ItsEVCSNData ::= SEQUENCE { -+ totalNumberOfStations NumberStations, -+ chargingStationsData SEQUENCE (SIZE(1..256)) OF ItsChargingStationData -+} -+ -+ItsChargingStationData ::= SEQUENCE { -+ chargingStationID StationID, -+ utilityDistributorId UTF8String (SIZE(1..32)) OPTIONAL, -+ providerID UTF8String (SIZE(1..32)) OPTIONAL, -+ chargingStationLocation ReferencePosition, -+ address UTF8String OPTIONAL, -+ phoneNumber NumericString (SIZE(1..16)) OPTIONAL, -+ accessibility UTF8String (SIZE(1..32)), -+ digitalMap DigitalMap OPTIONAL, -+ openingDaysHours UTF8String, -+ pricing UTF8String, -+ bookingContactInfo UTF8String OPTIONAL, -+ payment UTF8String OPTIONAL, -+ chargingSpotsAvailable ItsChargingSpots, -+ ... -+} -+ -+ -+ItsChargingSpots ::= SEQUENCE (SIZE(1..16)) OF ItsChargingSpotDataElements -+ -+ -+ItsChargingSpotDataElements ::= SEQUENCE { -+ type ChargingSpotType, -+ evEquipmentID UTF8String OPTIONAL, -+ typeOfReceptacle TypeOfReceptacle, -+ energyAvailability UTF8String, -+ parkingPlacesData ParkingPlacesData OPTIONAL -+} -+ -+DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition -+ -+ChargingSpotType ::= BIT STRING { -+ standardChargeMode1(0), -+ standardChargeMode2(1), -+ standardOrFastChargeMode3(2), -+ fastChargeWithExternalCharger(3), -+ quickDrop(8), -+ inductiveChargeWhileStationary(12), -+ inductiveChargeWhileDriving(14) -+} -+ -+TypeOfReceptacle ::= BIT STRING -+ -+ParkingPlacesData ::= SEQUENCE (SIZE(1..4)) OF SpotAvailability -+ -+SpotAvailability ::= SEQUENCE { -+ maxWaitingTimeMinutes INTEGER (0..1400), -- 0 if available or max waiting -+ -- time (minutes) -+ blocking BOOLEAN -- true if the spot can be blocked -+} -+ -+POIType ::= INTEGER(0..65535) -+NumberStations ::= INTEGER(1..256) -+ -+END -\ No newline at end of file -Index: IS/AddGrpC.asn -=================================================================== ---- IS/AddGrpC.asn (nonexistent) -+++ IS/AddGrpC.asn (working copy) -@@ -0,0 +1,111 @@ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: AddGrpC -+-- ISO TS 19091 Oct 2015 v0910 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -+ -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+--FIXME RGY all definitions are moved to IS-DSRC-noCircular to cut circular import loop -+--NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC -+NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM IS-DSRC-REGION-noCircular -+Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+ConnectionManeuverAssist-addGrpC ::= SEQUENCE { -+ vehicleToLanePositions VehicleToLanePositionList OPTIONAL, -+ rsuGNSSOffset NodeOffsetPointXY OPTIONAL -+} -+ -+ConnectionTrajectory-addGrpC ::= SEQUENCE { -+ nodes NodeSetXY, -+ ... -+} -+ -+/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop -+Control-addGrpC ::= SEQUENCE { -+ ptvRequest PtvRequestType, -+ ... -+} -+*/ -+ -+IntersectionState-addGrpC ::= SEQUENCE { -+ activePrioritizations PrioritizationResponseList OPTIONAL, -+ ... -+} -+ -+MapData-addGrpC ::= SEQUENCE { -+ signalHeadLocations SignalHeadLocationList OPTIONAL, -+ ... -+} -+ -+Position3D-addGrpC ::= SEQUENCE { -+ altitude Altitude, -+ ... -+} -+ -+PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse -+ -+PrioritizationResponse ::= SEQUENCE { -+ stationed StationID, -+ priorState PrioritizationResponseStatus, -+ signalGroup SignalGroupID, -+ ... -+} -+ -+RestrictionUserType-addGrpC ::= SEQUENCE { -+ emission EmissionType OPTIONAL, -+ ... -+} -+ -+SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation -+ -+SignalHeadLocation ::= SEQUENCE { -+ nodeXY NodeOffsetPointXY, -+ nodeZ DeltaAltitude, -+ signalGroupID SignalGroupID, -+ ... -+} -+ -+SignalStatusPackage-addGrpC ::= SEQUENCE { -+ synchToSchedule DeltaTime OPTIONAL, -+ ... -+} -+ -+ -+VehicleToLanePositionList ::= SEQUENCE SIZE(1..5) OF VehicleToLanePosition -+ -+VehicleToLanePosition ::= SEQUENCE { -+ stationID StationID, -+ laneID LaneID, -+ timeReference TimeReference OPTIONAL, -+ ... -+} -+EmissionType ::= ENUMERATED { -+ euro1, -+ euro2, -+ euro3, -+ euro4, -+ euro5, -+ euro6, -+ ... -+} -+ -+/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop -+PtvRequestType ::= ENUMERATED { -+ preRequest, -+ mainRequest, -+ doorCloseRequest, -+ cancelRequest, -+ emergencyRequest, -+ ... -+} -+*/ -+ -+TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) -+ -+END - -Property changes on: IS/AddGrpC.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/AddGrpC_noCircular.asn -=================================================================== ---- IS/AddGrpC_noCircular.asn (nonexistent) -+++ IS/AddGrpC_noCircular.asn (working copy) -@@ -0,0 +1,30 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: AddGrpC -+-- ISO TS 19091 Oct 2015 v0910 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY definitions are moved here from AddGrpC; created to cut circular import loops amongst ASN.1 files -+AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -+ -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+ -+Control-addGrpC ::= SEQUENCE { -+ ptvRequest PtvRequestType, -+ ... -+} -+ -+PtvRequestType ::= ENUMERATED { -+ preRequest, -+ mainRequest, -+ doorCloseRequest, -+ cancelRequest, -+ emergencyRequest, -+ ... -+} -+ -+END - -Property changes on: IS/AddGrpC_noCircular.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/EfcModule.asn -=================================================================== ---- IS/EfcModule.asn (nonexistent) -+++ IS/EfcModule.asn (working copy) -@@ -0,0 +1,139 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 14906 -+-- -+-- -+-- -+-- This document contains only the data element needed for the encoding of an IVI message -+-- as defined in ISO TS 19321(2015) -+-- -+-- Published version location: -+-- http://standards.iso.org/iso/14906/old/ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+EfcModule {iso standard 14906 modules(0) efc(0) version(1)} DEFINITIONS -+ -+AUTOMATIC TAGS -+::= BEGIN -+--EXPORTS ALL; -+-- IMPORTS CountryCode, CS5, IssuerIdentifier FROM AVIAEINumberingAndDataStructures{iso(1) standard(0) 14816 } -+IMPORTS CountryCode, IssuerIdentifier FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}; -+-- defined in ISO 14816 -- -+-- Container, AttributeIdList, Attributes, AttributeList FROM DSRCData{iso standard 14906 modules (0) dsrc (1) version (1)}; -+-- NOTE: The following are the definitions of the action and response -+-- parameters -+ -+AxleWeightLimits ::= SEQUENCE{ -+ maxLadenweightOnAxle1 Int2, -+ maxLadenweightOnAxle2 Int2, -+ maxLadenweightOnAxle3 Int2, -+ maxLadenweightOnAxle4 Int2, -+ maxLadenweightOnAxle5 Int2 -+} -+ -+-- Fritz include -+DieselEmissionValues::= SEQUENCE { -+ particulate SEQUENCE { -+ unitType UnitType, -+ value INTEGER (0..32767) -+ }, -+ absorptionCoeff Int2 -+} -+ -+-- Fritz include -+EnvironmentalCharacteristics::= SEQUENCE { -+ euroValue EuroValue, -+ copValue CopValue -+} -+ -+EuroValue::= ENUMERATED { -+ noEntry (0), -+ euro-1 (1), -+ euro-2 (2), -+ euro-3 (3), -+ euro-4 (4), -+ euro-5 (5), -+ euro-6 (6), -+ reservedForUse1 (7), -+ reservedForUse2 (8), -+ reservedForUse3 (9), -+ reservedForUse4 (10), -+ reservedForUse5 (11), -+ reservedForUse6 (12), -+ reservedForUse7 (13), -+ reservedForUse8 (14), -+ reservedForUse9 (15) -+} -- 4 bits, EURO-Clases as defined in EC directive 88/77/EEC, annex 1 -+-- and in 91/542/EEC, 96/1/EC, 1999/96/EC, 2001/27/EC -+ -+CopValue::= ENUMERATED { -+ noEntry (0), -+ co2class1 (1), -- below 101 g/km -+ co2class2 (2), -- 101 to 120 g/km -+ co2class3 (3), -- 121 to 140 g/km -+ co2class4 (4), -- 141 to 160 g/km -+ co2class5 (5), -- 161 to 200 g/km -+ co2class6 (6), -- 201 to 250 g/km -+ co2class7 (7), -- above 250 g/km -+ reservedforUse (8) -- reserved for future CEN and ISO use -+} -- 4 bits, reserved for carbon dioxide pollution values as defined in -+-- EC directive 2003/127/EC' -+ -+-- Fritz include -+EngineCharacteristics::= INTEGER { -+ noEntry (0), -+ noEngine (1), -+ petrolUnleaded (2), -+ petrolLeaded (3), -+ diesel (4), -+ lPG (5), -+ battery (6), -+ solar (7) -+ -- (8-255) are reserved for future CEN use -+} (0..255) -+ -+-- Fritz include -+ExhaustEmissionValues ::= SEQUENCE { -+ unitType UnitType, -+ emissionCO INTEGER (0.. 32767), -+ emissionHC Int2, -+ emissionNOX Int2, -+ emissionHCNOX Int2 -+} -+ -+Int1 ::= INTEGER(0..255) -+ -+Int2 ::= INTEGER(0..65535) -+ -+-- Fritz include -+PassengerCapacity ::= SEQUENCE{ -+ numberOfSeats Int1, -+ numberOfStandingPlaces Int1 -+} -+ -+Provider ::= SEQUENCE { -- Fritz include -+countryCode CountryCode, -+providerIdentifier IssuerIdentifier -+} -+ -+SoundLevel ::= SEQUENCE{ -- fritz include -+soundstationary Int1, -+sounddriveby Int1 -+} -+ -+UnitType ::=ENUMERATED { -+ mg-km (0), -+ mg-kWh (1) -+} -+ -+VehicleDimensions ::= SEQUENCE { -- Fritz include -+vehicleLengthOverall Int1, -+vehicleHeigthOverall Int1, -+vehicleWidthOverall Int1 -+} -+ -+VehicleWeightLimits ::= SEQUENCE { -- fritz include -+vehicleMaxLadenWeight Int2, -+vehicleTrainMaximumWeight Int2, -+vehicleWeightUnladen Int2 -+} -+END - -Property changes on: IS/EfcModule.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/ETSI_TS_103301.asn -=================================================================== ---- IS/ETSI_TS_103301.asn (revision 1297) -+++ IS/ETSI_TS_103301.asn (nonexistent) -@@ -1,146 +0,0 @@ ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- ETSI TS 103 301 ---- ---- This ASN.1 was generated: 30.08.2016 ---- ---- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message ---- as defined in ETSI TS 103 301 ---- ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: SPAT-MESSAGE-PDU-Descriptions ---- ---- This ASN.1 was created: 30.08.2016 ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --SPATEM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) spatem (0) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- -- --SPATEM ::= SEQUENCE { -- header ItsPduHeader, -- spat SPAT --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: MAP-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --MAPEM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -- -- --MAPEM ::= SEQUENCE { -- header ItsPduHeader, -- map MapData --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: IVI-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --IVIM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -- -- --IVIM ::= SEQUENCE { -- header ItsPduHeader, -- ivi IviStructure --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: SRM-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --SREM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- --SREM ::= SEQUENCE { -- header ItsPduHeader, -- srm SignalRequestMessage --} -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: SSM-MESSAGE-PDU-Descriptions ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --SSEM-PDU-Descriptions { -- itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1) --} -- --DEFINITIONS AUTOMATIC TAGS ::= -- --BEGIN -- --IMPORTS --SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } --ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- -- --SSEM ::= SEQUENCE { -- header ItsPduHeader, -- ssm SignalStatusMessage --} -- --END -- - -Property changes on: IS/ETSI_TS_103301.asn -___________________________________________________________________ -Deleted: svn:eol-style -## -1 +0,0 ## --native -\ No newline at end of property -Deleted: svn:keywords -## -1 +0,0 ## --URL Id -\ No newline at end of property -Deleted: svn:mime-type -## -1 +0,0 ## --text/plain -\ No newline at end of property -Index: IS/IS_DSRC.asn -=================================================================== ---- IS/IS_DSRC.asn (nonexistent) -+++ IS/IS_DSRC.asn (working copy) -@@ -0,0 +1,1906 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: DSRC -+-- ISO TS 19091 Oct 2015 v0909 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY renamed from DSRC, as module DSRC already exists in MAP-SPAT -+IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+--FIXME RGY definitions moved to module IS-DSRC-REGION-noCircular are commented our below -+StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -+Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, -+Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, /*Reg-LaneDataAttribute,*/ Reg-MovementEvent, Reg-MovementState, -+/*Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,*/ Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, -+--FIXME RGY module name changed to IS-REGION as REGION already used in MAP_SPAT -+--Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)}; -+Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM IS-REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} -+ -+--FIXME RGY definitions moved to IS-DSRC-REGION-noCircular but also refernced here are re-imported -+DeltaAngle, DeltaTime, LaneID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity, -+Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY FROM IS-DSRC-REGION-noCircular -+Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)} -+; -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Messages... -+-- This table typicaly contains message entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+MessageFrame ::= SEQUENCE { -+ messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), -+ value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), -+ ... -+ } -+ -+MESSAGE-ID-AND-TYPE ::= CLASS { -+ &id DSRCmsgID UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+MessageTypes MESSAGE-ID-AND-TYPE ::= { -+ { MapData IDENTIFIED BY mapData } | -+ { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | -+ { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | -+ { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, -+ ... -- Expansion to be used only by the SAE J2735 DSRC TC -+ } -+ -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+-- Regional extensions support -+REG-EXT-ID-AND-TYPE ::= CLASS { -+ &id RegionId UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -+ regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -+ regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -+ } -+*/ -+ -+SPAT ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ name DescriptiveName OPTIONAL, -+ -- human readable name for this collection -+ -- to be used only in debug mode -+ -+ intersections IntersectionStateList, -+ -- sets of SPAT data (one per intersection) -+ -+ -- If PrioritizationResponse data is required, it is found -+ -- in the RegionalSPAT entry below -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SPAT}} OPTIONAL, -+ ... -+ } -+ -+SignalRequestMessage ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ second DSecond, -+ sequenceNumber MsgCount OPTIONAL, -+ -+ requests SignalRequestList OPTIONAL, -+ -- Request Data for one or more signalized -+ -- intersections that support SRM dialogs -+ -+ requestor RequestorDescription, -+ -- Requesting Device and other User Data -+ -- contains vehicle ID (if from a vehicle) -+ -- as well as type data and current position -+ -- and may contain additional transit data -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, -+ ... -+} -+ -+SignalStatusMessage ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ second DSecond, -+ sequenceNumber MsgCount OPTIONAL, -+ -+ -- Status Data for one of more signalized intersections -+ status SignalStatusList, -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, -+ ... -+} -+ -+MapData ::= SEQUENCE { -+ timeStamp MinuteOfTheYear OPTIONAL, -+ msgIssueRevision MsgCount, -+ layerType LayerType OPTIONAL, -+ layerID LayerID OPTIONAL, -+ intersections IntersectionGeometryList OPTIONAL, -+ -- All Intersection definitions -+ roadSegments RoadSegmentList OPTIONAL, -+ -- All roadway descriptions -+ -+ dataParameters DataParameters OPTIONAL, -+ -- Any meta data regarding the map contents -+ -+ restrictionList RestrictionClassList OPTIONAL, -+ -- Any restriction ID tables which have -+ -- established for these map entries -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MapData}} OPTIONAL, -+ -+ -- NOTE: -+ -- Other map data will be added here as it is defined -+ -- Examples of the type of content to be added include -+ -- curve warnings, construction routes, etc. -+ ... -+} -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Data_Frames... -+-- This table typicaly contains data frame entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+AdvisorySpeed ::= SEQUENCE { -+ type AdvisorySpeedType, -+ -- the type of advisory which this is. -+ speed SpeedAdvice OPTIONAL, -+ -- See Section 11 for converting and translating speed -+ -- expressed in mph into units of m/s -+ -- This element is optional ONLY when superceded -+ -- by the presence of a regional speed element found in -+ -- Reg-AdvisorySpeed entry -+ confidence SpeedConfidence OPTIONAL, -+ -- A confidence value for the above speed -+ distance ZoneLength OPTIONAL, -+ -- Unit = 1 meter, -+ -- The distance indicates the region for which the advised speed -+ -- is recommended, it is specified upstream from the stop bar -+ -- along the connected egressing lane -+ class RestrictionClassID OPTIONAL, -+ -- the vehicle types to which it applies -+ -- when absent, the AdvisorySpeed applies to -+ -- all motor vehicle types -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, -+ ... -+ } -+ -+AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed -+ -+ComputedLane ::= SEQUENCE { -+ -- Data needed to created a computed lane -+ referenceLaneId LaneID, -+ -- the lane ID upon which this -+ -- computed lane will be based -+ -- Lane Offset in X and Y direction -+ offsetXaxis CHOICE { -+ small DrivenLineOffsetSm, -+ large DrivenLineOffsetLg -+ }, -+ offsetYaxis CHOICE { -+ small DrivenLineOffsetSm, -+ large DrivenLineOffsetLg -+ }, -+ -- A path X offset value for translations of the -+ -- path's points when creating translated lanes. -+ -- The values found in the reference lane are -+ -- all offset based on the X and Y values from -+ -- the coordinates of the reference lane's -+ -- initial path point. -+ -- Lane Rotation -+ rotateXY Angle OPTIONAL, -+ -- A path rotation value for the entire lane -+ -- Observe that this rotates the existing orientation -+ -- of the referenced lane, it does not replace it. -+ -- Rotation occurs about the initial path point. -+ -- Lane Path Scale (zooming) -+ scaleXaxis Scale-B12 OPTIONAL, -+ scaleYaxis Scale-B12 OPTIONAL, -+ -- value for translations or zooming of the path's -+ -- points. The values found in the reference lane -+ -- are all expanded or contracted based on the X -+ -- and Y and width values from the coordinates of -+ -- the reference lane's initial path point. -+ -- The Z axis remains untouched. -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-ComputedLane}} OPTIONAL, -+ ... -+ } -+ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection -+ -+ConnectingLane ::= SEQUENCE { -+ lane LaneID, -- Index of the connecting lane -+ maneuver AllowedManeuvers OPTIONAL -+ -- The Maneuver between -+ -- the enclosing lane and this lane -+ -- at the stop line to connect them -+ } -+ -+ -+Connection ::= SEQUENCE { -+ -- The subject lane connecting to this lane is: -+ connectingLane ConnectingLane, -+ -- The index of the connecting lane and also -+ -- the maneuver from the current lane to it -+ remoteIntersection IntersectionReferenceID OPTIONAL, -+ -- This entry is only used when the -+ -- indicated connecting lane belongs -+ -- to another intersection layout. This -+ -- provides a means to create meshes of lanes -+ -+ -- SPAT mapping details at the stop line are: -+ signalGroup SignalGroupID OPTIONAL, -+ -- The matching signal group send by -+ -- the SPAT message for this lane/maneuver. -+ -- Shall be present unless the connectingLane -+ -- has no signal group (is un-signalized) -+ userClass RestrictionClassID OPTIONAL, -+ -- The Restriction Class of users this applies to -+ -- The use of some lane/maneuver and SignalGroupID -+ -- pairings are restricted to selected users. -+ -- When absent, the SignalGroupID applies to all -+ -+ -- Movement assist details are given by: -+ connectionID LaneConnectionID OPTIONAL -+ -- An optional connection index used to -+ -- relate this lane connection to any dynamic -+ -- clearance data in the SPAT. Note that -+ -- the index may be shared with other -+ -- connections if the clearance data is common -+ } -+ -+ -+ConnectionManeuverAssist ::= SEQUENCE { -+ connectionID LaneConnectionID, -+ -- the common connectionID used by all lanes to which -+ -- this data applies -+ -- (this value traces to ConnectsTo entries in lanes) -+ -- Expected Clearance Information -+ queueLength ZoneLength OPTIONAL, -+ -- Unit = 1 meter, 0 = no queue -+ -- The distance from the stop line to the back -+ -- edge of the last vehicle in the queue, -+ -- as measured along the lane center line. -+ availableStorageLength ZoneLength OPTIONAL, -+ -- Unit = 1 meter, 0 = no space remains -+ -- Distance (e.g. beginning from the downstream -+ -- stop-line up to a given distance) with a high -+ -- probability for successfully executing the -+ -- connecting maneuver between the two lanes -+ -- during the current cycle. -+ -- Used for enhancing the awareness of vehicles -+ -- to anticipate if they can pass the stop line -+ -- of the lane. Used for optimizing the green wave, -+ -- due to knowledge of vehicles waiting in front -+ -- of a red light (downstream). -+ -- The element nextTime in TimeChangeDetails -+ -- in the containing data frame contains the next -+ -- timemark at which an active phase is expected, -+ -- a form of storage flush interval. -+ waitOnStop WaitOnStopline OPTIONAL, -+ -- If "true", the vehicles on this specific connecting -+ -- maneuver have to stop on the stop-line and not -+ -- to enter the collision area -+ pedBicycleDetect PedestrianBicycleDetect OPTIONAL, -+ -- true if ANY ped or bicycles are detected crossing -+ -- the above lanes. Set to false ONLY if there is a -+ -- high certainty that there are none present, -+ -- otherwise element is not sent. -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, -+ ... -+ } -+ -+DataParameters ::= SEQUENCE { -+ processMethod IA5String(SIZE(1..255)) OPTIONAL, -+ processAgency IA5String(SIZE(1..255)) OPTIONAL, -+ lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, -+ geoidUsed IA5String(SIZE(1..255)) OPTIONAL, -+ ... -+ } -+ -+EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID -+ -- The unique ID numbers for each -+ -- lane object which is 'active' -+ -- as part of the dynamic map contents. -+ -+GenericLane ::= SEQUENCE { -+ laneID LaneID, -+ -- The unique ID number assigned -+ -- to this lane object -+ name DescriptiveName OPTIONAL, -+ -- often for debug use only -+ -- but at times used to name ped crossings -+ ingressApproach ApproachID OPTIONAL, -- inbound -+ egressApproach ApproachID OPTIONAL, -- outbound -+ -- Approach IDs to which this lane belongs -+ laneAttributes LaneAttributes, -+ -- All Attribute information about -+ -- the basic selected lane type -+ -- Directions of use, Geometric co-sharing -+ -- and Type Specific Attributes -+ -- These Attributes are 'lane - global' that is, -+ -- they are true for the entire length of the lane -+ maneuvers AllowedManeuvers OPTIONAL, -+ -- the permitted maneuvers for this lane -+ nodeList NodeListXY, -+ -- Lane spatial path information as well as -+ -- various Attribute information along the node path -+ -- Attributes found here are more general and may -+ -- come and go over the length of the lane. -+ connectsTo ConnectsToList OPTIONAL, -+ -- a list of other lanes and their signal group IDs -+ -- each connecting lane and its signal group ID -+ -- is given, therefore this element provides the -+ -- information formerly in "signalGroups" in prior -+ -- editions. -+ overlays OverlayLaneList OPTIONAL, -+ -- A list of any lanes which have spatial paths that -+ -- overlay (run on top of, and not simply cross) -+ -- the path of this lane when used -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-GenericLane}} OPTIONAL, -+ ... -+ } -+ -+IntersectionAccessPoint ::= CHOICE { -+ lane LaneID, -+ approach ApproachID, -+ connection LaneConnectionID, -+ ... -+ } -+ -+IntersectionGeometry ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ -- For debug use only -+ id IntersectionReferenceID, -+ -- A globally unique value set, -+ -- consisting of a regionID and -+ -- intersection ID assignment -+ revision MsgCount, -+ -+ -- Required default values about lane descriptions follow -+ refPoint Position3D, -- The reference from which subsequent -+ -- data points are offset until a new -+ -- point is used. -+ laneWidth LaneWidth OPTIONAL, -+ -- Reference width used by all subsequent -+ -- lanes unless a new width is given -+ speedLimits SpeedLimitList OPTIONAL, -+ -- Reference regulatory speed limits -+ -- used by all subsequent -+ -- lanes unless a new speed is given -+ -- See Section 11 for converting and -+ -- translating speed expressed in mph -+ -- into units of m/s -+ -- Complete details regarding each lane type in this intersection -+ laneSet LaneList, -- Data about one or more lanes -+ -- (all lane data is found here) -+ -+ -- Data describing how to use and request preemption and -+ -- priority services from this intersection (if supported) -+ -- NOTE Additonal data may be added in the next release of the -+ -- standard at this point to handle this concept -+ preemptPriorityData PreemptPriorityList OPTIONAL, -+ -- data about one or more regional -+ -- preempt or priority zones -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, -+ ... -+ } -+ -+IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry -+ -+IntersectionReferenceID ::= SEQUENCE { -+ region RoadRegulatorID OPTIONAL, -+ -- a globally unique regional assignment value -+ -- typical assigned to a regional DOT authority -+ -- the value zero shall be used for testing needs -+ id IntersectionID -+ -- a unique mapping to the intersection -+ -- in question within the above region of use -+ } -+ -+IntersectionState ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ -- human readable name for intersection -+ -- to be used only in debug mode -+ id IntersectionReferenceID, -+ -- A globally unique value set, consisting of a -+ -- regionID and intersection ID assignment -+ -- provides a unique mapping to the -+ -- intersection MAP in question -+ -- which provides complete location -+ -- and approach/move/lane data -+ revision MsgCount, -+ status IntersectionStatusObject, -+ -- general status of the controller(s) -+ moy MinuteOfTheYear OPTIONAL, -+ -- Minute of current UTC year -+ -- used only with messages to be archived -+ timeStamp DSecond OPTIONAL, -+ -- the mSec point in the current UTC minute that -+ -- this message was constructed -+ enabledLanes EnabledLaneList OPTIONAL, -+ -- a list of lanes where the RevocableLane bit -+ -- has been set which are now active and -+ -- therefore part of the current intersection -+ states MovementList, -+ -- Each Movement is given in turn -+ -- and contains its signal phase state, -+ -- mapping to the lanes it applies to, and -+ -- point in time it will end, and it -+ -- may contain both active and future states -+ maneuverAssistList ManeuverAssistList OPTIONAL, -+ -- Assist data -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-IntersectionState}} OPTIONAL, -+ ... -+ } -+ -+IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState -+ -+LaneAttributes ::= SEQUENCE { -+ directionalUse LaneDirection, -- directions of lane use -+ sharedWith LaneSharing, -- co-users of the lane path -+ laneType LaneTypeAttributes, -- specific lane type data -+ regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+LaneDataAttribute ::= CHOICE { -+ -- Segment attribute types and the data needed for each -+ pathEndPointAngle DeltaAngle, -+ -- adjusts final point/width slant -+ -- of the lane to align with the stop line -+ laneCrownPointCenter RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from centerline point -+ laneCrownPointLeft RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from left edge -+ laneCrownPointRight RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from right edge -+ laneAngle MergeDivergeNodeAngle, -+ -- the angle or direction of another lane -+ -- this is required to support Japan style -+ -- when a merge point angle is required -+ speedLimits SpeedLimitList, -+ -- Reference regulatory speed limits -+ -- used by all segments -+ -+ -- Add others as needed, in regional space -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-LaneDataAttribute}}, -+ ... -+ } -+ -+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -+*/ -+ -+LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -+ -+LaneSharing ::= BIT STRING { -+ -- With bits as defined: -+ overlappingLaneDescriptionProvided (0), -+ -- Assert when another lane object is present to describe the -+ -- path of the overlapping shared lane -+ -- this construct is not used for lane objects which simply cross -+ multipleLanesTreatedAsOneLane (1), -+ -- Assert if the lane object path and width details represents -+ -- multiple lanes within it that are not further described -+ -+ -- Various modes and type of traffic that may share this lane: -+ otherNonMotorizedTrafficTypes (2), -- horse drawn etc. -+ individualMotorizedVehicleTraffic (3), -+ busVehicleTraffic (4), -+ taxiVehicleTraffic (5), -+ pedestriansTraffic (6), -+ cyclistVehicleTraffic (7), -+ trackedVehicleTraffic (8), -+ pedestrianTraffic (9) -+ } (SIZE (10)) -+ -- All zeros would indicate 'not shared' and 'not overlapping' -+ -+LaneTypeAttributes ::= CHOICE { -+ vehicle LaneAttributes-Vehicle, -- motor vehicle lanes -+ crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks -+ bikeLane LaneAttributes-Bike, -- bike lanes -+ sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths -+ median LaneAttributes-Barrier, -- medians & channelization -+ striping LaneAttributes-Striping, -- roadway markings -+ trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys -+ parking LaneAttributes-Parking, -- parking and stopping lanes -+ ... -+ } -+ -+ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist -+ -+MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent -+ -+MovementEvent ::= SEQUENCE { -+ eventState MovementPhaseState, -+ -- Consisting of: -+ -- Phase state (the basic 11 states) -+ -- Directional, protected, or permissive state -+ -+ timing TimeChangeDetails OPTIONAL, -+ -- Timing Data in UTC time stamps for event -+ -- includes start and min/max end times of phase -+ -- confidence and estimated next occurrence -+ -+ speeds AdvisorySpeedList OPTIONAL, -+ -- various speed advisories for use by -+ -- general and specific types of vehicles -+ -- supporting green-wave and other flow needs -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MovementEvent}} OPTIONAL, -+ ... -+ } -+ -+MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState -+ -+MovementState ::= SEQUENCE { -+ movementName DescriptiveName OPTIONAL, -+ -- uniquely defines movement by name -+ -- human readable name for intersection -+ -- to be used only in debug mode -+ signalGroup SignalGroupID, -+ -- the group id is used to map to lists -+ -- of lanes (and their descriptions) -+ -- which this MovementState data applies to -+ -- see comments in the Remarks for usage details -+ state-time-speed MovementEventList, -+ -- Consisting of sets of movement data with: -+ -- a) SignalPhaseState -+ -- b) TimeChangeDetails, and -+ -- c) AdvisorySpeeds (optional ) -+ -- Note one or more of the movement events may be for -+ -- a future time and that this allows conveying multiple -+ -- predictive phase and movement timing for various uses -+ -- for the current signal group -+ maneuverAssistList ManeuverAssistList OPTIONAL, -+ -- This information may also be placed in the -+ -- IntersectionState when common information applies to -+ -- different lanes in the same way -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-MovementState}} OPTIONAL, -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+NodeAttributeSetXY ::= SEQUENCE { -+ localNode NodeAttributeXYList OPTIONAL, -+ -- Attribute states which pertain to this node point -+ disabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are disabled at this node point -+ enabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are enabled at this node point -+ -- and which remain enabled until disabled or the lane ends -+ data LaneDataAttributeList OPTIONAL, -+ -- Attributes which require an additional data values -+ -- some of these are local to the node point, while others -+ -- persist with the provided values until changed -+ -- and this is indicated in each entry -+ dWidth Offset-B10 OPTIONAL, -+ -- A value added to the current lane width -+ -- at this node and from this node onwards, in 1cm steps -+ -- lane width between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ dElevation Offset-B10 OPTIONAL, -+ -- A value added to the current Elevation -+ -- at this node from this node onwards, in 10cm steps -+ -- elevations between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -+ ... -+ } -+ -+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -+ -+NodeAttributeXY ::= ENUMERATED { -+ -- Various values which pertain only to the current node point -+ -+ -- General Items -+ reserved, -+ stopLine, -- point where a mid-path stop line exists -+ -- See also 'do not block' for segments -+ -+ -- Path finish details -+ roundedCapStyleA, -- Used to control final path rounded end shape -+ -- with edge of curve at final point in a circle -+ roundedCapStyleB, -- Used to control final path rounded end shape -+ -- with edge of curve extending 50% of width past -+ -- final point in a circle -+ -+ -- Topography Points (items with no concept of a distance along the path) -+ mergePoint, -- Japan merge with 1 or more lanes -+ divergePoint, -- Japan diverge with 1 or more lanes -+ downstreamStopLine, -- Japan style downstream intersection -+ -- (a 2nd intersection) stop line -+ downstreamStartNode, -- Japan style downstream intersection -+ -- (a 2nd intersection) start node -+ -+ -- Pedestrian Support Attributes -+ closedToTraffic, -- where a pedestrian may NOT go -+ -- to be used during construction events -+ safeIsland, -- a pedestrian safe stopping point -+ -- also called a traffic island -+ -- This usage described a point feature on a path, -+ -- other entries can describe a path -+ curbPresentAtStepOff, -- the sidewalk to street curb is NOT -+ -- angled where it meets the edge of the -+ -- roadway (user must step up/down) -+ -+ -- Lane geometry details (see standard for defined shapes) -+ hydrantPresent, -- Or other services access -+ ... -+ } -+*/ -+ -+Node-LLmD-64b ::= SEQUENCE { -+ lon Longitude, -+ lat Latitude -+ } -+ -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+ Node-XY-20b ::= SEQUENCE { -+ x Offset-B10, -+ y Offset-B10 -+ } -+ -+Node-XY-22b ::= SEQUENCE { -+ x Offset-B11, -+ y Offset-B11 -+ } -+ -+ -+Node-XY-24b ::= SEQUENCE { -+ x Offset-B12, -+ y Offset-B12 -+ } -+ -+ -+Node-XY-26b ::= SEQUENCE { -+ x Offset-B13, -+ y Offset-B13 -+ } -+ -+ -+Node-XY-28b ::= SEQUENCE { -+ x Offset-B14, -+ y Offset-B14 -+ } -+ -+ -+Node-XY-32b ::= SEQUENCE { -+ x Offset-B16, -+ y Offset-B16 -+ } -+*/ -+ -+NodeListXY ::= CHOICE { -+ nodes NodeSetXY, -+ -- a lane made up of two or more -+ -- XY node points and any attributes -+ -- defined in those nodes -+ computed ComputedLane, -+ -- a lane path computed by translating -+ -- the data defined by another lane -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+NodeOffsetPointXY ::= CHOICE { -+ -- Nodes with X,Y content -+ node-XY1 Node-XY-20b, -- node is within 5.11m of last node -+ node-XY2 Node-XY-22b, -- node is within 10.23m of last node -+ node-XY3 Node-XY-24b, -- node is within 20.47m of last node -+ node-XY4 Node-XY-26b, -- node is within 40.96m of last node -+ node-XY5 Node-XY-28b, -- node is within 81.91m of last node -+ node-XY6 Node-XY-32b, -- node is within 327.67m of last node -+ node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -+ regional RegionalExtension {{Reg-NodeOffsetPointXY}} -+ -- node which follows is of a -+ -- regional definition type -+ } -+ -+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -+ -+NodeXY ::= SEQUENCE { -+ delta NodeOffsetPointXY, -+ -- A choice of which X,Y offset value to use -+ -- this includes various delta values as well a regional choices -+ attributes NodeAttributeSetXY OPTIONAL, -+ -- Any optional Attributes which are needed -+ -- This includes changes to the current lane width and elevation -+ ... -+} -+*/ -+ -+OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID -+ -- The unique ID numbers for any lane object which have -+ -- spatial paths that overlay (run on top of, and not -+ -- simply cross with) the current lane. -+ -- Such as a train path that overlays a motor vehicle -+ -- lane object for a roadway segment. -+ -+Position3D ::= SEQUENCE { -+ lat Latitude, -- in 1/10th micro degrees -+ long Longitude, -- in 1/10th micro degrees -+ elevation Elevation OPTIONAL, -- in 10 cm units -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-Position3D}} OPTIONAL, -+ ... -+ } -+ -+PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+RegulatorySpeedLimit ::= SEQUENCE { -+ type SpeedLimitType, -+ -- The type of regulatory speed which follows -+ speed Velocity -+ -- The speed in units of 0.02 m/s -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ } -+*/ -+ -+RequestorDescription ::= SEQUENCE { -+ id VehicleID, -+ -- The ID used in the BSM or CAM of the requestor -+ -- This ID is presumed not to change -+ -- during the exchange -+ type RequestorType OPTIONAL, -+ -- Information regarding all type and class data -+ -- about the requesting vehicle -+ position RequestorPositionVector OPTIONAL, -+ -- The location of the requesting vehicle -+ name DescriptiveName OPTIONAL, -+ -- A human readable name for debugging use -+ -- Support for Transit requests -+ routeName DescriptiveName OPTIONAL, -+ -- A string for transit operations use -+ transitStatus TransitVehicleStatus OPTIONAL, -+ -- current vehicle state (loading, etc.) -+ transitOccupancy TransitVehicleOccupancy OPTIONAL, -+ -- current vehicle occupancy -+ transitSchedule DeltaTime OPTIONAL, -+ -- current vehicle schedule adherence -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, -+ ... -+ } -+ -+RequestorPositionVector ::= SEQUENCE { -+ position Position3D, -+ heading Angle OPTIONAL, -+ speed TransmissionAndSpeed OPTIONAL, -+ ... -+ } -+ -+RequestorType ::= SEQUENCE { -+ -- Defines who is requesting -+ role BasicVehicleRole, -- Basic role of this user at this time -+ subrole RequestSubRole OPTIONAL, -- A local list with role based items -+ -+ -- Defines what kind of request (a level of importance in the Priority Scheme) -+ request RequestImportanceLevel OPTIONAL, -- A local list with request items -+ -+ -- Additional classification details -+ iso3883 Iso3833VehicleType OPTIONAL, -+ hpmsType VehicleType OPTIONAL, -- HPMS classification types -+ -+ regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, -+ ... -+ } -+ -+RestrictionClassAssignment ::= SEQUENCE { -+ id RestrictionClassID, -+ -- the unique value (within an intersection or local region) -+ -- that is assigned to this group of users -+ users RestrictionUserTypeList -+ -- The list of user types/classes -+ -- to which this restriction ID applies -+ } -+ -+RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment -+ -+RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType -+ -+RestrictionUserType ::= CHOICE { -+ basicType RestrictionAppliesTo, -+ -- a set of the most commonly used types -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RestrictionUserType}}, -+ ... -+ } -+ -+RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -+ -+RoadSegmentReferenceID ::= SEQUENCE { -+ region RoadRegulatorID OPTIONAL, -+ -- a globally unique regional assignment value -+ -- typically assigned to a regional DOT authority -+ -- the value zero shall be used for testing needs -+ id RoadSegmentID -+ -- a unique mapping to the road segment -+ -- in question within the above region of use -+ -- during its period of assignment and use -+ -- note that unlike intersectionID values, -+ -- this value can be reused by the region -+ } -+ -+RoadSegment ::= SEQUENCE { -+ name DescriptiveName OPTIONAL, -+ id RoadSegmentReferenceID, -+ -- a globally unique value for the segment -+ revision MsgCount, -+ -- Required default values about the descriptions to follow -+ refPoint Position3D, -- the reference from which subsequent -+ -- data points are offset until a new -+ -- point is used. -+ laneWidth LaneWidth OPTIONAL, -+ -- Reference width used by all subsequent -+ -- lanes unless a new width is given -+ speedLimits SpeedLimitList OPTIONAL, -+ -- Reference regulatory speed limits -+ -- used by all subsequent -+ -- lanes unless a new speed is given -+ -- See Section 11 for converting and -+ -- translating speed expressed in mph -+ -- into units of m/s -+ -+ -- Data describing disruptions in the RoadSegment -+ -- such as work zones etc will be added here; -+ -- in the US the SAE ITIS codes would be used here -+ -- The details regarding each lane type in the RoadSegment -+ roadLaneSet RoadLaneSetList, -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-RoadSegment}} OPTIONAL, -+ ... -+ } -+ -+RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -+*/ -+ -+SignalControlZone ::= SEQUENCE { -+ zone RegionalExtension {{Reg-SignalControlZone}}, -+ ... -+ } -+ -+SignalRequesterInfo ::= SEQUENCE { -+ -- These three items serve to uniquely identify the requester -+ -- and the specific request to all parties -+ id VehicleID, -+ request RequestID, -+ sequenceNumber MsgCount, -+ role BasicVehicleRole OPTIONAL, -+ -+ typeData RequestorType OPTIONAL, -+ -- Used when addition data besides the role -+ -- is needed, at which point the role entry -+ -- above is not sent. -+ ... -+ } -+ -+SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage -+ -+SignalRequestPackage ::= SEQUENCE { -+ request SignalRequest, -+ -- The specific request to the intersection -+ -- contains IntersectionID, request type, -+ -- requested action (approach/lane request) -+ -+ -- The Estimated Time of Arrival (ETA) when the service is requested -+ minute MinuteOfTheYear OPTIONAL, -+ second DSecond OPTIONAL, -+ duration DSecond OPTIONAL, -+ -- The duration value is used to provide a short interval that -+ -- extends the ETA so that the requesting vehicle can arrive at -+ -- the point of service with uncertainty or with some desired -+ -- duration of service. This concept can be used to avoid needing -+ -- to frequently update the request. -+ -- The requester must update the ETA and duration values if the -+ -- period of services extends beyond the duration time. -+ -- It should be assumed that if the vehicle does not clear the -+ -- intersection when the duration is reached, the request will -+ -- be cancelled and the intersection will revert to -+ -- normal operation. -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, -+ ... -+ } -+ -+SignalRequest ::= SEQUENCE { -+ -- the unique ID of the target intersection -+ id IntersectionReferenceID, -+ -+ -- The unique requestID used by the requestor -+ requestID RequestID, -+ -+ -- The type of request or cancel for priority or preempt use -+ -- when a prior request is canceled, only the requestID is needed -+ requestType PriorityRequestType, -+ -+ -- In typical use either an approach or a lane number would -+ -- be given, this indicates the requested -+ -- path through the intersection to the degree it is known. -+ inBoundLane IntersectionAccessPoint, -+ -- desired entry approach or lane -+ outBoundLane IntersectionAccessPoint OPTIONAL, -+ -- desired exit approach or lane -+ -- the values zero is used to indicate -+ -- intent to stop within the intersection -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalRequest}} OPTIONAL, -+ ... -+ } -+ -+SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus -+ -+SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage -+ -+SignalStatusPackage ::= SEQUENCE { -+ -- The party that made the initial SRM request -+ requester SignalRequesterInfo OPTIONAL, -+ -- The lanes or approaches used in the request -+ inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle -+ outboundOn IntersectionAccessPoint OPTIONAL, -+ -+ -- The Estimated Time of Arrival (ETA) when the service is requested -+ -- This data echos the data of the request -+ minute MinuteOfTheYear OPTIONAL, -+ second DSecond OPTIONAL, -+ duration DSecond OPTIONAL, -+ -+ -- the SRM status for this request -+ status PrioritizationResponseStatus, -+ -- Status of request, this may include rejection -+ -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, -+ ... -+ } -+ -+SignalStatus ::= SEQUENCE { -+ sequenceNumber MsgCount, -+ -- changed whenever the below contents have change -+ id IntersectionReferenceID, -+ -- this provides a unique mapping to the -+ -- intersection map in question -+ -- which provides complete location -+ -- and approach/movement/lane data -+ -- as well as zones for priority/preemption -+ sigStatus SignalStatusPackageList, -+ -- a list of detailed status containing all -+ -- priority or preemption state data, both -+ -- active and pending, and who requested it -+ -- requests which are denied are also listed -+ -- here for a short period of time -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-SignalStatus}} OPTIONAL, -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -+ -+ -+SpeedLimitType ::= ENUMERATED { -+ unknown, -- Speed limit type not available -+ maxSpeedInSchoolZone, -- Only sent when the limit is active -+ maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -+ maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -+ -- where a reduced speed is present -+ vehicleMinSpeed, -+ vehicleMaxSpeed, -- Regulatory speed limit for general traffic -+ vehicleNightMaxSpeed, -+ -+ truckMinSpeed, -+ truckMaxSpeed, -+ truckNightMaxSpeed, -+ -+ vehiclesWithTrailersMinSpeed, -+ vehiclesWithTrailersMaxSpeed, -+ vehiclesWithTrailersNightMaxSpeed, -+ ... -+ } -+*/ -+ -+TimeChangeDetails ::= SEQUENCE { -+ startTime TimeMark OPTIONAL, -+ -- When this phase 1st started -+ minEndTime TimeMark, -+ -- Expected shortest end time -+ maxEndTime TimeMark OPTIONAL, -+ -- Expected longest end time -+ -+ likelyTime TimeMark OPTIONAL, -+ -- Best predicted value based on other data -+ confidence TimeIntervalConfidence OPTIONAL, -+ -- Applies to above time element only -+ -+ nextTime TimeMark OPTIONAL -+ -- A rough estimate of time when -+ -- this phase may next occur again -+ -- used to support various ECO driving power -+ -- management needs. -+ } -+ -+TimeMark ::= INTEGER (0..36001) -+ -- Tenths of a second in the current or next hour -+ -- In units of 1/10th second from UTC time -+ -- A range of 0~36000 covers one hour -+ -- The values 35991..36000 are used when a leap second occurs -+ -- The value 36001 is used to indicate time >3600 seconds -+ -- 36002 is to be used when value undefined or unknown -+ -- Note that this is NOT expressed in GPS time -+ -- or in local time -+ -+TransmissionAndSpeed ::= SEQUENCE { -+ transmisson TransmissionState, -+ speed Velocity -+ } -+ -+VehicleID ::= CHOICE { -+ entityID TemporaryID, -+ stationID StationID -+ } -+ -+ -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+-- Start of entries from table Data_Elements... -+-- This table typicaly contains data element entries. -+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -+-- -+ -+AdvisorySpeedType ::= ENUMERATED { -+ none (0), -+ greenwave (1), -+ ecoDrive (2), -+ transit (3), -+ ... -+ } -- Note: subject to further growth -+ -+AllowedManeuvers ::= BIT STRING { -+ -- With bits as defined: -+ -- Allowed maneuvers at path end (stop line) -+ -- All maneuvers with bits not set are therefore prohibited ! -+ -- A value of zero shall be used for unknown, indicating no Maneuver -+ maneuverStraightAllowed (0), -+ -- a Straight movement is allowed in this lane -+ maneuverLeftAllowed (1), -+ -- a Left Turn movement is allowed in this lane -+ maneuverRightAllowed (2), -+ -- a Right Turn movement is allowed in this lane -+ maneuverUTurnAllowed (3), -+ -- a U turn movement is allowed in this lane -+ maneuverLeftTurnOnRedAllowed (4), -+ -- a Stop, and then proceed when safe movement -+ -- is allowed in this lane -+ maneuverRightTurnOnRedAllowed (5), -+ -- a Stop, and then proceed when safe movement -+ -- is allowed in this lane -+ maneuverLaneChangeAllowed (6), -+ -- a movement which changes to an outer lane -+ -- on the egress side is allowed in this lane -+ -- (example: left into either outbound lane) -+ maneuverNoStoppingAllowed (7), -+ -- the vehicle should not stop at the stop line -+ -- (example: a flashing green arrow) -+ yieldAllwaysRequired (8), -+ -- the allowed movements above are not protected -+ -- (example: an permanent yellow condition) -+ goWithHalt (9), -+ -- after making a full stop, may proceed -+ caution (10), -+ -- proceed past stop line with caution -+ reserved1 (11) -+ -- used to align to 12 Bit Field -+ -+ } (SIZE(12)) -+ -+Angle ::= INTEGER (0..28800) -+ -- LSB of 0.0125 degrees -+ -- A range of 0 to 359.9875 degrees -+ -+ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown -+ -+BasicVehicleRole ::= ENUMERATED { -+ -- Values used in the EU and in the US -+ basicVehicle (0), -- Light duty passenger vehicle type -+ publicTransport (1), -- Used in EU for Transit us -+ specialTransport (2), -- Used in EU (e.g. heavy load) -+ dangerousGoods (3), -- Used in EU for any HAZMAT -+ roadWork (4), -- Used in EU for State and Local DOT uses -+ roadRescue (5), -- Used in EU and in the US to include tow trucks. -+ emergency (6), -- Used in EU for Police, Fire and Ambulance units -+ safetyCar (7), -- Used in EU for Escort vehicles -+ -- Begin US unique numbering -+ none-unknown (8), -- added to follow current SAE style guidelines -+ truck (9), -- Heavy trucks with additional BSM rights and obligations -+ motorcycle (10), -- -+ roadSideSource (11), -- For infrastructure generated calls such as -+ -- fire house, rail infrastructure, roadwork site, etc. -+ police (12), -- -+ fire (13), -- -+ ambulance (14), -- (does not include private para-transit etc.) -+ dot (15), -- all roadwork vehicles -+ transit (16), -- all transit vehicles -+ slowMoving (17), -- to also include oversize etc. -+ stopNgo (18), -- to include trash trucks, school buses and others -+ -- that routinely disturb the free flow of traffic -+ cyclist (19), -- -+ pedestrian (20), -- also includes those with mobility limitations -+ nonMotorized (21), -- other, horse drawn, etc. -+ military (22), -- -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+DeltaAngle ::= INTEGER (-150..150) -+ -- With an angle range from -+ -- negative 150 to positive 150 -+ -- in one degree steps where zero is directly -+ -- along the axis or the lane center line as defined by the -+ -- two closest points -+ -+DeltaTime ::= INTEGER (-122 .. 121) -+ -- Supporting a range of +/- 20 minute in steps of 10 seconds -+ -- the value of -121 shall be used when more than -20 minutes -+ -- the value of +120 shall be used when more than +20 minutes -+ -- the value -122 shall be used when the value is unavailable -+*/ -+ -+DescriptiveName ::= IA5String (SIZE(1..63)) -+ -+DrivenLineOffsetLg ::= INTEGER (-32767..32767) -+ -- LSB units are 1 cm. -+ -+DrivenLineOffsetSm ::= INTEGER (-2047..2047) -+ -- LSB units are 1 cm. -+ -+DSecond ::= INTEGER (0..65535) -- units of milliseconds -+ -+DSRCmsgID ::= INTEGER (0..32767) -+ mapData DSRCmsgID ::= 18 -- MAP, intersections -+ signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT -+ signalRequestMessage DSRCmsgID ::= 29 -- SRM -+ signalStatusMessage DSRCmsgID ::= 30 -- SSM -+ -+Elevation ::= INTEGER (-4096..61439) -+ -- In units of 10 cm steps above or below the reference ellipsoid -+ -- Providing a range of -409.5 to + 6143.9 meters -+ -- The value -4096 shall be used when Unknown is to be sent -+ -+IntersectionID ::= INTEGER (0..65535) -+ -- The values zero through 255 are allocated for testing purposes -+ -- Note that the value assigned to an intersection will be -+ -- unique within a given regional ID only -+ -+IntersectionStatusObject ::= BIT STRING { -+ manualControlIsEnabled (0), -+ -- Timing reported is per programmed values, etc. but person -+ -- at cabinet can manually request that certain intervals are -+ -- terminated early (e.g. green). -+ stopTimeIsActivated (1), -+ -- And all counting/timing has stopped. -+ failureFlash (2), -+ -- Above to be used for any detected hardware failures, -+ -- e.g. conflict monitor as well as for police flash -+ preemptIsActive (3), -+ signalPriorityIsActive (4), -+ -+ -- Additional states -+ fixedTimeOperation (5), -+ -- Schedule of signals is based on time only -+ -- (i.e. the state can be calculated) -+ trafficDependentOperation (6), -+ -- Operation is based on different levels of traffic parameters -+ -- (requests, duration of gaps or more complex parameters) -+ standbyOperation (7), -+ -- Controller: partially switched off or partially amber flashing -+ failureMode (8), -+ -- Controller has a problem or failure in operation -+ off (9), -+ -- Controller is switched off -+ -+ -- Related to MAP and SPAT bindings -+ recentMAPmessageUpdate (10), -+ -- Map revision with content changes -+ recentChangeInMAPassignedLanesIDsUsed (11), -+ -- Change in MAP's assigned lanes used (lane changes) -+ -- Changes in the active lane list description -+ noValidMAPisAvailableAtThisTime (12), -+ -- MAP (and various lanes indexes) not available -+ noValidSPATisAvailableAtThisTime (13) -+ -- SPAT system is not working at this time -+ -+ -- Bits 14,15 reserved at this time and shall be zero -+ } (SIZE(16)) -+ -+ -+LaneAttributes-Barrier ::= BIT STRING { -+ -- With bits as defined: -+ median-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ median (1), -+ whiteLineHashing (2), -+ stripedLines (3), -+ doubleStripedLines (4), -+ trafficCones (5), -+ constructionBarrier (6), -+ trafficChannels (7), -+ lowCurbs (8), -+ highCurbs (9) -+ -- Bits 10~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Bike ::= BIT STRING { -+ -- With bits as defined: -+ bikeRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ pedestrianUseAllowed (1), -+ -- The path allows pedestrian traffic, -+ -- if not set, this mode is prohibited -+ isBikeFlyOverLane (2), -+ -- path of lane is not at grade -+ fixedCycleTime (3), -+ -- the phases use preset times -+ -- i.e. there is not a 'push to cross' button -+ biDirectionalCycleTimes (4), -+ -- ped walk phases use different SignalGroupID -+ -- for each direction. The first SignalGroupID -+ -- in the first Connection represents 'inbound' -+ -- flow (the direction of travel towards the first -+ -- node point) while second SignalGroupID in the -+ -- next Connection entry represents the 'outbound' -+ -- flow. And use of RestrictionClassID entries -+ -- in the Connect follow this same pattern in pairs. -+ isolatedByBarrier (5), -+ unsignalizedSegmentsPresent (6) -+ -- The lane path consists of one of more segments -+ -- which are not part of a signal group ID -+ -+ -- Bits 7~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Crosswalk ::= BIT STRING { -+ -- With bits as defined: -+ -- MUTCD provides no suitable "types" to use here -+ crosswalkRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ bicyleUseAllowed (1), -+ -- The path allows bicycle traffic, -+ -- if not set, this mode is prohibited -+ isXwalkFlyOverLane (2), -+ -- path of lane is not at grade -+ fixedCycleTime (3), -+ -- ped walk phases use preset times -+ -- i.e. there is not a 'push to cross' button -+ biDirectionalCycleTimes (4), -+ -- ped walk phases use different SignalGroupID -+ -- for each direction. The first SignalGroupID -+ -- in the first Connection represents 'inbound' -+ -- flow (the direction of travel towards the first -+ -- node point) while second SignalGroupID in the -+ -- next Connection entry represents the 'outbound' -+ -- flow. And use of RestrictionClassID entries -+ -- in the Connect follow this same pattern in pairs. -+ hasPushToWalkButton (5), -+ -- Has a demand input -+ audioSupport (6), -+ -- audio crossing cues present -+ rfSignalRequestPresent (7), -+ -- Supports RF push to walk technologies -+ unsignalizedSegmentsPresent (8) -+ -- The lane path consists of one of more segments -+ -- which are not part of a signal group ID -+ -- Bits 9~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Parking ::= BIT STRING { -+ -- With bits as defined: -+ -- Parking use details, note that detailed restrictions such as -+ -- allowed hours are sent by way of ITIS codes in the TIM message -+ parkingRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ parallelParkingInUse (1), -+ headInParkingInUse (2), -+ doNotParkZone (3), -+ -- used to denote fire hydrants as well as -+ -- short disruptions in a parking zone -+ parkingForBusUse (4), -+ parkingForTaxiUse (5), -+ noPublicParkingUse (6) -+ -- private parking, as in front of -+ -- private property -+ -- Bits 7~15 reserved and set to zero -+ } (SIZE (16)) -+ -+LaneAttributes-Sidewalk ::= BIT STRING { -+ -- With bits as defined: -+ sidewalk-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ bicyleUseAllowed (1), -+ -- The path allows bicycle traffic, -+ -- if not set, this mode is prohibited -+ isSidewalkFlyOverLane (2), -+ -- path of lane is not at grade -+ walkBikes (3) -+ -- bike traffic must dismount and walk -+ -- Bits 4~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-Striping ::= BIT STRING { -+ -- With bits as defined: -+ stripeToConnectingLanesRevocableLane (0), -+ -- this lane may be activated or not activated based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ stripeDrawOnLeft (1), -+ stripeDrawOnRight (2), -+ -- which side of lane to mark -+ stripeToConnectingLanesLeft (3), -+ stripeToConnectingLanesRight (4), -+ stripeToConnectingLanesAhead (5) -+ -- the stripe type should be -+ -- presented to the user visually -+ -- to reflect stripes in the -+ -- intersection for the type of -+ -- movement indicated -+ -- Bits 6~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-TrackedVehicle ::= BIT STRING { -+ -- With bits as defined: -+ spec-RevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ spec-commuterRailRoadTrack (1), -+ spec-lightRailRoadTrack (2), -+ spec-heavyRailRoadTrack (3), -+ spec-otherRailType (4) -+ -- Bits 5~15 reserved and set to zero -+ } (SIZE (16)) -+ -+ -+LaneAttributes-Vehicle ::= BIT STRING { -+ -- With bits as defined: -+ isVehicleRevocableLane (0), -+ -- this lane may be activated or not based -+ -- on the current SPAT message contents -+ -- if not asserted, the lane is ALWAYS present -+ isVehicleFlyOverLane (1), -+ -- path of lane is not at grade -+ hovLaneUseOnly (2), -+ restrictedToBusUse (3), -+ restrictedToTaxiUse (4), -+ restrictedFromPublicUse (5), -+ hasIRbeaconCoverage (6), -+ permissionOnRequest (7) -- e.g. to inform about a lane for e-cars -+ -+ } (SIZE (8,...)) -+ -+LaneConnectionID ::= INTEGER (0..255) -+ -+LaneDirection ::= BIT STRING { -+ -- With bits as defined: -+ -- Allowed directions of travel in the lane object -+ -- All lanes are described from the stop line outwards -+ ingressPath (0), -+ -- travel from rear of path to front -+ -- is allowed -+ egressPath (1) -+ -- travel from front of path to rear -+ -- is allowed -+ -- Notes: No Travel, i.e. the lane object type does not support -+ -- travel (medians, curbs, etc.) is indicated by not -+ -- asserting any bit value -+ -- Bi-Directional Travel (such as a ped crosswalk) is -+ -- indicated by asserting both of the bits -+ } (SIZE (2)) -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+LaneID ::= INTEGER (0..255) -+ -- the value 0 shall be used when the lane ID is -+ -- not available or not known -+ -- the value 255 is reserved for future use -+*/ -+ -+LayerID ::= INTEGER (0..100) -+ -+LayerType ::= ENUMERATED { -+ none, -+ mixedContent, -- two or more of the below types -+ generalMapData, -+ intersectionData, -+ curveData, -+ roadwaySectionData, -+ parkingAreaData, -+ sharedLaneData, -+ ... -+ } -+ -+LaneWidth ::= INTEGER (0..32767) -- units of 1 cm -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+MergeDivergeNodeAngle ::= INTEGER (-180..180) -+ -- In units of 1.5 degrees from north -+ -- the value -180 shall be used to represent -+ -- data is not available or unknown -+*/ -+ -+MinuteOfTheYear ::= INTEGER (0..527040) -+ -- the value 527040 shall be used for invalid -+ -+MovementPhaseState ::= ENUMERATED { -+ -- Note that based on the regions and the operating mode not every -+ -- phase will be used in all transportation modes and that not -+ -- every phase will be used in all transportation modes -+ -+ unavailable (0), -+ -- This state is used for unknown or error -+ dark (1), -+ -- The signal head is dark (unlit) -+ -+ -- Reds -+ stop-Then-Proceed (2), -+ -- Often called 'flashing red' in US -+ -- Driver Action: -+ -- Stop vehicle at stop line. -+ -- Do not proceed unless it is safe. -+ -- Note that the right to proceed either right or left when -+ -- it is safe may be contained in the lane description to -+ -- handle what is called a 'right on red' -+ stop-And-Remain (3), -+ -- e.g. called 'red light' in US -+ -- Driver Action: -+ -- Stop vehicle at stop line. -+ -- Do not proceed. -+ -- Note that the right to proceed either right or left when -+ -- it is safe may be contained in the lane description to -+ -- handle what is called a 'right on red' -+ -+ -- Greens -+ pre-Movement (4), -+ -- Not used in the US, red+yellow partly in EU -+ -- Driver Action: -+ -- Stop vehicle. -+ -- Prepare to proceed (pending green) -+ -- (Prepare for transition to green/go) -+ permissive-Movement-Allowed (5), -+ -- Often called 'permissive green' in US -+ -- Driver Action: -+ -- Proceed with caution, -+ -- must yield to all conflicting traffic -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ protected-Movement-Allowed (6), -+ -- Often called 'protected green' in US -+ -- Driver Action: -+ -- Proceed, tossing caution to the wind, -+ -- in indicated (allowed) direction. -+ -+ -- Yellows / Ambers -+ -- The vehicle is not allowed to cross the stop bar if it is possible -+ -- to stop without danger. -+ permissive-clearance (7), -+ -- Often called 'permissive yellow' in US -+ -- Driver Action: -+ -- Prepare to stop. -+ -- Proceed if unable to stop, -+ -- Clear Intersection. -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ protected-clearance (8), -+ -- Often called 'protected yellow' in US -+ -- Driver Action: -+ -- Prepare to stop. -+ -- Proceed if unable to stop, -+ -- in indicated direction (to connected lane) -+ -- Clear Intersection. -+ -+ caution-Conflicting-Traffic (9) -+ -- Often called 'flashing yellow' in US -+ -- Often used for extended periods of time -+ -- Driver Action: -+ -- Proceed with caution, -+ -- Conflicting traffic may be present -+ -- in the intersection conflict area -+ } -+ -- The above number assignments are not used with UPER encoding -+ -- and are only to be used with DER or implicit encoding -+ -+MsgCount ::= INTEGER (0..127) -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Offset-B10 ::= INTEGER (-512..511) -+ -- a range of +- 5.11 meters -+ -+Offset-B11 ::= INTEGER (-1024..1023) -+ -- a range of +- 10.23 meters -+ -+Offset-B12 ::= INTEGER (-2048..2047) -+ -- a range of +- 20.47 meters -+ -+Offset-B13 ::= INTEGER (-4096..4095) -+ -- a range of +- 40.95 meters -+ -+Offset-B14 ::= INTEGER (-8192..8191) -+ -- a range of +- 81.91 meters -+ -+Offset-B16 ::= INTEGER (-32768..32767) -+ -- a range of +- 327.68 meters -+*/ -+ -+PedestrianBicycleDetect ::= BOOLEAN -+ -- true if ANY Pedestrians or Bicyclists are -+ -- detected crossing the target lane or lanes -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+PrioritizationResponseStatus ::= ENUMERATED { -+ unknown (0), -+ -- Unknown state -+ requested (1), -+ -- This prioritization request was detected -+ -- by the traffic controller -+ processing (2), -+ -- Checking request -+ -- (request is in queue, other requests are prior) -+ watchOtherTraffic (3), -+ -- Cannot give full permission, -+ -- therefore watch for other traffic -+ -- Note that other requests may be present -+ granted (4), -+ -- Intervention was successful -+ -- and now prioritization is active -+ rejected (5), -+ -- The prioritization or preemption request was -+ -- rejected by the traffic controller -+ maxPresence (6), -+ -- The Request has exceeded maxPresence time -+ -- Used when the controller has determined that -+ -- the requester should then back off and -+ -- request an alternative. -+ reserviceLocked (7), -+ -- Prior conditions have resulted in a reservice -+ -- locked event: the controller requires the -+ -- passage of time before another similar request -+ -- will be accepted -+ ... -+} -+*/ -+ -+PriorityRequestType ::= ENUMERATED { -+ priorityRequestTypeReserved (0), -+ priorityRequest (1), -+ priorityRequestUpdate (2), -+ priorityCancellation (3), -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+RegionId ::= INTEGER (0..255) -+ noRegion RegionId ::= 0 -- Use default supplied stubs -+ addGrpA RegionId ::= 1 -- USA -+ addGrpB RegionId ::= 2 -- Japan -+ addGrpC RegionId ::= 3 -- EU -+ -- NOTE: new registered regional IDs will be added here -+ -- The values 128 and above are for local region use -+*/ -+ -+RequestID ::= INTEGER (0..255) -+ -+RequestImportanceLevel ::= ENUMERATED { -+ requestImportanceLevelUnKnown (0), -+ requestImportanceLevel1 (1), -- The least important request -+ requestImportanceLevel2 (2), -- The values here shall be assigned -+ requestImportanceLevel3 (3), -- Meanings based on regional needs -+ requestImportanceLevel4 (4), -- for each of the basic roles which -+ requestImportanceLevel5 (5), -- are defined elsewhere -+ requestImportanceLevel6 (6), -+ requestImportanceLevel7 (7), -+ requestImportanceLevel8 (8), -+ requestImportanceLevel9 (9), -+ requestImportanceLevel10 (10), -+ requestImportanceLevel11 (11), -+ requestImportanceLevel12 (12), -+ requestImportanceLevel13 (13), -+ requestImportanceLevel14 (14), -- The most important request -+ requestImportanceReserved (15) -- Reserved for future use -+ } -+ -+RequestSubRole ::= ENUMERATED { -+ requestSubRoleUnKnown (0), -+ requestSubRole1 (1), -- The first type of sub role -+ requestSubRole2 (2), -- The values here shall be assigned -+ requestSubRole3 (3), -- Meanings based on regional needs -+ requestSubRole4 (4), -- to refine and expand the basic -+ requestSubRole5 (5), -- roles which are defined elsewhere -+ requestSubRole6 (6), -+ requestSubRole7 (7), -+ requestSubRole8 (8), -+ requestSubRole9 (9), -+ requestSubRole10 (10), -+ requestSubRole11 (11), -+ requestSubRole12 (12), -+ requestSubRole13 (13), -+ requestSubRole14 (14), -- The last type of sub role -+ requestSubRoleReserved (15) -- Reserved for future use -+ } -+ -+RestrictionAppliesTo ::= ENUMERATED { -+ none, -- applies to nothing -+ equippedTransit, -- buses etc. -+ equippedTaxis, -+ equippedOther, -- other vehicle types with -+ -- necessary signal phase state -+ -- reception equipment -+ emissionCompliant, -- regional variants with more -+ -- definitive items also exist -+ equippedBicycle, -+ weightCompliant, -+ heightCompliant, -+ -- Items dealing with traveler needs serviced by the infrastructure -+ -- These end users (which are not vehicles) are presumed to be suitably equipped -+ pedestrians, -+ slowMovingPersons, -+ wheelchairUsers, -+ visualDisabilities, -+ audioDisabilities, -- hearing -+ otherUnknownDisabilities, -+ ... -+ } -+ -+RestrictionClassID ::= INTEGER (0..255) -+ -- An index value to identify data about classes of users -+ -- the value used varies with each intersection's -+ -- needs and is defined in the map to the assigned -+ -- classes of supported users. -+ -+RoadRegulatorID ::= INTEGER (0..65535) -+ -- The value zero shall be used for testing only -+ -+RoadSegmentID ::= INTEGER (0..65535) -+ -- The values zero to 255 shall be used for testing only -+ -- Note that the value assigned to an RoadSegment will be -+ -- unique within a given regional ID only during its use -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+RoadwayCrownAngle ::= INTEGER (-128..127) -+ -- In LSB units of 0.3 degrees of angle -+ -- over a range of -38.1 to + 38.1 degrees -+ -- The value -128 shall be used for unknown -+ -- The value zero shall be used for angles -+ -- which are between -0.15 and +0.15 -+*/ -+ -+Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SignalGroupID ::= INTEGER (0..255) -+ -- The value 0 shall be used when the ID is -+ -- not available or not known -+ -- the value 255 is reserved to indicate a -+ -- permanent green movement state -+ -- therefore a simple 8 phase signal controller -+ -- device might use 1..9 as its groupIDs -+*/ -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+SegmentAttributeXY ::= ENUMERATED { -+ -- Various values which can be Enabled and Disabled for a lane segment -+ -+ -- General Items -+ reserved , -+ doNotBlock , -- segment where a vehicle -+ -- may not come to a stop -+ whiteLine , -- segment where lane crossing not allowed -+ -- such as the final few meters of a lane -+ -+ -- Porous Lane states, merging, turn outs, parking etc. -+ -+ mergingLaneLeft , -- indicates porous lanes -+ mergingLaneRight , -+ -+ curbOnLeft , -- indicates presence of curbs -+ curbOnRight , -+ -+ loadingzoneOnLeft , -- loading or drop off zones -+ loadingzoneOnRight , -+ -+ turnOutPointOnLeft , -- opening to adjacent street/alley/road -+ turnOutPointOnRight , -+ -+ adjacentParkingOnLeft , -- side of road parking -+ adjacentParkingOnRight , -+ -+ -- Bike Lane Needs -+ adjacentBikeLaneOnLeft , -- presence of marked bike lanes -+ adjacentBikeLaneOnRight , -+ sharedBikeLane , -- right of way is shared with bikes -+ -- who may occupy entire lane width -+ bikeBoxInFront , -+ -+ -- Transit Needs -+ transitStopOnLeft , -- any form of bus/transit loading -+ -- with pull in-out access to lane on left -+ transitStopOnRight , -- any form of bus/transit loading -+ -- with pull in-out access to lane on right -+ transitStopInLane , -- any form of bus/transit loading -+ -- in mid path of the lane -+ sharedWithTrackedVehicle , -- lane is shared with train or trolley -+ -- not used for crossing tracks -+ -+ -+ -- Pedestrian Support Attributes -+ safeIsland , -- begin/end a safety island in path -+ lowCurbsPresent , -- for ADA support -+ rumbleStripPresent , -- for ADA support -+ audibleSignalingPresent , -- for ADA support -+ adaptiveTimingPresent , -- for ADA support -+ rfSignalRequestPresent , -- Supports RF push to walk technologies -+ partialCurbIntrusion , -- path is blocked by a median or curb -+ -- but at least 1 meter remains open for use -+ -- and at-grade passage -+ -+ -- Lane geometry details (see standard for defined shapes) -+ taperToLeft , -- Used to control final path shape -+ taperToRight , -- Used to control final path shape -+ taperToCenterLine , -- Used to control final path shape -+ -+ -- Parking Lane and Curb Attributes -+ parallelParking , -- -+ headInParking , -- Parking at an angle with the street -+ freeParking , -- no restriction on use of parking -+ timeRestrictionsOnParking , -- Parking is not permitted at all times -+ -- typically used when the 'parking' lane -+ -- becomes a driving lane at times -+ costToPark , -- Used where parking has a cost -+ midBlockCurbPresent , -- a protruding curb near lane edge -+ unEvenPavementPresent , -- a disjoint height at lane edge -+ ... -+ } -+*/ -+ -+SpeedAdvice ::= INTEGER (0..500) -+ -- LSB units are 0.1 m/s^2 -+ -- the value 499 shall be used for values at or greater than 49.9 m/s -+ -- the value 500 shall be used to indicate that speed is unavailable -+ -+TemporaryID ::= OCTET STRING (SIZE(4)) -+ -+TimeIntervalConfidence ::= INTEGER (0..15) -+ -- Value Probability -+ -- 0 21% -+ -- 1 36% -+ -- 2 47% -+ -- 3 56% -+ -- 4 62% -+ -- 5 68% -+ -- 6 73% -+ -- 7 77% -+ -- 8 81% -+ -- 9 85% -+ -- 10 88% -+ -- 11 91% -+ -- 12 94% -+ -- 13 96% -+ -- 14 98% -+ -- 15 100% -+ -+TransitVehicleOccupancy ::= ENUMERATED { -+ occupancyUnknown (0), -+ occupancyEmpty (1), -+ occupancyVeryLow (2), -+ occupancyLow (3), -+ occupancyMed (4), -+ occupancyHigh (5), -+ occupancyNearlyFull (6), -+ occupancyFull (7) -+ } -+ -+TransitVehicleStatus ::= BIT STRING { -+ loading (0), -- parking and unable to move at this time -+ anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) -+ aBikeLoad (2), -- loading of a bicycle is in progress -+ doorOpen (3), -- a vehicle door is open for passenger access -+ charging (4), -- a vehicle is connected to charging point -+ atStopLine (5) -- a vehicle is at the stop line for the lane it is in -+ } (SIZE(8)) -+ -+TransmissionState ::= ENUMERATED { -+ neutral (0), -- Neutral -+ park (1), -- Park -+ forwardGears (2), -- Forward gears -+ reverseGears (3), -- Reverse gears -+ reserved1 (4), -+ reserved2 (5), -+ reserved3 (6), -+ unavailable (7) -- not-equipped or unavailable value, -+ -- Any related speed is relative to the vehicle reference frame used -+ } -+ -+VehicleType ::= ENUMERATED { -+ none (0), -- Not Equipped, Not known or unavailable -+ unknown (1), -- Does not fit any other category -+ special (2), -- Special use -+ moto (3), -- Motorcycle -+ car (4), -- Passenger car -+ carOther (5), -- Four tire single units -+ bus (6), -- Buses -+ axleCnt2 (7), -- Two axle, six tire single units -+ axleCnt3 (8), -- Three axle, single units -+ axleCnt4 (9), -- Four or more axle, single unit -+ axleCnt4Trailer (10), -- Four or less axle, single trailer -+ axleCnt5Trailer (11), -- Five or less axle, single trailer -+ axleCnt6Trailer (12), -- Six or more axle, single trailer -+ axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer -+ axleCnt6MultiTrailer (14), -- Six axle, multi-trailer -+ axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer -+ ... -+ } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -+ -- The value 8191 indicates that -+ -- velocity is unavailable -+*/ -+ -+WaitOnStopline ::= BOOLEAN -- -+ -- True or False -+ -- If "true", the vehicles on this specific connecting -+ -- maneuver have to stop on the stop-line -+ -- and not to enter the collision area -+ -+ZoneLength ::= INTEGER (0..10000) -+ -- Unit = 1 meter, 0 = unknown, -+ -- The value 10000 to be used for Distances >=10000 m -+ -- (e.g. from known point to another point along a -+ -- known path, often against traffic flow direction -+ -- when used for measuring queues) -+ -+END - -Property changes on: IS/IS_DSRC.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/IS_DSRC_REGION_noCircular.asn -=================================================================== ---- IS/IS_DSRC_REGION_noCircular.asn (nonexistent) -+++ IS/IS_DSRC_REGION_noCircular.asn (working copy) -@@ -0,0 +1,419 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: DSRC -+-- ISO TS 19091 Oct 2015 v0909 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY definitions are moved here from IS-DSRC and IS-REGION; created to cut circular import loops amongst ASN.1 files -+IS-DSRC-REGION-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+Longitude, Latitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -+ -+Control-addGrpC FROM AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) }; -+ -+------------------------------------------------------ -+--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM IS-DSRC -+------------------------------------------------------ -+ -+DeltaAngle ::= INTEGER (-150..150) -+ -- With an angle range from -+ -- negative 150 to positive 150 -+ -- in one degree steps where zero is directly -+ -- along the axis or the lane center line as defined by the -+ -- two closest points -+ -+DeltaTime ::= INTEGER (-122 .. 121) -+ -- Supporting a range of +/- 20 minute in steps of 10 seconds -+ -- the value of -121 shall be used when more than -20 minutes -+ -- the value of +120 shall be used when more than +20 minutes -+ -- the value -122 shall be used when the value is unavailable -+ -+LaneDataAttribute ::= CHOICE { -+ -- Segment attribute types and the data needed for each -+ pathEndPointAngle DeltaAngle, -+ -- adjusts final point/width slant -+ -- of the lane to align with the stop line -+ laneCrownPointCenter RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from centerline point -+ laneCrownPointLeft RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from left edge -+ laneCrownPointRight RoadwayCrownAngle, -+ -- sets the canter of the road bed -+ -- from right edge -+ laneAngle MergeDivergeNodeAngle, -+ -- the angle or direction of another lane -+ -- this is required to support Japan style -+ -- when a merge point angle is required -+ speedLimits SpeedLimitList, -+ -- Reference regulatory speed limits -+ -- used by all segments -+ -+ -- Add others as needed, in regional space -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-LaneDataAttribute}}, -+ ... -+ } -+ -+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -+ -+LaneID ::= INTEGER (0..255) -+ -- the value 0 shall be used when the lane ID is -+ -- not available or not known -+ -- the value 255 is reserved for future use -+ -+MergeDivergeNodeAngle ::= INTEGER (-180..180) -+ -- In units of 1.5 degrees from north -+ -- the value -180 shall be used to represent -+ -- data is not available or unknown -+ -+NodeOffsetPointXY ::= CHOICE { -+ -- Nodes with X,Y content -+ node-XY1 Node-XY-20b, -- node is within 5.11m of last node -+ node-XY2 Node-XY-22b, -- node is within 10.23m of last node -+ node-XY3 Node-XY-24b, -- node is within 20.47m of last node -+ node-XY4 Node-XY-26b, -- node is within 40.96m of last node -+ node-XY5 Node-XY-28b, -- node is within 81.91m of last node -+ node-XY6 Node-XY-32b, -- node is within 327.67m of last node -+ node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -+ regional RegionalExtension {{Reg-NodeOffsetPointXY}} -+ -- node which follows is of a -+ -- regional definition type -+ } -+ -+Node-LLmD-64b ::= SEQUENCE { -+ lon Longitude, -+ lat Latitude -+ } -+ -+ -+Node-XY-20b ::= SEQUENCE { -+ x Offset-B10, -+ y Offset-B10 -+ } -+ -+Node-XY-22b ::= SEQUENCE { -+ x Offset-B11, -+ y Offset-B11 -+ } -+ -+ -+Node-XY-24b ::= SEQUENCE { -+ x Offset-B12, -+ y Offset-B12 -+ } -+ -+ -+Node-XY-26b ::= SEQUENCE { -+ x Offset-B13, -+ y Offset-B13 -+ } -+ -+ -+Node-XY-28b ::= SEQUENCE { -+ x Offset-B14, -+ y Offset-B14 -+ } -+ -+ -+Node-XY-32b ::= SEQUENCE { -+ x Offset-B16, -+ y Offset-B16 -+ } -+ -+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -+ -+NodeXY ::= SEQUENCE { -+ delta NodeOffsetPointXY, -+ -- A choice of which X,Y offset value to use -+ -- this includes various delta values as well a regional choices -+ attributes NodeAttributeSetXY OPTIONAL, -+ -- Any optional Attributes which are needed -+ -- This includes changes to the current lane width and elevation -+ ... -+} -+ -+NodeAttributeSetXY ::= SEQUENCE { -+ localNode NodeAttributeXYList OPTIONAL, -+ -- Attribute states which pertain to this node point -+ disabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are disabled at this node point -+ enabled SegmentAttributeXYList OPTIONAL, -+ -- Attribute states which are enabled at this node point -+ -- and which remain enabled until disabled or the lane ends -+ data LaneDataAttributeList OPTIONAL, -+ -- Attributes which require an additional data values -+ -- some of these are local to the node point, while others -+ -- persist with the provided values until changed -+ -- and this is indicated in each entry -+ dWidth Offset-B10 OPTIONAL, -+ -- A value added to the current lane width -+ -- at this node and from this node onwards, in 1cm steps -+ -- lane width between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ dElevation Offset-B10 OPTIONAL, -+ -- A value added to the current Elevation -+ -- at this node from this node onwards, in 10cm steps -+ -- elevations between nodes are a linear taper between pts -+ -- the value of zero shall not be sent here -+ regional SEQUENCE (SIZE(1..4)) OF -+ RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -+ ... -+ } -+ -+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -+ -+NodeAttributeXY ::= ENUMERATED { -+ -- Various values which pertain only to the current node point -+ -+ -- General Items -+ reserved, -+ stopLine, -- point where a mid-path stop line exists -+ -- See also 'do not block' for segments -+ -+ -- Path finish details -+ roundedCapStyleA, -- Used to control final path rounded end shape -+ -- with edge of curve at final point in a circle -+ roundedCapStyleB, -- Used to control final path rounded end shape -+ -- with edge of curve extending 50% of width past -+ -- final point in a circle -+ -+ -- Topography Points (items with no concept of a distance along the path) -+ mergePoint, -- Japan merge with 1 or more lanes -+ divergePoint, -- Japan diverge with 1 or more lanes -+ downstreamStopLine, -- Japan style downstream intersection -+ -- (a 2nd intersection) stop line -+ downstreamStartNode, -- Japan style downstream intersection -+ -- (a 2nd intersection) start node -+ -+ -- Pedestrian Support Attributes -+ closedToTraffic, -- where a pedestrian may NOT go -+ -- to be used during construction events -+ safeIsland, -- a pedestrian safe stopping point -+ -- also called a traffic island -+ -- This usage described a point feature on a path, -+ -- other entries can describe a path -+ curbPresentAtStepOff, -- the sidewalk to street curb is NOT -+ -- angled where it meets the edge of the -+ -- roadway (user must step up/down) -+ -+ -- Lane geometry details (see standard for defined shapes) -+ hydrantPresent, -- Or other services access -+ ... -+ } -+ -+Offset-B10 ::= INTEGER (-512..511) -+ -- a range of +- 5.11 meters -+ -+Offset-B11 ::= INTEGER (-1024..1023) -+ -- a range of +- 10.23 meters -+ -+Offset-B12 ::= INTEGER (-2048..2047) -+ -- a range of +- 20.47 meters -+ -+Offset-B13 ::= INTEGER (-4096..4095) -+ -- a range of +- 40.95 meters -+ -+Offset-B14 ::= INTEGER (-8192..8191) -+ -- a range of +- 81.91 meters -+ -+Offset-B16 ::= INTEGER (-32768..32767) -+ -- a range of +- 327.68 meters -+ -+PrioritizationResponseStatus ::= ENUMERATED { -+ unknown (0), -+ -- Unknown state -+ requested (1), -+ -- This prioritization request was detected -+ -- by the traffic controller -+ processing (2), -+ -- Checking request -+ -- (request is in queue, other requests are prior) -+ watchOtherTraffic (3), -+ -- Cannot give full permission, -+ -- therefore watch for other traffic -+ -- Note that other requests may be present -+ granted (4), -+ -- Intervention was successful -+ -- and now prioritization is active -+ rejected (5), -+ -- The prioritization or preemption request was -+ -- rejected by the traffic controller -+ maxPresence (6), -+ -- The Request has exceeded maxPresence time -+ -- Used when the controller has determined that -+ -- the requester should then back off and -+ -- request an alternative. -+ reserviceLocked (7), -+ -- Prior conditions have resulted in a reservice -+ -- locked event: the controller requires the -+ -- passage of time before another similar request -+ -- will be accepted -+ ... -+} -+ -+RegionId ::= INTEGER (0..255) -+ noRegion RegionId ::= 0 -- Use default supplied stubs -+ addGrpA RegionId ::= 1 -- USA -+ addGrpB RegionId ::= 2 -- Japan -+ addGrpC RegionId ::= 3 -- EU -+ -- NOTE: new registered regional IDs will be added here -+ -- The values 128 and above are for local region use -+ -+-- Regional extensions support -+REG-EXT-ID-AND-TYPE ::= CLASS { -+ &id RegionId UNIQUE, -+ &Type -+ } WITH SYNTAX {&Type IDENTIFIED BY &id} -+ -+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -+ regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -+ regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -+ } -+ -+RegulatorySpeedLimit ::= SEQUENCE { -+ type SpeedLimitType, -+ -- The type of regulatory speed which follows -+ speed Velocity -+ -- The speed in units of 0.02 m/s -+ -- See Section 11 for converting and translating -+ -- speed expressed in mph into units of m/s -+ } -+ -+RoadwayCrownAngle ::= INTEGER (-128..127) -+ -- In LSB units of 0.3 degrees of angle -+ -- over a range of -38.1 to + 38.1 degrees -+ -- The value -128 shall be used for unknown -+ -- The value zero shall be used for angles -+ -- which are between -0.15 and +0.15 -+ -+ -+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -+ -+SegmentAttributeXY ::= ENUMERATED { -+ -- Various values which can be Enabled and Disabled for a lane segment -+ -+ -- General Items -+ reserved , -+ doNotBlock , -- segment where a vehicle -+ -- may not come to a stop -+ whiteLine , -- segment where lane crossing not allowed -+ -- such as the final few meters of a lane -+ -+ -- Porous Lane states, merging, turn outs, parking etc. -+ -+ mergingLaneLeft , -- indicates porous lanes -+ mergingLaneRight , -+ -+ curbOnLeft , -- indicates presence of curbs -+ curbOnRight , -+ -+ loadingzoneOnLeft , -- loading or drop off zones -+ loadingzoneOnRight , -+ -+ turnOutPointOnLeft , -- opening to adjacent street/alley/road -+ turnOutPointOnRight , -+ -+ adjacentParkingOnLeft , -- side of road parking -+ adjacentParkingOnRight , -+ -+ -- Bike Lane Needs -+ adjacentBikeLaneOnLeft , -- presence of marked bike lanes -+ adjacentBikeLaneOnRight , -+ sharedBikeLane , -- right of way is shared with bikes -+ -- who may occupy entire lane width -+ bikeBoxInFront , -+ -+ -- Transit Needs -+ transitStopOnLeft , -- any form of bus/transit loading -+ -- with pull in-out access to lane on left -+ transitStopOnRight , -- any form of bus/transit loading -+ -- with pull in-out access to lane on right -+ transitStopInLane , -- any form of bus/transit loading -+ -- in mid path of the lane -+ sharedWithTrackedVehicle , -- lane is shared with train or trolley -+ -- not used for crossing tracks -+ -+ -+ -- Pedestrian Support Attributes -+ safeIsland , -- begin/end a safety island in path -+ lowCurbsPresent , -- for ADA support -+ rumbleStripPresent , -- for ADA support -+ audibleSignalingPresent , -- for ADA support -+ adaptiveTimingPresent , -- for ADA support -+ rfSignalRequestPresent , -- Supports RF push to walk technologies -+ partialCurbIntrusion , -- path is blocked by a median or curb -+ -- but at least 1 meter remains open for use -+ -- and at-grade passage -+ -+ -- Lane geometry details (see standard for defined shapes) -+ taperToLeft , -- Used to control final path shape -+ taperToRight , -- Used to control final path shape -+ taperToCenterLine , -- Used to control final path shape -+ -+ -- Parking Lane and Curb Attributes -+ parallelParking , -- -+ headInParking , -- Parking at an angle with the street -+ freeParking , -- no restriction on use of parking -+ timeRestrictionsOnParking , -- Parking is not permitted at all times -+ -- typically used when the 'parking' lane -+ -- becomes a driving lane at times -+ costToPark , -- Used where parking has a cost -+ midBlockCurbPresent , -- a protruding curb near lane edge -+ unEvenPavementPresent , -- a disjoint height at lane edge -+ ... -+ } -+ -+SignalGroupID ::= INTEGER (0..255) -+ -- The value 0 shall be used when the ID is -+ -- not available or not known -+ -- the value 255 is reserved to indicate a -+ -- permanent green movement state -+ -- therefore a simple 8 phase signal controller -+ -- device might use 1..9 as its groupIDs -+ -+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -+ -+SpeedLimitType ::= ENUMERATED { -+ unknown, -- Speed limit type not available -+ maxSpeedInSchoolZone, -- Only sent when the limit is active -+ maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -+ maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -+ -- where a reduced speed is present -+ vehicleMinSpeed, -+ vehicleMaxSpeed, -- Regulatory speed limit for general traffic -+ vehicleNightMaxSpeed, -+ -+ truckMinSpeed, -+ truckMaxSpeed, -+ truckNightMaxSpeed, -+ -+ vehiclesWithTrailersMinSpeed, -+ vehiclesWithTrailersMaxSpeed, -+ vehiclesWithTrailersNightMaxSpeed, -+ ... -+ } -+ -+Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -+ -- The value 8191 indicates that -+ -- velocity is unavailable -+ -+------------------------------------------------------ -+--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM IS-REGION -+------------------------------------------------------ -+ -+Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -+ {Control-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+END - -Property changes on: IS/IS_DSRC_REGION_noCircular.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/IS_REGION.asn -=================================================================== ---- IS/IS_REGION.asn (nonexistent) -+++ IS/IS_REGION.asn (working copy) -@@ -0,0 +1,110 @@ -+--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: REGION -+-- TS 19091 Oct 2015 v0909 -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+--FIXME RGY renamed from REGION, as module REGION already exists in MAP-SPAT -+IS-REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } -+ -+DEFINITIONS AUTOMATIC TAGS::= BEGIN -+ -+IMPORTS -+--FIXME RGY definitions moved to non-circularity module -+--addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC -+addGrpC, REG-EXT-ID-AND-TYPE FROM IS-DSRC-REGION-noCircular -+--FIXME RGY Control-addGrpC has been moced to a non-circularity module -+Control-addGrpC FROM AddGrpC-noCircular -+ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, /*Control-addGrpC,*/ Position3D-addGrpC, RestrictionUserType-addGrpC, -+SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; -+ -+ -+Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { -+ {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { -+ {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { -+ {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -+*/ -+ -+Reg-MapData REG-EXT-ID-AND-TYPE ::= { -+ {MapData-addGrpC IDENTIFIED BY addGrpC}, -+ ... -+} -+ -+Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -+ {Control-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+*/ -+ -+Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -+ -+/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop -+Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -+*/ -+ -+Reg-Position3D REG-EXT-ID-AND-TYPE ::= { -+ {Position3D-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { -+ {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } -+ -+Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { -+ { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , -+ ... -+} -+ -+Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } -+ -+END - -Property changes on: IS/IS_REGION.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/ISO_TS_19091.asn -=================================================================== ---- IS/ISO_TS_19091.asn (revision 1297) -+++ IS/ISO_TS_19091.asn (nonexistent) -@@ -1,2077 +0,0 @@ ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- ISO TS 19091 ---- ---- This ASN.1 was generated: 30.08.2016 ---- ---- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message ---- as defined in ISO TS 19091 and SAEJ2735 ---- ---- It includes the addendunm extensions for Addgrp-C (e.g. Europe) ---- ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: AddGrpC ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } -- -- --DEFINITIONS AUTOMATIC TAGS::= BEGIN -- --IMPORTS --NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC --Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -- -- --ConnectionManeuverAssist-addGrpC ::= SEQUENCE { -- itsStationPositions ItsStationPositionList OPTIONAL, -- rsuGNSSOffset NodeOffsetPointXY OPTIONAL, -- ... --} -- --ConnectionTrajectory-addGrpC ::= SEQUENCE { -- nodes NodeSetXY, -- ... --} -- --Control-addGrpC ::= SEQUENCE { -- ptvRequest PtvRequestType, -- ... --} -- --IntersectionState-addGrpC ::= SEQUENCE { -- activePrioritizations PrioritizationResponseList OPTIONAL, -- ... --} -- --MapData-addGrpC ::= SEQUENCE { -- signalHeadLocations SignalHeadLocationList OPTIONAL, -- ... --} -- --Position3D-addGrpC ::= SEQUENCE { -- altitude Altitude, -- ... --} -- --PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse -- --PrioritizationResponse ::= SEQUENCE { -- stationID StationID, -- priorState PrioritizationResponseStatus, -- signalGroup SignalGroupID, -- ... --} -- --RestrictionUserType-addGrpC ::= SEQUENCE { -- emission EmissionType OPTIONAL, -- ... --} -- --SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation -- --SignalHeadLocation ::= SEQUENCE { -- nodeXY NodeOffsetPointXY, -- nodeZ DeltaAltitude, -- signalGroupID SignalGroupID, -- ... --} -- --SignalStatusPackage-addGrpC ::= SEQUENCE { -- synchToSchedule DeltaTime OPTIONAL, -- ... --} -- -- --ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition -- --ItsStationPosition ::= SEQUENCE { -- stationID StationID, -- laneID LaneID OPTIONAL, -- nodeXY NodeOffsetPointXY OPTIONAL, -- timeReference TimeReference OPTIONAL, -- ... --} --EmissionType ::= ENUMERATED { -- euro1, -- euro2, -- euro3, -- euro4, -- euro5, -- euro6, -- ... --} -- --PtvRequestType ::= ENUMERATED { -- preRequest, -- mainRequest, -- doorCloseRequest, -- cancelRequest, -- emergencyRequest, -- ... --} -- --TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: REGION ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } -- --DEFINITIONS AUTOMATIC TAGS::= BEGIN -- --IMPORTS --addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC --ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC, --SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; -- --Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { -- {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { -- {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { -- {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-MapData REG-EXT-ID-AND-TYPE ::= { -- {MapData-addGrpC IDENTIFIED BY addGrpC}, -- ... --} -- --Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { -- {Control-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-Position3D REG-EXT-ID-AND-TYPE ::= { -- {Position3D-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { -- {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } -- --Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { -- { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , -- ... --} -- --Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } -- --END -- -- -- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- ---- ---- module: DSRC ---- ---- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -- --DEFINITIONS AUTOMATIC TAGS::= BEGIN -- --IMPORTS --StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } --Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, --Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState, --Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, --Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} --Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) }; -- ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- ---- Start of entries from table Messages... ---- This table typicaly contains message entries. ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- -- --MessageFrame ::= SEQUENCE { -- messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), -- value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), -- ... -- } -- --MESSAGE-ID-AND-TYPE ::= CLASS { -- &id DSRCmsgID UNIQUE, -- &Type -- } WITH SYNTAX {&Type IDENTIFIED BY &id} -- --MessageTypes MESSAGE-ID-AND-TYPE ::= { -- { MapData IDENTIFIED BY mapData } | -- { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | -- { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | -- { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, -- ... -- Expansion to be used only by the SAE J2735 DSRC TC -- } -- -- ---- Regional extensions support --REG-EXT-ID-AND-TYPE ::= CLASS { -- &id RegionId UNIQUE, -- &Type -- } WITH SYNTAX {&Type IDENTIFIED BY &id} -- --RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { -- regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), -- regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) -- } -- --SPAT ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- name DescriptiveName OPTIONAL, -- -- human readable name for this collection -- -- to be used only in debug mode -- -- intersections IntersectionStateList, -- -- sets of SPAT data (one per intersection) -- -- -- If PrioritizationResponse data is required, it is found -- -- in the RegionalSPAT entry below -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SPAT}} OPTIONAL, -- ... -- } -- --SignalRequestMessage ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- second DSecond, -- sequenceNumber MsgCount OPTIONAL, -- -- requests SignalRequestList OPTIONAL, -- -- Request Data for one or more signalized -- -- intersections that support SRM dialogs -- -- requestor RequestorDescription, -- -- Requesting Device and other User Data -- -- contains vehicle ID (if from a vehicle) -- -- as well as type data and current position -- -- and may contain additional transit data -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, -- ... --} -- --SignalStatusMessage ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- second DSecond, -- sequenceNumber MsgCount OPTIONAL, -- -- -- Status Data for one of more signalized intersections -- status SignalStatusList, -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, -- ... --} -- --MapData ::= SEQUENCE { -- timeStamp MinuteOfTheYear OPTIONAL, -- msgIssueRevision MsgCount, -- layerType LayerType OPTIONAL, -- layerID LayerID OPTIONAL, -- intersections IntersectionGeometryList OPTIONAL, -- -- All Intersection definitions -- roadSegments RoadSegmentList OPTIONAL, -- -- All roadway descriptions -- -- dataParameters DataParameters OPTIONAL, -- -- Any meta data regarding the map contents -- -- restrictionList RestrictionClassList OPTIONAL, -- -- Any restriction ID tables which have -- -- established for these map entries -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-MapData}} OPTIONAL, -- -- -- NOTE: -- -- Other map data will be added here as it is defined -- -- Examples of the type of content to be added include -- -- curve warnings, construction routes, etc. -- ... --} -- -- ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- ---- Start of entries from table Data_Frames... ---- This table typicaly contains data frame entries. ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- -- --AdvisorySpeed ::= SEQUENCE { -- type AdvisorySpeedType, -- -- the type of advisory which this is. -- speed SpeedAdvice OPTIONAL, -- -- See Section 11 for converting and translating speed -- -- expressed in mph into units of m/s -- -- This element is optional ONLY when superceded -- -- by the presence of a regional speed element found in -- -- Reg-AdvisorySpeed entry -- confidence SpeedConfidence OPTIONAL, -- -- A confidence value for the above speed -- distance ZoneLength OPTIONAL, -- -- Unit = 1 meter, -- -- The distance indicates the region for which the advised speed -- -- is recommended, it is specified upstream from the stop bar -- -- along the connected egressing lane -- class RestrictionClassID OPTIONAL, -- -- the vehicle types to which it applies -- -- when absent, the AdvisorySpeed applies to -- -- all motor vehicle types -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, -- ... -- } -- --AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed -- --ComputedLane ::= SEQUENCE { -- -- Data needed to created a computed lane -- referenceLaneId LaneID, -- -- the lane ID upon which this -- -- computed lane will be based -- -- Lane Offset in X and Y direction -- offsetXaxis CHOICE { -- small DrivenLineOffsetSm, -- large DrivenLineOffsetLg -- }, -- offsetYaxis CHOICE { -- small DrivenLineOffsetSm, -- large DrivenLineOffsetLg -- }, -- -- A path X offset value for translations of the -- -- path's points when creating translated lanes. -- -- The values found in the reference lane are -- -- all offset based on the X and Y values from -- -- the coordinates of the reference lane's -- -- initial path point. -- -- Lane Rotation -- rotateXY Angle OPTIONAL, -- -- A path rotation value for the entire lane -- -- Observe that this rotates the existing orientation -- -- of the referenced lane, it does not replace it. -- -- Rotation occurs about the initial path point. -- -- Lane Path Scale (zooming) -- scaleXaxis Scale-B12 OPTIONAL, -- scaleYaxis Scale-B12 OPTIONAL, -- -- value for translations or zooming of the path's -- -- points. The values found in the reference lane -- -- are all expanded or contracted based on the X -- -- and Y and width values from the coordinates of -- -- the reference lane's initial path point. -- -- The Z axis remains untouched. -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-ComputedLane}} OPTIONAL, -- ... -- } --ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection -- --ConnectingLane ::= SEQUENCE { -- lane LaneID, -- Index of the connecting lane -- maneuver AllowedManeuvers OPTIONAL -- -- The Maneuver between -- -- the enclosing lane and this lane -- -- at the stop line to connect them -- } -- -- --Connection ::= SEQUENCE { -- -- The subject lane connecting to this lane is: -- connectingLane ConnectingLane, -- -- The index of the connecting lane and also -- -- the maneuver from the current lane to it -- remoteIntersection IntersectionReferenceID OPTIONAL, -- -- This entry is only used when the -- -- indicated connecting lane belongs -- -- to another intersection layout. This -- -- provides a means to create meshes of lanes -- -- -- SPAT mapping details at the stop line are: -- signalGroup SignalGroupID OPTIONAL, -- -- The matching signal group send by -- -- the SPAT message for this lane/maneuver. -- -- Shall be present unless the connectingLane -- -- has no signal group (is un-signalized) -- userClass RestrictionClassID OPTIONAL, -- -- The Restriction Class of users this applies to -- -- The use of some lane/maneuver and SignalGroupID -- -- pairings are restricted to selected users. -- -- When absent, the SignalGroupID applies to all -- -- -- Movement assist details are given by: -- connectionID LaneConnectionID OPTIONAL -- -- An optional connection index used to -- -- relate this lane connection to any dynamic -- -- clearance data in the SPAT. Note that -- -- the index may be shared with other -- -- connections if the clearance data is common -- } -- -- --ConnectionManeuverAssist ::= SEQUENCE { -- connectionID LaneConnectionID, -- -- the common connectionID used by all lanes to which -- -- this data applies -- -- (this value traces to ConnectsTo entries in lanes) -- -- Expected Clearance Information -- queueLength ZoneLength OPTIONAL, -- -- Unit = 1 meter, 0 = no queue -- -- The distance from the stop line to the back -- -- edge of the last vehicle in the queue, -- -- as measured along the lane center line. -- availableStorageLength ZoneLength OPTIONAL, -- -- Unit = 1 meter, 0 = no space remains -- -- Distance (e.g. beginning from the downstream -- -- stop-line up to a given distance) with a high -- -- probability for successfully executing the -- -- connecting maneuver between the two lanes -- -- during the current cycle. -- -- Used for enhancing the awareness of vehicles -- -- to anticipate if they can pass the stop line -- -- of the lane. Used for optimizing the green wave, -- -- due to knowledge of vehicles waiting in front -- -- of a red light (downstream). -- -- The element nextTime in TimeChangeDetails -- -- in the containing data frame contains the next -- -- timemark at which an active phase is expected, -- -- a form of storage flush interval. -- waitOnStop WaitOnStopline OPTIONAL, -- -- If "true", the vehicles on this specific connecting -- -- maneuver have to stop on the stop-line and not -- -- to enter the collision area -- pedBicycleDetect PedestrianBicycleDetect OPTIONAL, -- -- true if ANY ped or bicycles are detected crossing -- -- the above lanes. Set to false ONLY if there is a -- -- high certainty that there are none present, -- -- otherwise element is not sent. -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, -- ... -- } -- --DataParameters ::= SEQUENCE { -- processMethod IA5String(SIZE(1..255)) OPTIONAL, -- processAgency IA5String(SIZE(1..255)) OPTIONAL, -- lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, -- geoidUsed IA5String(SIZE(1..255)) OPTIONAL, -- ... -- } -- --EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID -- -- The unique ID numbers for each -- -- lane object which is 'active' -- -- as part of the dynamic map contents. -- --GenericLane ::= SEQUENCE { -- laneID LaneID, -- -- The unique ID number assigned -- -- to this lane object -- name DescriptiveName OPTIONAL, -- -- often for debug use only -- -- but at times used to name ped crossings -- ingressApproach ApproachID OPTIONAL, -- inbound -- egressApproach ApproachID OPTIONAL, -- outbound -- -- Approach IDs to which this lane belongs -- laneAttributes LaneAttributes, -- -- All Attribute information about -- -- the basic selected lane type -- -- Directions of use, Geometric co-sharing -- -- and Type Specific Attributes -- -- These Attributes are 'lane - global' that is, -- -- they are true for the entire length of the lane -- maneuvers AllowedManeuvers OPTIONAL, -- -- the permitted maneuvers for this lane -- nodeList NodeListXY, -- -- Lane spatial path information as well as -- -- various Attribute information along the node path -- -- Attributes found here are more general and may -- -- come and go over the length of the lane. -- connectsTo ConnectsToList OPTIONAL, -- -- a list of other lanes and their signal group IDs -- -- each connecting lane and its signal group ID -- -- is given, therefore this element provides the -- -- information formerly in "signalGroups" in prior -- -- editions. -- overlays OverlayLaneList OPTIONAL, -- -- A list of any lanes which have spatial paths that -- -- overlay (run on top of, and not simply cross) -- -- the path of this lane when used -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-GenericLane}} OPTIONAL, -- ... -- } -- --IntersectionAccessPoint ::= CHOICE { -- lane LaneID, -- approach ApproachID, -- connection LaneConnectionID, -- ... -- } -- --IntersectionGeometry ::= SEQUENCE { -- name DescriptiveName OPTIONAL, -- -- For debug use only -- id IntersectionReferenceID, -- -- A globally unique value set, -- -- consisting of a regionID and -- -- intersection ID assignment -- revision MsgCount, -- -- -- Required default values about lane descriptions follow -- refPoint Position3D, -- The reference from which subsequent -- -- data points are offset until a new -- -- point is used. -- laneWidth LaneWidth OPTIONAL, -- -- Reference width used by all subsequent -- -- lanes unless a new width is given -- speedLimits SpeedLimitList OPTIONAL, -- -- Reference regulatory speed limits -- -- used by all subsequent -- -- lanes unless a new speed is given -- -- See Section 11 for converting and -- -- translating speed expressed in mph -- -- into units of m/s -- -- Complete details regarding each lane type in this intersection -- laneSet LaneList, -- Data about one or more lanes -- -- (all lane data is found here) -- -- -- Data describing how to use and request preemption and -- -- priority services from this intersection (if supported) -- -- NOTE Additonal data may be added in the next release of the -- -- standard at this point to handle this concept -- preemptPriorityData PreemptPriorityList OPTIONAL, -- -- data about one or more regional -- -- preempt or priority zones -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, -- ... -- } -- --IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry -- --IntersectionReferenceID ::= SEQUENCE { -- region RoadRegulatorID OPTIONAL, -- -- a globally unique regional assignment value -- -- typical assigned to a regional DOT authority -- -- the value zero shall be used for testing needs -- id IntersectionID -- -- a unique mapping to the intersection -- -- in question within the above region of use -- } -- --IntersectionState ::= SEQUENCE { -- name DescriptiveName OPTIONAL, -- -- human readable name for intersection -- -- to be used only in debug mode -- id IntersectionReferenceID, -- -- A globally unique value set, consisting of a -- -- regionID and intersection ID assignment -- -- provides a unique mapping to the -- -- intersection MAP in question -- -- which provides complete location -- -- and approach/move/lane data -- revision MsgCount, -- status IntersectionStatusObject, -- -- general status of the controller(s) -- moy MinuteOfTheYear OPTIONAL, -- -- Minute of current UTC year -- -- used only with messages to be archived -- timeStamp DSecond OPTIONAL, -- -- the mSec point in the current UTC minute that -- -- this message was constructed -- enabledLanes EnabledLaneList OPTIONAL, -- -- a list of lanes where the RevocableLane bit -- -- has been set which are now active and -- -- therefore part of the current intersection -- states MovementList, -- -- Each Movement is given in turn -- -- and contains its signal phase state, -- -- mapping to the lanes it applies to, and -- -- point in time it will end, and it -- -- may contain both active and future states -- maneuverAssistList ManeuverAssistList OPTIONAL, -- -- Assist data -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-IntersectionState}} OPTIONAL, -- ... -- } -- --IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState -- --LaneAttributes ::= SEQUENCE { -- directionalUse LaneDirection, -- directions of lane use -- sharedWith LaneSharing, -- co-users of the lane path -- laneType LaneTypeAttributes, -- specific lane type data -- regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL -- } -- --LaneDataAttribute ::= CHOICE { -- -- Segment attribute types and the data needed for each -- pathEndPointAngle DeltaAngle, -- -- adjusts final point/width slant -- -- of the lane to align with the stop line -- laneCrownPointCenter RoadwayCrownAngle, -- -- sets the canter of the road bed -- -- from centerline point -- laneCrownPointLeft RoadwayCrownAngle, -- -- sets the canter of the road bed -- -- from left edge -- laneCrownPointRight RoadwayCrownAngle, -- -- sets the canter of the road bed -- -- from right edge -- laneAngle MergeDivergeNodeAngle, -- -- the angle or direction of another lane -- -- this is required to support Japan style -- -- when a merge point angle is required -- speedLimits SpeedLimitList, -- -- Reference regulatory speed limits -- -- used by all segments -- -- -- Add others as needed, in regional space -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-LaneDataAttribute}}, -- ... -- } -- --LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute -- --LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -- --LaneSharing ::= BIT STRING { -- -- With bits as defined: -- overlappingLaneDescriptionProvided (0), -- -- Assert when another lane object is present to describe the -- -- path of the overlapping shared lane -- -- this construct is not used for lane objects which simply cross -- multipleLanesTreatedAsOneLane (1), -- -- Assert if the lane object path and width details represents -- -- multiple lanes within it that are not further described -- -- -- Various modes and type of traffic that may share this lane: -- otherNonMotorizedTrafficTypes (2), -- horse drawn etc. -- individualMotorizedVehicleTraffic (3), -- busVehicleTraffic (4), -- taxiVehicleTraffic (5), -- pedestriansTraffic (6), -- cyclistVehicleTraffic (7), -- trackedVehicleTraffic (8), -- pedestrianTraffic (9) -- } (SIZE (10)) -- -- All zeros would indicate 'not shared' and 'not overlapping' -- --LaneTypeAttributes ::= CHOICE { -- vehicle LaneAttributes-Vehicle, -- motor vehicle lanes -- crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks -- bikeLane LaneAttributes-Bike, -- bike lanes -- sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths -- median LaneAttributes-Barrier, -- medians & channelization -- striping LaneAttributes-Striping, -- roadway markings -- trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys -- parking LaneAttributes-Parking, -- parking and stopping lanes -- ... -- } -- --ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist -- --MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent -- --MovementEvent ::= SEQUENCE { -- eventState MovementPhaseState, -- -- Consisting of: -- -- Phase state (the basic 11 states) -- -- Directional, protected, or permissive state -- -- timing TimeChangeDetails OPTIONAL, -- -- Timing Data in UTC time stamps for event -- -- includes start and min/max end times of phase -- -- confidence and estimated next occurrence -- -- speeds AdvisorySpeedList OPTIONAL, -- -- various speed advisories for use by -- -- general and specific types of vehicles -- -- supporting green-wave and other flow needs -- -- See Section 11 for converting and translating -- -- speed expressed in mph into units of m/s -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-MovementEvent}} OPTIONAL, -- ... -- } -- --MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState -- --MovementState ::= SEQUENCE { -- movementName DescriptiveName OPTIONAL, -- -- uniquely defines movement by name -- -- human readable name for intersection -- -- to be used only in debug mode -- signalGroup SignalGroupID, -- -- the group id is used to map to lists -- -- of lanes (and their descriptions) -- -- which this MovementState data applies to -- -- see comments in the Remarks for usage details -- state-time-speed MovementEventList, -- -- Consisting of sets of movement data with: -- -- a) SignalPhaseState -- -- b) TimeChangeDetails, and -- -- c) AdvisorySpeeds (optional ) -- -- Note one or more of the movement events may be for -- -- a future time and that this allows conveying multiple -- -- predictive phase and movement timing for various uses -- -- for the current signal group -- maneuverAssistList ManeuverAssistList OPTIONAL, -- -- This information may also be placed in the -- -- IntersectionState when common information applies to -- -- different lanes in the same way -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-MovementState}} OPTIONAL, -- ... -- } -- --NodeAttributeSetXY ::= SEQUENCE { -- localNode NodeAttributeXYList OPTIONAL, -- -- Attribute states which pertain to this node point -- disabled SegmentAttributeXYList OPTIONAL, -- -- Attribute states which are disabled at this node point -- enabled SegmentAttributeXYList OPTIONAL, -- -- Attribute states which are enabled at this node point -- -- and which remain enabled until disabled or the lane ends -- data LaneDataAttributeList OPTIONAL, -- -- Attributes which require an additional data values -- -- some of these are local to the node point, while others -- -- persist with the provided values until changed -- -- and this is indicated in each entry -- dWidth Offset-B10 OPTIONAL, -- -- A value added to the current lane width -- -- at this node and from this node onwards, in 1cm steps -- -- lane width between nodes are a linear taper between pts -- -- the value of zero shall not be sent here -- dElevation Offset-B10 OPTIONAL, -- -- A value added to the current Elevation -- -- at this node from this node onwards, in 10cm steps -- -- elevations between nodes are a linear taper between pts -- -- the value of zero shall not be sent here -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, -- ... -- } -- --NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY -- --NodeAttributeXY ::= ENUMERATED { -- -- Various values which pertain only to the current node point -- -- -- General Items -- reserved, -- stopLine, -- point where a mid-path stop line exists -- -- See also 'do not block' for segments -- -- -- Path finish details -- roundedCapStyleA, -- Used to control final path rounded end shape -- -- with edge of curve at final point in a circle -- roundedCapStyleB, -- Used to control final path rounded end shape -- -- with edge of curve extending 50% of width past -- -- final point in a circle -- -- -- Topography Points (items with no concept of a distance along the path) -- mergePoint, -- Japan merge with 1 or more lanes -- divergePoint, -- Japan diverge with 1 or more lanes -- downstreamStopLine, -- Japan style downstream intersection -- -- (a 2nd intersection) stop line -- downstreamStartNode, -- Japan style downstream intersection -- -- (a 2nd intersection) start node -- -- -- Pedestrian Support Attributes -- closedToTraffic, -- where a pedestrian may NOT go -- -- to be used during construction events -- safeIsland, -- a pedestrian safe stopping point -- -- also called a traffic island -- -- This usage described a point feature on a path, -- -- other entries can describe a path -- curbPresentAtStepOff, -- the sidewalk to street curb is NOT -- -- angled where it meets the edge of the -- -- roadway (user must step up/down) -- -- -- Lane geometry details (see standard for defined shapes) -- hydrantPresent, -- Or other services access -- ... -- } -- --Node-LLmD-64b ::= SEQUENCE { -- lon Longitude, -- lat Latitude -- } -- -- Node-XY-20b ::= SEQUENCE { -- x Offset-B10, -- y Offset-B10 -- } -- --Node-XY-22b ::= SEQUENCE { -- x Offset-B11, -- y Offset-B11 -- } -- -- --Node-XY-24b ::= SEQUENCE { -- x Offset-B12, -- y Offset-B12 -- } -- -- --Node-XY-26b ::= SEQUENCE { -- x Offset-B13, -- y Offset-B13 -- } -- -- --Node-XY-28b ::= SEQUENCE { -- x Offset-B14, -- y Offset-B14 -- } -- -- --Node-XY-32b ::= SEQUENCE { -- x Offset-B16, -- y Offset-B16 -- } -- --NodeListXY ::= CHOICE { -- nodes NodeSetXY, -- -- a lane made up of two or more -- -- XY node points and any attributes -- -- defined in those nodes -- computed ComputedLane, -- -- a lane path computed by translating -- -- the data defined by another lane -- ... -- } -- --NodeOffsetPointXY ::= CHOICE { -- -- Nodes with X,Y content -- node-XY1 Node-XY-20b, -- node is within 5.11m of last node -- node-XY2 Node-XY-22b, -- node is within 10.23m of last node -- node-XY3 Node-XY-24b, -- node is within 20.47m of last node -- node-XY4 Node-XY-26b, -- node is within 40.96m of last node -- node-XY5 Node-XY-28b, -- node is within 81.91m of last node -- node-XY6 Node-XY-32b, -- node is within 327.67m of last node -- node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range -- regional RegionalExtension {{Reg-NodeOffsetPointXY}} -- -- node which follows is of a -- -- regional definition type -- } -- --NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY -- --NodeXY ::= SEQUENCE { -- delta NodeOffsetPointXY, -- -- A choice of which X,Y offset value to use -- -- this includes various delta values as well a regional choices -- attributes NodeAttributeSetXY OPTIONAL, -- -- Any optional Attributes which are needed -- -- This includes changes to the current lane width and elevation -- ... --} -- --OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID -- -- The unique ID numbers for any lane object which have -- -- spatial paths that overlay (run on top of, and not -- -- simply cross with) the current lane. -- -- Such as a train path that overlays a motor vehicle -- -- lane object for a roadway segment. -- --Position3D ::= SEQUENCE { -- lat Latitude, -- in 1/10th micro degrees -- long Longitude, -- in 1/10th micro degrees -- elevation Elevation OPTIONAL, -- in 10 cm units -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-Position3D}} OPTIONAL, -- ... -- } -- --PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone -- --RegulatorySpeedLimit ::= SEQUENCE { -- type SpeedLimitType, -- -- The type of regulatory speed which follows -- speed Velocity -- -- The speed in units of 0.02 m/s -- -- See Section 11 for converting and translating -- -- speed expressed in mph into units of m/s -- } -- --RequestorDescription ::= SEQUENCE { -- id VehicleID, -- -- The ID used in the BSM or CAM of the requestor -- -- This ID is presumed not to change -- -- during the exchange -- type RequestorType OPTIONAL, -- -- Information regarding all type and class data -- -- about the requesting vehicle -- position RequestorPositionVector OPTIONAL, -- -- The location of the requesting vehicle -- name DescriptiveName OPTIONAL, -- -- A human readable name for debugging use -- -- Support for Transit requests -- routeName DescriptiveName OPTIONAL, -- -- A string for transit operations use -- transitStatus TransitVehicleStatus OPTIONAL, -- -- current vehicle state (loading, etc.) -- transitOccupancy TransitVehicleOccupancy OPTIONAL, -- -- current vehicle occupancy -- transitSchedule DeltaTime OPTIONAL, -- -- current vehicle schedule adherence -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, -- ... -- } -- --RequestorPositionVector ::= SEQUENCE { -- position Position3D, -- heading Angle OPTIONAL, -- speed TransmissionAndSpeed OPTIONAL, -- ... -- } -- --RequestorType ::= SEQUENCE { -- -- Defines who is requesting -- role BasicVehicleRole, -- Basic role of this user at this time -- subrole RequestSubRole OPTIONAL, -- A local list with role based items -- -- -- Defines what kind of request (a level of importance in the Priority Scheme) -- request RequestImportanceLevel OPTIONAL, -- A local list with request items -- -- -- Additional classification details -- iso3883 Iso3833VehicleType OPTIONAL, -- hpmsType VehicleType OPTIONAL, -- HPMS classification types -- -- regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, -- ... -- } -- --RestrictionClassAssignment ::= SEQUENCE { -- id RestrictionClassID, -- -- the unique value (within an intersection or local region) -- -- that is assigned to this group of users -- users RestrictionUserTypeList -- -- The list of user types/classes -- -- to which this restriction ID applies -- } -- --RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment -- --RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType -- --RestrictionUserType ::= CHOICE { -- basicType RestrictionAppliesTo, -- -- a set of the most commonly used types -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-RestrictionUserType}}, -- ... -- } -- --RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane -- --RoadSegmentReferenceID ::= SEQUENCE { -- region RoadRegulatorID OPTIONAL, -- -- a globally unique regional assignment value -- -- typically assigned to a regional DOT authority -- -- the value zero shall be used for testing needs -- id RoadSegmentID -- -- a unique mapping to the road segment -- -- in question within the above region of use -- -- during its period of assignment and use -- -- note that unlike intersectionID values, -- -- this value can be reused by the region -- } -- --RoadSegment ::= SEQUENCE { -- name DescriptiveName OPTIONAL, -- id RoadSegmentReferenceID, -- -- a globally unique value for the segment -- revision MsgCount, -- -- Required default values about the descriptions to follow -- refPoint Position3D, -- the reference from which subsequent -- -- data points are offset until a new -- -- point is used. -- laneWidth LaneWidth OPTIONAL, -- -- Reference width used by all subsequent -- -- lanes unless a new width is given -- speedLimits SpeedLimitList OPTIONAL, -- -- Reference regulatory speed limits -- -- used by all subsequent -- -- lanes unless a new speed is given -- -- See Section 11 for converting and -- -- translating speed expressed in mph -- -- into units of m/s -- -- -- Data describing disruptions in the RoadSegment -- -- such as work zones etc will be added here; -- -- in the US the SAE ITIS codes would be used here -- -- The details regarding each lane type in the RoadSegment -- roadLaneSet RoadLaneSetList, -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-RoadSegment}} OPTIONAL, -- ... -- } -- --RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment -- --SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY -- --SignalControlZone ::= SEQUENCE { -- zone RegionalExtension {{Reg-SignalControlZone}}, -- ... -- } -- --SignalRequesterInfo ::= SEQUENCE { -- -- These three items serve to uniquely identify the requester -- -- and the specific request to all parties -- id VehicleID, -- request RequestID, -- sequenceNumber MsgCount, -- role BasicVehicleRole OPTIONAL, -- -- typeData RequestorType OPTIONAL, -- -- Used when addition data besides the role -- -- is needed, at which point the role entry -- -- above is not sent. -- ... -- } -- --SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage -- --SignalRequestPackage ::= SEQUENCE { -- request SignalRequest, -- -- The specific request to the intersection -- -- contains IntersectionID, request type, -- -- requested action (approach/lane request) -- -- -- The Estimated Time of Arrival (ETA) when the service is requested -- minute MinuteOfTheYear OPTIONAL, -- second DSecond OPTIONAL, -- duration DSecond OPTIONAL, -- -- The duration value is used to provide a short interval that -- -- extends the ETA so that the requesting vehicle can arrive at -- -- the point of service with uncertainty or with some desired -- -- duration of service. This concept can be used to avoid needing -- -- to frequently update the request. -- -- The requester must update the ETA and duration values if the -- -- period of services extends beyond the duration time. -- -- It should be assumed that if the vehicle does not clear the -- -- intersection when the duration is reached, the request will -- -- be cancelled and the intersection will revert to -- -- normal operation. -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, -- ... -- } -- --SignalRequest ::= SEQUENCE { -- -- the unique ID of the target intersection -- id IntersectionReferenceID, -- -- -- The unique requestID used by the requestor -- requestID RequestID, -- -- -- The type of request or cancel for priority or preempt use -- -- when a prior request is canceled, only the requestID is needed -- requestType PriorityRequestType, -- -- -- In typical use either an approach or a lane number would -- -- be given, this indicates the requested -- -- path through the intersection to the degree it is known. -- inBoundLane IntersectionAccessPoint, -- -- desired entry approach or lane -- outBoundLane IntersectionAccessPoint OPTIONAL, -- -- desired exit approach or lane -- -- the values zero is used to indicate -- -- intent to stop within the intersection -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalRequest}} OPTIONAL, -- ... -- } -- --SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus -- --SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage -- --SignalStatusPackage ::= SEQUENCE { -- -- The party that made the initial SRM request -- requester SignalRequesterInfo OPTIONAL, -- -- The lanes or approaches used in the request -- inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle -- outboundOn IntersectionAccessPoint OPTIONAL, -- -- -- The Estimated Time of Arrival (ETA) when the service is requested -- -- This data echos the data of the request -- minute MinuteOfTheYear OPTIONAL, -- second DSecond OPTIONAL, -- duration DSecond OPTIONAL, -- -- -- the SRM status for this request -- status PrioritizationResponseStatus, -- -- Status of request, this may include rejection -- -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, -- ... -- } -- --SignalStatus ::= SEQUENCE { -- sequenceNumber MsgCount, -- -- changed whenever the below contents have change -- id IntersectionReferenceID, -- -- this provides a unique mapping to the -- -- intersection map in question -- -- which provides complete location -- -- and approach/movement/lane data -- -- as well as zones for priority/preemption -- sigStatus SignalStatusPackageList, -- -- a list of detailed status containing all -- -- priority or preemption state data, both -- -- active and pending, and who requested it -- -- requests which are denied are also listed -- -- here for a short period of time -- regional SEQUENCE (SIZE(1..4)) OF -- RegionalExtension {{Reg-SignalStatus}} OPTIONAL, -- ... -- } -- --SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit -- --SpeedLimitType ::= ENUMERATED { -- unknown, -- Speed limit type not available -- maxSpeedInSchoolZone, -- Only sent when the limit is active -- maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time -- maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. -- -- where a reduced speed is present -- vehicleMinSpeed, -- vehicleMaxSpeed, -- Regulatory speed limit for general traffic -- vehicleNightMaxSpeed, -- -- truckMinSpeed, -- truckMaxSpeed, -- truckNightMaxSpeed, -- -- vehiclesWithTrailersMinSpeed, -- vehiclesWithTrailersMaxSpeed, -- vehiclesWithTrailersNightMaxSpeed, -- ... -- } -- --TimeChangeDetails ::= SEQUENCE { -- startTime TimeMark OPTIONAL, -- -- When this phase 1st started -- minEndTime TimeMark, -- -- Expected shortest end time -- maxEndTime TimeMark OPTIONAL, -- -- Expected longest end time -- -- likelyTime TimeMark OPTIONAL, -- -- Best predicted value based on other data -- confidence TimeIntervalConfidence OPTIONAL, -- -- Applies to above time element only -- -- nextTime TimeMark OPTIONAL -- -- A rough estimate of time when -- -- this phase may next occur again -- -- used to support various ECO driving power -- -- management needs. -- } -- --TimeMark ::= INTEGER (0..36001) -- -- Tenths of a second in the current or next hour -- -- In units of 1/10th second from UTC time -- -- A range of 0~36000 covers one hour -- -- The values 35991..36000 are used when a leap second occurs -- -- The value 36001 is used to indicate time >3600 seconds -- -- 36002 is to be used when value undefined or unknown -- -- Note that this is NOT expressed in GPS time -- -- or in local time -- --TransmissionAndSpeed ::= SEQUENCE { -- transmisson TransmissionState, -- speed Velocity -- } -- --VehicleID ::= CHOICE { -- entityID TemporaryID, -- stationID StationID -- } -- -- ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- ---- Start of entries from table Data_Elements... ---- This table typicaly contains data element entries. ---- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ---- -- --AdvisorySpeedType ::= ENUMERATED { -- none (0), -- greenwave (1), -- ecoDrive (2), -- transit (3), -- ... -- } -- Note: subject to further growth -- --AllowedManeuvers ::= BIT STRING { -- -- With bits as defined: -- -- Allowed maneuvers at path end (stop line) -- -- All maneuvers with bits not set are therefore prohibited ! -- -- A value of zero shall be used for unknown, indicating no Maneuver -- maneuverStraightAllowed (0), -- -- a Straight movement is allowed in this lane -- maneuverLeftAllowed (1), -- -- a Left Turn movement is allowed in this lane -- maneuverRightAllowed (2), -- -- a Right Turn movement is allowed in this lane -- maneuverUTurnAllowed (3), -- -- a U turn movement is allowed in this lane -- maneuverLeftTurnOnRedAllowed (4), -- -- a Stop, and then proceed when safe movement -- -- is allowed in this lane -- maneuverRightTurnOnRedAllowed (5), -- -- a Stop, and then proceed when safe movement -- -- is allowed in this lane -- maneuverLaneChangeAllowed (6), -- -- a movement which changes to an outer lane -- -- on the egress side is allowed in this lane -- -- (example: left into either outbound lane) -- maneuverNoStoppingAllowed (7), -- -- the vehicle should not stop at the stop line -- -- (example: a flashing green arrow) -- yieldAllwaysRequired (8), -- -- the allowed movements above are not protected -- -- (example: an permanent yellow condition) -- goWithHalt (9), -- -- after making a full stop, may proceed -- caution (10), -- -- proceed past stop line with caution -- reserved1 (11) -- -- used to align to 12 Bit Field -- -- } (SIZE(12)) -- --Angle ::= INTEGER (0..28800) -- -- LSB of 0.0125 degrees -- -- A range of 0 to 359.9875 degrees -- --ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown -- --BasicVehicleRole ::= ENUMERATED { -- -- Values used in the EU and in the US -- basicVehicle (0), -- Light duty passenger vehicle type -- publicTransport (1), -- Used in EU for Transit us -- specialTransport (2), -- Used in EU (e.g. heavy load) -- dangerousGoods (3), -- Used in EU for any HAZMAT -- roadWork (4), -- Used in EU for State and Local DOT uses -- roadRescue (5), -- Used in EU and in the US to include tow trucks. -- emergency (6), -- Used in EU for Police, Fire and Ambulance units -- safetyCar (7), -- Used in EU for Escort vehicles -- -- Begin US unique numbering -- none-unknown (8), -- added to follow current SAE style guidelines -- truck (9), -- Heavy trucks with additional BSM rights and obligations -- motorcycle (10), -- -- roadSideSource (11), -- For infrastructure generated calls such as -- -- fire house, rail infrastructure, roadwork site, etc. -- police (12), -- -- fire (13), -- -- ambulance (14), -- (does not include private para-transit etc.) -- dot (15), -- all roadwork vehicles -- transit (16), -- all transit vehicles -- slowMoving (17), -- to also include oversize etc. -- stopNgo (18), -- to include trash trucks, school buses and others -- -- that routinely disturb the free flow of traffic -- cyclist (19), -- -- pedestrian (20), -- also includes those with mobility limitations -- nonMotorized (21), -- other, horse drawn, etc. -- military (22), -- -- ... -- } -- --DeltaAngle ::= INTEGER (-150..150) -- -- With an angle range from -- -- negative 150 to positive 150 -- -- in one degree steps where zero is directly -- -- along the axis or the lane center line as defined by the -- -- two closest points -- --DeltaTime ::= INTEGER (-122 .. 121) -- -- Supporting a range of +/- 20 minute in steps of 10 seconds -- -- the value of -121 shall be used when more than -20 minutes -- -- the value of +120 shall be used when more than +20 minutes -- -- the value -122 shall be used when the value is unavailable -- --DescriptiveName ::= IA5String (SIZE(1..63)) -- --DrivenLineOffsetLg ::= INTEGER (-32767..32767) -- -- LSB units are 1 cm. -- --DrivenLineOffsetSm ::= INTEGER (-2047..2047) -- -- LSB units are 1 cm. -- --DSecond ::= INTEGER (0..65535) -- units of milliseconds -- --DSRCmsgID ::= INTEGER (0..32767) -- mapData DSRCmsgID ::= 18 -- MAP, intersections -- signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT -- signalRequestMessage DSRCmsgID ::= 29 -- SRM -- signalStatusMessage DSRCmsgID ::= 30 -- SSM -- --Elevation ::= INTEGER (-4096..61439) -- -- In units of 10 cm steps above or below the reference ellipsoid -- -- Providing a range of -409.5 to + 6143.9 meters -- -- The value -4096 shall be used when Unknown is to be sent -- --IntersectionID ::= INTEGER (0..65535) -- -- The values zero through 255 are allocated for testing purposes -- -- Note that the value assigned to an intersection will be -- -- unique within a given regional ID only -- --IntersectionStatusObject ::= BIT STRING { -- manualControlIsEnabled (0), -- -- Timing reported is per programmed values, etc. but person -- -- at cabinet can manually request that certain intervals are -- -- terminated early (e.g. green). -- stopTimeIsActivated (1), -- -- And all counting/timing has stopped. -- failureFlash (2), -- -- Above to be used for any detected hardware failures, -- -- e.g. conflict monitor as well as for police flash -- preemptIsActive (3), -- signalPriorityIsActive (4), -- -- -- Additional states -- fixedTimeOperation (5), -- -- Schedule of signals is based on time only -- -- (i.e. the state can be calculated) -- trafficDependentOperation (6), -- -- Operation is based on different levels of traffic parameters -- -- (requests, duration of gaps or more complex parameters) -- standbyOperation (7), -- -- Controller: partially switched off or partially amber flashing -- failureMode (8), -- -- Controller has a problem or failure in operation -- off (9), -- -- Controller is switched off -- -- -- Related to MAP and SPAT bindings -- recentMAPmessageUpdate (10), -- -- Map revision with content changes -- recentChangeInMAPassignedLanesIDsUsed (11), -- -- Change in MAP's assigned lanes used (lane changes) -- -- Changes in the active lane list description -- noValidMAPisAvailableAtThisTime (12), -- -- MAP (and various lanes indexes) not available -- noValidSPATisAvailableAtThisTime (13) -- -- SPAT system is not working at this time -- -- -- Bits 14,15 reserved at this time and shall be zero -- } (SIZE(16)) -- -- --LaneAttributes-Barrier ::= BIT STRING { -- -- With bits as defined: -- median-RevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- median (1), -- whiteLineHashing (2), -- stripedLines (3), -- doubleStripedLines (4), -- trafficCones (5), -- constructionBarrier (6), -- trafficChannels (7), -- lowCurbs (8), -- highCurbs (9) -- -- Bits 10~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Bike ::= BIT STRING { -- -- With bits as defined: -- bikeRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- pedestrianUseAllowed (1), -- -- The path allows pedestrian traffic, -- -- if not set, this mode is prohibited -- isBikeFlyOverLane (2), -- -- path of lane is not at grade -- fixedCycleTime (3), -- -- the phases use preset times -- -- i.e. there is not a 'push to cross' button -- biDirectionalCycleTimes (4), -- -- ped walk phases use different SignalGroupID -- -- for each direction. The first SignalGroupID -- -- in the first Connection represents 'inbound' -- -- flow (the direction of travel towards the first -- -- node point) while second SignalGroupID in the -- -- next Connection entry represents the 'outbound' -- -- flow. And use of RestrictionClassID entries -- -- in the Connect follow this same pattern in pairs. -- isolatedByBarrier (5), -- unsignalizedSegmentsPresent (6) -- -- The lane path consists of one of more segments -- -- which are not part of a signal group ID -- -- -- Bits 7~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Crosswalk ::= BIT STRING { -- -- With bits as defined: -- -- MUTCD provides no suitable "types" to use here -- crosswalkRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- bicyleUseAllowed (1), -- -- The path allows bicycle traffic, -- -- if not set, this mode is prohibited -- isXwalkFlyOverLane (2), -- -- path of lane is not at grade -- fixedCycleTime (3), -- -- ped walk phases use preset times -- -- i.e. there is not a 'push to cross' button -- biDirectionalCycleTimes (4), -- -- ped walk phases use different SignalGroupID -- -- for each direction. The first SignalGroupID -- -- in the first Connection represents 'inbound' -- -- flow (the direction of travel towards the first -- -- node point) while second SignalGroupID in the -- -- next Connection entry represents the 'outbound' -- -- flow. And use of RestrictionClassID entries -- -- in the Connect follow this same pattern in pairs. -- hasPushToWalkButton (5), -- -- Has a demand input -- audioSupport (6), -- -- audio crossing cues present -- rfSignalRequestPresent (7), -- -- Supports RF push to walk technologies -- unsignalizedSegmentsPresent (8) -- -- The lane path consists of one of more segments -- -- which are not part of a signal group ID -- -- Bits 9~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Parking ::= BIT STRING { -- -- With bits as defined: -- -- Parking use details, note that detailed restrictions such as -- -- allowed hours are sent by way of ITIS codes in the TIM message -- parkingRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- parallelParkingInUse (1), -- headInParkingInUse (2), -- doNotParkZone (3), -- -- used to denote fire hydrants as well as -- -- short disruptions in a parking zone -- parkingForBusUse (4), -- parkingForTaxiUse (5), -- noPublicParkingUse (6) -- -- private parking, as in front of -- -- private property -- -- Bits 7~15 reserved and set to zero -- } (SIZE (16)) -- --LaneAttributes-Sidewalk ::= BIT STRING { -- -- With bits as defined: -- sidewalk-RevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- bicyleUseAllowed (1), -- -- The path allows bicycle traffic, -- -- if not set, this mode is prohibited -- isSidewalkFlyOverLane (2), -- -- path of lane is not at grade -- walkBikes (3) -- -- bike traffic must dismount and walk -- -- Bits 4~15 reserved and set to zero -- } (SIZE (16)) -- -- --LaneAttributes-Striping ::= BIT STRING { -- -- With bits as defined: -- stripeToConnectingLanesRevocableLane (0), -- -- this lane may be activated or not activated based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- stripeDrawOnLeft (1), -- stripeDrawOnRight (2), -- -- which side of lane to mark -- stripeToConnectingLanesLeft (3), -- stripeToConnectingLanesRight (4), -- stripeToConnectingLanesAhead (5) -- -- the stripe type should be -- -- presented to the user visually -- -- to reflect stripes in the -- -- intersection for the type of -- -- movement indicated -- -- Bits 6~15 reserved and set to zero -- } (SIZE (16)) -- -- --LaneAttributes-TrackedVehicle ::= BIT STRING { -- -- With bits as defined: -- spec-RevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- spec-commuterRailRoadTrack (1), -- spec-lightRailRoadTrack (2), -- spec-heavyRailRoadTrack (3), -- spec-otherRailType (4) -- -- Bits 5~15 reserved and set to zero -- } (SIZE (16)) -- -- --LaneAttributes-Vehicle ::= BIT STRING { -- -- With bits as defined: -- isVehicleRevocableLane (0), -- -- this lane may be activated or not based -- -- on the current SPAT message contents -- -- if not asserted, the lane is ALWAYS present -- isVehicleFlyOverLane (1), -- -- path of lane is not at grade -- hovLaneUseOnly (2), -- restrictedToBusUse (3), -- restrictedToTaxiUse (4), -- restrictedFromPublicUse (5), -- hasIRbeaconCoverage (6), -- permissionOnRequest (7) -- e.g. to inform about a lane for e-cars -- -- } (SIZE (8,...)) -- --LaneConnectionID ::= INTEGER (0..255) -- --LaneDirection ::= BIT STRING { -- -- With bits as defined: -- -- Allowed directions of travel in the lane object -- -- All lanes are described from the stop line outwards -- ingressPath (0), -- -- travel from rear of path to front -- -- is allowed -- egressPath (1) -- -- travel from front of path to rear -- -- is allowed -- -- Notes: No Travel, i.e. the lane object type does not support -- -- travel (medians, curbs, etc.) is indicated by not -- -- asserting any bit value -- -- Bi-Directional Travel (such as a ped crosswalk) is -- -- indicated by asserting both of the bits -- } (SIZE (2)) -- --LaneID ::= INTEGER (0..255) -- -- the value 0 shall be used when the lane ID is -- -- not available or not known -- -- the value 255 is reserved for future use -- --LayerID ::= INTEGER (0..100) -- --LayerType ::= ENUMERATED { -- none, -- mixedContent, -- two or more of the below types -- generalMapData, -- intersectionData, -- curveData, -- roadwaySectionData, -- parkingAreaData, -- sharedLaneData, -- ... -- } -- --LaneWidth ::= INTEGER (0..32767) -- units of 1 cm -- --MergeDivergeNodeAngle ::= INTEGER (-180..180) -- -- In units of 1.5 degrees from north -- -- the value -180 shall be used to represent -- -- data is not available or unknown -- --MinuteOfTheYear ::= INTEGER (0..527040) -- -- the value 527040 shall be used for invalid -- --MovementPhaseState ::= ENUMERATED { -- -- Note that based on the regions and the operating mode not every -- -- phase will be used in all transportation modes and that not -- -- every phase will be used in all transportation modes -- -- unavailable (0), -- -- This state is used for unknown or error -- dark (1), -- -- The signal head is dark (unlit) -- -- -- Reds -- stop-Then-Proceed (2), -- -- Often called 'flashing red' in US -- -- Driver Action: -- -- Stop vehicle at stop line. -- -- Do not proceed unless it is safe. -- -- Note that the right to proceed either right or left when -- -- it is safe may be contained in the lane description to -- -- handle what is called a 'right on red' -- stop-And-Remain (3), -- -- e.g. called 'red light' in US -- -- Driver Action: -- -- Stop vehicle at stop line. -- -- Do not proceed. -- -- Note that the right to proceed either right or left when -- -- it is safe may be contained in the lane description to -- -- handle what is called a 'right on red' -- -- -- Greens -- pre-Movement (4), -- -- Not used in the US, red+yellow partly in EU -- -- Driver Action: -- -- Stop vehicle. -- -- Prepare to proceed (pending green) -- -- (Prepare for transition to green/go) -- permissive-Movement-Allowed (5), -- -- Often called 'permissive green' in US -- -- Driver Action: -- -- Proceed with caution, -- -- must yield to all conflicting traffic -- -- Conflicting traffic may be present -- -- in the intersection conflict area -- protected-Movement-Allowed (6), -- -- Often called 'protected green' in US -- -- Driver Action: -- -- Proceed, tossing caution to the wind, -- -- in indicated (allowed) direction. -- -- -- Yellows / Ambers -- -- The vehicle is not allowed to cross the stop bar if it is possible -- -- to stop without danger. -- permissive-clearance (7), -- -- Often called 'permissive yellow' in US -- -- Driver Action: -- -- Prepare to stop. -- -- Proceed if unable to stop, -- -- Clear Intersection. -- -- Conflicting traffic may be present -- -- in the intersection conflict area -- protected-clearance (8), -- -- Often called 'protected yellow' in US -- -- Driver Action: -- -- Prepare to stop. -- -- Proceed if unable to stop, -- -- in indicated direction (to connected lane) -- -- Clear Intersection. -- -- caution-Conflicting-Traffic (9) -- -- Often called 'flashing yellow' in US -- -- Often used for extended periods of time -- -- Driver Action: -- -- Proceed with caution, -- -- Conflicting traffic may be present -- -- in the intersection conflict area -- } -- -- The above number assignments are not used with UPER encoding -- -- and are only to be used with DER or implicit encoding -- --MsgCount ::= INTEGER (0..127) -- --Offset-B10 ::= INTEGER (-512..511) -- -- a range of +- 5.11 meters -- --Offset-B11 ::= INTEGER (-1024..1023) -- -- a range of +- 10.23 meters -- --Offset-B12 ::= INTEGER (-2048..2047) -- -- a range of +- 20.47 meters -- --Offset-B13 ::= INTEGER (-4096..4095) -- -- a range of +- 40.95 meters -- --Offset-B14 ::= INTEGER (-8192..8191) -- -- a range of +- 81.91 meters -- --Offset-B16 ::= INTEGER (-32768..32767) -- -- a range of +- 327.68 meters -- --PedestrianBicycleDetect ::= BOOLEAN -- -- true if ANY Pedestrians or Bicyclists are -- -- detected crossing the target lane or lanes -- --PrioritizationResponseStatus ::= ENUMERATED { -- unknown (0), -- -- Unknown state -- requested (1), -- -- This prioritization request was detected -- -- by the traffic controller -- processing (2), -- -- Checking request -- -- (request is in queue, other requests are prior) -- watchOtherTraffic (3), -- -- Cannot give full permission, -- -- therefore watch for other traffic -- -- Note that other requests may be present -- granted (4), -- -- Intervention was successful -- -- and now prioritization is active -- rejected (5), -- -- The prioritization or preemption request was -- -- rejected by the traffic controller -- maxPresence (6), -- -- The Request has exceeded maxPresence time -- -- Used when the controller has determined that -- -- the requester should then back off and -- -- request an alternative. -- reserviceLocked (7), -- -- Prior conditions have resulted in a reservice -- -- locked event: the controller requires the -- -- passage of time before another similar request -- -- will be accepted -- ... --} -- --PriorityRequestType ::= ENUMERATED { -- priorityRequestTypeReserved (0), -- priorityRequest (1), -- priorityRequestUpdate (2), -- priorityCancellation (3), -- ... -- } -- --RegionId ::= INTEGER (0..255) -- noRegion RegionId ::= 0 -- Use default supplied stubs -- addGrpA RegionId ::= 1 -- USA -- addGrpB RegionId ::= 2 -- Japan -- addGrpC RegionId ::= 3 -- EU -- -- NOTE: new registered regional IDs will be added here -- -- The values 128 and above are for local region use -- --RequestID ::= INTEGER (0..255) -- --RequestImportanceLevel ::= ENUMERATED { -- requestImportanceLevelUnKnown (0), -- requestImportanceLevel1 (1), -- The least important request -- requestImportanceLevel2 (2), -- The values here shall be assigned -- requestImportanceLevel3 (3), -- Meanings based on regional needs -- requestImportanceLevel4 (4), -- for each of the basic roles which -- requestImportanceLevel5 (5), -- are defined elsewhere -- requestImportanceLevel6 (6), -- requestImportanceLevel7 (7), -- requestImportanceLevel8 (8), -- requestImportanceLevel9 (9), -- requestImportanceLevel10 (10), -- requestImportanceLevel11 (11), -- requestImportanceLevel12 (12), -- requestImportanceLevel13 (13), -- requestImportanceLevel14 (14), -- The most important request -- requestImportanceReserved (15) -- Reserved for future use -- } -- --RequestSubRole ::= ENUMERATED { -- requestSubRoleUnKnown (0), -- requestSubRole1 (1), -- The first type of sub role -- requestSubRole2 (2), -- The values here shall be assigned -- requestSubRole3 (3), -- Meanings based on regional needs -- requestSubRole4 (4), -- to refine and expand the basic -- requestSubRole5 (5), -- roles which are defined elsewhere -- requestSubRole6 (6), -- requestSubRole7 (7), -- requestSubRole8 (8), -- requestSubRole9 (9), -- requestSubRole10 (10), -- requestSubRole11 (11), -- requestSubRole12 (12), -- requestSubRole13 (13), -- requestSubRole14 (14), -- The last type of sub role -- requestSubRoleReserved (15) -- Reserved for future use -- } -- --RestrictionAppliesTo ::= ENUMERATED { -- none, -- applies to nothing -- equippedTransit, -- buses etc. -- equippedTaxis, -- equippedOther, -- other vehicle types with -- -- necessary signal phase state -- -- reception equipment -- emissionCompliant, -- regional variants with more -- -- definitive items also exist -- equippedBicycle, -- weightCompliant, -- heightCompliant, -- -- Items dealing with traveler needs serviced by the infrastructure -- -- These end users (which are not vehicles) are presumed to be suitably equipped -- pedestrians, -- slowMovingPersons, -- wheelchairUsers, -- visualDisabilities, -- audioDisabilities, -- hearing -- otherUnknownDisabilities, -- ... -- } -- --RestrictionClassID ::= INTEGER (0..255) -- -- An index value to identify data about classes of users -- -- the value used varies with each intersection's -- -- needs and is defined in the map to the assigned -- -- classes of supported users. -- --RoadRegulatorID ::= INTEGER (0..65535) -- -- The value zero shall be used for testing only -- --RoadSegmentID ::= INTEGER (0..65535) -- -- The values zero to 255 shall be used for testing only -- -- Note that the value assigned to an RoadSegment will be -- -- unique within a given regional ID only during its use -- --RoadwayCrownAngle ::= INTEGER (-128..127) -- -- In LSB units of 0.3 degrees of angle -- -- over a range of -38.1 to + 38.1 degrees -- -- The value -128 shall be used for unknown -- -- The value zero shall be used for angles -- -- which are between -0.15 and +0.15 -- --Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent -- --SignalGroupID ::= INTEGER (0..255) -- -- The value 0 shall be used when the ID is -- -- not available or not known -- -- the value 255 is reserved to indicate a -- -- permanent green movement state -- -- therefore a simple 8 phase signal controller -- -- device might use 1..9 as its groupIDs -- --SegmentAttributeXY ::= ENUMERATED { -- -- Various values which can be Enabled and Disabled for a lane segment -- -- -- General Items -- reserved , -- doNotBlock , -- segment where a vehicle -- -- may not come to a stop -- whiteLine , -- segment where lane crossing not allowed -- -- such as the final few meters of a lane -- -- -- Porous Lane states, merging, turn outs, parking etc. -- -- mergingLaneLeft , -- indicates porous lanes -- mergingLaneRight , -- -- curbOnLeft , -- indicates presence of curbs -- curbOnRight , -- -- loadingzoneOnLeft , -- loading or drop off zones -- loadingzoneOnRight , -- -- turnOutPointOnLeft , -- opening to adjacent street/alley/road -- turnOutPointOnRight , -- -- adjacentParkingOnLeft , -- side of road parking -- adjacentParkingOnRight , -- -- -- Bike Lane Needs -- adjacentBikeLaneOnLeft , -- presence of marked bike lanes -- adjacentBikeLaneOnRight , -- sharedBikeLane , -- right of way is shared with bikes -- -- who may occupy entire lane width -- bikeBoxInFront , -- -- -- Transit Needs -- transitStopOnLeft , -- any form of bus/transit loading -- -- with pull in-out access to lane on left -- transitStopOnRight , -- any form of bus/transit loading -- -- with pull in-out access to lane on right -- transitStopInLane , -- any form of bus/transit loading -- -- in mid path of the lane -- sharedWithTrackedVehicle , -- lane is shared with train or trolley -- -- not used for crossing tracks -- -- -- -- Pedestrian Support Attributes -- safeIsland , -- begin/end a safety island in path -- lowCurbsPresent , -- for ADA support -- rumbleStripPresent , -- for ADA support -- audibleSignalingPresent , -- for ADA support -- adaptiveTimingPresent , -- for ADA support -- rfSignalRequestPresent , -- Supports RF push to walk technologies -- partialCurbIntrusion , -- path is blocked by a median or curb -- -- but at least 1 meter remains open for use -- -- and at-grade passage -- -- -- Lane geometry details (see standard for defined shapes) -- taperToLeft , -- Used to control final path shape -- taperToRight , -- Used to control final path shape -- taperToCenterLine , -- Used to control final path shape -- -- -- Parking Lane and Curb Attributes -- parallelParking , -- -- headInParking , -- Parking at an angle with the street -- freeParking , -- no restriction on use of parking -- timeRestrictionsOnParking , -- Parking is not permitted at all times -- -- typically used when the 'parking' lane -- -- becomes a driving lane at times -- costToPark , -- Used where parking has a cost -- midBlockCurbPresent , -- a protruding curb near lane edge -- unEvenPavementPresent , -- a disjoint height at lane edge -- ... -- } -- --SpeedAdvice ::= INTEGER (0..500) -- -- LSB units are 0.1 m/s^2 -- -- the value 499 shall be used for values at or greater than 49.9 m/s -- -- the value 500 shall be used to indicate that speed is unavailable -- -- --TemporaryID ::= OCTET STRING (SIZE(4)) -- --TimeIntervalConfidence ::= INTEGER (0..15) -- -- Value Probability -- -- 0 21% -- -- 1 36% -- -- 2 47% -- -- 3 56% -- -- 4 62% -- -- 5 68% -- -- 6 73% -- -- 7 77% -- -- 8 81% -- -- 9 85% -- -- 10 88% -- -- 11 91% -- -- 12 94% -- -- 13 96% -- -- 14 98% -- -- 15 100% -- --TransitVehicleOccupancy ::= ENUMERATED { -- occupancyUnknown (0), -- occupancyEmpty (1), -- occupancyVeryLow (2), -- occupancyLow (3), -- occupancyMed (4), -- occupancyHigh (5), -- occupancyNearlyFull (6), -- occupancyFull (7) -- } -- --TransitVehicleStatus ::= BIT STRING { -- loading (0), -- parking and unable to move at this time -- anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) -- aBikeLoad (2), -- loading of a bicycle is in progress -- doorOpen (3), -- a vehicle door is open for passenger access -- charging (4), -- a vehicle is connected to charging point -- atStopLine (5) -- a vehicle is at the stop line for the lane it is in -- } (SIZE(8)) -- --TransmissionState ::= ENUMERATED { -- neutral (0), -- Neutral -- park (1), -- Park -- forwardGears (2), -- Forward gears -- reverseGears (3), -- Reverse gears -- reserved1 (4), -- reserved2 (5), -- reserved3 (6), -- unavailable (7) -- not-equipped or unavailable value, -- -- Any related speed is relative to the vehicle reference frame used -- } -- --VehicleType ::= ENUMERATED { -- none (0), -- Not Equipped, Not known or unavailable -- unknown (1), -- Does not fit any other category -- special (2), -- Special use -- moto (3), -- Motorcycle -- car (4), -- Passenger car -- carOther (5), -- Four tire single units -- bus (6), -- Buses -- axleCnt2 (7), -- Two axle, six tire single units -- axleCnt3 (8), -- Three axle, single units -- axleCnt4 (9), -- Four or more axle, single unit -- axleCnt4Trailer (10), -- Four or less axle, single trailer -- axleCnt5Trailer (11), -- Five or less axle, single trailer -- axleCnt6Trailer (12), -- Six or more axle, single trailer -- axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer -- axleCnt6MultiTrailer (14), -- Six axle, multi-trailer -- axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer -- ... -- } -- --Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s -- -- The value 8191 indicates that -- -- velocity is unavailable -- --WaitOnStopline ::= BOOLEAN -- -- -- True or False -- -- If "true", the vehicles on this specific connecting -- -- maneuver have to stop on the stop-line -- -- and not to enter the collision area -- --ZoneLength ::= INTEGER (0..10000) -- -- Unit = 1 meter, 0 = unknown, -- -- The value 10000 to be used for Distances >=10000 m -- -- (e.g. from known point to another point along a -- -- known path, often against traffic flow direction -- -- when used for measuring queues) -- --END -- - -Property changes on: IS/ISO_TS_19091.asn -___________________________________________________________________ -Deleted: svn:eol-style -## -1 +0,0 ## --native -\ No newline at end of property -Deleted: svn:keywords -## -1 +0,0 ## --URL Id -\ No newline at end of property -Deleted: svn:mime-type -## -1 +0,0 ## --text/plain -\ No newline at end of property -Index: IS/ISO_TS_24534_3.asn -=================================================================== ---- IS/ISO_TS_24534_3.asn (nonexistent) -+++ IS/ISO_TS_24534_3.asn (working copy) -@@ -0,0 +1,85 @@ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-- ISO TS 24534-3:2015 -+-- -+-- This ASN.1 was generateds: 30.08.2016 -+-- -+-- This document contains only the data element needed for the encoding of an IVI message -+-- as defined in ISO TS 19321(2015) -+-- -+-- Published version location: -+-- http://standards.iso.org/iso/24534/-3/ -+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+-- ISO 24534-3:2015 -+-- Version 29.4.2015 -+ -+ -+ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)} -+ -+ -+DEFINITIONS AUTOMATIC TAGS ::= BEGIN -+ -+-- Electronic Registration Identification (ERI)- Vehicle Data -+ -+EuVehicleCategoryCode ::= CHOICE { -+ euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999 -+ euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999 -+ euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999 -+ euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999 -+ euVehilcleCategoryT NULL, -- conforms to UNECE 1999 -+ euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999 -+ } -+ -+EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 } -+ -+EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3} -+ -+EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3} -+ -+EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4} -+ -+Iso3833VehicleType ::= INTEGER { -+ passengerCar (0), -- term No 3.1.1 -+ saloon (1), -- term No 3.1.1.1 (sedan) -+ convertibleSaloon (2), -- term No 3.1.1.2 -+ pullmanSaloon (3), -- term No 3.1.1.3 -+ stationWagon (4), -- term No 3.1.1.4 -+ truckStationWagon (5), -- term No 3.1.1.4.1 -+ coupe (6), -- term No 3.1.1.5 (coupé) -+ convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider) -+ multipurposePassengerCar (8), -- term No 3.1.1.7 -+ forwardControlPassengerCar (9), -- term No 3.1.1.8 -+ specialPassengerCar (10), -- term No 3.1.1.9 -+ bus (11), -- term No 3.1.2 -+ minibus (12), -- term No 3.1.2.1 -+ urbanBus (13), -- term No 3.1.2.2 -+ interurbanCoach (14), -- term No 3.1.2.3 -+ longDistanceCoach (15), -- term No 3.1.2.4 -+ articulatedBus (16), -- term No 3.1.2.5 -+ trolleyBus (17), -- term No 3.1.2.6 -+ specialBus (18), -- term No 3.1.2.7 -+ commercialVehicle (19), -- term No 3.1.3 -+ specialCommercialVehicle (20), -- term No 3.1.3.1 -+ specialVehicle (21), -- term No 3.1.4 -+ trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor) -+ semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor) -+ trailer (24), -- term No 3.2.1 -+ busTrailer (25), -- term No 3.2.1.1 -+ generalPurposeTrailer (26), -- term No 3.2.1.2 -+ caravan (27), -- term No 3.2.1.3 -+ specialTrailer (28), -- term No 3.2.1.4 -+ semiTrailer (29), -- term No 3.2.2 -+ busSemiTrailer (30), -- term No 3.2.2.1 -+ generalPurposeSemiTrailer (31), -- term No 3.2.2.2 -+ specialSemiTrailer (32), -- term No 3.2.2.3 -+ roadTrain (33), -- term No 3.3.1 -+ passengerRoadTrain (34), -- term No 3.3.2 -+ articulatedRoadTrain (35), -- term No 3.3.3 -+ doubleRoadTrain (36), -- term No 3.3.4 -+ compositeRoadTrain (37), -- term No 3.3.5 -+ specialRoadTrain (38), -- term No 3.3.6 -+ moped (39), -- term No 3.4 -+ motorCycle (40) -- term No 3.5 -+ } (0..255) -+ -+END - -Property changes on: IS/ISO_TS_24534_3.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/IVIM_PDU_Descriptions.asn -=================================================================== ---- IS/IVIM_PDU_Descriptions.asn (nonexistent) -+++ IS/IVIM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,26 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: IVI-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+IVIM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+IVIM ::= SEQUENCE { -+ header ItsPduHeader, -+ ivi IviStructure -+} -+ -+END - -Property changes on: IS/IVIM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/MAPEM_PDU_Desriptions.asn -=================================================================== ---- IS/MAPEM_PDU_Desriptions.asn (nonexistent) -+++ IS/MAPEM_PDU_Desriptions.asn (working copy) -@@ -0,0 +1,28 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: MAP-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+MAPEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY ISO's DSRC module is renamed to IS-DSRC -+--MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+MapData FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+MAPEM ::= SEQUENCE { -+ header ItsPduHeader, -+ map MapData -+} -+ -+END - -Property changes on: IS/MAPEM_PDU_Desriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/SPATEM_PDU_Descriptions.asn -=================================================================== ---- IS/SPATEM_PDU_Descriptions.asn (nonexistent) -+++ IS/SPATEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,134 @@ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SPAT-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SPATEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) spatem (0) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY ISO's DSRC module is renamed to IS-DSRC -+--SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+SPAT FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; -+ -+ -+SPATEM ::= SEQUENCE { -+ header ItsPduHeader, -+ spat SPAT -+} -+ -+END -+ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: MAP-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+MAPEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+MAPEM ::= SEQUENCE { -+ header ItsPduHeader, -+ map MapData -+} -+ -+END -+*/ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: IVI-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+IVIM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+IVIM ::= SEQUENCE { -+ header ItsPduHeader, -+ ivi IviStructure -+} -+ -+END -+*/ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SRM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SREM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+SREM ::= SEQUENCE { -+ header ItsPduHeader, -+ srm SignalRequestMessage -+} -+ -+END -+*/ -+ -+/*FIXME RGY moved to its own modul -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SSM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SSEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+SSEM ::= SEQUENCE { -+ header ItsPduHeader, -+ ssm SignalStatusMessage -+} -+ -+END -+*/ - -Property changes on: IS/SPATEM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/SREM_PDU_Descriptions.asn -=================================================================== ---- IS/SREM_PDU_Descriptions.asn (nonexistent) -+++ IS/SREM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,26 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SRM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SREM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY module name changed to IS-DSRC as DSRC already used in MAP_SPAT -+SignalRequestMessage FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+SREM ::= SEQUENCE { -+ header ItsPduHeader, -+ srm SignalRequestMessage -+} -+ -+END - -Property changes on: IS/SREM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: IS/SSEM_PDU_Descriptions.asn -=================================================================== ---- IS/SSEM_PDU_Descriptions.asn (nonexistent) -+++ IS/SSEM_PDU_Descriptions.asn (working copy) -@@ -0,0 +1,27 @@ -+--FIXME RGY moved here from file IS_TS_103301.asn -+ -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+-- -+-- module: SSM-MESSAGE-PDU-Descriptions -+-- -+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -+SSEM-PDU-Descriptions { -+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+IMPORTS -+--FIXME RGY module name changed to IS-DSRC as DSRC already used in MAP_SPAT -+SignalStatusMessage FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; -+ -+ -+SSEM ::= SEQUENCE { -+ header ItsPduHeader, -+ ssm SignalStatusMessage -+} -+ -+END - -Property changes on: IS/SSEM_PDU_Descriptions.asn -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+URL Id -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property -Index: ITS-Container/ITS_Container.asn -=================================================================== ---- ITS-Container/ITS_Container.asn (nonexistent) -+++ ITS-Container/ITS_Container.asn (working copy) -@@ -0,0 +1,498 @@ -+ITS-Container { -+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) -+} -+ -+DEFINITIONS AUTOMATIC TAGS ::= -+ -+BEGIN -+ -+ItsPduHeader ::= SEQUENCE { -+ protocolVersion INTEGER{currentVersion(1)} (0..255), -+ messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11) } (0..255), -- Mantis #7209, #7005 -+ stationID StationID -+} -+ -+StationID ::= INTEGER(0..4294967295) -+ -+ReferencePosition ::= SEQUENCE { -+ latitude Latitude, -+ longitude Longitude, -+ positionConfidenceEllipse PosConfidenceEllipse , -+ altitude Altitude -+} -+ -+DeltaReferencePosition ::= SEQUENCE { -+ deltaLatitude DeltaLatitude, -+ deltaLongitude DeltaLongitude, -+ deltaAltitude DeltaAltitude -+} -+ -+Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001) -+ -+Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001) -+ -+Altitude ::= SEQUENCE { -+ altitudeValue AltitudeValue, -+ altitudeConfidence AltitudeConfidence -+} -+ -+AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) -+ -+AltitudeConfidence ::= ENUMERATED { -+ alt-000-01 (0), -+ alt-000-02 (1), -+ alt-000-05 (2), -+ alt-000-10 (3), -+ alt-000-20 (4), -+ alt-000-50 (5), -+ alt-001-00 (6), -+ alt-002-00 (7), -+ alt-005-00 (8), -+ alt-010-00 (9), -+ alt-020-00 (10), -+ alt-050-00 (11), -+ alt-100-00 (12), -+ alt-200-00 (13), -+ outOfRange (14), -+ unavailable (15) -+} -+ -+DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072) -+ -+DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072) -+ -+DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800) -+ -+PosConfidenceEllipse ::= SEQUENCE { -+ semiMajorConfidence SemiAxisLength, -+ semiMinorConfidence SemiAxisLength, -+ semiMajorOrientation HeadingValue -+} -+ -+PathPoint ::= SEQUENCE { -+ pathPosition DeltaReferencePosition, -+ pathDeltaTime PathDeltaTime OPTIONAL -+} -+ -+PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) -+ -+PtActivation ::= SEQUENCE { -+ ptActivationType PtActivationType, -+ ptActivationData PtActivationData -+} -+ -+PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) -+ -+PtActivationData ::= OCTET STRING (SIZE(1..20)) -+ -+AccelerationControl ::= BIT STRING { -+ brakePedalEngaged (0), -+ gasPedalEngaged (1), -+ emergencyBrakeEngaged (2), -+ collisionWarningEngaged (3), -+ accEngaged (4), -+ cruiseControlEngaged (5), -+ speedLimiterEngaged (6) -+} (SIZE(7)) -+ -+ -+SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) -+ -+CauseCode ::= SEQUENCE { -+ causeCode CauseCodeType, -+ subCauseCode SubCauseCodeType -+} -+ -+CauseCodeType ::= INTEGER { -+ reserved (0), -+ trafficCondition (1), -+ accident (2), -+ roadworks (3), -+ adverseWeatherCondition-Adhesion (6), -+ hazardousLocation-SurfaceCondition (9), -+ hazardousLocation-ObstacleOnTheRoad (10), -+ hazardousLocation-AnimalOnTheRoad (11), -+ humanPresenceOnTheRoad (12), -+ wrongWayDriving (14), -+ rescueAndRecoveryWorkInProgress (15), -+ adverseWeatherCondition-ExtremeWeatherCondition (17), -+ adverseWeatherCondition-Visibility (18), -+ adverseWeatherCondition-Precipitation (19), -+ slowVehicle (26), -+ dangerousEndOfQueue (27), -+ vehicleBreakdown (91), -+ postCrash (92), -+ humanProblem (93), -+ stationaryVehicle (94), -+ emergencyVehicleApproaching (95), -+ hazardousLocation-DangerousCurve (96), -+ collisionRisk (97), -+ signalViolation (98), -+ dangerousSituation (99) -+} (0..255) -+ -+SubCauseCodeType ::= INTEGER (0..255) -+ -+TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) -+ -+AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) -+ -+RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) -+ -+HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) -+ -+WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) -+ -+AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) -+ -+AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) -+ -+AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) -+ -+AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) -+ -+SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) -+ -+StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) -+ -+HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) -+ -+EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) -+ -+HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) -+ -+HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) -+ -+HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) -+ -+HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) -+ -+ CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) -+ -+ SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) -+ -+RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) -+ -+DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) -+ -+DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) -+ -+VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8)} (0..255) -+ -+PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) -+ -+Curvature ::= SEQUENCE { -+ curvatureValue CurvatureValue, -+ curvatureConfidence CurvatureConfidence -+} -+ -+CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001) -+ -+CurvatureConfidence ::= ENUMERATED { -+ onePerMeter-0-00002 (0), -+ onePerMeter-0-0001 (1), -+ onePerMeter-0-0005 (2), -+ onePerMeter-0-002 (3), -+ onePerMeter-0-01 (4), -+ onePerMeter-0-1 (5), -+ outOfRange (6), -+ unavailable (7) -+} -+ -+CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} -+ -+Heading ::= SEQUENCE { -+ headingValue HeadingValue, -+ headingConfidence HeadingConfidence -+} -+ -+HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) -+ -+HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127) -+ -+LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), -+outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) -+ -+ClosedLanes ::= SEQUENCE { -+ hardShoulderStatus HardShoulderStatus OPTIONAL, -+ drivingLaneStatus DrivingLaneStatus, -+ ... -+} -+ -+HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} -+ -+DrivingLaneStatus ::= BIT STRING (SIZE (1..14)) -+ -+ -+PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) -+ -+SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) -+ -+SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) -+ -+VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) -+ -+Speed ::= SEQUENCE { -+ speedValue SpeedValue, -+ speedConfidence SpeedConfidence -+} -+ -+DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} -+ -+EmbarkationStatus ::= BOOLEAN -+ -+LongitudinalAcceleration ::= SEQUENCE { -+ longitudinalAccelerationValue LongitudinalAccelerationValue, -+ longitudinalAccelerationConfidence AccelerationConfidence -+} -+ -+LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) -+ -+AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) -+ -+LateralAcceleration ::= SEQUENCE { -+ lateralAccelerationValue LateralAccelerationValue, -+ lateralAccelerationConfidence AccelerationConfidence -+} -+ -+LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) -+ -+VerticalAcceleration ::= SEQUENCE { -+ verticalAccelerationValue VerticalAccelerationValue, -+ verticalAccelerationConfidence AccelerationConfidence -+} -+ -+VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) -+ -+StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), -+lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) -+ -+ExteriorLights ::= BIT STRING { -+ lowBeamHeadlightsOn (0), -+ highBeamHeadlightsOn (1), -+ leftTurnSignalOn (2), -+ rightTurnSignalOn (3), -+ daytimeRunningLightsOn (4), -+ reverseLightOn (5), -+ fogLightOn (6), -+ parkingLightsOn (7) -+} (SIZE(8)) -+ -+DangerousGoodsBasic::= ENUMERATED { -+ explosives1(0), -+ explosives2(1), -+ explosives3(2), -+ explosives4(3), -+ explosives5(4), -+ explosives6(5), -+ flammableGases(6), -+ nonFlammableGases(7), -+ toxicGases(8), -+ flammableLiquids(9), -+ flammableSolids(10), -+ substancesLiableToSpontaneousCombustion(11), -+ substancesEmittingFlammableGasesUponContactWithWater(12), -+ oxidizingSubstances(13), -+ organicPeroxides(14), -+ toxicSubstances(15), -+ infectiousSubstances(16), -+ radioactiveMaterial(17), -+ corrosiveSubstances(18), -+ miscellaneousDangerousSubstances(19) -+} -+ -+DangerousGoodsExtended ::= SEQUENCE { -+ dangerousGoodsType DangerousGoodsBasic, -+ unNumber INTEGER (0..9999), -+ elevatedTemperature BOOLEAN, -+ tunnelsRestricted BOOLEAN, -+ limitedQuantity BOOLEAN, -+ emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL, -+ phoneNumber IA5String (SIZE (1..24)) OPTIONAL, -+ companyName UTF8String (SIZE (1..24)) OPTIONAL -+} -+ -+SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) -+ -+LightBarSirenInUse ::= BIT STRING { -+ lightBarActivated (0), -+ sirenActivated (1) -+} (SIZE(2)) -+ -+HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) -+ -+PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) -+ -+PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) -+ -+PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) -+ -+RequestResponseIndication ::= ENUMERATED {request(0), response(1)} -+ -+SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) -+ -+StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} -+ -+Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67) -+ -+TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... -+} -+ -+WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) -+ -+TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) -+ -+PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) -+ -+PositionOfOccupants ::= BIT STRING { -+ row1LeftOccupied (0), -+ row1RightOccupied (1), -+ row1MidOccupied (2), -+ row1NotDetectable (3), -+ row1NotPresent (4), -+ row2LeftOccupied (5), -+ row2RightOccupied (6), -+ row2MidOccupied (7), -+ row2NotDetectable (8), -+ row2NotPresent (9), -+ row3LeftOccupied (10), -+ row3RightOccupied (11), -+ row3MidOccupied (12), -+ row3NotDetectable (13), -+ row3NotPresent (14), -+ row4LeftOccupied (15), -+ row4RightOccupied (16), -+ row4MidOccupied (17), -+ row4NotDetectable (18), -+ row4NotPresent (19)} (SIZE(20)) -+ -+PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} -+ -+VehicleIdentification ::= SEQUENCE { -+ wMInumber WMInumber OPTIONAL, -+ vDS VDS OPTIONAL, -+ ... -+} -+ -+WMInumber ::= IA5String (SIZE(1..3)) -+ -+VDS ::= IA5String (SIZE(6)) -+ -+EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) -+ -+VehicleLength ::= SEQUENCE { -+ vehicleLengthValue VehicleLengthValue, -+ vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication -+} -+ -+VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) -+ -+VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} -+ -+VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) -+ -+PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint -+ -+EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) -+ -+InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) -+ -+RoadType ::= ENUMERATED { -+ urban-NoStructuralSeparationToOppositeLanes(0), -+ urban-WithStructuralSeparationToOppositeLanes(1), -+ nonUrban-NoStructuralSeparationToOppositeLanes(2), -+ nonUrban-WithStructuralSeparationToOppositeLanes(3)} -+ -+SteeringWheelAngle ::= SEQUENCE { -+ steeringWheelAngleValue SteeringWheelAngleValue, -+ steeringWheelAngleConfidence SteeringWheelAngleConfidence -+} -+ -+SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) -+ -+SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127) -+ -+TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) -+ -+VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8),commercial(9),military(10),roadOperator(11),taxi(12), reserved1(13), reserved2(14), reserved3(15)} -+ -+YawRate::= SEQUENCE { -+ yawRateValue YawRateValue, -+ yawRateConfidence YawRateConfidence -+} -+ -+YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) -+ -+YawRateConfidence ::= ENUMERATED { -+ degSec-000-01 (0), -+ degSec-000-05 (1), -+ degSec-000-10 (2), -+ degSec-001-00 (3), -+ degSec-005-00 (4), -+ degSec-010-00 (5), -+ degSec-100-00 (6), -+ outOfRange (7), -+ unavailable (8) -+} -+ -+ProtectedZoneType::= ENUMERATED { cenDsrcTolling (0), ... } -+ -+RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} -+ -+RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} -+ -+TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) -+ -+ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) -+ -+ActionID ::= SEQUENCE { -+ originatingStationID StationID, -+ sequenceNumber SequenceNumber -+} -+ -+ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition -+ -+ProtectedCommunicationZone ::= SEQUENCE { -+ protectedZoneType ProtectedZoneType, -+ expiryTime TimestampIts OPTIONAL, -+ protectedZoneLatitude Latitude, -+ protectedZoneLongitude Longitude, -+ protectedZoneRadius ProtectedZoneRadius OPTIONAL, -+ protectedZoneID ProtectedZoneID OPTIONAL -+} -+ -+Traces ::= SEQUENCE SIZE(1..7) OF PathHistory -+ -+NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) -+ -+SequenceNumber ::= INTEGER (0..65535) -+ -+PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar -+ -+RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType -+ -+EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint -+ -+EventPoint ::= SEQUENCE { -+ eventPosition DeltaReferencePosition, -+ eventDeltaTime PathDeltaTime OPTIONAL, -+ informationQuality InformationQuality -+} -+ -+ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone -+ -+ -+ -+CenDsrcTollingZone ::= SEQUENCE { -+ protectedZoneLatitude Latitude, -+ protectedZoneLongitude Longitude, -+ cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL -+} -+ -+ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) -+ -+ProtectedZoneID ::= INTEGER (0.. 134217727) -+ -+CenDsrcTollingZoneID ::= ProtectedZoneID -+ -+END diff --git a/patches/titanization_ats.patch b/patches/titanization_ats.patch deleted file mode 100644 index 292b6d4153e366f85d2ba757df61d80f7d3f80d5..0000000000000000000000000000000000000000 --- a/patches/titanization_ats.patch +++ /dev/null @@ -1,8621 +0,0 @@ -Index: AtsCAM/ItsCam_TpFunctions.ttcn -=================================================================== ---- AtsCAM/ItsCam_TpFunctions.ttcn (revision 2639) -+++ AtsCAM/ItsCam_TpFunctions.ttcn (working copy) -@@ -30,6 +30,7 @@ - import from LibItsCommon_Templates all; - import from LibItsCommon_Functions all; - import from LibItsCommon_Pixits all; -+ import from LibItsCommon_ASN1_NamedNumbers all; - - // LibItsCam - import from LibItsCam_TestSystem all; -@@ -406,7 +407,7 @@ - } - - for (v_cnt:=0; v_cnt value v_msgInd { -+//FIXME RGY the received value stored in the template variable too -+ vt_msgInd:= v_msgInd - tc_ac.stop; - log("*** " & testcasename() & ": PASS: Pre-conditions: GBC message correctly forwarded to area center ***"); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); -@@ -8533,10 +8546,11 @@ - } - - // Test Body -- v_msgInd.msgIn.basicHeader.routerHopLimit := ?; -+//FIXME RGY for the AnyValue the template varibale is used -+ vt_msgInd.msgIn.basicHeader.routerHopLimit := ?; - tc_noac.start; - alt { -- [] geoNetworkingPort.receive(v_msgInd) { -+ [] geoNetworkingPort.receive(vt_msgInd) { - tc_noac.stop; - log("*** " & testcasename() & ": FAIL: GBC message re-forwarded to area center ***"); - f_selfOrClientSyncAndVerdict(c_tbDone, e_error); -@@ -8563,7 +8577,7 @@ - // Preamble - f_prNeighbour(); - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -8574,7 +8588,7 @@ - c_defaultHopLimit - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -8615,7 +8629,7 @@ - // Test Body - // send geoBroadcast for second time (same source + same seq Nr + lower RHL) - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -8626,7 +8640,7 @@ - c_defaultHopLimit - 1 - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -8703,7 +8717,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeB, -@@ -8715,7 +8729,7 @@ - c_defaultHopLimit - ) - ) -- ); -+ )); - - tc_ac.start; - alt { -@@ -8830,7 +8844,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeB, -@@ -8841,7 +8855,7 @@ - c_hopLimit1 - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -8933,7 +8947,7 @@ - f_getGeoBroadcastArea(c_area1) - ) - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -9019,7 +9033,7 @@ - -, - c_defaultHopLimit - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(valueof(v_gnPacket))); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - // IUT should also rebroadcast the packet. Get ready - tc_ac.start; -@@ -9039,14 +9053,14 @@ - - f_sleep(PX_TAC); - -- v_sentRawPayload := f_adaptPayloadForUtInd_m(valueof(v_gnPacket.gnPacket.packet.payload)); -- for(i:=0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i:=i+1) { -+ v_sentRawPayload := f_adaptPayloadForUtInd_m(valueof(v_gnPacket.gnPacket.packet.payload)); -+ for(i:=0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i:=i+1) { - // empty on purpose - } - if(i < lengthof(vc_utInds)) { - log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***"); -- //flush received upper indications -- vc_utInds := {}; -+ //flush received upper indications -+ vc_utInds := {}; - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - } - else { -@@ -9078,7 +9092,9 @@ - - // Local variables - var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); -- var template (value) GeoNetworkingInd v_msgInd; -+//FIXME RGY variable shall not be of template type, because a message is stored into it -+// var template (value) GeoNetworkingInd v_msgInd; -+ var GeoNetworkingInd v_msgInd; - var integer i; - - // Preamble -@@ -9104,7 +9120,7 @@ - - // Test Body - v_msgInd.msgIn.basicHeader.routerHopLimit := valueof(v_msgInd.msgIn.basicHeader.routerHopLimit) / 2; -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_msgInd.msgIn)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_msgInd.msgIn))); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -9149,7 +9165,7 @@ - f_getGeoBroadcastArea(c_area2) - ) - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -9383,7 +9399,7 @@ - p_distanceTooBig - ); - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -9392,7 +9408,7 @@ - ) - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -9569,7 +9585,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -9578,7 +9594,7 @@ - ) - ) - ) -- ); -+ )); - tc_ac.start; - alt { - [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( -@@ -9730,7 +9746,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -9739,7 +9755,7 @@ - ) - ) - ) -- ); -+ )); - tc_ac.start; - alt { - [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( -@@ -9937,7 +9953,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwTsbPacket( - vc_localSeqNumber, -@@ -9947,7 +9963,7 @@ - c_defaultHopLimit - ) - ) -- ); -+ )); - - tc_ac.start; - alt { -@@ -10075,7 +10091,7 @@ - c_defaultHopLimit - ); - -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(valueof(v_gnPacket))); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - v_gnPacket.basicHeader.routerHopLimit := ?; - tc_noac.start; - alt { -@@ -10134,7 +10150,9 @@ - - // Local variables - var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); -- var template (value) GeoNetworkingInd v_msgInd; -+//FIXME RGY variable shall not be of template type, because a message is stored into it -+// var template (value) GeoNetworkingInd v_msgInd; -+ var GeoNetworkingInd v_msgInd; - - // Preamble - f_prNeighbour(); -@@ -10162,7 +10180,7 @@ - - // Test Body - v_msgInd.msgIn.basicHeader.routerHopLimit := valueof(v_msgInd.msgIn.basicHeader.routerHopLimit) -1; -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_msgInd.msgIn)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_msgInd.msgIn))); - - tc_noac.start; - alt { -@@ -10208,7 +10226,7 @@ - // Preamble - - // Start components -- v_nodeB := f_getComponent(c_compNodeB); -+ v_nodeB := f_getComponent(c_compNodeB); - v_nodeD := f_getComponent(c_compNodeD); - v_nodeB.start(f_GEONW_PON_TSB_BV_04_nodeB()); - v_nodeD.start(f_GEONW_PON_TSB_BV_04_nodeD()); -@@ -10235,7 +10253,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwTsbPacket( - vc_localSeqNumber, -@@ -10246,7 +10264,7 @@ - c_defaultHopLimit - ) - ) -- ); -+ )); - - tc_ac.start; - alt { -@@ -10405,7 +10423,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwTsbPacket( - vc_localSeqNumber, -@@ -10415,7 +10433,7 @@ - 1 - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -10499,7 +10517,7 @@ - v_longPosVectorNodeB - ) - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -10582,7 +10600,7 @@ - -, - c_defaultHopLimit - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(valueof(v_gnPacket))); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(valueof(v_gnPacket)))); - - tc_ac.start; - alt { -@@ -10648,7 +10666,9 @@ - - // Local variables - var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); -- var template (value) GeoNetworkingInd v_msgInd; -+//FIXME RGY variable shall not be of template type, because a message is stored into it -+// var template (value) GeoNetworkingInd v_msgInd; -+ var GeoNetworkingInd v_msgInd; - var integer i; - var template (value) GeoNetworkingPdu v_gnPacket; - -@@ -10680,7 +10700,7 @@ - // Test Body - v_msgInd.msgIn.basicHeader.routerHopLimit := valueof(v_msgInd.msgIn.basicHeader.routerHopLimit) - 1; - v_gnPacket := v_msgInd.msgIn; -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_msgInd.msgIn)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_msgInd.msgIn))); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -10843,7 +10863,7 @@ - - // Test Body - v_gnPacket := m_geoNwPdu(m_geoNwShbPacket(v_longPosVectorNodeB)); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -11151,7 +11171,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeB, -@@ -11160,7 +11180,7 @@ - ) - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -11307,7 +11327,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeC, -@@ -11316,7 +11336,7 @@ - ) - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -11408,7 +11428,9 @@ - - // Local variables - var LongPosVector v_longPosVectorNodeC := f_getPosition(c_compNodeC); -- var template (present) GeoNetworkingInd v_msgInd; -+ var template (present) GeoNetworkingInd vt_msgInd; -+//FIXME RGY variable is declared to store the received message -+ var GeoNetworkingInd v_msgInd; - - // Preamble - f_prNeighbour(); -@@ -11425,6 +11447,8 @@ - ) - ) - ) -> value v_msgInd { -+//FIXME RGY the received value stored in the template variable too -+ vt_msgInd:= v_msgInd - tc_ac.stop; - log("*** " & testcasename() & ": PASS: Pre-conditions: GAC message correctly forwarded to area center ***"); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); -@@ -11436,10 +11460,11 @@ - } - - // Test Body -- v_msgInd.msgIn.basicHeader.routerHopLimit := ?; -+//FIXME RGY for the AnyValue the template varibale is used -+ vt_msgInd.msgIn.basicHeader.routerHopLimit := ?; - tc_noac.start; - alt { -- [] geoNetworkingPort.receive(v_msgInd) { -+ [] geoNetworkingPort.receive(vt_msgInd) { - tc_noac.stop; - log("*** " & testcasename() & ": FAIL: GAC message re-forwarded to area center ***"); - f_selfOrClientSyncAndVerdict(c_tbDone, e_error); -@@ -11466,7 +11491,7 @@ - // Preamble - f_prNeighbour(); - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeC, -@@ -11477,7 +11502,7 @@ - c_defaultHopLimit - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -11532,7 +11557,7 @@ - // Test Body - // send geoAnycast for second time (same source + same seq Nr + lower RHL) - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeC, -@@ -11543,7 +11568,7 @@ - c_defaultHopLimit - 1 - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -11656,7 +11681,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeC, -@@ -11668,7 +11693,7 @@ - c_defaultHopLimit - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -11763,7 +11788,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeC, -@@ -11774,7 +11799,7 @@ - c_hopLimit1 - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -11819,7 +11844,7 @@ - f_getGeoAnycastArea(c_area1) - ) - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -11923,7 +11948,7 @@ - - // Test Body - v_gnPacket.basicHeader.routerHopLimit := valueof(v_gnPacket.basicHeader.routerHopLimit) / 2; -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -11961,7 +11986,7 @@ - -, - c_defaultHopLimit - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - -@@ -12010,7 +12035,7 @@ - f_getGeoAnycastArea(c_area2) - ) - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - - f_sleep(PX_TAC); - -@@ -12127,7 +12152,7 @@ - p_distanceTooBig - ); - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeC, -@@ -12136,7 +12161,7 @@ - ) - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -12409,7 +12434,7 @@ - // Preamble - f_prNeighbour(); - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -12418,7 +12443,7 @@ - ) - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -12458,7 +12483,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -12467,7 +12492,7 @@ - ) - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -12599,7 +12624,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -12608,7 +12633,7 @@ - ) - ) - ) -- ); -+ )); - - t_toCbf.start; - tc_ac.start; -@@ -12785,7 +12810,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -12794,7 +12819,7 @@ - ) - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -12971,7 +12996,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeD, -@@ -12980,7 +13005,7 @@ - ) - ) - ) -- ); -+ )); - - tc_noac.start; - alt { -@@ -13138,7 +13163,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -13147,7 +13172,7 @@ - ) - ) - ) -- ); -+ )); - - t_toCbf.start; - tc_ac.start; -@@ -13316,7 +13341,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -13325,7 +13350,7 @@ - ) - ) - ) -- ); -+ )); - - tc_ac.start; - alt { -@@ -13450,7 +13475,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -13459,7 +13484,7 @@ - ) - ) - ) -- ); -+ )); - - tc_ac.start; - alt { -@@ -13659,7 +13684,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeC, -@@ -13668,7 +13693,7 @@ - ) - ) - ) -- ); -+ )); - - t_toCbf.start; - tc_ac.start; -@@ -13808,12 +13833,12 @@ - f_getGeoBroadcastArea(c_area1) - ) - ); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body - for(i:=1; i < f_getAdvancedGbcForwardingMaxCounter(); i:=i+1) { -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_gnPacket)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_gnPacket))); - f_sleepIgnoreDef(0.5); - } - tc_noac.start; -@@ -13894,7 +13919,7 @@ - - // Preamble - f_prNeighbour(); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast( -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, -@@ -13901,7 +13926,7 @@ - f_getGeoBroadcastArea(c_area1) - ) - ) -- )); -+ ))); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -13936,7 +13961,7 @@ - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast( -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, -@@ -13943,7 +13968,7 @@ - f_getGeoBroadcastArea(c_area1) - ) - ) -- )); -+ ))); - tc_noac.start; - alt { - [] geoNetworkingPort.receive (mw_geoNwInd(mw_geoNwPdu(?))){ -@@ -14022,7 +14047,7 @@ - - // Preamble - f_prNeighbour(); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast( -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, -@@ -14029,7 +14054,7 @@ - f_getGeoBroadcastArea(c_area1) - ) - ) -- )); -+ ))); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -14075,14 +14100,15 @@ - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast( -- m_geoNwPdu(m_geoNwBroadcastPacket( -+ f_sendGeoNetMessage( -+ valueof(m_geoNwReq_linkLayerBroadcast( -+ m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, - f_getGeoBroadcastArea(c_area1) - ) - ) -- )); -+ ))); - t_toCbf.start; - tc_ac.start; - alt { -@@ -14093,7 +14119,7 @@ - )))) { - tc_ac.stop; - -- if(t_toCbf.running) { -+ if(t_toCbf.running) { - t_toCbf.stop; - log("*** " & testcasename() & ": FAIL: GBC retransmitted before CBF timer expiration ***"); - f_selfOrClientSyncAndVerdict(c_tbDone, e_error); -@@ -14182,8 +14208,8 @@ - - // Test Body - tc_ac.start; -- alt { -- [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( -+ alt { -+ [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( - mw_longPosVectorPosition(v_longPosVectorNodeA), - ?, - f_getGeoBroadcastArea(c_area1) -@@ -14217,17 +14243,17 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_withLinkLayerDestination( -- m_geoNwPdu(m_geoNwBroadcastPacket( -- v_longPosVectorNodeA, -- 0, -- f_getGeoBroadcastArea(c_area1) -- ) -- ), -+ valueof(m_geoNwReq_withLinkLayerDestination( -+ m_geoNwPdu(m_geoNwBroadcastPacket( -+ v_longPosVectorNodeA, -+ 0, -+ f_getGeoBroadcastArea(c_area1) -+ ) -+ ), - -, -- f_getIutMacAddress() -- ) -- ); -+ f_getIutMacAddress() -+ ) -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -14299,7 +14325,7 @@ - - // Test Body - tc_ac.start; -- alt { -+ alt { - [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( - mw_longPosVectorPosition(v_longPosVectorNodeA), - ?, -@@ -14334,7 +14360,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_withLinkLayerDestination( -+ valueof(m_geoNwReq_withLinkLayerDestination( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeA, - 0, -@@ -14344,9 +14370,9 @@ - -, - f_getIutMacAddress() - ) -- ); -+ )); - tc_ac.start; -- alt { -+ alt { - [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( - mw_longPosVectorPosition(v_longPosVectorNodeA), - ?, -@@ -14491,7 +14517,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeE, - 0, -@@ -14499,7 +14525,7 @@ - ) - ) - ) -- ); -+ )); - - t_toCbf.start; - tc_ac.start; -@@ -14638,7 +14664,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeC, - 0, -@@ -14646,7 +14672,7 @@ - ) - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -14811,7 +14837,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeD, - 0, -@@ -14819,7 +14845,7 @@ - ) - ) - ) -- ); -+ )); - f_selfOrClientSyncAndVerdict(c_tbDone, e_success); - - // Postamble -@@ -14902,7 +14928,7 @@ - tc_ac.stop; - - if(t_toCbf.running) { -- t_toCbf.stop; -+ t_toCbf.stop; - log("*** " & testcasename() & ": FAIL: GBC retransmitted before CBF timer expiration ***"); - f_selfOrClientSyncAndVerdict(c_tbDone, e_error); - } -@@ -14941,7 +14967,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, -@@ -14949,7 +14975,7 @@ - ) - ) - ) -- ); -+ )); - - t_toCbf.start; - tc_ac.start; -@@ -15088,7 +15114,7 @@ - - // Test Body - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeC, - 0, -@@ -15096,7 +15122,7 @@ - ) - ) - ) -- ); -+ )); - tc_ac.start; - alt { - [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoNwBroadcastPacketWithArea( -@@ -15214,7 +15240,7 @@ - - // Preamble - f_prNeighbour(); -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast( -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, -@@ -15221,7 +15247,7 @@ - f_getGeoBroadcastArea(c_area1) - ) - ) -- )); -+ ))); - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -@@ -15266,7 +15292,7 @@ - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - - // Test Body -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast( -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu(m_geoNwBroadcastPacket( - v_longPosVectorNodeB, - 0, -@@ -15273,7 +15299,7 @@ - f_getGeoBroadcastArea(c_area1) - ) - ) -- )); -+ ))); - - t_toCbf.start; - tc_ac.start; -@@ -15401,15 +15427,15 @@ - v_nbrOfPackets := f_getLsPacketBufferSize() / v_packetSize + 1; - log("*** " & testcasename() & ": " & int2str(v_nbrOfPackets) & " ***"); - for (v_index:=1; v_index <= v_nbrOfPackets; v_index:=v_index+1) { -- if ( not f_utTriggerEvent(m_generateGeoUnicastMessageWithPayload(v_longPosVectorNodeA.gnAddr, char2oct("PAYLOAD_" & oct2str(int2oct(v_index, 2))))) ) { -- log("*** " & testcasename() & ": INCONC: Trigger failed ***"); -- f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); -- } -+ if ( not f_utTriggerEvent(m_generateGeoUnicastMessageWithPayload(v_longPosVectorNodeA.gnAddr, char2oct("PAYLOAD_" & oct2str(int2oct(v_index, 2))))) ) { -+ log("*** " & testcasename() & ": INCONC: Trigger failed ***"); -+ f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); -+ } - } - - f_sleepIgnoreDef(0.5); - f_sendGeoNetMessage( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwLsReplyPacket( - v_longPosVectorNodeB, -@@ -15418,7 +15444,7 @@ - ) - ) - ) -- ); -+ )); - - // packet 1 shall be dropped - v_index := 2; -@@ -15617,7 +15643,7 @@ - p_geoNetworkingMsg.gnPacket.packet.extendedHeader.geoUnicastHeader.dstPosVector := f_longPosVector2ShortPosVector(v_longPosVectorNodeA); - for (i:=0; i < p_nbrOfPackets; i:=i+1) { - p_geoNetworkingMsg.gnPacket.packet.extendedHeader.geoUnicastHeader.seqNumber := vc_localSeqNumber; -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(p_geoNetworkingMsg)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(p_geoNetworkingMsg))); - } - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - -@@ -15783,7 +15809,7 @@ - - for (i:=0; i < p_nbrOfPackets; i:=i+1) { - p_geoNetworkingMsg.gnPacket.packet.extendedHeader.geoBroadcastHeader.seqNumber := vc_localSeqNumber; -- f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(p_geoNetworkingMsg)); -+ f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(p_geoNetworkingMsg))); - } - f_selfOrClientSyncAndVerdict(c_prDone, e_success); - -Index: AtsIPv6OverGeoNetworking/ItsIpv6OverGeoNetworking_TestCases.ttcn -=================================================================== ---- AtsIPv6OverGeoNetworking/ItsIpv6OverGeoNetworking_TestCases.ttcn (revision 2639) -+++ AtsIPv6OverGeoNetworking/ItsIpv6OverGeoNetworking_TestCases.ttcn (working copy) -@@ -1084,7 +1084,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -1092,7 +1092,7 @@ - f_getGeoBroadcastArea(vc_gvlTable[c_gvl1].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1190,7 +1190,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -1198,7 +1198,7 @@ - f_getGeoBroadcastArea(vc_gvlTable[c_gvl2].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1289,7 +1289,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - v_longPosVectorNodeA, -@@ -1297,7 +1297,7 @@ - f_getGeoAnycastArea(vc_gvlTable[c_gvl1].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1394,7 +1394,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -1402,7 +1402,7 @@ - f_getGeoBroadcastArea(vc_gvlTable[c_gvl1].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1507,7 +1507,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -1515,7 +1515,7 @@ - f_getGeoBroadcastArea(vc_gvlTable[c_gvl3].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1614,7 +1614,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - v_longPosVectorNodeA, -@@ -1622,7 +1622,7 @@ - vc_localSeqNumber - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1723,7 +1723,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - v_longPosVectorNodeB, -@@ -1731,7 +1731,7 @@ - vc_localSeqNumber - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1830,7 +1830,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - v_longPosVectorNodeB, -@@ -1838,7 +1838,7 @@ - vc_localSeqNumber - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -1939,7 +1939,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - v_longPosVectorNodeB, -@@ -1947,7 +1947,7 @@ - vc_localSeqNumber - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -2049,7 +2049,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - v_longPosVectorNodeB, -@@ -2057,7 +2057,7 @@ - vc_localSeqNumber - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -2154,7 +2154,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwTsbPacket( - vc_localSeqNumber, -@@ -2161,7 +2161,7 @@ - v_longPosVectorIut - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -2267,7 +2267,7 @@ - - // Test Body - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -2275,7 +2275,7 @@ - f_getGeoBroadcastArea(vc_gvlTable[c_gvl3].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -@@ -2362,7 +2362,7 @@ - ); - - f_sendGeoNetMessageWithPayload( -- m_geoNwReq_linkLayerBroadcast( -+ valueof(m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - v_longPosVectorNodeA, -@@ -2370,7 +2370,7 @@ - f_getGeoBroadcastArea(vc_gvlTable[c_gvl3].area) - ) - ) -- ), -+ )), - m_ipv6Payload(v_ipv6Packet) - ); - -Index: AtsIVIM/ItsIvim_TpFunctions.ttcn -=================================================================== ---- AtsIVIM/ItsIvim_TpFunctions.ttcn (revision 2639) -+++ AtsIVIM/ItsIvim_TpFunctions.ttcn (working copy) -@@ -22,6 +22,7 @@ - import from LibItsCommon_Pixits all; - import from LibItsCommon_Functions all; - import from LibItsCommon_TypesAndValues all; -+ import from LibItsCommon_ASN1_NamedNumbers all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; -@@ -34,6 +35,7 @@ - import from LibItsIvim_TestSystem all; - import from LibItsIvim_Functions all; - import from LibItsIvim_Pics all; -+ import from LibItsIvim_ASN1_IVInamedNumbers all; - - group iviMessageTransmission { - -@@ -177,7 +179,7 @@ - // Preamble - f_prInitialState(); - for (i := 0; i < lengthof(v_utTriggers) - 1; i := i + 1) { -- f_utTriggerEvent(v_utTriggers[i]); -+ f_utTriggerEvent(valueof(v_utTriggers[i])); - f_awaitIviMessage(mw_ivimInd(mw_anyIvimPdu), v_ivimInd); - v_iviIdentificationNumbers[i] := v_ivimInd.msgIn.ivi.mandatory.iviIdentificationNumber; - } -@@ -184,7 +186,7 @@ - f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); - - // Test Body -- f_utTriggerEvent(v_utTriggers[lengthof(v_utTriggers) - 1]); -+ f_utTriggerEvent(valueof(v_utTriggers[lengthof(v_utTriggers) - 1])); - f_awaitIviMessage(mw_ivimInd(mw_anyIvimPdu), v_ivimInd); - v_iviIdentificationNumbers[lengthof(v_iviIdentificationNumbers) - 1] := v_ivimInd.msgIn.ivi.mandatory.iviIdentificationNumber; - -@@ -239,7 +241,7 @@ - // Preamble - f_prInitialState(); - for (i := 0; i < lengthof(v_utTriggers) - 1; i := i + 1) { -- f_utTriggerEvent(v_utTriggers[i]); -+ f_utTriggerEvent(valueof(v_utTriggers[i])); - f_awaitIviMessage(mw_ivimInd(mw_anyIvimPdu), v_ivimInd); - f_poCancelEvent(e_iut, v_ivimInd.msgIn.ivi.mandatory.iviIdentificationNumber); - } -@@ -248,7 +250,7 @@ - f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); - - // Test Body -- f_utTriggerEvent(v_utTriggers[lengthof(v_utTriggers) - 1]); -+ f_utTriggerEvent(valueof(v_utTriggers[lengthof(v_utTriggers) - 1])); - - tc_ac.start; - alt { -@@ -1565,13 +1567,13 @@ - v_ivimReq := valueof( - m_ivimReq( - m_ivimStructurePdu( -- m_ivimStructure( -- m_iviManagementContainer( -+ valueof(m_ivimStructure( -+ valueof(m_iviManagementContainer( - f_getProvider(), - 1, - IviStatus_new_ -- ) -- ) -+ )) -+ )) - ) - ) - ); -Index: AtsMapemSpatem/ItsMapem_TpFunctions.ttcn -=================================================================== ---- AtsMapemSpatem/ItsMapem_TpFunctions.ttcn (revision 2639) -+++ AtsMapemSpatem/ItsMapem_TpFunctions.ttcn (working copy) -@@ -26,7 +26,7 @@ - import from ITS_Container language "ASN.1:1997" all; - import from MAPEM_PDU_Descriptions language "ASN.1:1997" all; - import from SPATEM_PDU_Descriptions language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; - - // LibItsMapemSpatem - import from LibItsMapemSpatem_TestSystem all; -Index: AtsMapemSpatem/ItsSpatem_TpFunctions.ttcn -=================================================================== ---- AtsMapemSpatem/ItsSpatem_TpFunctions.ttcn (revision 2639) -+++ AtsMapemSpatem/ItsSpatem_TpFunctions.ttcn (working copy) -@@ -26,7 +26,7 @@ - import from ITS_Container language "ASN.1:1997" all; - import from MAPEM_PDU_Descriptions language "ASN.1:1997" all; - import from SPATEM_PDU_Descriptions language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; - - // LibItsMapemSpatem - import from LibItsMapemSpatem_TestSystem all; -Index: AtsRSUsSimulator/ItsRSUSimulator_PicsInitConsts.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUSimulator_PicsInitConsts.ttcn (nonexistent) -+++ AtsRSUsSimulator/ItsRSUSimulator_PicsInitConsts.ttcn (working copy) -@@ -0,0 +1,5636 @@ -+module ItsRSUSimulator_PicsInitConsts { -+ -+ // LibCommon -+ import from LibCommon_BasicTypesAndValues all; -+ -+ // LibIts -+ import from ITS_Container language "ASN.1:1997" all; -+ import from IVI language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; -+ import from EVCSN_PDU_Descriptions language "ASN.1:1997" all; -+ -+ // LibItsCommon -+ import from LibItsCommon_ASN1_NamedNumbers all; -+ -+ // LibItsBtp -+ import from LibItsBtp_TypesAndValues all; -+ -+ // LibItsGeoNetworking -+ import from LibItsGeoNetworking_TypesAndValues all; -+ -+ // LibItsSecurity -+ import from LibItsSecurity_TypesAndValues all; -+ -+ // ItsRSUsSimulator -+ import from ItsRSUsSimulator_TypesAndValues all; -+ -+ /** -+ * @desc This group describes the RSUs installed on the track -+ */ -+ group rsuParameters { -+ -+ /** -+ * @desc RSU #1 -+ */ -+ group rsu1 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU1 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0201'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU1 -+ -+ const RsuParm c_PICS_RSU1 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU1, -+ timestamp_ := 0, -+ latitude := 435529150, -+ longitude := 103010520, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111101, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU1 -+ } // End of c_PICS_RSU1 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU1 := {}; -+ -+ } // End of group rsu1 -+ -+ /** -+ * @desc RSU #2 -+ */ -+ group rsu2 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU2 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0202'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU2 -+ -+ const RsuParm c_PICS_RSU2 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU2, -+ timestamp_ := 0, -+ latitude := 435512090, -+ longitude := 103002510, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111102, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU2 -+ } // End of c_PICS_RSU2 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU2 := {}; -+ -+ } // End of group rsu2 -+ -+ /** -+ * @desc RSU #3 -+ */ -+ group rsu3 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU3 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0203'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU3 -+ -+ const RsuParm c_PICS_RSU3 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU3, -+ timestamp_ := 0, -+ latitude := 435546630, -+ longitude := 103041900, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111103, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU3 -+ } // End of c_PICS_RSU3 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU3 := {}; -+ -+ } // End of group rsu3 -+ -+ /** -+ * @desc RSU #4 -+ */ -+ group rsu4 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU4 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0204'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU4 -+ -+ const RsuParm c_PICS_RSU4 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU4, -+ timestamp_ := 0, -+ latitude := 435582150, -+ longitude := 103065170, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111104, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU4 -+ } // End of c_PICS_RSU4 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU4 := {}; -+ -+ } // End of group rsu4 -+ -+ /** -+ * @desc RSU #5 -+ */ -+ group rsu5 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU5 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0205'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU5 -+ -+ const RsuParm c_PICS_RSU5 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU5, -+ timestamp_ := 0, -+ latitude := 435838400, -+ longitude := 103249780, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111105, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU5 -+ } // End of c_PICS_RSU5 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU5 := {}; -+ -+ } // End of group rsu5 -+ -+ /** -+ * @desc RSU #6 -+ */ -+ group rsu6 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU6 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0206'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU6 -+ -+ const RsuParm c_PICS_RSU6 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU6, -+ timestamp_ := 0, -+ latitude := 435923480, -+ longitude := 103375540, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111106, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU6 -+ } // End of c_PICS_RSU6 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU6 := {}; -+ -+ } // End of group rsu6 -+ -+ /** -+ * @desc RSU #7 -+ */ -+ group rsu7 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU7 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0207'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU7 -+ -+ const RsuParm c_PICS_RSU7 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU7, -+ timestamp_ := 0, -+ latitude := 435550580, -+ longitude := 103032980, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111107, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU7 -+ } // End of c_PICS_RSU7 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU7 := {}; -+ -+ } // End of group rsu7 -+ -+ /** -+ * @desc RSU #8 -+ */ -+ group rsu8 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_RSU_GN_ADDRESS_RSU8 := { -+ typeOfAddress := e_manual, -+ stationType := e_roadSideUnit, -+ stationCountryCode := 33, -+ mid := '001C6B0D0208'O -+ } // End of c_PICS_RSU_GN_ADDRESS_RSU8 -+ -+ const RsuParm c_PICS_RSU8 := { -+ longPosVector := { -+ gnAddr := c_PICS_RSU_GN_ADDRESS_RSU8, -+ timestamp_ := 0, -+ latitude := 435546630, -+ longitude := 103041900, -+ pai := '0'B, -+ speed := 0, -+ heading := 0 -+ }, -+ stationID := 1111108, -+ stationType := StationType_roadSideUnit_, -+ vehicleRole := roadOperator, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 5000 -+ }, -+ pathHistory := c_PICS_RSU_PATH_HISTORY_RSU8 -+ } // End of c_PICS_RSU8 -+ -+ /** -+ * @desc Path history to approch the RSU -+ */ -+ const PathHistory c_PICS_RSU_PATH_HISTORY_RSU8 := {}; -+ -+ } // End of group rsu8 -+ -+ } // End of group rsuParameters -+ -+ /* -+ * @desc This group describes the BEACON common settings for the RSUs CAM message broadcast -+ */ -+ group beaconParams { -+ -+ /** -+ * @desc Common settings -+ */ -+ group beaconCommonSettings { -+ -+ const UInt32 c_PICS_BEACON_ITS_AID := 141; -+ -+ } // End of group beaconCommonSettings -+ -+ } // End of group beaconParams -+ -+ /** -+ * @desc This group describes the CAM common settings for the RSUs CAM message broadcast -+ */ -+ group camParams { -+ -+ /** -+ * @desc Common settings -+ */ -+ group camCommonSettings { -+ -+ const BtpPortId c_PICS_CAM_BTP_DESTINATION_PORT := 2001; -+ -+ const BtpPortId c_PICS_CAM_BTP_SOURCE_PORT := 0; -+ -+ const UInt32 c_PICS_CAM_ITS_AID := 36; -+ -+ } // End of group camCommonSettings -+ -+ group camUseCase6 { -+ -+ group camUseCase6VehicleTemplateDescription { -+ -+ const LongPosVector c_PICS_UC6_VEHICLE_TEMPLATE_POSITION := { -+ gnAddr := { -+ typeOfAddress := e_manual, -+ stationType := e_passengerCar, -+ stationCountryCode := 33, -+ mid := '001C6B0D02FF'O -+ }, -+ timestamp_ := 0, -+ latitude := 0, -+ longitude := 0, -+ pai := '0'B, -+ speed := 30, -+ heading := 0 -+ } // End of c_PICS_UC6_VEHICLE_POSITION -+ -+ const GeoArea c_PICS_UC6_VEHICLE_TEMPLATE_GEOAREA := { -+ shape := e_geoElip, -+ area := { -+ geoAreaPosLatitude := 0, -+ geoAreaPosLongitude := 0, -+ distanceA := 5, -+ distanceB := 3, -+ angle := 0 -+ } -+ } // End of c_PICS_UC6_VEHICLE_GEOAREA -+ -+ } // End of group camUseCase6VehicleDescription -+ -+ group camUseCase6SyncLocation { -+ -+ /** -+ * @desc Coordinates of the collision point -+ */ -+ const ThreeDLocation PICS_UC6_COLLISION_POINT := { -+ latitude := 435522970, -+ longitude := 103000170, -+ elevation := '0000'O -+ } // End of c_PICS_UC6_COLLISION_POINT -+ -+ /** -+ * @desc Vehicle detection area -+ */ -+ const RectangularRegion c_PICS_UC6_CAM_DETECTION_AREA := { -+ northwest := { -+ latitude := 435529170, -+ longitude := 102998330 -+ }, -+ southeast := { -+ latitude := 435522420, -+ longitude := 103011400 -+ } -+ } // End of c_PICS_UC6_CAM_DETECTION_AREA -+ -+ } // End of group camUseCase6SyncLocation -+ -+ } // End of group camUseCase6 -+ -+ group camUseCase7 { -+ -+ /** -+ * @desc RSU GN address -+ */ -+ const GN_Address c_PICS_UC7_GN_ADDRESS := { -+ typeOfAddress := e_manual, -+ stationType := e_bus, -+ stationCountryCode := 39, -+ mid := '001C6B0DEEEE'O -+ } // End of c_PICS_UC7_GN_ADDRESS -+ -+ const RsuParm c_PICS_UC7_LPV := { -+ longPosVector := { -+ gnAddr := c_PICS_UC7_GN_ADDRESS, -+ timestamp_ := 0, -+ latitude := 435582150, -+ longitude := 103065170, -+ pai := '0'B, -+ speed := 0, -+ heading := 10 -+ }, -+ stationID := 7895, -+ stationType := StationType_passengerCar_, -+ vehicleRole := taxi, -+ geoShape := e_geoCircle, -+ geoParms := { -+ radius := 300 -+ }, -+ pathHistory := {} -+ } // End of c_PICS_UC7_LPV -+ -+ const ReferencePosition c_PICS_UC7_COLLISION_POINT := { -+ latitude := 435582150, -+ longitude := 103065170, -+ positionConfidenceEllipse := { -+ semiMajorConfidence := 100, -+ semiMinorConfidence := 100, -+ semiMajorOrientation := HeadingValue_wgs84North_ -+ }, -+ altitude := { -+ altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -+ altitudeConfidence := unavailable -+ } -+ } // End of c_PICS_UC7_COLLISION_POINT -+ -+ } // End of group camUseCase7 -+ -+ group camUseCase9 { -+ -+ const ProtectedCommunicationZone c_PICS_USECASE9_PCZ_1 := { -+ protectedZoneType := cenDsrcTolling, -+ expiryTime := omit, -+ protectedZoneLatitude := 435838400, -+ protectedZoneLongitude := 103249780, -+ protectedZoneRadius := 100, -+ protectedZoneID := 1 -+ } // End of c_PICS_USECASE9_PCZ_1 -+ -+ } // End of group camUseCase7 -+ -+ } // End of group camParams -+ -+ /** -+ * @desc This group describes the DENM common settings for the each use cases and for each RSU. -+ */ -+ group denmEvents { -+ -+ /** -+ * @desc Common settings -+ */ -+ group denmCommonSettings { -+ -+ const BtpPortId c_PICS_DENM_BTP_DESTINATION_PORT := 2002; -+ -+ const BtpPortId c_PICS_DENM_BTP_SOURCE_PORT := 0; -+ -+ const UInt32 c_PICS_DENM_ITS_AID := 37; -+ -+ const PosConfidenceEllipse c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE := { -+ semiMajorConfidence := 100, -+ semiMinorConfidence := 100, -+ semiMajorOrientation := 0 -+ } // End of c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE -+ -+ const Altitude c_PICS_DENM_ALTITUDE := { -+ altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -+ altitudeConfidence := alt_000_01 -+ } // End of c_PICS_DENM_ALTITUDE -+ -+ /** -+ * @desc DENM repetition interval, in ms -+ */ -+ const TransmissionInterval c_PICS_DENM_REPETITION_INTERVAL := 1000; -+ -+ /** -+ * @desc DENM RelevanceDistance -+ */ -+ const RelevanceDistance c_PICS_DENM_RELEVANCE_DISTANCE := lessThan200m; -+ -+ /** -+ * @desc DENM ValidityDuration -+ */ -+ const ValidityDuration c_PICS_DENM_VALIDITY_DURATION := 90 * 60; // 90 minutes -+ -+ /** -+ * @desc DENM RelevanceTrafficDirection -+ */ -+ const RelevanceTrafficDirection c_PICS_DENM_RELEVANCE_TRAFFIC_DIRECTION := upstreamTraffic; -+ -+ -+ } // End of group denmCommonSettings -+ -+ /** -+ * @desc Use case #1: Z1-D1-SL/Speed limit -+ */ -+ group denmUseCase1 { -+ -+ /** -+ * @desc Use case #1: Z1-D1-EP/Event position -+ */ -+ group denmZone1 { -+ -+ const SpeedLimit c_PICS_SPEED_LIMIT := 30; -+ -+ group denmZone1_D1 { -+ -+ /** -+ * @desc Z1-D1-EP/POS0 -+ */ -+ const DeltaReferencePosition c_PICS_Z1_D1_POS0 := { -+ deltaLatitude := 2616, -+ deltaLongitude := 4067, -+ deltaAltitude := 0 -+ }; // End of c_PICS_Z1_D1_POS0 -+ -+ /** -+ * @desc Z1-D1-EP/POS1 -+ */ -+ const ReferencePosition c_PICS_Z1_D1_EP := { -+ latitude := 435525352, // Z1-D1-EP/latitude -+ longitude := 103003415, // Z1-D1-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z1_D1_EP -+ -+ /** -+ * @desc Z1-D1-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z1_D1_Hx := { -+ { // Z1_D1_H1 -+ eventPosition := { -+ deltaLatitude := -2546, -+ deltaLongitude := -3697, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z1_D1_H2 -+ eventPosition := { -+ deltaLatitude := -3699, -+ deltaLongitude := -5788, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z1_D1_Hx -+ -+ /** -+ * @desc Z1-D1-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z1_D1_Tx := { -+ { -+ { // Z1-D1-T1 -+ pathPosition := { -+ deltaLatitude := 4659, -+ deltaLongitude := 7205, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D1-T2 -+ pathPosition := { -+ deltaLatitude := 510, -+ deltaLongitude := 720, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D1-T3 -+ pathPosition := { -+ deltaLatitude := 208, -+ deltaLongitude := 531, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D1-T4 -+ pathPosition := { -+ deltaLatitude := 154, -+ deltaLongitude := 409, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D1-T5 -+ pathPosition := { -+ deltaLatitude := 160, -+ deltaLongitude := 1041, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z1_D1_Tx -+ -+ const DenmParm c_PICS_Z1_D1 := { -+ eventPosition := c_PICS_Z1_D1_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z1_D1_Hx, -+ traces := c_PICS_Z1_D1_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0001'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := c_PICS_Z1_D1_POS0, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z1_D1 -+ -+ } // End of group denmZone1_D1 -+ -+ group denmZone1_D2 { -+ -+ /** -+ * @desc Z1-D2-EP/POS2 -+ */ -+ const ReferencePosition c_PICS_Z1_D2_EP := { -+ latitude := 435519107, // Z1-D2-EP/latitude -+ longitude := 102993930, // Z1-D2-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z1_D2_EP -+ -+ /** -+ * @desc Z1-D2-EP/EventHistory2 -+ */ -+ const EventHistory c_PICS_Z1_D2_Hx := { -+ { // Z1_D2_H1 -+ eventPosition := { -+ deltaLatitude := -2750, -+ deltaLongitude := -4251, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z1_D2_H2 -+ eventPosition := { -+ deltaLatitude := -2936, -+ deltaLongitude := -3641, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z1_D2_Hx -+ -+ /** -+ * @desc Z1-D2-Traces/Trace2 -+ */ -+ const Traces c_PICS_Z1_D2_Tx := { -+ { -+ { // Z1-D2-T1 -+ pathPosition := { -+ deltaLatitude := 3699, -+ deltaLongitude := 5788, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D2-T2 -+ pathPosition := { -+ deltaLatitude := 456, -+ deltaLongitude := 598, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D2-T3 -+ pathPosition := { -+ deltaLatitude := 450, -+ deltaLongitude := 697, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D2-T4 -+ pathPosition := { -+ deltaLatitude := 619, -+ deltaLongitude := 963, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D2-T5 -+ pathPosition := { -+ deltaLatitude := 510, -+ deltaLongitude := 719, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z1_D2_Tx -+ -+ const DenmParm c_PICS_Z1_D2 := { -+ eventPosition := c_PICS_Z1_D2_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z1_D2_Hx, -+ traces := c_PICS_Z1_D2_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0011'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z1_D2 -+ -+ } // End of group denmZone1_D2 -+ -+ group denmZone1_D3 { -+ -+ /** -+ * @desc Z1-D3-EP/POS3 -+ */ -+ const ReferencePosition c_PICS_Z1_D3_EP := { -+ latitude := 435513421, // Z1-D3-EP/latitude -+ longitude := 102986038, // Z1-D3-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z1_D3_EP -+ -+ /** -+ * @desc Z1-D3-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z1_D3_Hx := { -+ { // Z1_D3_H1 -+ eventPosition := { -+ deltaLatitude := -1158, -+ deltaLongitude := -45, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z1_D3_H2 -+ eventPosition := { -+ deltaLatitude := -1299, -+ deltaLongitude := 819, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z1_D3_Hx -+ -+ /** -+ * @desc Z1-D3-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z1_D3_Tx := { -+ { -+ { // Z1-D3-T1 -+ pathPosition := { -+ deltaLatitude := 3435, -+ deltaLongitude := 4483, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D3-T2 -+ pathPosition := { -+ deltaLatitude := 626, -+ deltaLongitude := 863, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D3-T3 -+ pathPosition := { -+ deltaLatitude := 500, -+ deltaLongitude := 541, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z1-D3-T4 -+ pathPosition := { -+ deltaLatitude := 564, -+ deltaLongitude := 841, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z1_D3_Tx -+ -+ const DenmParm c_PICS_Z1_D3 := { -+ eventPosition := c_PICS_Z1_D3_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z1_D3_Hx, -+ traces := c_PICS_Z1_D3_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := closed, -+ drivingLaneStatus := '0100'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := { -+ deltaLatitude := 0, -+ deltaLongitude := 0, -+ deltaAltitude := 0 -+ }, -+ trafficFlowRule := passToLeft, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z1_D3 -+ -+ } // End of denmZone1_D3 -+ -+ } // End of group denmZone1 -+ -+ group denmZone2 { -+ -+ group denmZone2_D1 { -+ -+ /** -+ * @desc Z2-D1-EP/POS0 -+ */ -+ const DeltaReferencePosition c_PICS_Z2_D1_POS0 := { -+ deltaLatitude := -676, -+ deltaLongitude := -6542, -+ deltaAltitude := 0 -+ }; // End of c_PICS_Z2_D1_POS0 -+ -+ /** -+ * @desc Z2-D1-EP/POS1 -+ */ -+ const ReferencePosition c_PICS_Z2_D1_EP := { -+ latitude := 435512286, // Z2-D1-EP/latitude -+ longitude := 102999675, // Z2-D1-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z2_D1_EP -+ -+ /** -+ * @desc Z2-D1-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z2_D1_Hx := { -+ { // Z2_D1_H1 -+ eventPosition := { -+ deltaLatitude := 718, -+ deltaLongitude := 7406, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z2_D1_H2 -+ eventPosition := { -+ deltaLatitude := 577, -+ deltaLongitude := 5717, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z2_D1_Hx -+ -+ /** -+ * @desc Z2-D1-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z2_D1_Tx := { -+ { -+ { // Z2-D1-T1 -+ pathPosition := { -+ deltaLatitude := -1377, -+ deltaLongitude := -12164, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D1-T2 -+ pathPosition := { -+ deltaLatitude := 55, -+ deltaLongitude := -609, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D1-T3 -+ pathPosition := { -+ deltaLatitude := 312, -+ deltaLongitude := -587, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D1-T4 -+ pathPosition := { -+ deltaLatitude := 358, -+ deltaLongitude := -421, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D1-T5 -+ pathPosition := { -+ deltaLatitude := 860, -+ deltaLongitude := -254, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z2_D1_Tx -+ -+ const DenmParm c_PICS_Z2_D1 := { -+ eventPosition := c_PICS_Z2_D1_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z2_D1_Hx, -+ traces := c_PICS_Z2_D1_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0001'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := c_PICS_Z2_D1_POS0, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z2_D1 -+ -+ } // End of group denmZone2_D1 -+ -+ group denmZone2_D2 { -+ -+ /** -+ * @desc Z2-D2-EP/POS2 -+ */ -+ const ReferencePosition c_PICS_Z2_D2_EP := { -+ latitude := 435513581, // Z2-D2-EP/latitude -+ longitude := 103012798, // Z2-D2-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z2_D2_EP -+ -+ /** -+ * @desc Z2-D2-EP/EventHistory2 -+ */ -+ const EventHistory c_PICS_Z2_D2_Hx := { -+ { // Z2_D2_H1 -+ eventPosition := { -+ deltaLatitude := 3883, -+ deltaLongitude := 5826, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z2_D2_H2 -+ eventPosition := { -+ deltaLatitude := 3550, -+ deltaLongitude := 1859, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z2_D2_Hx -+ -+ /** -+ * @desc Z2-D2-Traces/Trace2 -+ */ -+ const Traces c_PICS_Z2_D2_Tx := { -+ { -+ { // Z2-D2-T1 -+ pathPosition := { -+ deltaLatitude := -861, -+ deltaLongitude := -8506, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D2-T2 -+ pathPosition := { -+ deltaLatitude := -88, -+ deltaLongitude := -949, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D2-T3 -+ pathPosition := { -+ deltaLatitude := -97, -+ deltaLongitude := -817, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D2-T4 -+ pathPosition := { -+ deltaLatitude := -118, -+ deltaLongitude := -815, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D2-T5 -+ pathPosition := { -+ deltaLatitude := -5, -+ deltaLongitude := -631, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z2_D2_Tx -+ -+ const DenmParm c_PICS_Z2_D2 := { -+ eventPosition := c_PICS_Z2_D2_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z2_D2_Hx, -+ traces := c_PICS_Z2_D2_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0011'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z2_D2 -+ -+ } // End of group denmZone2_D2 -+ -+ group denmZone2_D3 { -+ -+ /** -+ * @desc Z2-D3-EP/POS3 -+ */ -+ const ReferencePosition c_PICS_Z2_D3_EP := { -+ latitude := 435521014, // Z2-D3-EP/latitude -+ longitude := 103020483, // Z2-D3-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z2_D3_EP -+ -+ /** -+ * @desc Z2-D3-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z2_D3_Hx := { -+ { // Z2_D3_H1 -+ eventPosition := { -+ deltaLatitude := 3169, -+ deltaLongitude := 1084, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z2_D3_H2 -+ eventPosition := { -+ deltaLatitude := 2020, -+ deltaLongitude := -1029, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z2_D3_Hx -+ -+ /** -+ * @desc Z2-D3-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z2_D3_Tx := { -+ { -+ { // Z2-D3-T1 -+ pathPosition := { -+ deltaLatitude := -6382, -+ deltaLongitude := -3852, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D3-T2 -+ pathPosition := { -+ deltaLatitude := -132, -+ deltaLongitude := -653, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D3-T3 -+ pathPosition := { -+ deltaLatitude := -355, -+ deltaLongitude := -1040, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z2-D3-T4 -+ pathPosition := { -+ deltaLatitude := -362, -+ deltaLongitude := -941, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z2_D3_Tx -+ -+ const DenmParm c_PICS_Z2_D3 := { -+ eventPosition := c_PICS_Z2_D3_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z2_D3_Hx, -+ traces := c_PICS_Z2_D3_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := closed, -+ drivingLaneStatus := '0100'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToLeft, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z2_D3 -+ -+ } // group denmZone2_D3 -+ -+ } // End of group denmZone2 -+ -+ group denmZone3 { -+ -+ group denmZone3_D1 { -+ -+ /** -+ * @desc Z3-D1-EP/POS0 -+ */ -+ const DeltaReferencePosition c_PICS_Z3_D1_POS0 := { -+ deltaLatitude := -3495, -+ deltaLongitude := -5236, -+ deltaAltitude := 0 -+ }; // End of c_PICS_Z3_D1_POS0 -+ -+ /** -+ * @desc Z3-D1-EP/POS1 -+ */ -+ const ReferencePosition c_PICS_Z3_D1_EP := { -+ latitude := 435537393, // Z3-D1-EP/latitude -+ longitude := 103003415, // Z3-D1-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z3_D1_EP -+ -+ /** -+ * @desc Z3-D1-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z3_D1_Hx := { -+ { // Z3_D1_H1 -+ eventPosition := { -+ deltaLatitude := -2546, -+ deltaLongitude := -3697, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z3_D1_H2 -+ eventPosition := { -+ deltaLatitude := 2969, -+ deltaLongitude := 3874, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z3_D1_Hx -+ -+ /** -+ * @desc Z3-D1-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z3_D1_Tx := { -+ { -+ { // Z3-D1-T1 -+ pathPosition := { -+ deltaLatitude := -4657, -+ deltaLongitude := -9320, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D1-T2 -+ pathPosition := { -+ deltaLatitude := -34, -+ deltaLongitude := -1018, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D1-T3 -+ pathPosition := { -+ deltaLatitude := -109, -+ deltaLongitude := -897, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D1-T4 -+ pathPosition := { -+ deltaLatitude := -247, -+ deltaLongitude := -797, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D1-T5 -+ pathPosition := { -+ deltaLatitude := -258, -+ deltaLongitude := -675, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z3_D1_Tx -+ -+ const DenmParm c_PICS_Z3_D1 := { -+ eventPosition := c_PICS_Z3_D1_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z3_D1_Hx, -+ traces := c_PICS_Z3_D1_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0001'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := c_PICS_Z3_D1_POS0, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z3_D1 -+ -+ } // End of group denmZone3_D1 -+ -+ group denmZone3_D2 { -+ -+ /** -+ * @desc Z3-D2-EP/POS2 -+ */ -+ const ReferencePosition c_PICS_Z3_D2_EP := { -+ latitude := 435543599, // Z3-D2-EP/latitude -+ longitude := 103041247, // Z3-D2-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z3_D2_EP -+ -+ /** -+ * @desc Z3-D2-EP/EventHistory2 -+ */ -+ const EventHistory c_PICS_Z3_D2_Hx := { -+ { // Z3_D2_H1 -+ eventPosition := { -+ deltaLatitude := 1910, -+ deltaLongitude := 2225, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z3_D2_H2 -+ eventPosition := { -+ deltaLatitude := 4675, -+ deltaLongitude := -6121, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z3_D2_Hx -+ -+ /** -+ * @desc Z3-D2-Traces/Trace2 -+ */ -+ const Traces c_PICS_Z3_D2_Tx := { -+ { -+ { // Z3-D2-T1 -+ pathPosition := { -+ deltaLatitude := -3929, -+ deltaLongitude := -5291, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D2-T2 -+ pathPosition := { -+ deltaLatitude := -461, -+ deltaLongitude := -575, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D2-T3 -+ pathPosition := { -+ deltaLatitude := -460, -+ deltaLongitude := -576, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D2-T4 -+ pathPosition := { -+ deltaLatitude := -494, -+ deltaLongitude := -996, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D2-T5 -+ pathPosition := { -+ deltaLatitude := -511, -+ deltaLongitude := -719, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z3_D2_Tx -+ -+ const DenmParm c_PICS_Z3_D2 := { -+ eventPosition := c_PICS_Z3_D2_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z3_D2_Hx, -+ traces := c_PICS_Z3_D2_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0011'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z3_D2 -+ -+ } // End of group denmZone3_D2 -+ -+ group denmZone3_D3 { -+ -+ /** -+ * @desc Z3-D3-EP/POS3 -+ */ -+ const ReferencePosition c_PICS_Z3_D3_EP := { -+ latitude := 435550184, // Z3-D3-EP/latitude -+ longitude := 103037351, // Z3-D3-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z3_D3_EP -+ -+ /** -+ * @desc Z3-D3-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z3_D3_Hx := { -+ { // Z3_D3_H1 -+ eventPosition := { -+ deltaLatitude := 1279, -+ deltaLongitude := -2037, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z3_D3_H2 -+ eventPosition := { -+ deltaLatitude := 1482, -+ deltaLongitude := -2136, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z3_D3_Hx -+ -+ /** -+ * @desc Z3-D3-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z3_D3_Tx := { -+ { -+ { // Z3-D3-T1 -+ pathPosition := { -+ deltaLatitude := -3578, -+ deltaLongitude := 6055, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D3-T2 -+ pathPosition := { -+ deltaLatitude := -527, -+ deltaLongitude := 155, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D3-T3 -+ pathPosition := { -+ deltaLatitude := -1162, -+ deltaLongitude := 532, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z3-D3-T4 -+ pathPosition := { -+ deltaLatitude := -752, -+ deltaLongitude := -885, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z3_D3_Tx -+ -+ const DenmParm c_PICS_Z3_D3 := { -+ eventPosition := c_PICS_Z3_D3_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z3_D3_Hx, -+ traces := c_PICS_Z3_D3_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := closed, -+ drivingLaneStatus := '0100'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToLeft, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z3_D3 -+ -+ } // group denmZone3_D3 -+ -+ } // group denmZone3 -+ -+ group denmZone4 { -+ -+ group denmZone4_D1 { -+ -+ /** -+ * @desc Z4-D1-EP/POS0 -+ */ -+ const DeltaReferencePosition c_PICS_Z4_D1_POS0 := { -+ deltaLatitude := -3325, -+ deltaLongitude := -4184, -+ deltaAltitude := 0 -+ }; // End of c_PICS_Z4_D1_POS0 -+ -+ /** -+ * @desc Z4-D1-EP/POS1 -+ */ -+ const ReferencePosition c_PICS_Z4_D1_EP := { -+ latitude := 435562873, // Z4-D1-EP/latitude -+ longitude := 103041679, // Z4-D1-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z4_D1_EP -+ -+ /** -+ * @desc Z4-D1-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z4_D1_Hx := { -+ { // Z4_D1_H1 -+ eventPosition := { -+ deltaLatitude := 1817, -+ deltaLongitude := 5988, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z4_D1_H2 -+ eventPosition := { -+ deltaLatitude := 2484, -+ deltaLongitude := 4406, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z4_D1_Hx -+ -+ /** -+ * @desc Z4-D1-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z4_D1_Tx := { -+ { -+ { // Z4-D1-T1 -+ pathPosition := { -+ deltaLatitude := -6894, -+ deltaLongitude := -8590, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D1-T2 -+ pathPosition := { -+ deltaLatitude := -587, -+ deltaLongitude := -598, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D1-T3 -+ pathPosition := { -+ deltaLatitude := -471, -+ deltaLongitude := -453, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D1-T4 -+ pathPosition := { -+ deltaLatitude := -565, -+ deltaLongitude := -244, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D1-T5 -+ pathPosition := { -+ deltaLatitude := -340, -+ deltaLongitude := 199, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z4_D1_Tx -+ -+ const DenmParm c_PICS_Z4_D1 := { -+ eventPosition := c_PICS_Z4_D1_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z4_D1_Hx, -+ traces := c_PICS_Z4_D1_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0001'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := c_PICS_Z4_D1_POS0, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z4_D1 -+ -+ } // End of group denmZone4_D1 -+ -+ group denmZone4_D2 { -+ -+ /** -+ * @desc Z4-D2-EP/POS2 -+ */ -+ const ReferencePosition c_PICS_Z4_D2_EP := { -+ latitude := 435567174, // Z4-D2-EP/latitude -+ longitude := 103052073, // Z4-D2-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z4_D2_EP -+ -+ /** -+ * @desc Z4-D2-EP/EventHistory2 -+ */ -+ const EventHistory c_PICS_Z4_D2_Hx := { -+ { // Z4_D2_H1 -+ eventPosition := { -+ deltaLatitude := 3300, -+ deltaLongitude := 4505, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z4_D2_H2 -+ eventPosition := { -+ deltaLatitude := 3078, -+ deltaLongitude := 4173, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z4_D2_Hx -+ -+ /** -+ * @desc Z4-D2-Traces/Trace2 -+ */ -+ const Traces c_PICS_Z4_D2_Tx := { -+ { -+ { // Z4-D2-T1 -+ pathPosition := { -+ deltaLatitude := -3022, -+ deltaLongitude := -6896, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D2-T2 -+ pathPosition := { -+ deltaLatitude := -171, -+ deltaLongitude := -919, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D2-T3 -+ pathPosition := { -+ deltaLatitude := -197, -+ deltaLongitude := -653, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D2-T4 -+ pathPosition := { -+ deltaLatitude := -258, -+ deltaLongitude := -675, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D2-T5 -+ pathPosition := { -+ deltaLatitude := -258, -+ deltaLongitude := -676, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z4_D2_Tx -+ -+ const DenmParm c_PICS_Z4_D2 := { -+ eventPosition := c_PICS_Z4_D2_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z4_D2_Hx, -+ traces := c_PICS_Z4_D2_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0011'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z4_D2 -+ -+ } // End of group denmZone4_D2 -+ -+ group denmZone4_D3 { -+ -+ /** -+ * @desc Z4-D3-EP/POS3 -+ */ -+ const ReferencePosition c_PICS_Z4_D3_EP := { -+ latitude := 435573552, // Z4-D3-EP/latitude -+ longitude := 103060751, // Z4-D3-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z4_D3_EP -+ -+ /** -+ * @desc Z4-D3-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z4_D3_Hx := { -+ { // Z4_D3_H1 -+ eventPosition := { -+ deltaLatitude := 2629, -+ deltaLongitude := 3476, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z4_D3_H2 -+ eventPosition := { -+ deltaLatitude := 1984, -+ deltaLongitude := 2181, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z4_D3_Hx -+ -+ /** -+ * @desc Z4-D3-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z4_D3_Tx := { -+ { -+ { // Z4-D3-T1 -+ pathPosition := { -+ deltaLatitude := -4167, -+ deltaLongitude := -5534, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D3-T2 -+ pathPosition := { -+ deltaLatitude := -450, -+ deltaLongitude := -698, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D3-T3 -+ pathPosition := { -+ deltaLatitude := -510, -+ deltaLongitude := -719, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z4-D3-T4 -+ pathPosition := { -+ deltaLatitude := -393, -+ deltaLongitude := -653, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z4_D3_Tx -+ -+ const DenmParm c_PICS_Z4_D3 := { -+ eventPosition := c_PICS_Z4_D3_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z4_D3_Hx, -+ traces := c_PICS_Z4_D3_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := closed, -+ drivingLaneStatus := '0100'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z4_D3 -+ -+ } // group denmZone4_D3 -+ -+ } // group denmZone4 -+ -+ group denmZone5 { -+ -+ group denmZone5_D1 { -+ -+ /** -+ * @desc Z5-D1-EP/POS0 -+ */ -+ const DeltaReferencePosition c_PICS_Z5_D1_POS0 := { -+ deltaLatitude := 3984, -+ deltaLongitude := 4085, -+ deltaAltitude := 0 -+ }; // End of c_PICS_Z5_D1_POS0 -+ -+ /** -+ * @desc Z5-D1-EP/POS1 -+ */ -+ const ReferencePosition c_PICS_Z5_D1_EP := { -+ latitude := 435574984, // Z5-D1-EP/latitude -+ longitude := 103061238, // Z5-D1-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z5_D1_EP -+ -+ /** -+ * @desc Z5-D1-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z5_D1_Hx := { -+ { // Z5_D1_H1 -+ eventPosition := { -+ deltaLatitude := -3178, -+ deltaLongitude := -4461, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z5_D1_H2 -+ eventPosition := { -+ deltaLatitude := -3255, -+ deltaLongitude := -4339, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z5_D1_Hx -+ -+ /** -+ * @desc Z5-D1-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z5_D1_Tx := { -+ { -+ { // Z5-D1-T1 -+ pathPosition := { -+ deltaLatitude := 10830, -+ deltaLongitude := 4285, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D1-T2 -+ pathPosition := { -+ deltaLatitude := 729, -+ deltaLongitude := -255, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D1-T3 -+ pathPosition := { -+ deltaLatitude := 754, -+ deltaLongitude := -443, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D1-T4 -+ pathPosition := { -+ deltaLatitude := 592, -+ deltaLongitude := -155, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D1-T5 -+ pathPosition := { -+ deltaLatitude := 734, -+ deltaLongitude := 321, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z5_D1_Tx -+ -+ const DenmParm c_PICS_Z5_D1 := { -+ eventPosition := c_PICS_Z5_D1_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z5_D1_Hx, -+ traces := c_PICS_Z5_D1_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0001'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := c_PICS_Z5_D1_POS0, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z5_D1 -+ -+ } // End of group denmZone5_D1 -+ -+ group denmZone5_D2 { -+ -+ /** -+ * @desc Z5-D2-EP/POS2 -+ */ -+ const ReferencePosition c_PICS_Z5_D2_EP := { -+ latitude := 435568551, // Z5-D2-EP/latitude -+ longitude := 103052438, // Z5-D2-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z5_D2_EP -+ -+ /** -+ * @desc Z5-D2-EP/EventHistory2 -+ */ -+ const EventHistory c_PICS_Z5_D2_Hx := { -+ { // Z5_D2_H1 -+ eventPosition := { -+ deltaLatitude := -2673, -+ deltaLongitude := -4372, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z5_D2_H2 -+ eventPosition := { -+ deltaLatitude := -703, -+ deltaLongitude := -6930, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z5_D2_Hx -+ -+ /** -+ * @desc Z5-D2-Traces/Trace2 -+ */ -+ const Traces c_PICS_Z5_D2_Tx := { -+ { -+ { // Z5-D2-T1 -+ pathPosition := { -+ deltaLatitude := 3869, -+ deltaLongitude := 5325, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D2-T2 -+ pathPosition := { -+ deltaLatitude := 637, -+ deltaLongitude := 741, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D2-T3 -+ pathPosition := { -+ deltaLatitude := 561, -+ deltaLongitude := 864, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D2-T4 -+ pathPosition := { -+ deltaLatitude := 575, -+ deltaLongitude := 719, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D2-T5 -+ pathPosition := { -+ deltaLatitude := 511, -+ deltaLongitude := 720, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z5_D2_Tx -+ -+ const DenmParm c_PICS_Z5_D2 := { -+ eventPosition := c_PICS_Z5_D2_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z5_D2_Hx, -+ traces := c_PICS_Z5_D2_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0011'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z5_D2 -+ -+ } // End of group denmZone5_D2 -+ -+ group denmZone5_D3 { -+ -+ /** -+ * @desc Z5-D3-EP/POS3 -+ */ -+ const ReferencePosition c_PICS_Z5_D3_EP := { -+ latitude := 435565175, // Z5-D3-EP/latitude -+ longitude := 103041136, // Z5-D3-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z5_D3_EP -+ -+ /** -+ * @desc Z5-D3-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z5_D3_Hx := { -+ { // Z5_D3_H1 -+ eventPosition := { -+ deltaLatitude := -2151, -+ deltaLongitude := -3121, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z5_D3_H2 -+ eventPosition := { -+ deltaLatitude := -2343, -+ deltaLongitude := -2413, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z5_D3_Hx -+ -+ /** -+ * @desc Z5-D3-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z5_D3_Tx := { -+ { -+ { // Z5-D3-T1 -+ pathPosition := { -+ deltaLatitude := 1334, -+ deltaLongitude := 8424, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D3-T2 -+ pathPosition := { -+ deltaLatitude := 450, -+ deltaLongitude := 697, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D3-T3 -+ pathPosition := { -+ deltaLatitude := 510, -+ deltaLongitude := 720, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z5-D3-T4 -+ pathPosition := { -+ deltaLatitude := 511, -+ deltaLongitude := 719, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z5_D3_Tx -+ -+ const DenmParm c_PICS_Z5_D3 := { -+ eventPosition := c_PICS_Z5_D3_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z5_D3_Hx, -+ traces := c_PICS_Z5_D3_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := closed, -+ drivingLaneStatus := '0100'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToLeft, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z5_D3 -+ -+ } // group denmZone5_D3 -+ -+ } // group denmZone5 -+ -+ group denmZone6 { -+ -+ group denmZone6_D1 { -+ -+ /** -+ * @desc Z6-D1-EP/POS0 -+ */ -+ const DeltaReferencePosition c_PICS_Z6_D1_POS0 := { -+ deltaLatitude := 2738, -+ deltaLongitude := -3929, -+ deltaAltitude := 0 -+ }; // End of c_PICS_Z6_D1_POS0 -+ -+ /** -+ * @desc Z6-D1-EP/POS1 -+ */ -+ const ReferencePosition c_PICS_Z6_D1_EP := { -+ latitude := 435549548, // Z6-D1-EP/latitude -+ longitude := 103036609, // Z6-D1-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z6_D1_EP -+ -+ /** -+ * @desc Z6-D1-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z6_D1_Hx := { -+ { // Z6_D1_H1 -+ eventPosition := { -+ deltaLatitude := -2399, -+ deltaLongitude := 2347, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z6_D1_H2 -+ eventPosition := { -+ deltaLatitude := -4549, -+ deltaLongitude := -6309, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z6_D1_Hx -+ -+ /** -+ * @desc Z6-D1-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z6_D1_Tx := { -+ { -+ { // Z6-D1-T1 -+ pathPosition := { -+ deltaLatitude := 4977, -+ deltaLongitude := -7317, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D1-T2 -+ pathPosition := { -+ deltaLatitude := 264, -+ deltaLongitude := -77, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D1-T3 -+ pathPosition := { -+ deltaLatitude := 263, -+ deltaLongitude := -78, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D1-T4 -+ pathPosition := { -+ deltaLatitude := 131, -+ deltaLongitude := 0, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D1-T5 -+ pathPosition := { -+ deltaLatitude := 803, -+ deltaLongitude := 299, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z6_D1_Tx -+ -+ const DenmParm c_PICS_Z6_D1 := { -+ eventPosition := c_PICS_Z6_D1_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z6_D1_Hx, -+ traces := c_PICS_Z6_D1_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0001'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := c_PICS_Z6_D1_POS0, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z6_D1 -+ -+ } // End of group denmZone6_D1 -+ -+ group denmZone6_D2 { -+ -+ /** -+ * @desc Z6-D2-EP/POS2 -+ */ -+ const ReferencePosition c_PICS_Z6_D2_EP := { -+ latitude := 435542600, // Z6-D2-EP/latitude -+ longitude := 103032647, // Z6-D2-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z6_D2_EP -+ -+ /** -+ * @desc Z6-D2-EP/EventHistory2 -+ */ -+ const EventHistory c_PICS_Z6_D2_Hx := { -+ { // Z6_D2_H1 -+ eventPosition := { -+ deltaLatitude := -2465, -+ deltaLongitude := -3601, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z6_D2_H2 -+ eventPosition := { -+ deltaLatitude := -3375, -+ deltaLongitude := -4701, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z6_D2_Hx -+ -+ /** -+ * @desc Z6-D2-Traces/Trace2 -+ */ -+ const Traces c_PICS_Z6_D2_Tx := { -+ { -+ { // Z6-D2-T1 -+ pathPosition := { -+ deltaLatitude := 3966, -+ deltaLongitude := 5689, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D2-T2 -+ pathPosition := { -+ deltaLatitude := 583, -+ deltaLongitude := 620, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D2-T3 -+ pathPosition := { -+ deltaLatitude := 780, -+ deltaLongitude := -111, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D2-T4 -+ pathPosition := { -+ deltaLatitude := 412, -+ deltaLongitude := -299, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D2-T5 -+ pathPosition := { -+ deltaLatitude := 373, -+ deltaLongitude := -564, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z6_D2_Tx -+ -+ const DenmParm c_PICS_Z6_D2 := { -+ eventPosition := c_PICS_Z6_D2_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z6_D2_Hx, -+ traces := c_PICS_Z6_D2_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := availableForDriving, -+ drivingLaneStatus := '0011'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToRight, -+ referenceDenms := omit -+ } -+ -+ } // End of c_PICS_Z6_D2 -+ -+ } // End of group denmZone6_D2 -+ -+ group denmZone6_D3 { -+ -+ /** -+ * @desc Z6-D3-EP/POS3 -+ */ -+ const ReferencePosition c_PICS_Z6_D3_EP := { -+ latitude := 435536760, // Z6-D3-EP/latitude -+ longitude := 103024345, // Z6-D3-EP/longitude -+ positionConfidenceEllipse := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE, -+ altitude := c_PICS_DENM_ALTITUDE -+ }; // End of c_PICS_Z6_D3_EP -+ -+ /** -+ * @desc Z6-D3-EP/EventHistory1 -+ */ -+ const EventHistory c_PICS_Z6_D3_Hx := { -+ { // Z6_D3_H1 -+ eventPosition := { -+ deltaLatitude := -1685, -+ deltaLongitude := -2568, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ }, -+ { // Z6_D3_H2 -+ eventPosition := { -+ deltaLatitude := -1864, -+ deltaLongitude := -2789, -+ deltaAltitude := 0 -+ }, -+ eventDeltaTime := omit, -+ informationQuality := 0 -+ } -+ }; // End of c_PICS_Z6_D3_Hx -+ -+ /** -+ * @desc Z6-D3-Traces/Trace1 -+ */ -+ const Traces c_PICS_Z6_D3_Tx := { -+ { -+ { // Z6-D3-T1 -+ pathPosition := { -+ deltaLatitude := 4423, -+ deltaLongitude := 6287, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D3-T2 -+ pathPosition := { -+ deltaLatitude := 287, -+ deltaLongitude := 332, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D3-T3 -+ pathPosition := { -+ deltaLatitude := 400, -+ deltaLongitude := 554, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ }, -+ { // Z6-D3-T4 -+ pathPosition := { -+ deltaLatitude := 395, -+ deltaLongitude := 575, -+ deltaAltitude := 0 -+ }, -+ pathDeltaTime := omit -+ } -+ } -+ }; // End of c_PICS_Z6_D3_Tx -+ -+ const DenmParm c_PICS_Z6_D3 := { -+ eventPosition := c_PICS_Z6_D3_EP, -+ causeCodeType := CauseCodeType_roadworks_, -+ eventHistory := c_PICS_Z6_D3_Hx, -+ traces := c_PICS_Z6_D3_Tx, -+ roadWorksContainerExtended := { -+ lightBarSirenInUse := omit, -+ closedLanes := { -+ hardShoulderStatus := closed, -+ drivingLaneStatus := '0100'B -+ }, -+ restriction := omit, -+ speedLimit := c_PICS_SPEED_LIMIT, -+ incidentIndication := omit, -+ recommendedPath := omit, -+ startingPointSpeedLimit := omit, -+ trafficFlowRule := passToLeft, -+ referenceDenms := omit -+ } -+ } // End of c_PICS_Z6_D3 -+ -+ } // group denmZone6_D3 -+ -+ } // group denmZone6 -+ -+ const DenmEventsParmsUseCase c_PICS_DENM_PARMS_UC1_RWW := { -+ { // Zone 1 -+ c_PICS_Z1_D1, -+ c_PICS_Z1_D2, -+ c_PICS_Z1_D3 -+ }, -+ { // Zone 2 -+ c_PICS_Z2_D1, -+ c_PICS_Z2_D2, -+ c_PICS_Z2_D3 -+ }, -+ { // Zone 3 -+ c_PICS_Z3_D1, -+ c_PICS_Z3_D2, -+ c_PICS_Z3_D3 -+ }, -+ { // Zone 4 -+ c_PICS_Z4_D1, -+ c_PICS_Z4_D2, -+ c_PICS_Z4_D3 -+ }, -+ { // Zone 5 -+ c_PICS_Z5_D1, -+ c_PICS_Z5_D2, -+ c_PICS_Z5_D3 -+ }, -+ { // Zone 6 -+ c_PICS_Z6_D1, -+ c_PICS_Z6_D2, -+ c_PICS_Z6_D3 -+ } -+ } // End of c_PICS_DENM_PARMS_UC1_RWW -+ -+ } // End of group denmUseCase1 -+ -+ } // End of group denmEvents -+ -+ group mapemEvents { -+ -+ group mapemCommonParams { -+ -+ const BtpPortId c_PICS_MAPEM_BTP_DESTINATION_PORT := 2003; -+ -+ const BtpPortId c_PICS_MAPEM_BTP_SOURCE_PORT := 0; -+ -+ const UInt32 c_PICS_MAPEM_ITS_AID := 138; -+ -+ } // End of group mapemCommonParams -+ -+ group mapemZone1 { -+ -+ const IntersectionReferenceID c_PICS_Z1_M1_SL_IDX := { -+ region := 1, -+ id := 13001 -+ } // End of c_PICS_Z1_M1_SL_IDX -+ -+ const Position3D c_PICS_Z1_M1_SL_RP := { -+ lat := 435527493, -+ long := 103006446, -+ elevation := omit, -+ regional := omit -+ } // End of c_PICS_Z1_M1_SL_RP -+ -+ const NodeListXY c_PICS_Z1_M1_SL_LANE10 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 83, -+ y := -124 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 1696, -+ y := 1555 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 1251, -+ y := 1111 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 1326, -+ y := 1026 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 1471, -+ y := 304 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z1_M1_SL_LANE1 -+ -+ const NodeListXY c_PICS_Z1_M1_SL_LANE20 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := -109, -+ y := -348 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -2926, -+ y := -2636 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z1_M1_SL_LANE20 -+ -+ const MapemParm c_PICS_Z1_M1_SL := { -+ intersections := { -+ { // Start of intersection #0 -+ name := "PICS_Z1_M1_SL", -+ id := c_PICS_Z1_M1_SL_IDX, -+ revision := 0, -+ refPoint := c_PICS_Z1_M1_SL_RP, -+ laneWidth := omit, -+ speedLimits := omit, -+ laneSet := { -+ { // Start of Lane #1 -+ laneID := 10, -+ name := omit, -+ ingressApproach := 1, -+ egressApproach := omit, -+ laneAttributes := { -+ directionalUse := '10'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z1_M1_SL_LANE10, -+ connectsTo := { -+ { -+ connectingLane := { -+ lane := 20, -+ maneuver := omit -+ }, -+ remoteIntersection := omit, -+ signalGroup := 50, -+ userClass := omit, -+ connectionID := omit -+ } -+ }, -+ overlays := omit, -+ regional := omit -+ }, // End of Lane #1 -+ { // Start of Lane #2 -+ laneID := 20, -+ name := omit, -+ ingressApproach := omit, -+ egressApproach := 2, -+ laneAttributes := { -+ directionalUse := '01'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z1_M1_SL_LANE20, -+ connectsTo := omit, -+ overlays := omit, -+ regional := omit -+ } // End of Lane #2 -+ }, // End of LaneSet -+ preemptPriorityData := omit, -+ regional := omit -+ } // End of intersection #0 -+ }, // End of field intersections -+ roadSegments := omit -+ } // End of c_PICS_Z1_M1_SL -+ -+ } // End of group mapemZone1 -+ -+ group mapemZone2 { -+ -+ const IntersectionReferenceID c_PICS_Z2_M1_SL_IDX := { -+ region := 1, -+ id := 23001 -+ } // End of c_PICS_Z2_M1_SL_IDX -+ -+ const Position3D c_PICS_Z2_M1_SL_RP := { -+ lat := 435512756, -+ long := 103002535, -+ elevation := omit, -+ regional := omit -+ } // End of c_PICS_Z2_M1_SL_RP -+ -+ const NodeListXY c_PICS_Z2_M1_SL_LANE10 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := -5, -+ y := -253 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -5082, -+ y := -701 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -1984, -+ y := -341 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -1965, -+ y := -390 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -3093, -+ y := -391 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z2_M1_SL_LANE10 -+ -+ const NodeListXY c_PICS_Z2_M1_SL_LANE20 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 287, -+ y := -200 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 2988, -+ y := 429 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z2_M1_SL_LANE20 -+ -+ const MapemParm c_PICS_Z2_M1_SL := { -+ intersections := { -+ { // Start of intersection #0 -+ name := "PICS_Z2_M1_SL", -+ id := c_PICS_Z2_M1_SL_IDX, -+ revision := 0, -+ refPoint := c_PICS_Z2_M1_SL_RP, -+ laneWidth := omit, -+ speedLimits := omit, -+ laneSet := { -+ { // Start of Lane #1 -+ laneID := 10, -+ name := omit, -+ ingressApproach := 1, -+ egressApproach := omit, -+ laneAttributes := { -+ directionalUse := '10'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z2_M1_SL_LANE10, -+ connectsTo := { -+ { -+ connectingLane := { -+ lane := 20, -+ maneuver := omit -+ }, -+ remoteIntersection := omit, -+ signalGroup := 50, -+ userClass := omit, -+ connectionID := omit -+ } -+ }, -+ overlays := omit, -+ regional := omit -+ }, // End of Lane #1 -+ { // Start of Lane #2 -+ laneID := 20, -+ name := omit, -+ ingressApproach := omit, -+ egressApproach := 2, -+ laneAttributes := { -+ directionalUse := '01'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z2_M1_SL_LANE20, -+ connectsTo := omit, -+ overlays := omit, -+ regional := omit -+ } // End of Lane #2 -+ }, // End of LaneSet -+ preemptPriorityData := omit, -+ regional := omit -+ } // End of intersection #0 -+ }, // End of field intersections -+ roadSegments := omit -+ } // End of c_PICS_Z2_M1_SL -+ -+ } // End of group mapemZone2 -+ -+ group mapemZone3 { -+ -+ const IntersectionReferenceID c_PICS_Z3_M1_SL_IDX := { -+ region := 1, -+ id := 33001 -+ } // End of c_PICS_Z3_M1_SL_IDX -+ -+ const Position3D c_PICS_Z3_M1_SL_RP := { -+ lat := 435536609, -+ long := 103031286, -+ elevation := omit, -+ regional := omit -+ } // End of c_PICS_Z3_M1_SL_RP -+ -+ const NodeListXY c_PICS_Z3_M1_SL_LANE10 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := -240, -+ y := -460 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -3319, -+ y := -3078 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -1299, -+ y := -625 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -3597, -+ y := -564 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -2191, -+ y := -1668 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z3_M1_SL_LANE10 -+ -+ const NodeListXY c_PICS_Z3_M1_SL_LANE20 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 552, -+ y := 232 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 3778, -+ y := 3636 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z3_M1_SL_LANE20 -+ -+ const MapemParm c_PICS_Z3_M1_SL := { -+ intersections := { -+ { // Start of intersection #0 -+ name := "PICS_Z3_M1_SL", -+ id := c_PICS_Z3_M1_SL_IDX, -+ revision := 0, -+ refPoint := c_PICS_Z3_M1_SL_RP, -+ laneWidth := omit, -+ speedLimits := omit, -+ laneSet := { -+ { // Start of Lane #1 -+ laneID := 10, -+ name := omit, -+ ingressApproach := 1, -+ egressApproach := omit, -+ laneAttributes := { -+ directionalUse := '10'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z3_M1_SL_LANE10, -+ connectsTo := { -+ { -+ connectingLane := { -+ lane := 20, -+ maneuver := omit -+ }, -+ remoteIntersection := omit, -+ signalGroup := 50, -+ userClass := omit, -+ connectionID := omit -+ } -+ }, -+ overlays := omit, -+ regional := omit -+ }, // End of Lane #1 -+ { // Start of Lane #2 -+ laneID := 20, -+ name := omit, -+ ingressApproach := omit, -+ egressApproach := 2, -+ laneAttributes := { -+ directionalUse := '01'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z3_M1_SL_LANE20, -+ connectsTo := omit, -+ overlays := omit, -+ regional := omit -+ } // End of Lane #2 -+ }, // End of LaneSet -+ preemptPriorityData := omit, -+ regional := omit -+ } // End of intersection #0 -+ }, // End of field intersections -+ roadSegments := omit -+ } // End of c_PICS_Z3_M1_SL -+ -+ } // End of group mapemZone3 -+ -+ group mapemZone4 { -+ -+ const IntersectionReferenceID c_PICS_Z4_M1_SL_IDX := { -+ region := 1, -+ id := 43001 -+ } // End of c_PICS_Z4_M1_SL_IDX -+ -+ const Position3D c_PICS_Z4_M1_SL_RP := { -+ lat := 435563484, -+ long := 103042973, -+ elevation := omit, -+ regional := omit -+ } // End of c_PICS_Z4_M1_SL_RP -+ -+ const NodeListXY c_PICS_Z4_M1_SL_LANE10 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := -37, -+ y := 40 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -4376, -+ y := -4428 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -2378, -+ y := -2588 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -2191, -+ y := -2842 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 1100, -+ y := -1934 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z4_M1_SL_LANE10 -+ -+ const NodeListXY c_PICS_Z4_M1_SL_LANE20 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 3170, -+ y := 1134 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 2579, -+ y := 1415 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z4_M1_SL_LANE20 -+ -+ const MapemParm c_PICS_Z4_M1_SL := { -+ intersections := { -+ { // Start of intersection #0 -+ name := "PICS_Z4_M1_SL", -+ id := c_PICS_Z4_M1_SL_IDX, -+ revision := 0, -+ refPoint := c_PICS_Z4_M1_SL_RP, -+ laneWidth := omit, -+ speedLimits := omit, -+ laneSet := { -+ { // Start of Lane #1 -+ laneID := 10, -+ name := omit, -+ ingressApproach := 1, -+ egressApproach := omit, -+ laneAttributes := { -+ directionalUse := '10'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z4_M1_SL_LANE10, -+ connectsTo := { -+ { -+ connectingLane := { -+ lane := 20, -+ maneuver := omit -+ }, -+ remoteIntersection := omit, -+ signalGroup := 50, -+ userClass := omit, -+ connectionID := omit -+ } -+ }, -+ overlays := omit, -+ regional := omit -+ }, // End of Lane #1 -+ { // Start of Lane #2 -+ laneID := 20, -+ name := omit, -+ ingressApproach := omit, -+ egressApproach := 2, -+ laneAttributes := { -+ directionalUse := '01'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z4_M1_SL_LANE20, -+ connectsTo := omit, -+ overlays := omit, -+ regional := omit -+ } // End of Lane #2 -+ }, // End of LaneSet -+ preemptPriorityData := omit, -+ regional := omit -+ } // End of intersection #0 -+ }, // End of field intersections -+ roadSegments := omit -+ } // End of c_PICS_Z4_M1_SL -+ -+ } // End of group mapemZone4 -+ -+ group mapemZone5 { -+ -+ const IntersectionReferenceID c_PICS_Z5_M1_SL_IDX := { -+ region := 1, -+ id := 53001 -+ } // End of c_PICS_Z5_M1_SL_IDX -+ -+ const Position3D c_PICS_Z5_M1_SL_RP := { -+ lat := 435578537, -+ long := 103061555, -+ elevation := omit, -+ regional := omit -+ } // End of c_PICS_Z5_M1_SL_RP -+ -+ const NodeListXY c_PICS_Z5_M1_SL_LANE10 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 446, -+ y := -183 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 2217, -+ y := 2119 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 792, -+ y := 1744 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -70, -+ y := 2749 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -382, -+ y := 2467 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z5_M1_SL_LANE10 -+ -+ const NodeListXY c_PICS_Z5_M1_SL_LANE20 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := -134, -+ y := -795 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -2408, -+ y := -2491 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z5_M1_SL_LANE20 -+ -+ const MapemParm c_PICS_Z5_M1_SL := { -+ intersections := { -+ { // Start of intersection #0 -+ name := "PICS_Z5_M1_SL", -+ id := c_PICS_Z5_M1_SL_IDX, -+ revision := 0, -+ refPoint := c_PICS_Z5_M1_SL_RP, -+ laneWidth := omit, -+ speedLimits := omit, -+ laneSet := { -+ { // Start of Lane #1 -+ laneID := 10, -+ name := omit, -+ ingressApproach := 1, -+ egressApproach := omit, -+ laneAttributes := { -+ directionalUse := '10'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z5_M1_SL_LANE10, -+ connectsTo := { -+ { -+ connectingLane := { -+ lane := 20, -+ maneuver := omit -+ }, -+ remoteIntersection := omit, -+ signalGroup := 50, -+ userClass := omit, -+ connectionID := omit -+ } -+ }, -+ overlays := omit, -+ regional := omit -+ }, // End of Lane #1 -+ { // Start of Lane #2 -+ laneID := 20, -+ name := omit, -+ ingressApproach := omit, -+ egressApproach := 2, -+ laneAttributes := { -+ directionalUse := '01'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z5_M1_SL_LANE20, -+ connectsTo := omit, -+ overlays := omit, -+ regional := omit -+ } // End of Lane #2 -+ }, // End of LaneSet -+ preemptPriorityData := omit, -+ regional := omit -+ } // End of intersection #0 -+ }, // End of field intersections -+ roadSegments := omit -+ } // End of c_PICS_Z5_M1_SL -+ -+ } // End of group mapemZone5 -+ -+ group mapemZone6 { -+ -+ const IntersectionReferenceID c_PICS_Z6_M1_SL_IDX := { -+ region := 1, -+ id := 63001 -+ } // End of c_PICS_Z6_M1_SL_IDX -+ -+ const Position3D c_PICS_Z6_M1_SL_RP := { -+ lat := 435551186, -+ long := 103033248, -+ elevation := omit, -+ regional := omit -+ } // End of c_PICS_Z6_M1_SL_RP -+ -+ const NodeListXY c_PICS_Z6_M1_SL_LANE10 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 538, -+ y := 348 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -2933, -+ y := 2469 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := -840, -+ y := 1203 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 573, -+ y := 1870 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 2043, -+ y := 2312 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z6_M1_SL_LANE10 -+ -+ const NodeListXY c_PICS_Z6_M1_SL_LANE20 := { -+ nodes := { -+ { -+ delta := { -+ node_XY6 := { -+ x := 1175, -+ y := -327 -+ } -+ }, -+ attributes := omit -+ }, -+ { -+ delta := { -+ node_XY6 := { -+ x := 2984, -+ y := -2781 -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } // End of c_PICS_Z6_M1_SL_LANE20 -+ -+ const MapemParm c_PICS_Z6_M1_SL := { -+ intersections := { -+ { // Start of intersection #0 -+ name := "PICS_Z6_M1_SL", -+ id := c_PICS_Z6_M1_SL_IDX, -+ revision := 0, -+ refPoint := c_PICS_Z6_M1_SL_RP, -+ laneWidth := omit, -+ speedLimits := omit, -+ laneSet := { -+ { // Start of Lane #1 -+ laneID := 10, -+ name := omit, -+ ingressApproach := 1, -+ egressApproach := omit, -+ laneAttributes := { -+ directionalUse := '10'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z6_M1_SL_LANE10, -+ connectsTo := { -+ { -+ connectingLane := { -+ lane := 20, -+ maneuver := omit -+ }, -+ remoteIntersection := omit, -+ signalGroup := 50, -+ userClass := omit, -+ connectionID := omit -+ } -+ }, -+ overlays := omit, -+ regional := omit -+ }, // End of Lane #1 -+ { // Start of Lane #2 -+ laneID := 20, -+ name := omit, -+ ingressApproach := omit, -+ egressApproach := 2, -+ laneAttributes := { -+ directionalUse := '01'B, -+ sharedWith := '0000000000'B, -+ laneType := { -+ vehicle := '00000000'B -+ }, -+ regional := omit -+ }, -+ maneuvers := omit, -+ nodeList := c_PICS_Z6_M1_SL_LANE20, -+ connectsTo := omit, -+ overlays := omit, -+ regional := omit -+ } // End of Lane #2 -+ }, // End of LaneSet -+ preemptPriorityData := omit, -+ regional := omit -+ } // End of intersection #0 -+ }, // End of field intersections -+ roadSegments := omit -+ } // End of c_PICS_Z6_M1_SL -+ -+ } // End of group mapemZone6 -+ -+ } // End of group mapemEvents -+ -+ group spatemEvents { -+ -+ group spatemCommonParams { -+ -+ const BtpPortId c_PICS_SPATEM_BTP_DESTINATION_PORT := 2004; -+ -+ const BtpPortId c_PICS_SPATEM_BTP_SOURCE_PORT := 0; -+ -+ const UInt32 c_PICS_SPATEM_ITS_AID := 137; -+ -+ const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_10 := 10*10; // In units of 1/10th second -+ -+ const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_20 := 20*10; // In units of 1/10th second -+ -+ const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_30 := 30*10; // In units of 1/10th second -+ -+ const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_40 := 40*10; // In units of 1/10th second -+ -+ const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_50 := 50*10; // In units of 1/10th second -+ -+ } // End of group spatemCommonParams -+ -+ group spatemZone1 { -+ -+ const SignalGroupParm c_PICS_Z1_S1_SL := { -+ signalGroupID := 1, -+ intersections := { -+ { -+ name := "PICS_SPATEM_PARMS_SG_50", -+ id := c_PICS_Z1_M1_SL_IDX, -+ revision := 0, -+ status := int2bit(0, 16), -+ moy := 0, // To be updated in real-time -+ timeStamp := 0, // To be updated in real-time -+ enabledLanes := omit, -+ states := { -+ { -+ movementName := "permissive-Movement-Allowed", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_Movement_Allowed, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "permissive-clearance", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_clearance, -+ timing := { -+ startTime := 0, // To be updated in real-time -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "stop-And-Remain", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := stop_And_Remain, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ } // End of field states -+ } // End of type c_PICS_Z1_S1_SL -+ -+ const SignalGroupParmList c_PICS_Z1_S1_SL_LIST := { -+ c_PICS_Z1_S1_SL -+ } // End of type c_PICS_Z1_S1_SL_LIST -+ -+ } // End of group spatemZone1 -+ -+ group spatemZone2 { -+ -+ const SignalGroupParm c_PICS_Z2_S1_SL := { -+ signalGroupID := 1, -+ intersections := { -+ { -+ name := "PICS_SPATEM_PARMS_SG_50", -+ id := c_PICS_Z2_M1_SL_IDX, -+ revision := 0, -+ status := int2bit(0, 16), -+ moy := 0, // To be updated in real-time -+ timeStamp := 0, // To be updated in real-time -+ enabledLanes := omit, -+ states := { -+ { -+ movementName := "permissive-Movement-Allowed", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_Movement_Allowed, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "permissive-clearance", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_clearance, -+ timing := { -+ startTime := 0, // To be updated in real-time -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "stop-And-Remain", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := stop_And_Remain, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ } // End of field states -+ } // End of type c_PICS_Z2_S1_SL -+ -+ const SignalGroupParmList c_PICS_Z2_S1_SL_LIST := { -+ c_PICS_Z2_S1_SL -+ } // End of type c_PICS_Z2_S1_SL_LIST -+ -+ } // End of group spatemZone2 -+ -+ group spatemZone3 { -+ -+ const SignalGroupParm c_PICS_Z3_S1_SL := { -+ signalGroupID := 1, -+ intersections := { -+ { -+ name := "PICS_SPATEM_PARMS_SG_50", -+ id := c_PICS_Z3_M1_SL_IDX, -+ revision := 0, -+ status := int2bit(0, 16), -+ moy := 0, // To be updated in real-time -+ timeStamp := 0, // To be updated in real-time -+ enabledLanes := omit, -+ states := { -+ { -+ movementName := "permissive-Movement-Allowed", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_Movement_Allowed, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "permissive-clearance", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_clearance, -+ timing := { -+ startTime := 0, // To be updated in real-time -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "stop-And-Remain", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := stop_And_Remain, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ } // End of field states -+ } // End of type c_PICS_Z3_S1_SL -+ -+ const SignalGroupParmList c_PICS_Z3_S1_SL_LIST := { -+ c_PICS_Z3_S1_SL -+ } // End of type c_PICS_Z3_S1_SL_LIST -+ -+ } // End of group spatemZone3 -+ -+ group spatemZone4 { -+ -+ const SignalGroupParm c_PICS_Z4_S1_SL := { -+ signalGroupID := 1, -+ intersections := { -+ { -+ name := "PICS_SPATEM_PARMS_SG_50", -+ id := c_PICS_Z4_M1_SL_IDX, -+ revision := 0, -+ status := int2bit(0, 16), -+ moy := 0, // To be updated in real-time -+ timeStamp := 0, // To be updated in real-time -+ enabledLanes := omit, -+ states := { -+ { -+ movementName := "permissive-Movement-Allowed", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_Movement_Allowed, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "permissive-clearance", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_clearance, -+ timing := { -+ startTime := 0, // To be updated in real-time -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "stop-And-Remain", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := stop_And_Remain, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ } // End of field states -+ } // End of type c_PICS_Z4_S1_SL -+ -+ const SignalGroupParmList c_PICS_Z4_S1_SL_LIST := { -+ c_PICS_Z4_S1_SL -+ } // End of type c_PICS_Z4_S1_SL_LIST -+ -+ } // End of group spatemZone4 -+ -+ group spatemZone5 { -+ -+ const SignalGroupParm c_PICS_Z5_S1_SL := { -+ signalGroupID := 1, -+ intersections := { -+ { -+ name := "PICS_SPATEM_PARMS_SG_50", -+ id := c_PICS_Z5_M1_SL_IDX, -+ revision := 0, -+ status := int2bit(0, 16), -+ moy := 0, // To be updated in real-time -+ timeStamp := 0, // To be updated in real-time -+ enabledLanes := omit, -+ states := { -+ { -+ movementName := "permissive-Movement-Allowed", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_Movement_Allowed, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "permissive-clearance", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_clearance, -+ timing := { -+ startTime := 0, // To be updated in real-time -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "stop-And-Remain", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := stop_And_Remain, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ } // End of field states -+ } // End of type c_PICS_Z5_S1_SL -+ -+ const SignalGroupParmList c_PICS_Z5_S1_SL_LIST := { -+ c_PICS_Z5_S1_SL -+ } // End of type c_PICS_Z5_S1_SL_LIST -+ -+ } // End of group spatemZone5 -+ -+ group spatemZone6 { -+ -+ const SignalGroupParm c_PICS_Z6_S1_SL := { -+ signalGroupID := 1, -+ intersections := { -+ { -+ name := "PICS_SPATEM_PARMS_SG_50", -+ id := c_PICS_Z6_M1_SL_IDX, -+ revision := 0, -+ status := int2bit(0, 16), -+ moy := 0, // To be updated in real-time -+ timeStamp := 0, // To be updated in real-time -+ enabledLanes := omit, -+ states := { -+ { -+ movementName := "permissive-Movement-Allowed", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_Movement_Allowed, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "permissive-clearance", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := permissive_clearance, -+ timing := { -+ startTime := 0, // To be updated in real-time -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ }, -+ { -+ movementName := "stop-And-Remain", -+ signalGroup := 50, -+ state_time_speed:= { -+ { -+ eventState := stop_And_Remain, -+ timing := { -+ startTime := omit, -+ minEndTime := 0, // To be updated in real-time -+ maxEndTime := omit, -+ likelyTime := omit, -+ confidence := omit, -+ nextTime := omit -+ }, -+ speeds := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ }, -+ maneuverAssistList := omit, -+ regional := omit -+ } -+ } // End of field states -+ } // End of type c_PICS_Z6_S1_SL -+ -+ const SignalGroupParmList c_PICS_Z6_S1_SL_LIST := { -+ c_PICS_Z6_S1_SL -+ } // End of type c_PICS_Z6_S1_SL_LIST -+ -+ } // End of group spatemZone6 -+ -+ } // End of group spatemEvents -+ -+ group ivimEvents { -+ -+ group ivimCommonParams { -+ -+ const BtpPortId c_PICS_IVIM_BTP_DESTINATION_PORT := 2006; -+ -+ const BtpPortId c_PICS_IVIM_BTP_SOURCE_PORT := 0; -+ -+ const UInt32 c_PICS_IVIM_ITS_AID := 139; -+ -+ const PosConfidenceEllipse c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE := { -+ semiMajorConfidence := SemiAxisLength_oneCentimeter_, -+ semiMinorConfidence := SemiAxisLength_oneCentimeter_, -+ semiMajorOrientation := 0 -+ } // End of c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE -+ -+ const Altitude c_PICS_IVIM_ALTITUDE := { -+ altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -+ altitudeConfidence := alt_000_01 -+ } // End of c_PICS_DENM_ALTITUDE -+ -+ } // End of group ivimCommonParams -+ -+ group ivimZone1 { -+ -+ const ReferencePosition c_PICS_Z1_I1_POS1_RP := { -+ latitude := 435527493, -+ longitude := 103006446, -+ positionConfidenceEllipse := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE , -+ altitude := c_PICS_IVIM_ALTITUDE -+ } // End of c_PICS_Z1_I1_POS1_RP -+ -+ const GlcPart c_PICS_Z1_I1_POS1_GP_1 := { -+ zoneId := 1, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -111, -+ deltaLongitude := 103 -+ }, -+ { -+ deltaLatitude := 287, -+ deltaLongitude := 475 -+ }, -+ { -+ deltaLatitude := 292, -+ deltaLongitude := 446 -+ }, -+ { -+ deltaLatitude := 412, -+ deltaLongitude := 609 -+ }, -+ { -+ deltaLatitude := 407, -+ deltaLongitude := 573 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z1_I1_POS1_GP_1 -+ -+ const GlcPart c_PICS_Z1_I1_POS1_GP_2 := { -+ zoneId := 2, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -312, -+ deltaLongitude := -134 -+ }, -+ { -+ deltaLatitude := -575, -+ deltaLongitude := -822 -+ }, -+ { -+ deltaLatitude := -608, -+ deltaLongitude := -994 -+ }, -+ { -+ deltaLatitude := -660, -+ deltaLongitude := -1064 -+ }, -+ { -+ deltaLatitude := -525, -+ deltaLongitude := -746 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z1_I1_POS1_GP_2 -+ -+ const IvimParm c_PICS_Z1_I1_POS1 := { -+ provider := { -+ countryCode := '0000000001'B, -+ providerIdentifier := 13 -+ }, -+ iviIdentificationNumber := 12, -+ iviContainers := { -+ { -+ glc := { -+ referencePosition := c_PICS_Z1_I1_POS1_RP, -+ referencePositionTime := omit, -+ referencePositionHeading := omit, -+ referencePositionSpeed := omit, -+ parts := { -+ c_PICS_Z1_I1_POS1_GP_1, -+ c_PICS_Z1_I1_POS1_GP_2 -+ } -+ } -+ }, -+ { -+ giv := { -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 4, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := omit, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 57 -+ -+ } -+ }, -+ attributes := { -+ { -+ spe := { -+ spm := 30, -+ mns := omit, -+ unit := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ extraText := omit -+ }, -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 15, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := { -+ { -+ tractor := omit, -+ trailer := omit, -+ train := { -+ equalTo := { -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n2 -+ } -+ }, -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n3 -+ } -+ } -+ }, -+ notEqualTo := omit, -+ ranges := { -+ { -+ comparisonOperator := 0, // greaterThan -+ limits := { -+ vehicleWeightLimits := { -+ vehicleMaxLadenWeight := 0, -+ vehicleTrainMaximumWeight := 750, -+ vehicleWeightUnladen := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 44 -+ -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } -+ }, -+ extraText := omit -+ } -+ } -+ } -+ } -+ } // End of c_PICS_Z1_I1_POS1 -+ -+ } // End of group ivimZone1 -+ -+ group ivimZone2 { -+ -+ const ReferencePosition c_PICS_Z2_I1_POS1_RP := { -+ latitude := 435512756, -+ longitude := 103002535, -+ positionConfidenceEllipse := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE , -+ altitude := c_PICS_IVIM_ALTITUDE -+ } // End of c_PICS_Z2_I1_POS1_RP -+ -+ const GlcPart c_PICS_Z2_I1_POS1_GP_1 := { -+ zoneId := 1, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -227, -+ deltaLongitude := -5 -+ }, -+ { -+ deltaLatitude := -146, -+ deltaLongitude := -1187 -+ }, -+ { -+ deltaLatitude := -109, -+ deltaLongitude := -1664 -+ }, -+ { -+ deltaLatitude := -141, -+ deltaLongitude := -1295 -+ }, -+ { -+ deltaLatitude := -233, -+ deltaLongitude := -2153 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z2_I1_POS1_GP_1 -+ -+ const GlcPart c_PICS_Z2_I1_POS1_GP_2 := { -+ zoneId := 2, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -179, -+ deltaLongitude := 356 -+ }, -+ { -+ deltaLatitude := 100, -+ deltaLongitude := 891 -+ }, -+ { -+ deltaLatitude := 94, -+ deltaLongitude := 953 -+ }, -+ { -+ deltaLatitude := 87, -+ deltaLongitude := 930 -+ }, -+ { -+ deltaLatitude := 105, -+ deltaLongitude := 930 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z2_I1_POS1_GP_2 -+ -+ const IvimParm c_PICS_Z2_I1_POS1 := { -+ provider := { -+ countryCode := '0000000001'B, -+ providerIdentifier := 13 -+ }, -+ iviIdentificationNumber := 12, -+ iviContainers := { -+ { -+ glc := { -+ referencePosition := c_PICS_Z2_I1_POS1_RP, -+ referencePositionTime := omit, -+ referencePositionHeading := omit, -+ referencePositionSpeed := omit, -+ parts := { -+ c_PICS_Z2_I1_POS1_GP_1, -+ c_PICS_Z2_I1_POS1_GP_2 -+ } -+ } -+ }, -+ { -+ giv := { -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 4, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := omit, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 57 -+ -+ } -+ }, -+ attributes := { -+ { -+ spe := { -+ spm := 30, -+ mns := omit, -+ unit := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ extraText := omit -+ }, -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 15, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := { -+ { -+ tractor := omit, -+ trailer := omit, -+ train := { -+ equalTo := { -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n2 -+ } -+ }, -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n3 -+ } -+ } -+ }, -+ notEqualTo := omit, -+ ranges := { -+ { -+ comparisonOperator := 0, // greaterThan -+ limits := { -+ vehicleWeightLimits := { -+ vehicleMaxLadenWeight := 0, -+ vehicleTrainMaximumWeight := 750, -+ vehicleWeightUnladen := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 44 -+ -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } -+ }, -+ extraText := omit -+ } -+ } -+ } -+ } -+ } // End of c_PICS_Z2_I1_POS1 -+ -+ } // End of group ivimZone2 -+ -+ group ivimZone3 { -+ -+ const ReferencePosition c_PICS_Z3_I1_POS1_RP := { -+ latitude := 435533069, -+ longitude := 103024528, -+ positionConfidenceEllipse := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE , -+ altitude := c_PICS_IVIM_ALTITUDE -+ } // End of c_PICS_Z3_I1_POS1_RP -+ -+ const GlcPart c_PICS_Z3_I1_POS1_GP_1 := { -+ zoneId := 1, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -294, -+ deltaLongitude := -141 -+ }, -+ { -+ deltaLatitude := -51, -+ deltaLongitude := -902 -+ }, -+ { -+ deltaLatitude := -40, -+ deltaLongitude := -1008 -+ }, -+ { -+ deltaLatitude := -116, -+ deltaLongitude := -908 -+ }, -+ { -+ deltaLatitude := -236, -+ deltaLongitude := -769 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z3_I1_POS1_GP_1 -+ -+ const GlcPart c_PICS_Z3_I1_POS1_GP_2 := { -+ zoneId := 2, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -77, -+ deltaLongitude := 1495 -+ }, -+ { -+ deltaLatitude := 457, -+ deltaLongitude := 858 -+ }, -+ { -+ deltaLatitude := 711, -+ deltaLongitude := 1088 -+ }, -+ { -+ deltaLatitude := 844, -+ deltaLongitude := 1338 -+ }, -+ { -+ deltaLatitude := 591, -+ deltaLongitude := 821 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z3_I1_POS1_GP_2 -+ -+ const IvimParm c_PICS_Z3_I1_POS1 := { -+ provider := { -+ countryCode := '0000000001'B, -+ providerIdentifier := 13 -+ }, -+ iviIdentificationNumber := 12, -+ iviContainers := { -+ { -+ glc := { -+ referencePosition := c_PICS_Z3_I1_POS1_RP, -+ referencePositionTime := omit, -+ referencePositionHeading := omit, -+ referencePositionSpeed := omit, -+ parts := { -+ c_PICS_Z3_I1_POS1_GP_1, -+ c_PICS_Z3_I1_POS1_GP_2 -+ } -+ } -+ }, -+ { -+ giv := { -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 4, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := omit, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 57 -+ -+ } -+ }, -+ attributes := { -+ { -+ spe := { -+ spm := 30, -+ mns := omit, -+ unit := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ extraText := omit -+ }, -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 15, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := { -+ { -+ tractor := omit, -+ trailer := omit, -+ train := { -+ equalTo := { -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n2 -+ } -+ }, -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n3 -+ } -+ } -+ }, -+ notEqualTo := omit, -+ ranges := { -+ { -+ comparisonOperator := 0, // greaterThan -+ limits := { -+ vehicleWeightLimits := { -+ vehicleMaxLadenWeight := 0, -+ vehicleTrainMaximumWeight := 750, -+ vehicleWeightUnladen := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 44 -+ -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } -+ }, -+ extraText := omit -+ } -+ } -+ } -+ } -+ } // End of c_PICS_Z3_I1_POS1 -+ -+ } // End of group ivimZone3 -+ -+ group ivimZone4 { -+ -+ const ReferencePosition c_PICS_Z4_I1_POS1_RP := { -+ latitude := 435563484, -+ longitude := 103042973, -+ positionConfidenceEllipse := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE , -+ altitude := c_PICS_IVIM_ALTITUDE -+ } // End of c_PICS_Z4_I1_POS1_RP -+ -+ const GlcPart c_PICS_Z4_I1_POS1_GP_1 := { -+ zoneId := 1, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := 36, -+ deltaLongitude := -45 -+ }, -+ { -+ deltaLatitude := -662, -+ deltaLongitude := -1245 -+ }, -+ { -+ deltaLatitude := -846, -+ deltaLongitude := -1164 -+ }, -+ { -+ deltaLatitude := -1328, -+ deltaLongitude := -1569 -+ }, -+ { -+ deltaLatitude := -1142, -+ deltaLongitude := -1446 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z4_I1_POS1_GP_1 -+ -+ const GlcPart c_PICS_Z4_I1_POS1_GP_2 := { -+ zoneId := 2, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := 1019, -+ deltaLongitude := 3930 -+ }, -+ { -+ deltaLatitude := 189, -+ deltaLongitude := 774 -+ }, -+ { -+ deltaLatitude := 348, -+ deltaLongitude := 815 -+ }, -+ { -+ deltaLatitude := 366, -+ deltaLongitude := 934 -+ }, -+ { -+ deltaLatitude := 369, -+ deltaLongitude := 674 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z4_I1_POS1_GP_2 -+ -+ const IvimParm c_PICS_Z4_I1_POS1 := { -+ provider := { -+ countryCode := '0000000001'B, -+ providerIdentifier := 13 -+ }, -+ iviIdentificationNumber := 12, -+ iviContainers := { -+ { -+ glc := { -+ referencePosition := c_PICS_Z4_I1_POS1_RP, -+ referencePositionTime := omit, -+ referencePositionHeading := omit, -+ referencePositionSpeed := omit, -+ parts := { -+ c_PICS_Z4_I1_POS1_GP_1, -+ c_PICS_Z4_I1_POS1_GP_2 -+ } -+ } -+ }, -+ { -+ giv := { -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 4, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := omit, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 57 -+ -+ } -+ }, -+ attributes := { -+ { -+ spe := { -+ spm := 30, -+ mns := omit, -+ unit := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ extraText := omit -+ }, -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 15, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := { -+ { -+ tractor := omit, -+ trailer := omit, -+ train := { -+ equalTo := { -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n2 -+ } -+ }, -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n3 -+ } -+ } -+ }, -+ notEqualTo := omit, -+ ranges := { -+ { -+ comparisonOperator := 0, // greaterThan -+ limits := { -+ vehicleWeightLimits := { -+ vehicleMaxLadenWeight := 0, -+ vehicleTrainMaximumWeight := 750, -+ vehicleWeightUnladen := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 44 -+ -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } -+ }, -+ extraText := omit -+ } -+ } -+ } -+ } -+ } // End of c_PICS_Z4_I1_POS1 -+ -+ } // End of group ivimZone4 -+ -+ group ivimZone5 { -+ -+ const ReferencePosition c_PICS_Z5_I1_POS1_RP := { -+ latitude := 435582342, -+ longitude := 103065544, -+ positionConfidenceEllipse := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE , -+ altitude := c_PICS_IVIM_ALTITUDE -+ } // End of c_PICS_Z5_I1_POS1_RP -+ -+ const GlcPart c_PICS_Z5_I1_POS1_GP_1 := { -+ zoneId := 1, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -9, -+ deltaLongitude := 354 -+ }, -+ { -+ deltaLatitude := 565, -+ deltaLongitude := -118 -+ }, -+ { -+ deltaLatitude := 848, -+ deltaLongitude := -39 -+ }, -+ { -+ deltaLatitude := 570, -+ deltaLongitude := 10 -+ }, -+ { -+ deltaLatitude := 567, -+ deltaLongitude := -121 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z5_I1_POS1_GP_1 -+ -+ const GlcPart c_PICS_Z5_I1_POS1_GP_2 := { -+ zoneId := 2, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -866, -+ deltaLongitude := 340 -+ }, -+ { -+ deltaLatitude := -632, -+ deltaLongitude := -103 -+ }, -+ { -+ deltaLatitude := -756, -+ deltaLongitude := -132 -+ }, -+ { -+ deltaLatitude := -648, -+ deltaLongitude := -213 -+ }, -+ { -+ deltaLatitude := -471, -+ deltaLongitude := -115 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z5_I1_POS1_GP_2 -+ -+ const IvimParm c_PICS_Z5_I1_POS1 := { -+ provider := { -+ countryCode := '0000000001'B, -+ providerIdentifier := 13 -+ }, -+ iviIdentificationNumber := 12, -+ iviContainers := { -+ { -+ glc := { -+ referencePosition := c_PICS_Z5_I1_POS1_RP, -+ referencePositionTime := omit, -+ referencePositionHeading := omit, -+ referencePositionSpeed := omit, -+ parts := { -+ c_PICS_Z5_I1_POS1_GP_1, -+ c_PICS_Z5_I1_POS1_GP_2 -+ } -+ } -+ }, -+ { -+ giv := { -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 4, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := omit, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 57 -+ -+ } -+ }, -+ attributes := { -+ { -+ spe := { -+ spm := 30, -+ mns := omit, -+ unit := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ extraText := omit -+ }, -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 15, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := { -+ { -+ tractor := omit, -+ trailer := omit, -+ train := { -+ equalTo := { -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n2 -+ } -+ }, -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n3 -+ } -+ } -+ }, -+ notEqualTo := omit, -+ ranges := { -+ { -+ comparisonOperator := 0, // greaterThan -+ limits := { -+ vehicleWeightLimits := { -+ vehicleMaxLadenWeight := 0, -+ vehicleTrainMaximumWeight := 750, -+ vehicleWeightUnladen := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 44 -+ -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } -+ }, -+ extraText := omit -+ } -+ } -+ } -+ } -+ } // End of c_PICS_Z5_I1_POS1 -+ -+ } // End of group ivimZone5 -+ -+ group ivimZone6 { -+ -+ const ReferencePosition c_PICS_Z6_I1_POS1_RP := { -+ latitude := 435551186, -+ longitude := 103033248, -+ positionConfidenceEllipse := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE , -+ altitude := c_PICS_IVIM_ALTITUDE -+ } // End of c_PICS_Z6_I1_POS1_RP -+ -+ const GlcPart c_PICS_Z6_I1_POS1_GP_1 := { -+ zoneId := 1, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := 313, -+ deltaLongitude := 668 -+ }, -+ { -+ deltaLatitude := 548, -+ deltaLongitude := -879 -+ }, -+ { -+ deltaLatitude := 545, -+ deltaLongitude := -940 -+ }, -+ { -+ deltaLatitude := 529, -+ deltaLongitude := -824 -+ }, -+ { -+ deltaLatitude := 597, -+ deltaLongitude := -992 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z6_I1_POS1_GP_1 -+ -+ const GlcPart c_PICS_Z6_I1_POS1_GP_2 := { -+ zoneId := 2, -+ laneNumber := omit, -+ zoneExtension := omit, -+ zoneHeading := omit, -+ zone := { -+ segment := { -+ line := { -+ deltaPositions := { -+ { -+ deltaLatitude := -293, -+ deltaLongitude := 1457 -+ }, -+ { -+ deltaLatitude := -610, -+ deltaLongitude := 903 -+ }, -+ { -+ deltaLatitude := -716, -+ deltaLongitude := 1013 -+ }, -+ { -+ deltaLatitude := -587, -+ deltaLongitude := 945 -+ }, -+ { -+ deltaLatitude := -585, -+ deltaLongitude := 838 -+ } -+ } -+ }, -+ laneWidth := omit -+ } -+ } -+ } // End of c_PICS_Z6_I1_POS1_GP_2 -+ -+ const IvimParm c_PICS_Z6_I1_POS1 := { -+ provider := { -+ countryCode := '0000000001'B, -+ providerIdentifier := 13 -+ }, -+ iviIdentificationNumber := 12, -+ iviContainers := { -+ { -+ glc := { -+ referencePosition := c_PICS_Z6_I1_POS1_RP, -+ referencePositionTime := omit, -+ referencePositionHeading := omit, -+ referencePositionSpeed := omit, -+ parts := { -+ c_PICS_Z6_I1_POS1_GP_1, -+ c_PICS_Z6_I1_POS1_GP_2 -+ } -+ } -+ }, -+ { -+ giv := { -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 4, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := omit, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 57 -+ -+ } -+ }, -+ attributes := { -+ { -+ spe := { -+ spm := 30, -+ mns := omit, -+ unit := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ extraText := omit -+ }, -+ { -+ detectionZoneIds := { -+ 1 -+ }, -+ its_Rrid := omit, -+ relevanceZoneIds := { -+ 2 -+ }, -+ direction := 0, //Direction_sameDirection_, -+ driverAwarenessZoneIds := omit, -+ minimumAwarenessTime := 15, -+ applicableLanes := omit, -+ iviType := 1, //IviType_regulatoryMessages_, -+ iviPurpose := omit, -+ laneStatus := omit, -+ vehicleCharacteristics := { -+ { -+ tractor := omit, -+ trailer := omit, -+ train := { -+ equalTo := { -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n2 -+ } -+ }, -+ { -+ euVehicleCategoryCode := { -+ euVehicleCategoryN := n3 -+ } -+ } -+ }, -+ notEqualTo := omit, -+ ranges := { -+ { -+ comparisonOperator := 0, // greaterThan -+ limits := { -+ vehicleWeightLimits := { -+ vehicleMaxLadenWeight := 0, -+ vehicleTrainMaximumWeight := 750, -+ vehicleWeightUnladen := 0 -+ } -+ } -+ } -+ } -+ } -+ } -+ }, -+ driverCharacteristics := omit, -+ layoutId := omit, -+ preStoredlayoutId := omit, -+ roadSignCodes := { -+ { -+ layoutComponentId := omit, -+ code := { -+ iso14823 := { -+ pictogramCode := { -+ countryCode := omit, -+ serviceCategoryCode := { -+ trafficSignPictogram := regulatory -+ }, -+ pictogramCategoryCode := { -+ nature := 5, -+ serialNumber := 44 -+ -+ } -+ }, -+ attributes := omit -+ } -+ } -+ } -+ }, -+ extraText := omit -+ } -+ } -+ } -+ } -+ } // End of c_PICS_Z6_I1_POS1 -+ -+ } // End of group ivimZone6 -+ -+ } // End of group ivimEvents -+ -+ group poimEvents { -+ -+ group poimCommonParams { -+ -+ const ItsChargingSpotDataElements c_PICS_CHARGING_SPOT_DATA_01 := { -+ type_ := '0'B,//standardChargeMode1 -+ evEquipmentID := omit, -+ typeOfReceptacle := '000'B, -+ energyAvailability := "all", -+ parkingPlacesData := omit -+ } // End of c_PICS_CHARGING_SPOT_DATA_01 -+ -+ } // End of group poimCommonParams -+ -+ group poimZone1 { -+ -+ const ReferencePosition c_PICS_POI_LOCATION_01 := { -+ latitude := 435582150, -+ longitude := 103065170, -+ positionConfidenceEllipse := { -+ semiMajorConfidence := 100, -+ semiMinorConfidence := 100, -+ semiMajorOrientation := 0 -+ }, -+ altitude := { -+ altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -+ altitudeConfidence := alt_000_01 -+ } -+ } // End of c_PICS_POI_LOCATION_01 -+ -+ const ItsChargingStationData c_PICS_ITS_CHARGING := { -+ chargingStationID := 9876, -+ utilityDistributorId := omit, -+ providerID := omit, -+ chargingStationLocation := c_PICS_POI_LOCATION_01, -+ address_ := omit, -+ phoneNumber := omit, -+ accessibility := "open", -+ digitalMap := omit, -+ openingDaysHours := "full", -+ pricing := "2.00", -+ bookingContactInfo := omit, -+ payment := omit, -+ chargingSpotsAvailable := { c_PICS_CHARGING_SPOT_DATA_01 } -+ } // End of c_PICS_ITS_CHARGING -+ } // End of group poimZone1 -+ -+ } // End of group poimEvents -+ -+ group ssemEvents { -+ -+ group ssemCommonParams { -+ -+ const BtpPortId c_PICS_SSEM_BTP_DESTINATION_PORT := 2008; -+ -+ const BtpPortId c_PICS_SSEM_BTP_SOURCE_PORT := 0; -+ -+ } // End of group ssemCommonParams -+ -+ } // End of group ssemEvents -+ -+ group sremEvents { -+ -+ group sremCommonParams { -+ -+ const BtpPortId c_PICS_SREM_BTP_DESTINATION_PORT := 2007; -+ -+ const BtpPortId c_PICS_SREM_BTP_SOURCE_PORT := 0; -+ -+ } // End of group sremCommonParams -+ -+ } // End of group sremEvents -+ -+ group generationFrequencies { -+ -+ /** -+ * @desc Beacon frequency timer -+ */ -+ const float c_PICS_BEACON_FREQUENCY := 1.0; -+ -+ /** -+ * @desc CAM frequency timer -+ */ -+ const float c_PICS_CAM_FREQUENY := 1.0; -+ -+ /** -+ * @desc DENM frequency timer -+ */ -+ const float c_PICS_DENM_FREQUENY := int2float(c_PICS_DENM_REPETITION_INTERVAL) / 1000.0; -+ -+ /** -+ * @desc MAPEM frequency timer -+ */ -+ const float c_PICS_MAPEM_FREQUENY := 1.0; -+ -+ /** -+ * @desc SPATEMM frequency timer -+ */ -+ const float c_PICS_SPATEM_FREQUENY := 1.0; -+ -+ /** -+ * @desc IVIM frequency timer -+ */ -+ const float c_PICS_IVIM_FREQUENY := 1.0; -+ -+ } // End of group generationFrequencies -+ -+} // End of module ItsRSUsSimulator_Pics -\ No newline at end of file -Index: AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn (revision 2639) -+++ AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn (working copy) -@@ -17,7 +17,7 @@ - import from EVCSN_PDU_Descriptions language "ASN.1:1997" all; - import from SREM_PDU_Descriptions language "ASN.1:1997" all; - import from SSEM_PDU_Descriptions language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_Functions all; -@@ -238,14 +238,14 @@ - v_ivim := - m_ivimParm( - PICS_RSU_PARAMS[p_rsu_id].stationID, -- m_ivimStructure( -- m_iviManagementContainer( -+ valueof(m_ivimStructure( -+ valueof(m_iviManagementContainer( - PICS_IVIM_PARMS_RSUs[p_rsu_id].provider, - PICS_IVIM_PARMS_RSUs[p_rsu_id].iviIdentificationNumber, - 0//IviStatus_new_ -- ), -+ )), - PICS_IVIM_PARMS_RSUs[p_rsu_id].iviContainers -- )); -+ ))); - // Update ivi status - v_ivim.ivi.mandatory.validFrom := f_getCurrentTime(); - v_ivim.ivi.mandatory.validTo := valueof(v_ivim.ivi.mandatory.validFrom) + 43200000; // 12hours -@@ -266,7 +266,7 @@ - ), - m_itsEVCSNData( - -, -- { PICS_ITS_CHARGING } -+ { PICS_EVCSN_PARMS_RSUs[p_rsu_id] } - ) - )); - // Update poi status -@@ -295,7 +295,7 @@ - m_denmPdu_rsu( - PICS_RSU_PARAMS[p_rsu_id].stationID, - m_denm( -- v_denmParmContainers.managementContainer, -+ valueof(v_denmParmContainers.managementContainer), - v_denmParmContainers.situationContainer, - v_denmParmContainers.locationContainer - ))); -@@ -380,7 +380,7 @@ - } - // Build the messages value list for this RSU - vc_rsuMessagesValueList[p_rsu_id] := -- m_rsuProfile( -+ valueof(m_rsuProfile( - v_beacon, - v_cam, - v_denms, -@@ -389,7 +389,7 @@ - v_ivim, - v_evcsn, - v_ssem -- ); -+ )); - if (PICS_RSU_PARAMS[p_rsu_id].geoShape == e_geoCircle) { - vc_geoArea := { - shape := e_geoCircle, -@@ -449,7 +449,7 @@ - - p_payload := valueof( - f_adaptPayload( -- vc_rsuMessagesValueList[vc_rsu_id].beacon, -+ valueof(vc_rsuMessagesValueList[vc_rsu_id].beacon), - 0, - -, - e_any -@@ -631,7 +631,7 @@ - ) runs on ItsRSUsSimulator { - - vc_rsuMessagesValueList[vc_rsu_id].evcsn.evcsn.poiHeader.timeStamp := f_getCurrentTime(); // Check if it is ITS or UTC time -- log("vc_rsuMessagesValueList[vc_rsu_id].evcsn", valueof(vc_rsuMessagesValueList[vc_rsu_id].evcsn)); -+ log("vc_rsuMessagesValueList[vc_rsu_id].evcsn", vc_rsuMessagesValueList[vc_rsu_id].evcsn); - p_payload := valueof( - f_adaptPayload( - bit2oct( -Index: AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn (revision 2639) -+++ AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn (working copy) -@@ -14,9 +14,12 @@ - import from EVCSN_PDU_Descriptions language "ASN.1:1997" all; - import from SREM_PDU_Descriptions language "ASN.1:1997" all; - import from SSEM_PDU_Descriptions language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; - import from ElectronicRegistrationIdentificationVehicleDataModule language "ASN.1:1997" all; - -+ // LibItsCommon -+ import from LibItsCommon_ASN1_NamedNumbers all; -+ - // LibItsBtp - import from LibItsBtp_TypesAndValues all; - import from LibItsBtp_Templates all; -@@ -433,23 +436,23 @@ - - modulepar integer SIMULTANEOUS_VEHICLE_NUM := 10; - -+ modulepar LongPosVector PICS_UC6_VEHICLE_TEMPLATE_POSITION := { -+ gnAddr := { -+ typeOfAddress := e_manual, -+ stationType := e_passengerCar, -+ stationCountryCode := 33, -+ mid := '001C6B0D02FF'O -+ }, -+ timestamp_ := 0, -+ latitude := 0, -+ longitude := 0, -+ pai := '0'B, -+ speed := 30, -+ heading := 0 -+ } // End of PICS_UC6_VEHICLE_POSITION -+ - group camUseCase6VehicleTemplateDescription { - -- modulepar LongPosVector PICS_UC6_VEHICLE_TEMPLATE_POSITION := { -- gnAddr := { -- typeOfAddress := e_manual, -- stationType := e_passengerCar, -- stationCountryCode := 33, -- mid := '001C6B0D02FF'O -- }, -- timestamp_ := 0, -- latitude := 0, -- longitude := 0, -- pai := '0'B, -- speed := 30, -- heading := 0 -- } // End of PICS_UC6_VEHICLE_POSITION -- - modulepar GeoArea PICS_UC6_VEHICLE_TEMPLATE_GEOAREA := { - shape := e_geoElip, - area := { -@@ -585,7 +588,7 @@ - } // End of PICS_UC9_PCZ_1 - - modulepar ProtectedCommunicationZonesRSU PICS_UC9_PCZ := { -- PICS_UC9_PCZ_1 -+ c_PICS_USECASE9_PCZ_1 - } // End of PICS_UC9_PCZ - - } // End of group camUseCase9 -@@ -974,8 +977,7 @@ - deltaAltitude := 0 - }, - trafficFlowRule := passToLeft, -- referenceDenms := { -- } -+ referenceDenms := omit - } - - } // End of PICS_Z1_D3 -@@ -4221,8 +4223,8 @@ - } // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE - - modulepar Altitude PICS_IVIM_ALTITUDE := { -- altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -- altitudeConfidence := alt_000_01 -+ altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -+ altitudeConfidence := alt_000_01 - } // End of PICS_DENM_ALTITUDE - - } // End of group ivimCommonParams -@@ -5661,50 +5663,10 @@ - - modulepar UInt32 PICS_EVCSN_ITS_AID := 100; // FIXME Find the correct value - -- modulepar ItsChargingSpotDataElements PICS_CHARGING_SPOT_DATA_01 := { -- type_ := ChargingSpotType_standardOrFastChargeMode3_, -- evEquipmentID := omit, -- typeOfReceptacle := '000'B, -- energyAvailability := "all", -- parkingPlacesData := omit -- } // End of PICS_CHARGING_SPOT_DATA_01 -- - } // End of group poimCommonParams - -- group poimZone1 { -- -- modulepar ReferencePosition PICS_POI_LOCATION_01 := { -- latitude := 435582150, -- longitude := 103065170, -- positionConfidenceEllipse := { -- semiMajorConfidence := 100, -- semiMinorConfidence := 100, -- semiMajorOrientation := 0 -- }, -- altitude := { -- altitudeValue := AltitudeValue_referenceEllipsoidSurface_, -- altitudeConfidence := alt_000_01 -- } -- } // End of PICS_POI_LOCATION_01 -- -- modulepar ItsChargingStationData PICS_ITS_CHARGING := { -- chargingStationID := 9876, -- utilityDistributorId := omit, -- providerID := omit, -- chargingStationLocation := PICS_POI_LOCATION_01, -- address_ := omit, -- phoneNumber := omit, -- accessibility := "open", -- digitalMap := omit, -- openingDaysHours := "full", -- pricing := "2.00", -- bookingContactInfo := omit, -- payment := omit, -- chargingSpotsAvailable := { PICS_CHARGING_SPOT_DATA_01 } -- } -- } - modulepar PoimParmListRsu PICS_EVCSN_PARMS_RSUs := { -- PICS_ITS_CHARGING // RSU #1 -+ c_PICS_ITS_CHARGING // RSU #1 - } - - } // End of group poimEvents -@@ -5750,7 +5712,7 @@ - /** - * @desc DENM frequency timer - */ -- modulepar float PICS_DENM_FREQUENCY := int2float(PICS_DENM_REPETITION_INTERVAL) / 1000.0; -+ modulepar float PICS_DENM_FREQUENCY := int2float(c_PICS_DENM_REPETITION_INTERVAL) / 1000.0; - - /** - * @desc MAPEM frequency timer -Index: AtsRSUsSimulator/ItsRSUsSimulator_Templates.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUsSimulator_Templates.ttcn (revision 2639) -+++ AtsRSUsSimulator/ItsRSUsSimulator_Templates.ttcn (working copy) -@@ -2,6 +2,7 @@ - - // LibCommon - import from LibCommon_BasicTypesAndValues all; -+ import from LibCommon_DataStrings all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; -@@ -13,11 +14,11 @@ - import from IVI language "ASN.1:1997" all; - import from EVCSN_PDU_Descriptions language "ASN.1:1997" all; - import from SSEM_PDU_Descriptions language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_Functions all; -- import from LibCommon_DataStrings all; -+ import from LibItsCommon_ASN1_NamedNumbers all; - - // LibItsGeoNetworking - import from LibItsGeoNetworking_TestSystem all; -@@ -400,21 +401,21 @@ - } - - template (value) ItsPOIHeader m_itsPOIHeader( -- in template (value) POIType p_poiType := 1, -+ in template (value) POIType p_poiType := 1, - in template (value) TimestampIts p_timeStamp, -- in template (value) boolean p_relayCapable := true -+ in template (value) boolean p_relayCapable := true - ) := { -- poiType := p_poiType, -+ poiType := p_poiType, - timeStamp := p_timeStamp, -- relayCapable := p_relayCapable -+ relayCapable := p_relayCapable - } - - template (value) ItsEVCSNData m_itsEVCSNData( -- in template (value) NumberStations p_totalNumberOfStations := 1, -- in template (value) ItsChargingStationDatas p_itsChargingStationDatas -+ in template (value) NumberStations p_totalNumberOfStations := 1, -+ in template (value) ItsEVCSNData.chargingStationsData p_chargingStationsData - ) := { -- totalNumberOfStations := p_totalNumberOfStations, -- chargingStationsData := p_itsChargingStationDatas -+ totalNumberOfStations := p_totalNumberOfStations, -+ chargingStationsData := p_chargingStationsData - } - - } // End of group evcsnTemplates -Index: AtsRSUsSimulator/ItsRSUsSimulator_TestCases.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUsSimulator_TestCases.ttcn (revision 2639) -+++ AtsRSUsSimulator/ItsRSUsSimulator_TestCases.ttcn (working copy) -@@ -140,7 +140,7 @@ - [vc_spatem == true] tc_spatem.timeout { - log("*** " & testcasename() & ": DEBUG: Processing SPATEM ***"); - for (var integer v_counter := 0; v_counter < lengthof(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems); v_counter := v_counter + 1) { -- f_prepare_spatem(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems[v_counter], v_payload); -+ f_prepare_spatem(valueof(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems[v_counter]), v_payload); - f_send(v_payload, PICS_SPATEM_ITS_AID); - } - tc_spatem.start; -@@ -180,7 +180,7 @@ - */ - testcase TC_RSUSIMU_BV_02() runs on ItsRSUsSimulator system ItsRSUsSimulatorSystem { - // Local variables -- const RectangularRegions c_detectionArea := { PICS_UC6_CAM_DETECTION_AREA_Z2 }; // PICS_UC6_CAM_DETECTION_AREA_Z1 -+// const RectangularRegions c_detectionArea := { PICS_UC6_CAM_DETECTION_AREA_Z2 }; // PICS_UC6_CAM_DETECTION_AREA_Z1 - var VehiclesSimulator v_vehicles := {}; - var integer v_stationID; - var boolean v_isInDetectionZone; -@@ -191,7 +191,7 @@ - var CfEvent v_cfEvent; - - // Test control -- if (f_isLocationInsideRectangularRegion(c_detectionArea, PICS_UC6_COLLISION_POINT_Z2) == false) { //PICS_UC6_COLLISION_POINT_Z1 -+ if (f_isLocationInsideRectangularRegion({ PICS_UC6_CAM_DETECTION_AREA_Z2 }/*c_detectionArea*/, PICS_UC6_COLLISION_POINT_Z2) == false) { //PICS_UC6_COLLISION_POINT_Z1 - log("Collision location is outside of the area"); - stop; - } -@@ -339,7 +339,7 @@ - ) runs on ItsRSUsSimulator { - - // Local variables -- const RectangularRegions c_detectionArea := { PICS_UC6_CAM_DETECTION_AREA_Z2 }; // PICS_UC6_CAM_DETECTION_AREA_Z1 -+// const RectangularRegions c_detectionArea := { valueof(PICS_UC6_CAM_DETECTION_AREA_Z2) }; // PICS_UC6_CAM_DETECTION_AREA_Z1 - var GeoNetworkingInd v_gnInd; - var template (value) CAM v_camSimu; - var ThreeDLocation v_location; -Index: AtsRSUsSimulator/ItsRSUsSimulator_TestSystem.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUsSimulator_TestSystem.ttcn (revision 2639) -+++ AtsRSUsSimulator/ItsRSUsSimulator_TestSystem.ttcn (working copy) -@@ -2,7 +2,7 @@ - - // LibIts - import from ITS_Container language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; - - // LibItsGeoNetworking - import from LibItsGeoNetworking_TestSystem all; -@@ -53,7 +53,7 @@ - /** - * @desc List of MovementState per intersection and per RSU - */ -- var template (value) MovementListPerIntersectionRsu vc_states; -+ var template (omit) MovementListPerIntersectionRsu vc_states; - /** - * @desc The SPATEM message to use in SignalGroupParmList - */ -Index: AtsRSUsSimulator/ItsRSUsSimulator_TypesAndValues.ttcn -=================================================================== ---- AtsRSUsSimulator/ItsRSUsSimulator_TypesAndValues.ttcn (revision 2639) -+++ AtsRSUsSimulator/ItsRSUsSimulator_TypesAndValues.ttcn (working copy) -@@ -13,7 +13,8 @@ - import from IVI language "ASN.1:1997" all; - import from EVCSN_PDU_Descriptions language "ASN.1:1997" all; - import from SSEM_PDU_Descriptions language "ASN.1:1997" all; -- import from DSRC language "ASN.1:1997" all; -+ import from IS_DSRC language "ASN.1:1997" all; -+ import from IS_DSRC_REGION_noCircular language "ASN.1:1997" all; - import from EfcDsrcApplication language "ASN.1:1997" all; - - // LibItsGeoNetworking -@@ -180,8 +181,6 @@ - */ - group ivimDataStructures { - -- type record length (1 .. 8) of IviContainer IviContainers; -- - /** - * @desc Describe the parameter for each IVIM event - */ -@@ -188,7 +187,7 @@ - type record IvimParm { - Provider provider optional, - IviIdentificationNumber iviIdentificationNumber optional, -- IviContainers iviContainers optional -+ IviStructure.optional_ iviContainers optional - } // End of type IvimParm - - /** -@@ -206,8 +205,6 @@ - */ - group evcsnDataStructures { - -- type record length (1 .. 256) of ItsChargingStationData ItsChargingStationDatas; -- - /** - * @desc List of evcsn parms per RSU - *
diff --git a/patches/titanization_libcommon.patch b/patches/titanization_libcommon.patch
deleted file mode 100644
index 98500c42cc30c6d7f1e8d5f6a33adce6cd6d0601..0000000000000000000000000000000000000000
--- a/patches/titanization_libcommon.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: LibCommon_Sync.ttcn
-===================================================================
---- LibCommon_Sync.ttcn	(revision 63)
-+++ LibCommon_Sync.ttcn	(working copy)
-@@ -143,7 +143,11 @@
-          * @see   LibCommon_Sync.ServerSyncComp
-          * @see   LibCommon_Sync.ClientSyncComp
-          */
--        type port SyncPort message { inout SyncCmd }
-+        type port SyncPort message { 
-+          inout SyncCmd 
-+        } with {
-+          extension "internal"
-+        }
- 
- 
-         /**
diff --git a/patches/titanization_libits.patch b/patches/titanization_libits.patch
deleted file mode 100644
index 1d87fd6b8259a4a69f2ff68032018d2ce0a8d23d..0000000000000000000000000000000000000000
--- a/patches/titanization_libits.patch
+++ /dev/null
@@ -1,2549 +0,0 @@
-Index: BTP/LibItsBtp_Functions.ttcn
-===================================================================
---- BTP/LibItsBtp_Functions.ttcn	(revision 1312)
-+++ BTP/LibItsBtp_Functions.ttcn	(working copy)
-@@ -41,7 +41,9 @@
-             utPort.send(p_init);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtInitializeResult:true) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type
-+//                [] utPort.receive(UtInitializeResult:true) {
-+                [] utPort.receive(UtCommonResults:{utInitializeResult:=true}) {
-                     tc_wait.stop;
-                     log("*** f_utInitializeIut: INFO: IUT initialized ***");
-                 }
-@@ -94,7 +96,8 @@
-         /**
-          * @desc    Setups default configuration   
-          */
--        function f_cfUp() runs on ItsBtp system ItsBtpSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfUp() runs on ItsBtp /*system ItsBtpSystem*/ {
-             
-             map(self:utPort, system:utPort);
-             map(self:btpPort, system:btpPort);
-@@ -105,7 +108,8 @@
-         /**
-          * @desc    Deletes default configuration 
-          */
--        function f_cfDown() runs on ItsBtp system ItsBtpSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfDown() runs on ItsBtp {
-             
-             unmap(self:utPort, system:utPort);
-             unmap(self:btpPort, system:btpPort);
-@@ -237,4 +241,5 @@
-         }
-         
-     } // end getFunctions
--} // end LibItsBtp_Functions
-\ No newline at end of file
-+    
-+} // end LibItsBtp_Functions
-Index: BTP/LibItsBtp_TestSystem.ttcn
-===================================================================
---- BTP/LibItsBtp_TestSystem.ttcn	(revision 1312)
-+++ BTP/LibItsBtp_TestSystem.ttcn	(working copy)
-@@ -29,7 +29,9 @@
-             out 
-                 UtInitialize, UtBtpTrigger;
-             in 
--                UtInitializeResult, UtBtpTriggerResult, UtBtpEventInd;
-+//FIXME RGY!!! As discussed, list of booleans is changed by a top-level union type
-+//                UtInitializeResult, UtBtpTriggerResult, UtBtpEventInd;
-+                  UtCommonResults, UtBtpTriggerResult, UtBtpEventInd;
-         } // end UpperTesterPort
-         
-     } // end portDefinitions
-Index: BTP/LibItsBtp_TypesAndValues.ttcn
-===================================================================
---- BTP/LibItsBtp_TypesAndValues.ttcn	(revision 1312)
-+++ BTP/LibItsBtp_TypesAndValues.ttcn	(working copy)
-@@ -145,7 +145,12 @@
-                 GenerateBtpB btpB
-             }
-     
--            type boolean UtBtpTriggerResult;
-+//FIXME RGY As discussed, boolean results are replaced by a union of the results
-+//            type boolean UtBtpTriggerResult;
-+            type union UtBtpResults {
-+              boolean utBtpTriggerResult
-+            }
-+            type UtBtpResults.utBtpTriggerResult UtBtpTriggerResult;
-             
-             /**
-              * @desc Upper Tester message to request triggering of an BTPA message at IUT 
-Index: CAM/LibItsCam_Functions.ttcn
-===================================================================
---- CAM/LibItsCam_Functions.ttcn	(revision 1312)
-+++ CAM/LibItsCam_Functions.ttcn	(working copy)
-@@ -33,7 +33,8 @@
-     import from LibItsCam_TypesAndValues all;
-     import from LibItsCam_Pics all;
-     import from LibItsCam_Pixits all;
--    
-+    import from LibItsCam_EncdecDeclarations all;
-+
-     group utFuntions { 
-             
-         /**
-@@ -48,7 +49,9 @@
-             utPort.send(p_init);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtInitializeResult:true) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type
-+//                [] utPort.receive(UtInitializeResult:true) {
-+                [] utPort.receive(UtCommonResults:{utInitializeResult:=true}) {
-                     tc_wait.stop;
-                     log("*** f_utInitializeIut: INFO: IUT initialized ***");
-                 }
-@@ -80,7 +83,9 @@
-             utPort.send(p_event);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtCamTriggerResult:true) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtCamTriggerResult:true) {
-+                [] utPort.receive(UpperTesterCamResults:{utCamTriggerResult:=true}) {
-                     tc_wait.stop;
-                 }
-                 [] utPort.receive {
-@@ -106,7 +111,9 @@
-             
-             utPort.send(p_position);
-             alt {
--                [] utPort.receive(UtChangePositionResult:?) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtChangePositionResult:?) {
-+                [] utPort.receive(UtCommonResults:{utChangePositionResult:=?}) {
-                     tc_wait.stop;
-                 }
-                 [] utPort.receive {
-@@ -290,9 +297,10 @@
-          * @desc    Setups default configuration   
-          * @param   p_certificateId The certificate identifier the TA shall use in case of secured IUT
-          */
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-         function f_cfUp(
-                         in charstring p_certificateId := PX_CERT_FOR_TS
--        ) runs on ItsCam system ItsCamSystem {
-+        ) runs on ItsCam /*system ItsCamSystem*/ {
-             
-             map(self:utPort, system:utPort);
-             map(self:acPort, system:acPort);
-@@ -307,7 +315,8 @@
-         /**
-          * @desc    Deletes default configuration 
-          */
--        function f_cfDown() runs on ItsCam system ItsCamSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfDown() runs on ItsCam {
-             
-             // Initialise secured mode
-             f_uninitialiseSecuredMode();
-@@ -496,4 +505,4 @@
-         }
-     } // end of group camGenerators  
- 
--} // end LibItsCam_Functions
-\ No newline at end of file
-+} // end LibItsCam_Functions
-Index: CAM/LibItsCam_Templates.ttcn
-===================================================================
---- CAM/LibItsCam_Templates.ttcn	(revision 1312)
-+++ CAM/LibItsCam_Templates.ttcn	(working copy)
-@@ -23,6 +23,7 @@
-     // LibItsCommon
-     import from LibItsCommon_Functions all;
-     import from LibItsCommon_TypesAndValues all;
-+    import from LibItsCommon_ASN1_NamedNumbers all;
-     
-     // LibItsCam
-     import from LibItsCam_TestSystem all;
-Index: CAM/LibItsCam_TestSystem.ttcn
-===================================================================
---- CAM/LibItsCam_TestSystem.ttcn	(revision 1312)
-+++ CAM/LibItsCam_TestSystem.ttcn	(working copy)
-@@ -37,7 +37,9 @@
-             out
-                 AcGnssPrimitive, AcSecPrimitive;
-             in
--                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+//FIXME RGY As discussed, list of boolean result responses is collected into a top-level union
-+//                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+                AdapterControlResults;
-         } // end AdapterControlPort
-         
-         /**
-@@ -47,7 +49,9 @@
-             out 
-                 UtInitialize, UtCamTrigger, UtChangePosition, UtActivatePositionTime, UtDeactivatePositionTime;
-             in 
--                UtInitializeResult, UtCamTriggerResult, UtChangePositionResult, UtActivatePositionTimeResult, UtDeactivatePositionTimeResult, UtCamEventInd;
-+//FIXME RGY As discussed, list of boolean result responses is collected into a top-level union
-+//                UtInitializeResult, UtCamTriggerResult, UtChangePositionResult, UtActivatePositionTimeResult, UtDeactivatePositionTimeResult, UtCamEventInd;
-+                UtCommonResults, UpperTesterCamResults, UtCamEventInd;
-         } // end UpperTesterPort
-         
-     } // end portDefinitions
-@@ -157,4 +161,4 @@
-         encode "LibIts_Interface"
-     } // end interfacePrimitives    
-      
--} // End of module LibIts_TestSystem
-+} // End of module LibItsCam_TestSystem
-Index: CAM/LibItsCam_TypesAndValues.ttcn
-===================================================================
---- CAM/LibItsCam_TypesAndValues.ttcn	(revision 1312)
-+++ CAM/LibItsCam_TypesAndValues.ttcn	(working copy)
-@@ -104,7 +104,13 @@
-         /**
-          * @desc Upper Tester result message of request of triggering of an event at IUT 
-          */        
--        type boolean UtCamTriggerResult;
-+//FIXME RGY As discussed, simple boolean responses are collected to a union for forward compatibility
-+//        type boolean UtCamTriggerResult;
-+          type union UpperTesterCamResults {
-+            boolean utCamTriggerResult
-+          }
-+          
-+          type UpperTesterCamResults.utCamTriggerResult UtCamTriggerResult;
-         
-         /**
-          * @desc Upper Tester message to check event/status on CAM IUT 
-Index: Common/LibItsCommon_Functions.ttcn
-===================================================================
---- Common/LibItsCommon_Functions.ttcn	(revision 1312)
-+++ Common/LibItsCommon_Functions.ttcn	(working copy)
-@@ -20,7 +20,7 @@
-     // LibIts
-     import from LibItsCommon_Pixits all;
-     import from ITS_Container language "ASN.1:1997" all;
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-     
-     group generalFunctions {
-         
-Index: Common/LibItsCommon_Templates.ttcn
-===================================================================
---- Common/LibItsCommon_Templates.ttcn	(revision 1312)
-+++ Common/LibItsCommon_Templates.ttcn	(working copy)
-@@ -18,7 +18,9 @@
-     
-     group taPrimitives {
-         
--        template (value) AcSecResponse m_acSecResponseSuccess := true;
-+//FIXME RGY the simple boolean result has been changed to a union
-+//        template (value) AcSecResponse m_acSecResponseSuccess := true;
-+        template (value) AdapterControlResults m_acSecResponseSuccess := {acSecResponse:=true};
-         
-         /**
-          * @desc Enable security support
-@@ -42,9 +44,13 @@
-             }
-         } // End of template m_acDisableSecurity
-         
--        template AcGnssResponse m_acGnssResponseSuccess := true;
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//        template AcGnssResponse m_acGnssResponseSuccess := true;
-+        template AdapterControlResults m_acGnssResponseSuccess := {acGnssResponse:=true};
-         
--        template AcGnssDistanceCovered m_acGnssDistanceCovered := true;
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//        template AcGnssDistanceCovered m_acGnssDistanceCovered := true;
-+        template AdapterControlResults m_acGnssDistanceCovered := {acGnssDistanceCovered:=true};
-         
-         /**
-          * @desc Testsystem will load GNSS scenario
-Index: Common/LibItsCommon_TypesAndValues.ttcn
-===================================================================
---- Common/LibItsCommon_TypesAndValues.ttcn	(revision 1312)
-+++ Common/LibItsCommon_TypesAndValues.ttcn	(working copy)
-@@ -30,7 +30,19 @@
-         /**
-          * @desc Upper Tester result message of the initialization request 
-          */
--        type boolean UtInitializeResult;
-+//FIXME RGY As discussed, Commom top level type for UT results
-+        type union UtCommonResults {
-+          boolean utInitializeResult,
-+          boolean utChangePositionResult,
-+          boolean utChangePseudonymResult,
-+          boolean utActivatePositionTimeResult,
-+          boolean utDeactivatePositionTimeResult,
-+          boolean utIvimTerminationResult
-+        } 
-+
-+//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes   
-+//        type boolean UtInitializeResult;
-+        type UtCommonResults.utInitializeResult UtInitializeResult;
-         
-         /**
-          * @desc Upper Tester message to change the position of IUT. Values a relatives 
-@@ -44,7 +56,9 @@
-         /**
-          * @desc Upper Tester result message of change position request of IUT 
-          */
--        type boolean UtChangePositionResult;
-+//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes   
-+//        type boolean UtChangePositionResult;
-+        type UtCommonResults.utChangePositionResult UtChangePositionResult;
-         
-         /**
-          * @desc Upper Tester message to change the pseudonym of the DENM IUT 
-@@ -56,7 +70,9 @@
-         /**
-          * @desc Upper Tester result message of the change pseudonym request 
-          */
--        type boolean UtChangePseudonymResult;
-+//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes   
-+//        type boolean UtChangePseudonymResult;
-+        type UtCommonResults.utChangePseudonymResult UtChangePseudonymResult;
-         
-         /**
-          * @desc Upper Tester message to activate position and/or time
-@@ -68,7 +84,9 @@
-         /**
-          * @desc Upper Tester result message of the activate position and/or time request 
-          */
--        type boolean UtActivatePositionTimeResult;
-+//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes   
-+//        type boolean UtActivatePositionTimeResult;
-+        type UtCommonResults.utActivatePositionTimeResult UtActivatePositionTimeResult;
-         
-         /**
-          * @desc Upper Tester message to deactivate position and/or time
-@@ -80,7 +98,9 @@
-         /**
-          * @desc Upper Tester result message of the deactivate position and/or time request 
-          */
--        type boolean UtDeactivatePositionTimeResult;
-+//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes   
-+//        type boolean UtDeactivatePositionTimeResult;
-+        type UtCommonResults.utDeactivatePositionTimeResult UtDeactivatePositionTimeResult;
-         
-     }
-     with {
-@@ -118,7 +138,9 @@
-         /**
-          * @desc    Primitive for receiving response from TA
-          */
--        type boolean AcSecResponse;
-+//FIXME RGY As discussed, type is changed to a type derived from AdapterControlResults   
-+//        type boolean AcSecResponse;
-+        type AdapterControlResults.acSecResponse AcSecResponse;
-         
-         /**
-          * @desc    TA primitives for GNSS
-@@ -139,12 +161,23 @@
-         /**
-          * @desc    Primitive for receiving response from TA
-          */
--        type boolean AcGnssResponse;
-+//FIXME RGY As discussed, Commom adapter control results are collected to a top-level union type
-+        type union AdapterControlResults {
-+          boolean acGnssResponse,
-+          boolean acGnssDistanceCovered,
-+          boolean acSecResponse
-+        }
-         
-+//FIXME RGY As discussed, boolean results are replaced by related fields of the top-level reult union
-+//        type boolean AcGnssResponse;
-+        type AdapterControlResults.acGnssResponse AcGnssResponse;
-+        
-         /**
-          * @desc    Primitive for receiving an indication if requested distance was covered from TA
-          */
--        type boolean AcGnssDistanceCovered;
-+//FIXME RGY As discussed, boolean results are replaced by related fields of the top-level reult union
-+//        type boolean AcGnssDistanceCovered;
-+        type AdapterControlResults.acGnssDistanceCovered AcGnssDistanceCovered;
-         
-         /**
-          * @desc    Primitive for loading a scenario
-Index: DCC/LibItsDcc_Functions.ttcn
-===================================================================
---- DCC/LibItsDcc_Functions.ttcn	(revision 1312)
-+++ DCC/LibItsDcc_Functions.ttcn	(working copy)
-@@ -933,12 +933,13 @@
- 
-     group externalFunction {
-         
--        /**
--         * @desc Returns the string representation of the float value
--         * @param p_float The float value
--         * @return The string representation of the float value
-+        /**
-+         * @desc Returns the string representation of the float value
-+         * @param p_float The float value
-+         * @return The string representation of the float value
-          */
--        external function fx_float2str(float p_float) return charstring;
--        
-+        function fx_float2str(float p_float) return charstring {
-+          return float2str(p_float)
-+        }
-     }
- } // End of module LibItsDcc_Functions
-\ No newline at end of file
-Index: DCC/LibItsDcc_TestSystem.ttcn
-===================================================================
---- DCC/LibItsDcc_TestSystem.ttcn	(revision 1312)
-+++ DCC/LibItsDcc_TestSystem.ttcn	(working copy)
-@@ -49,7 +49,9 @@
-          * @desc Check Port used for intercomponent exchange of data to check
-          */
-         type port CheckPort message {
--            inout all;
-+//FIXME RGY "all" is not supported by Titan in port message lists; only integers are sent and received via checkPort-s;
-+//            inout all;
-+            inout integer;
-         }
-         
-     } // end portDefinitions
-Index: DENM/LibItsDenm_Functions.ttcn
-===================================================================
---- DENM/LibItsDenm_Functions.ttcn	(revision 1312)
-+++ DENM/LibItsDenm_Functions.ttcn	(working copy)
-@@ -47,7 +47,9 @@
-             utPort.send(p_init);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtInitializeResult:true) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtInitializeResult:true) {
-+                [] utPort.receive(UtCommonResults:{utInitializeResult:=true}) {
-                     tc_wait.stop;
-                     log("*** " & testcasename() & ": INFO: IUT initialized ***");
-                 }
-@@ -77,11 +79,15 @@
-             utPort.send(p_change);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtChangePseudonymResult:true) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtChangePseudonymResult:true) {
-+                [] utPort.receive(UtCommonResults:{utChangePseudonymResult:=true}) {
-                     tc_wait.stop;
-                     log("*** " & testcasename() & ": INFO: IUT pseudonym changed ***");
-                 }
--                [] utPort.receive(UtChangePseudonymResult:false) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtChangePseudonymResult:false) {
-+                [] utPort.receive(UtCommonResults:{utChangePseudonymResult:=false}) {
-                     tc_wait.stop;
-                     log("*** " & testcasename() & ": INFO: IUT pseudonym changed ***");
-                     f_selfOrClientSyncAndVerdict("error", e_error);
-@@ -181,7 +187,9 @@
-             utPort.send(p_event);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtDenmTerminationResult:?) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtDenmTerminationResult:?) {
-+                [] utPort.receive(UtDENMResults:{utDenmTerminationResult:=?}) {
-                     tc_wait.stop;
-                 }
-                 [] tc_wait.timeout {
-@@ -212,7 +220,9 @@
-             utPort.send(p_position);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtChangePositionResult:?) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtChangePositionResult:?) {
-+                [] utPort.receive(UtCommonResults:{utChangePositionResult:=?}) {
-                     tc_wait.stop;
-                 }
-                 [] tc_wait.timeout {
-@@ -386,7 +396,8 @@
-          */
-         function f_cfUp(
-                         in charstring p_certificateId := PX_CERT_FOR_TS
--        ) runs on ItsDenm system ItsDenmSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        ) runs on ItsDenm /*system ItsDenmSystem*/ {
-             
-             map(self:acPort, system:acPort);
-             map(self:utPort, system:utPort);
-@@ -401,7 +412,8 @@
-         /**
-          * @desc    Deletes default configuration 
-          */
--        function f_cfDown() runs on ItsDenm system ItsDenmSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfDown() runs on ItsDenm /*system ItsDenmSystem*/ {
-             
-             // Initialise secured mode
-             f_uninitialiseSecuredMode();
-@@ -550,7 +562,9 @@
-                 )
-             );
-                         
--            return valueof(p_denm.management).actionID;
-+//FIXME RGY Titan doesn't support dot notation after valueof at the moment
-+//            return valueof(p_denm.management).actionID;
-+            return valueof(p_denm.management.actionID);
-         }
-         
-     } // end sendFunctions
-Index: DENM/LibItsDenm_Templates.ttcn
-===================================================================
---- DENM/LibItsDenm_Templates.ttcn	(revision 1312)
-+++ DENM/LibItsDenm_Templates.ttcn	(working copy)
-@@ -23,6 +23,7 @@
-     import from LibItsCommon_TypesAndValues all;
-     import from LibItsCommon_Functions all;
-     import from LibItsCommon_Pixits all;
-+    import from LibItsCommon_ASN1_NamedNumbers all;
-     
-     // LibItsDenm
-     import from LibItsDenm_TestSystem all;
-@@ -83,7 +84,9 @@
-          * @param   p_gnLifetime        GN packet lifetime value (ms)
-          * @param   p_gnTrafficClass    GN traffic class value
-          */
--        template DenmInd mw_denmIndWithGnParameters (
-+//FIXME RGY template restriction can be the same as its base template: used in receiving operations only, where single "omit" is not allowed
-+//        template DenmInd mw_denmIndWithGnParameters (
-+        template(present) DenmInd mw_denmIndWithGnParameters (
-             template (present) DENM p_denMsg,
-             in template UInt8 p_gnNextHeader := *,
-             in template UInt8 p_gnHeaderType := *,
-@@ -104,7 +107,8 @@
-          * @param   p_ssp       SSP security parameter
-          * @param   p_its_aid   ITS-AID value
-          */
--        template DenmInd mw_denmIndWithSecurityParameters(
-+//FIXME RGY Titan currently requires the modifyied template to have the same restriction as the base template
-+        template (present) DenmInd mw_denmIndWithSecurityParameters(
-                                                           template (present) DENM p_denMsg,
-                                                           template Bit256 p_ssp := *,
-                                                           template UInt32 p_its_aid := c_its_aid_DENM
-@@ -119,7 +123,9 @@
-          * @param   p_btpDestinationPort    BTP destination port value
-          * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
-          */
--        template DenmInd mw_denmIndWithBtpParameters (
-+//FIXME RGY template restriction can be the same as its base template: template is not used currently
-+//        template DenmInd mw_denmIndWithBtpParameters (
-+        template(present) DenmInd mw_denmIndWithBtpParameters (
-             template (present) DENM p_denMsg,
-             in template UInt16 p_btpDestinationPort := *,
-             in template UInt16 p_btpInfo := *
-@@ -350,8 +356,10 @@
-             template (value) Longitude p_longitude := f_getTsLongitude(),
-             template (value) Latitude p_latitude := f_getTsLatitude()
-         ) := {
-+//FIXME RGY ReferencePosition is sequence, where latitude preceeds longitude
-+//            longitude := p_longitude,
-+            latitude := p_latitude,
-             longitude := p_longitude,
--            latitude := p_latitude,
-             positionConfidenceEllipse := m_posConfidenceEllipse,
-             altitude := m_altitude
-         }
-@@ -577,7 +585,7 @@
-             eventPosition := ?,
-             relevanceDistance := *,
-             relevanceTrafficDirection := *,
--            validityDuration := *, // It seems that a default value can be omitted (asn1studio)
-+            validityDuration := ?, // It seems that a default value can be omitted (asn1studio)
-             transmissionInterval := *,
-             stationType    := ?
-         }
-@@ -704,7 +712,7 @@
-                             deltaLongitude := 0,
-                             deltaAltitude := 0
-                         },
--                        pathDeltaTime := 0
-+                        pathDeltaTime := 1
-                     }
-                 }
-             },
-Index: DENM/LibItsDenm_TestSystem.ttcn
-===================================================================
---- DENM/LibItsDenm_TestSystem.ttcn	(revision 1312)
-+++ DENM/LibItsDenm_TestSystem.ttcn	(working copy)
-@@ -37,7 +37,9 @@
-             out
-                 AcGnssPrimitive, AcSecPrimitive;
-             in
--                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+//FIXME RGY!!! As discussed, list of booleans is changed by a top-level union type
-+//                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+                AdapterControlResults
-         } // end AdapterControlPort
-         
-         /**
-@@ -47,8 +49,11 @@
-             out 
-                 UtInitialize, UtDenmTrigger, UtDenmUpdate, UtDenmTermination, UtChangePosition, UtChangePseudonym;
-             in 
--                UtInitializeResult, UtDenmTriggerResult, UtDenmUpdateResult, UtDenmTerminationResult,
--                UtChangePositionResult, UtChangePseudonymResult, UtDenmEventInd;
-+//FIXME RGY! As discussed, list of booleans is changed by a top-level union type
-+//                UtInitializeResult, UtDenmTriggerResult, UtDenmUpdateResult, UtDenmTerminationResult,
-+//                UtChangePositionResult, UtChangePseudonymResult, UtDenmEventInd;
-+                UtCommonResults, UtDENMResults, UtDenmTriggerResult,
-+                UtDenmUpdateResult, UtDenmEventInd;
-         } // end UpperTesterPort
-         
-     } // end portDefinitions
-Index: DENM/LibItsDenm_TypesAndValues.ttcn
-===================================================================
---- DENM/LibItsDenm_TypesAndValues.ttcn	(revision 1312)
-+++ DENM/LibItsDenm_TypesAndValues.ttcn	(working copy)
-@@ -117,12 +117,21 @@
-             ActionID actionId
-         }
-         
-+//FIXME RGY As discussed, boolean result types are replaced by a top-level union of the results
-         /**
--         * @desc Upper Tester result message of termination of an event on DENM IUT 
-+         * @desc Upper Tester response message for all DENM results 
-          */
--        type boolean UtDenmTerminationResult;
-+          type union UtDENMResults {
-+              boolean utDenmTerminationResult
-+            }
-         
-         /**
-+         * @desc Upper Tester result message of termination of an event on DENM IUT 
-+         */
-+//FIXME RGY As discussed, boolean result types are replaced by a top-level union type
-+//        type boolean UtDenmTerminationResult;
-+        type UtDENMResults.utDenmTerminationResult UtDenmTerminationResult;
-+        /**
-          * @desc Upper Tester message to check event/status on DENM IUT 
-          */
-         type record UtDenmEventInd {
-Index: GeoNetworking/LibItsGeoNetworking_Functions.ttcn
-===================================================================
---- GeoNetworking/LibItsGeoNetworking_Functions.ttcn	(revision 1312)
-+++ GeoNetworking/LibItsGeoNetworking_Functions.ttcn	(working copy)
-@@ -1,5 +1,5 @@
- /**
-- *  @author     ETSI / STF405 / STF449 / STF484 / STF517
-+ *  @author     ETSI / STF405 / STF449
-  *  @version    $URL$
-  *              $Id$
-  *  @desc       Module containing functions for GeoNetworking
-@@ -38,6 +38,7 @@
-     import from LibItsGeoNetworking_Templates all;
-     import from LibItsGeoNetworking_Pixits all;
-     import from LibItsGeoNetworking_Pics all;
-+    import from LibItsGeoNetworking_EncdecDeclarations all;
-     
-     group utFuntions {
-         
-@@ -154,7 +155,8 @@
-          *       - Area2 which only includes NodeB
-          *         NodeB being close to the area center
-          */
--        function f_cf01Up(Scenario p_scenario := e_staticPosition) runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf01Up(Scenario p_scenario := e_staticPosition) runs on ItsGeoNetworking {
-             
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -182,7 +184,8 @@
-             
-         } // end f_cf01Up
-         
--        function f_cf01Down() runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf01Down() runs on ItsGeoNetworking {
-             
-             f_uninitialiseSecuredMode();
-             
-@@ -207,7 +210,9 @@
-          *
-          * @param p_mainUtComponent Name of the component that will initialize IUT and handle default UT messages
-          */
--        function f_cf02Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf02Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /*mtc ItsMtc */ {
-             
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -255,14 +260,10 @@
-             
-             // Initialize components
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
--                }
-+                vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
-             }
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.done;
--                }
-+                vc_componentTable[i].gnComponent.done;
-             }
-             
-         } // end f_cf02Up
-@@ -270,7 +271,9 @@
-         /**
-          * @desc Deletes configuration cf02
-          */
--        function f_cf02Down() runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf02Down() runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Local variables
-             var integer i;
-@@ -301,7 +304,8 @@
-          *         NodeB being close to the area center
-          * @param p_mainUtComponent Name of the component that will initialize IUT and handle default UT messages
-          */
--        function f_cf03Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf03Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -349,14 +353,10 @@
-             
-             // Initialize components
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
--                }
-+                vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
-             }
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.done;
--                }
-+                vc_componentTable[i].gnComponent.done;
-             }
-             
-         } // end f_cf03Up
-@@ -364,7 +364,9 @@
-         /**
-          * @desc Deletes configuration cf03
-          */
--        function f_cf03Down() runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+ //FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf03Down() runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Local variables
-             var integer i;
-@@ -397,7 +399,9 @@
-          *         NodeB being close to the area center
-          * @param p_mainUtComponent Name of the component that will initialize IUT and handle default UT messages
-          */
--        function f_cf04Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf04Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -445,14 +449,10 @@
-             
-             // Initialize components
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
--                }
-+                vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
-             }
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.done;
--                }
-+                vc_componentTable[i].gnComponent.done;
-             }
-             
-         } // end f_cf04Up
-@@ -460,7 +460,9 @@
-         /**
-          * @desc Deletes configuration cf04
-          */
--        function f_cf04Down() runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf04Down() runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Local variables
-             var integer i;
-@@ -489,7 +491,9 @@
-          *       - Area1 which only includes NodeB, NodeD and IUT
-          * @param p_mainUtComponent Name of the component that will initialize IUT and handle default UT messages
-          */
--        function f_cf05Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf05Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -537,14 +541,10 @@
-             
-             // Initialize components
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
--                }
-+                vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
-             }
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.done;
--                }
-+                vc_componentTable[i].gnComponent.done;
-             }
-         }
-         
-@@ -551,7 +551,9 @@
-         /**
-          * @desc Deletes configuration cf05
-          */
--        function f_cf05Down() runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf05Down() runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Local variables
-             var integer i;
-@@ -581,7 +583,8 @@
-          *       - IUT not in sectorial area of NodeB-NodeF
-          * @param p_mainUtComponent Name of the component that will initialize IUT and handle default UT messages
-          */
--        function f_cf06Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf06Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /*mtc ItsMtc*/ {
-                     
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -629,14 +632,10 @@
-             
-             // Initialize components
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
--                }
-+                vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
-             }
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.done;
--                }
-+                vc_componentTable[i].gnComponent.done;
-             }
-         }
-         
-@@ -643,7 +642,9 @@
-         /**
-          * @desc Deletes configuration cf06
-          */
--        function f_cf06Down() runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf06Down() runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Local variables
-             var integer i;
-@@ -672,7 +673,9 @@
-          *       - Area1 which only includes NodeB, NodeD and IUT
-          * @param p_mainUtComponent Name of the component that will initialize IUT and handle default UT messages
-          */
--        function f_cf07Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf07Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /*mtc ItsMtc*/ {
-                     
-             // Variables
-             var PositionTable v_positionTable := {};
-@@ -720,14 +723,10 @@
-             
-             // Initialize components
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
--                }
-+                vc_componentTable[i].gnComponent.start(f_initialiseComponent(v_positionTable, v_areaTable, vc_componentTable[i].componentName));
-             }
-             for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
--                if (isvalue(vc_componentTable[i].gnComponent)) {
--                    vc_componentTable[i].gnComponent.done;
--                }
-+                vc_componentTable[i].gnComponent.done;
-             }
-         }
-         
-@@ -734,7 +733,8 @@
-         /**
-          * @desc Deletes configuration cf06
-          */
--        function f_cf07Down() runs on ItsMtc mtc ItsMtc system ItsGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf07Down() runs on ItsMtc /*mtc ItsMtc*/ {
-             
-             // Local variables
-             var integer i;
-@@ -832,12 +832,7 @@
-             
-             for (i:=0; i value (v_geoNw) {
-+//FIXME RGY Titan doesn't support storing list at the moment
-+//                                        ))) -> value (v_geoNw) {
-+                                        ))) -> value v_geoNw {
-                     p_received := f_getSecuredMessage(v_geoNw.msgIn);
-             }
-         }
-@@ -2778,8 +2780,7 @@
-                         f_HashedId3FromHashedId8(
-                             valueof(p_digest)
-                     )) 
--                },
--                ""
-+                } 
-             );
-                 
-             // Build secured Gn packet
-Index: GeoNetworking/LibItsGeoNetworking_Templates.ttcn
-===================================================================
---- GeoNetworking/LibItsGeoNetworking_Templates.ttcn	(revision 1312)
-+++ GeoNetworking/LibItsGeoNetworking_Templates.ttcn	(working copy)
-@@ -21,6 +21,7 @@
-     
-     // LibItsBtp
-     import from LibItsBtp_Templates all;
-+    import from LibItsBtp_EncdecDeclarations all;
-     
-     // LibItsSecurity
-     import from LibItsSecurity_TypesAndValues all;
-@@ -34,6 +35,7 @@
-     import from LibItsGeoNetworking_TestSystem all;
-     import from LibItsGeoNetworking_TypesAndValues all;
-     import from LibItsGeoNetworking_Pixits all;
-+    import from LibItsGeoNetworking_EncdecDeclarations all;
-     
-     group geoNwPrimitivesTemplates {
-         
-@@ -107,7 +109,7 @@
-                 geoUnicast := {
-                     gnAddress := p_destinationGnAddr,
-                     lifetime := c_lifetime,
--                    trafficClass := m_trafficClass,
-+                    trafficClass := valueof(m_trafficClass),
-                     payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
-                 }
-             }
-@@ -184,7 +186,7 @@
-                 geoBroadcast := {
-                     shape := p_geoArea.shape,
-                     lifetime := c_lifetime,
--                    trafficClass := m_trafficClass,
-+                    trafficClass := valueof(m_trafficClass),
-                     reserved := c_uInt24Zero,
-                     area := p_geoArea.area,
-                     payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
-@@ -244,7 +246,7 @@
-                 geoAnycast := {
-                     shape := p_geoArea.shape,
-                     lifetime := c_lifetime,
--                    trafficClass := m_trafficClass,
-+                    trafficClass := valueof(m_trafficClass),
-                     reserved := c_uInt24Zero,
-                     area := p_geoArea.area,
-                     payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
-@@ -286,7 +288,7 @@
-              */
-             template (value) UtGnTrigger m_generateShbMessage := {
-                 shb := {
--                    trafficClass := m_trafficClass,
-+                    trafficClass := valueof(m_trafficClass),
-                     payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
-                 }
-             }
-@@ -324,7 +326,7 @@
-                 tsb := {
-                     nbHops := 10,
-                     lifetime := c_lifetime,
--                    trafficClass := m_trafficClass,
-+                    trafficClass := valueof(m_trafficClass),
-                     payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
-                 }
-             }
-@@ -374,7 +376,7 @@
-                 template (value) BeaconHeader p_beaconHeader
-             ) := {
-                 startBeaconing := {
--                    beaconPacket := m_geoNwPdu(m_geoNwBeaconPacket(p_beaconHeader.srcPosVector), -, c_hopLimit1)
-+                    beaconPacket := m_geoNwPdu(valueof(m_geoNwBeaconPacket(valueof(p_beaconHeader.srcPosVector))), -, c_hopLimit1)
-                 }
-             }
-             
-@@ -417,7 +419,7 @@
-                 integer p_numberOfNeighbour
-             ) := {
-                 startBeaconingMultipleNeighbour := {
--                    beaconPacket := m_geoNwPdu(m_geoNwBeaconPacket(p_beaconHeader.srcPosVector), -, c_hopLimit1),
-+                    beaconPacket := m_geoNwPdu(valueof(m_geoNwBeaconPacket(valueof(p_beaconHeader.srcPosVector))), -, c_hopLimit1),
-                     numberOfNeighbour := p_numberOfNeighbour
-                 }
-             }
-@@ -537,11 +539,11 @@
-             in template (value) CommonHeader p_commonHeader,
-             in template (value) ExtendedHeader p_extHeader
-         ) := {
--            packet := {
-+            packet := valueof({
-                 commonHeader := p_commonHeader,
-                 extendedHeader := p_extHeader,
-                 payload := f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD"))
--            },
-+            }),
-             securedMsg := omit
-         }
-         
-@@ -575,7 +577,7 @@
-             in template (value) octetstring p_payload
-         ) modifies m_geoNwPacket := {
-             packet := {
--                payload := f_adaptPayload_m(p_payload)
-+                payload := valueof(f_adaptPayload_m(p_payload))
-             }
-         }
-         
-@@ -621,7 +623,9 @@
-          *
-          * @see     mw_geoNwPacket
-          */
--        template GeoNetworkingPacket mw_geoNwPduAnyPayload(
-+//FIXME RGY template restriction can be the same as its base template: template is not used currently
-+//        template GeoNetworkingPacket mw_geoNwPduAnyPayload(
-+        template(present) GeoNetworkingPacket mw_geoNwPduAnyPayload(
-             in template (present) CommonHeader p_commonHeader,
-             in template (present) ExtendedHeader p_extHeader
-         ) modifies mw_geoNwPacket := {
-@@ -638,7 +642,9 @@
-          *
-          * @see     mw_geoNwPacket
-          */
--        template GeoNetworkingPacket mw_geoNwPduWithOctetstringPayload(
-+//FIXME RGY template restriction can be the same as its base template: template is not used currently
-+//        template GeoNetworkingPacket mw_geoNwPduWithOctetstringPayload(
-+        template(present) GeoNetworkingPacket mw_geoNwPduWithOctetstringPayload(
-             in template (present) CommonHeader p_commonHeader,
-             in template (present) ExtendedHeader p_extHeader,
-             in template (present) octetstring p_payload
-@@ -656,7 +662,9 @@
-          *
-          * @see     mw_geoNwPacket
-          */
--        template GeoNetworkingPacket mw_geoNwPduWithPayload(
-+//FIXME RGY template restriction can be the same as its base template: used in TC_SEC_ITSS_SND_CAM_02_01_BV only, where is called with parameters
-+//        template GeoNetworkingPacket mw_geoNwPduWithPayload(
-+        template(present) GeoNetworkingPacket mw_geoNwPduWithPayload(
-             in template (present) CommonHeader p_commonHeader,
-             in template (present) ExtendedHeader p_extHeader,
-             in template (present) Payload p_payload
-@@ -714,18 +722,18 @@
-                 in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
-                 in template (value) TrafficClass p_trafficClass := m_trafficClass
-             ) := {
--                commonHeader := m_commonHeader(
-+                commonHeader := valueof(m_commonHeader(
-                     PX_GN_UPPER_LAYER,
-                     m_geoUnicastHeaderType,
-                     p_trafficClass,
-                     p_hopLimit
--                ),
--                extendedHeader := m_geoUnicastHeader(
-+                )),
-+                extendedHeader := valueof(m_geoUnicastHeader(
-                     p_sourceLongPosVec,
-                     p_destinationShortPosVec,
-                     p_seqNumber
--                ),
--                payload := f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD"))
-+                )),
-+                payload := valueof(f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD")))
-             }
-             
-             /**
-@@ -825,18 +833,18 @@
-                 in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
-                 in template (value) TrafficClass p_trafficClass := m_trafficClass
-             ) := {
--                commonHeader := m_commonHeader(
-+                commonHeader := valueof(m_commonHeader(
-                     PX_GN_UPPER_LAYER,
--                    m_geoAnycastHeaderType(p_anycastArea.geoAnycastSubType),
-+                    m_geoAnycastHeaderType(valueof(p_anycastArea.geoAnycastSubType)),
-                     p_trafficClass,
-                     p_hopLimit
--                ),
--                extendedHeader := m_geoAnycastHeader(
-+                )),
-+                extendedHeader := valueof(m_geoAnycastHeader(
-                     p_sourceLongPosVec,
-                     p_seqNumber,
-                     p_anycastArea
--                ),
--                payload := f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD"))
-+                )),
-+                payload := valueof(f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD")))
-             }
-             
-             /**
-@@ -939,18 +947,18 @@
-                 in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
-                 in template (value) TrafficClass p_trafficClass := m_trafficClass
-             ) := {
--                commonHeader := m_commonHeader(
-+                commonHeader := valueof(m_commonHeader(
-                     PX_GN_UPPER_LAYER,
--                    m_geoBroadcastHeaderType(p_broadcastArea.geoBroadcastSubType),
-+                    m_geoBroadcastHeaderType(valueof(p_broadcastArea.geoBroadcastSubType)),
-                     p_trafficClass,
-                     p_hopLimit
--                ),
--                extendedHeader := m_geoBroadcastHeader(
-+                )),
-+                extendedHeader := valueof(m_geoBroadcastHeader(
-                     p_sourceLongPosVec,
-                     p_seqNumber,
-                     p_broadcastArea
--                ),
--                payload := f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD"))
-+                )),
-+                payload := valueof(f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD")))
-             }
-             
-             /**
-@@ -1242,16 +1250,16 @@
-             template (value) GnNonSecuredPacket m_geoNwShbPacket(
-                 in template (value) LongPosVector p_sourceLongPosVec
-             ) := {
--                commonHeader := m_commonHeader(
-+                commonHeader := valueof(m_commonHeader(
-                     PX_GN_UPPER_LAYER,
-                     m_shbHeaderType,
-                     m_trafficClass,
-                     c_defaultHopLimit
--                ),
--                extendedHeader := m_shbHeader(
-+                )),
-+                extendedHeader := valueof(m_shbHeader(
-                     p_sourceLongPosVec
--                ),
--                payload :=  f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD"))
-+                )),
-+                payload :=  valueof(f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD")))
-             }
-             
-             /**
-@@ -1288,17 +1296,17 @@
-                 in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
-                 in template (value) TrafficClass p_trafficClass := m_trafficClass
-             ) := {
--                commonHeader := m_commonHeader(
-+                commonHeader := valueof(m_commonHeader(
-                     PX_GN_UPPER_LAYER,
-                     m_tsbHeaderType,
-                     p_trafficClass,
-                     p_hopLimit
--                ),
--                extendedHeader := m_tsbHeader(
-+                )),
-+                extendedHeader := valueof(m_tsbHeader(
-                     p_seqNumber,
-                     p_sourceLongPosVec
--                ),
--                payload :=  f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD"))
-+                )),
-+                payload :=  valueof(f_adaptPayload_m(char2oct("DEFAULT_PAYLOAD")))
-             }
-             
-             /**
-@@ -1774,7 +1782,7 @@
-                 in template (value) UInt16 p_seqNumber,
-                 in template (value) GeoBroadcastArea p_broadcastArea
-             ) := {
--                geoBroadcastHeader := {
-+                geoBroadcastHeader := valueof({
-                     seqNumber := p_seqNumber,
-                     reserved := c_uInt8Zero,
-                     srcPosVector := p_sourceLongPosVec,
-@@ -1784,7 +1792,7 @@
-                     distanceB := p_broadcastArea.geoBroadcastArea.distanceB,
-                     angle := p_broadcastArea.geoBroadcastArea.angle,
-                     reserved2 := c_uInt24Zero
--                }
-+                })
-             }
-             
-             /**
-@@ -1883,7 +1891,7 @@
-                 in template (value) UInt16 p_seqNumber,
-                 in template (value) GeoAnycastArea p_anycastArea
-             ) := {
--                geoAnycastHeader := {
-+                geoAnycastHeader := valueof({
-                     seqNumber := p_seqNumber,
-                     reserved := c_uInt8Zero,
-                     srcPosVector := p_sourceLongPosVec,
-@@ -1893,7 +1901,7 @@
-                     distanceB := p_anycastArea.geoAnycastArea.distanceB,
-                     angle := p_anycastArea.geoAnycastArea.angle,
-                     reserved2 := c_uInt24Zero
--                }
-+                })
-             }
-             
-             /**
-Index: GeoNetworking/LibItsGeoNetworking_TestSystem.ttcn
-===================================================================
---- GeoNetworking/LibItsGeoNetworking_TestSystem.ttcn	(revision 1312)
-+++ GeoNetworking/LibItsGeoNetworking_TestSystem.ttcn	(working copy)
-@@ -39,7 +39,10 @@
-             out
-                 AcGnPrimitive, AcGn6Primitive, AcGnssPrimitive, AcSecPrimitive;
-             in
--                AcGnResponse, AcGn6Response, AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+
-+//FIXME RGY As discussed, boolean results are replaced by a top-level union of results
-+//                AcGnResponse, AcGn6Response, AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+                AcGnResponse, AcGn6Response, AdapterControlResults;
-         } // end AdapterControlPort
-         
-         /**
-@@ -49,7 +52,9 @@
-             out
-                 UtInitialize, UtChangePosition, UtGnTrigger;
-             in
--                UtInitializeResult, UtChangePositionResult, UtGnTriggerResult, UtGnEventInd;
-+//FIXME RGY As discussed, boolean results are replaced by a top-level union of results
-+//                UtInitializeResult, UtChangePositionResult, UtGnTriggerResult, UtGnEventInd;
-+                UtCommonResults, UtGnTriggerResult, UtGnEventInd;
-         } // end UpperTesterPort
-         
-     } // end portDefinitions
-@@ -79,13 +84,17 @@
-         /**
-          * @desc ITS Main Test Component
-          */
--        type component ItsMtc extends ItsBaseMtc, ServerSyncComp, ItsSecurityBaseComponent { // TODO Extend ItsBaseMtc with ItsSecurityBaseComponent? {
--            
-+//FIXME RGY ItsMtc can extend ItsBaseGeoNetworking instead of ItsSecurityBaseComponent, as it contains
-+//          everything defined here but vc_componentTable and already extends ItsSecurityBaseComponent
-+//          also, ItsBaseMtc already extends ServerSyncComp
-+//        type component ItsMtc extends ItsBaseMtc, ServerSyncComp, ItsSecurityBaseComponent { // TODO Extend ItsBaseMtc with ItsSecurityBaseComponent? {
-+        type component ItsMtc extends ItsBaseMtc, ItsBaseGeoNetworking { // TODO Extend ItsBaseMtc with ItsSecurityBaseComponent? {
-+/*FIXME RGY all these objects are inherited from ItsBaseGeoNetworking, they shall not be defined again: see $6.2.10.2
-             port UpperTesterPort utPort;
-             port AdapterControlPort acPort;
--            
-+*/            
-             var ComponentTable vc_componentTable := {};
--            
-+/*
-             // UT indications
-             var UtGnEventIndList vc_utInds := {};
-             
-@@ -92,7 +101,7 @@
-             var boolean vc_utDefaultActive := true;
-             var boolean vc_acDefaultActive := true;
-             var boolean vc_gnDefaultActive := true;
--        
-+*/        
-         } // end ItsMtc
-         
-         /**
-Index: GeoNetworking/LibItsGeoNetworking_TypesAndValues.ttcn
-===================================================================
---- GeoNetworking/LibItsGeoNetworking_TypesAndValues.ttcn	(revision 1312)
-+++ GeoNetworking/LibItsGeoNetworking_TypesAndValues.ttcn	(working copy)
-@@ -1008,7 +1008,9 @@
-         
-     } // end utPrimitives
-     with {
--        encode "UpperTester"
-+//FIXME RGY temporarily changed to RAW, until encoding functions are changed to UpperTester
-+//        encode "UpperTester"
-+        encode "RAW"; variant ""
-     }
-     
-     group acPrimitives {
-Index: Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_Functions.ttcn
-===================================================================
---- Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_Functions.ttcn	(revision 1312)
-+++ Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_Functions.ttcn	(working copy)
-@@ -38,7 +38,8 @@
-          *       - two ITS nodes (nodeA, nodeB)
-          *       - three GVLs
-          */
--        function f_cf01UpGn6() runs on ItsIpv6OverGeoNetworking system ItsIpv6OverGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf01UpGn6() runs on ItsIpv6OverGeoNetworking {
-             
-             // Variables
-             var float v_distance;
-@@ -73,7 +74,8 @@
-         /**
-          * @desc Deletes configuration cf01Gn6
-          */
--        function f_cf01DownGn6() runs on ItsIpv6OverGeoNetworking system ItsIpv6OverGeoNetworkingSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cf01DownGn6() runs on ItsIpv6OverGeoNetworking {
-             
-             // Map
-             unmap(self:ipv6OverGeoNetworkingPort, system:ipv6OverGeoNetworkingPort);
-@@ -296,12 +298,14 @@
-             var LongPosVector v_nodeLongPosVector := f_getPosition(p_compName);
-             
-             f_sendGeoNetMessageWithPayload(
--                m_geoNwReq_linkLayerBroadcast(
--                    m_geoNwPdu(
--                        m_geoNwBroadcastPacket(
--                            v_nodeLongPosVector,
--                            vc_localSeqNumber,
--                            f_getGeoBroadcastArea(valueof(p_gvl.area))
-+                valueof(
-+                    m_geoNwReq_linkLayerBroadcast(
-+                        m_geoNwPdu(
-+                            m_geoNwBroadcastPacket(
-+                                v_nodeLongPosVector,
-+                                vc_localSeqNumber,
-+                                f_getGeoBroadcastArea(valueof(p_gvl.area))
-+                            )
-                         )
-                     )
-                 ),
-@@ -312,12 +316,12 @@
-                         c_icmpHdr,
-                         m_rtAdvWithOptions(
-                             m_rtAdvOpt_prefixOpt(
--                                p_gvl.prefixLength,
-+                                valueof(p_gvl.prefixLength),
-                                 c_lFlag1,
-                                 c_aFlag1,
-                                 p_validLifetime,
-                                 c_preferredLifetime30s,
--                                p_gvl.prefix
-+                                valueof(p_gvl.prefix)
-                             )
-                         )
-                     )
-Index: Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_TypesAndValues.ttcn
-===================================================================
---- Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_TypesAndValues.ttcn	(revision 1312)
-+++ Ipv6OverGeoNetworking/LibItsIpv6OverGeoNetworking_TypesAndValues.ttcn	(working copy)
-@@ -171,7 +171,7 @@
-             
-             //geographic
-             const Bit7 c_itsGn6aslGeoAnycastID := '1111101'B; //TODO TDB by IANA
--        }//end group ipv6Address
-+        } //end group ipv6Address
-                
-         /**
-          * @desc PDU type derived from RFC2461 clause 4.2
-@@ -189,7 +189,7 @@
-             UInt32        reachableTime,
-             UInt32        retransTimer,
-             RtAdvOptions  rtAdvOptions optional
--        } with { variant (checksum) "MarkForIPv6ChecksumCalculation" }
-+        } // FIXME CHECK while TITAN refuse it: with { variant (checksum) "MarkForIPv6ChecksumCalculation" }
-         
-         /**
-          * @desc RouterAdvertisement option list
-Index: IVIM/LibItsIvim_Functions.ttcn
-===================================================================
---- IVIM/LibItsIvim_Functions.ttcn	(revision 1312)
-+++ IVIM/LibItsIvim_Functions.ttcn	(working copy)
-@@ -159,7 +159,9 @@
-             utPort.send(p_event);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtIvimTerminationResult:?) {
-+//FIXME RGY As discussed, port in type is changed to a top-level union type 
-+//                [] utPort.receive(UtIvimTerminationResult:?) {
-+                [] utPort.receive(UtIvimResults:{utIvimTerminationResult:=?}) {
-                     tc_wait.stop;
-                 }
-                 [] tc_wait.timeout {
-@@ -243,7 +245,8 @@
-          */
-         function f_cfUp(
-                         in charstring p_certificateId := PX_CERT_FOR_TS
--        ) runs on ItsIvim system ItsIvimSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        ) runs on ItsIvim /*system ItsIvimSystem*/ {
-             
-             map(self:acPort, system:acPort);
-             map(self:utPort, system:utPort);
-@@ -258,7 +261,8 @@
-         /**
-          * @desc    Deletes default configuration 
-          */
--        function f_cfDown() runs on ItsIvim system ItsIvimSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfDown() runs on ItsIvim /*system ItsIvimSystem*/ {
-             
-             // Initialise secured mode
-             f_uninitialiseSecuredMode();
-@@ -373,7 +377,7 @@
-             var FncRetCode v_ret := e_success;
-             
-             if (valueof(p_trigger) == e_ets) {
--                f_sendIviMessage(m_ivimStructureCancellation(p_iviIdentificationNumber));
-+                f_sendIviMessage(valueof(m_ivimStructureCancellation(p_iviIdentificationNumber)));
-                 f_sleep(PX_TNOAC);
-             }
-             else {
-Index: IVIM/LibItsIvim_Templates.ttcn
-===================================================================
---- IVIM/LibItsIvim_Templates.ttcn	(revision 1312)
-+++ IVIM/LibItsIvim_Templates.ttcn	(working copy)
-@@ -26,11 +26,13 @@
-     import from LibItsCommon_TypesAndValues all;
-     import from LibItsCommon_Functions all;
-     import from LibItsCommon_Pixits all;
-+    import from LibItsCommon_ASN1_NamedNumbers all;
-     
-     // LibItsIvim
-     import from LibItsIvim_TestSystem all;
-     import from LibItsIvim_TypesAndValues all;
-     import from LibItsIvim_Functions all;
-+    import from LibItsIvim_ASN1_IVInamedNumbers all;
-     
-     group asn1Constants {
-     } // End of group asn1Constants 
-@@ -75,7 +77,9 @@
-          * @param   p_gnLifetime        GN packet lifetime value (ms)
-          * @param   p_gnTrafficClass    GN traffic class value
-          */
--        template IvimInd mw_ivimIndWithGnParameters (
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//        template IvimInd mw_ivimIndWithGnParameters (
-+        template(present) IvimInd mw_ivimIndWithGnParameters (
-                                                      template (present) IVIM p_iviMsg,
-                                                      in template UInt8 p_gnNextHeader := *,
-                                                      in template UInt8 p_gnHeaderType := *,
-@@ -96,7 +100,9 @@
-          * @param   p_btpDestinationPort    BTP destination port value
-          * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
-          */
--        template IvimInd mw_ivimIndWithBtpParameters (
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//        template IvimInd mw_ivimIndWithBtpParameters (
-+        template(present) IvimInd mw_ivimIndWithBtpParameters (
-                                                       template (present) IVIM p_iviMsg,
-                                                       template UInt16 p_btpDestinationPort := *,
-                                                       template UInt16 p_btpInfo := *
-@@ -111,7 +117,8 @@
-          * @param   p_ssp       SSP security parameter
-          * @param   p_its_aid   ITS-AID value
-          */
--        template IvimInd mw_ivimIndWithSecurityParameters (
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+        template(present) IvimInd mw_ivimIndWithSecurityParameters (
-                                                            template (present) IVIM p_iviMsg,
-                                                            template Bit256 p_ssp := *,
-                                                            template UInt32 p_its_aid := *
-@@ -308,7 +315,7 @@
-         template (value) IviStructure m_ivimStructureCancellation(
-                                                                   in template (value) IviIdentificationNumber p_iviIdentificationNumber
-         ) := {
--            mandatory   := m_iviManagementContainer(f_getProvider(), p_iviIdentificationNumber, IviStatus_cancellation_), 
-+            mandatory   := valueof(m_iviManagementContainer(f_getProvider(), valueof(p_iviIdentificationNumber), IviStatus_cancellation_)), 
-             optional_   := omit
-         } // End of template m_ivimStructureCancellation
-         
-Index: IVIM/LibItsIvim_TestSystem.ttcn
-===================================================================
---- IVIM/LibItsIvim_TestSystem.ttcn	(revision 1312)
-+++ IVIM/LibItsIvim_TestSystem.ttcn	(working copy)
-@@ -37,7 +37,10 @@
-             out
-                 AcGnssPrimitive, AcSecPrimitive;
-             in
--                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+//FIXME RGY as discussed, list of boolean responses is replaced by a union
-+//                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
-+                AdapterControlResults;
-+
-         } // end AdapterControlPort
-         
-         /**
-@@ -47,8 +50,11 @@
-             out 
-                 UtInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination, UtChangePosition, UtChangePseudonym;
-             in 
--                UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult,
--                UtChangePositionResult, UtChangePseudonymResult, UtIvimEventInd;
-+//FIXME RGY as discussed, list of boolean responses is replaced by a union
-+//                UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult,
-+//                UtChangePositionResult, UtChangePseudonymResult, UtIvimEventInd;
-+                UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimEventInd, UtIvimResults, UtCommonResults;
-+                
-         } // end UpperTesterPort
-         
-     } // end portDefinitions
-Index: IVIM/LibItsIvim_TypesAndValues.ttcn
-===================================================================
---- IVIM/LibItsIvim_TypesAndValues.ttcn	(revision 1312)
-+++ IVIM/LibItsIvim_TypesAndValues.ttcn	(working copy)
-@@ -102,7 +102,12 @@
-         /**
-          * @desc Upper Tester result message of termination of an event on Ivim IUT 
-          */
--        type boolean UtIvimTerminationResult;
-+//FIXME RGY as discussed, simple boolean responses are replaced by a union of results;
-+        type union UtIvimResults {
-+          boolean utIvimTerminationResult
-+        }
-+//        type boolean UtIvimTerminationResult;
-+        type UtIvimResults.utIvimTerminationResult UtIvimTerminationResult;
-         
-         /**
-          * @desc Upper Tester message to check event/status on Ivim IUT 
-Index: MapemSpatem/LibItsMapemSpatem_Functions.ttcn
-===================================================================
---- MapemSpatem/LibItsMapemSpatem_Functions.ttcn	(revision 1312)
-+++ MapemSpatem/LibItsMapemSpatem_Functions.ttcn	(working copy)
-@@ -18,7 +18,7 @@
-     
-     // LibIts
-     import from ITS_Container language "ASN.1:1997" all;
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-     
-     // LibItsCommon
-     import from LibItsCommon_TypesAndValues all;
-@@ -44,7 +44,9 @@
-             utPort.send(p_init);
-             tc_wait.start;
-             alt {
--                [] utPort.receive(UtInitializeResult:true) {
-+//FIXME RGY the simple boolean result has been changed to a union
-+//                [] utPort.receive(UtInitializeResult:true) {
-+                [] utPort.receive(UtCommonResults:{utInitializeResult:=true}) {
-                     tc_wait.stop;
-                     log("*** " & testcasename() & ": INFO: IUT initialized ***");
-                 }
-@@ -70,8 +72,14 @@
-             
-             utPort.send ( p_event );
-             tc_wait.start;
-+//FIXME RGY temporal variable to save the result-union value
-+var UtMapemSpatemResuls v_UtMapemSpatemResuls;
-             alt {
--                [] utPort.receive ( UtMapemSpatemTriggerResult:? ) -> value v_result {
-+//FIXME RGY the simple boolean result has been changed to a union
-+//                [] utPort.receive ( UtMapemSpatemTriggerResult:? ) -> value v_result {
-+                [] utPort.receive (UtMapemSpatemResuls:{utMapemSpatemTriggerResult:=?} ) -> value v_UtMapemSpatemResuls {
-+//FIXME RGY storing result from the temporal variable
-+                    v_result:= v_UtMapemSpatemResuls.utMapemSpatemTriggerResult;
-                     tc_wait.stop;
-                     if ( not v_result ) {
-                         f_selfOrClientSyncAndVerdict("MapSpat Trigger failed", e_error);
-@@ -223,9 +231,10 @@
-          * @desc    Setups default configuration   
-          * @param   p_certificateId The certificate identifier the TA shall use in case of secured IUT
-          */
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-         function f_cfUp(
-                         in charstring p_certificateId := PX_CERT_FOR_TS
--        )  runs on ItsMapemSpatem system ItsMapemSpatemSystem {
-+        )  runs on ItsMapemSpatem /*system ItsMapemSpatemSystem*/ {
-             
-             map(self:acPort, system:acPort);
-             map(self:utPort, system:utPort);
-@@ -243,7 +252,8 @@
-         /**
-          * @desc    Deletes default configuration 
-          */
--        function f_cfDown() runs on ItsMapemSpatem system ItsMapemSpatemSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfDown() runs on ItsMapemSpatem {
-             
-             // Initialise secured mode
-             f_uninitialiseSecuredMode();
-@@ -332,6 +342,6 @@
-             }
-         }
-         
--    } // End of receiveFunctions
-+    } // End of group receiveFunctions
-     
--} // End of module LibItsMapemSpatem_Functions
-\ No newline at end of file
-+} // End of module LibItsMapemSpatem_Functions
-Index: MapemSpatem/LibItsMapemSpatem_Pixits.ttcn
-===================================================================
---- MapemSpatem/LibItsMapemSpatem_Pixits.ttcn	(revision 1312)
-+++ MapemSpatem/LibItsMapemSpatem_Pixits.ttcn	(working copy)
-@@ -16,7 +16,8 @@
-     import from LibCommon_BasicTypesAndValues all;
-     
-     // LibIts
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC_REGION_noCircular language "ASN.1:1997" all;
-     
-     // LibItsMapemSpatem
-     import from LibItsMapemSpatem_TypesAndValues all;
-@@ -34,7 +35,7 @@
-     /**
-      * @desc Status for IntersectionState DF sending
-      */
--    modulepar IntersectionStatusObject PX_STATUS := IntersectionStatusObject_manualControlIsEnabled_;
-+    modulepar IntersectionStatusObject PX_STATUS := '1000000000000000'B;
- 
-     /**
-      * @desc Id for IntersectionReferenceID DF sending
-Index: MapemSpatem/LibItsMapemSpatem_Templates.ttcn
-===================================================================
---- MapemSpatem/LibItsMapemSpatem_Templates.ttcn	(revision 1312)
-+++ MapemSpatem/LibItsMapemSpatem_Templates.ttcn	(working copy)
-@@ -19,11 +19,14 @@
-     import from ITS_Container language "ASN.1:1997" all;
-     import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
-     import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC_REGION_noCircular language "ASN.1:1997" all;
-     
-     // LibItsCommon
-     import from LibItsCommon_Functions all;
-     import from LibItsCommon_TypesAndValues all;
-+    import from LibItsCommon_ASN1_NamedNumbers all;
-+    import from LibItsCommon_ASN1_ISDSRC_NamedNumbers all;
-     
-     // LibItsMapemSpatem
-     import from LibItsMapemSpatem_TestSystem all;
-@@ -91,7 +94,9 @@
-          * @param   p_btpDestinationPort    BTP destination port value
-          * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
-          */
--        template MapemInd mw_mapemIndWithBtpParameters(
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//        template MapemInd mw_mapemIndWithBtpParameters(
-+        template(present) MapemInd mw_mapemIndWithBtpParameters(
-                                                        template (present) MAPEM p_mapemMsg,
-                                                        in template UInt16 p_btpDestinationPort := *,
-                                                        in template UInt16 p_btpInfo := *
-@@ -174,7 +179,9 @@
-          * @param   p_btpDestinationPort    BTP destination port value
-          * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
-          */
--        template SpatemInd mw_spatemIndWithBtpParameters(
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//        template SpatemInd mw_spatemIndWithBtpParameters(
-+        template(present) SpatemInd mw_spatemIndWithBtpParameters(
-                                                          template (present) SPATEM p_spatemMsg,
-                                                          template UInt16 p_btpDestinationPort := *,
-                                                          template UInt16 p_btpInfo := *
-@@ -385,7 +392,9 @@
-                 /**
-                  * @desc    Receive template for MAPEM Message
-                  */
--                template (omit) MapData m_mapem(
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//                template (omit) MapData m_mapem(
-+                template (value) MapData m_mapem(
-                                                 in template (value) MsgCount p_msgIssueRevision,
-                                                 in template (omit) IntersectionGeometryList p_intersectionGeometryList := omit,
-                                                 in template (omit) RoadSegmentList p_roadSegments := omit
-@@ -560,7 +569,9 @@
-             /**
-              * @desc    Send template for SPAT Message
-              */
--            template (omit) SPAT m_spatem(
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//            template (omit) SPAT m_spatem(
-+            template (value) SPAT m_spatem(
-                                           in template (value) IntersectionStateList p_intersections,
-                                           in template (omit) DescriptiveName p_name := omit
-             ) modifies m_defaultSpatem:= {
-@@ -588,7 +599,7 @@
-                 
-                 template (value) MovementList m_movements := { m_movement };
-                 
--                template (value) MovementState m_movement := {
-+                template (omit) MovementState m_movement := {
-                     movementName           := omit,
-                     signalGroup            := PX_SIGNAL_GROUP_ID,
-                     state_time_speed       := m_movementEventList,
-Index: MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn
-===================================================================
---- MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn	(revision 1312)
-+++ MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn	(working copy)
-@@ -39,7 +39,9 @@
-             out
-                 AcSecPrimitive;
-             in
--                AcSecResponse;
-+//FIXME RGY As discussed, boolean response types are replaced by union of boolean responses
-+//                AcSecResponse;
-+                AdapterControlResults
-         } // end AdapterControlPort
-         
-         /**
-@@ -49,7 +51,9 @@
-             out 
-                 UtInitialize, UtMapemSpatemTrigger;
-             in 
--                UtInitializeResult, UtMapemSpatemTriggerResult, UtMapemEventInd , UtSpatemEventInd;
-+//FIXME RGY as discussed, boolean results are replaced by union of booleans
-+//                UtInitializeResult, UtMapemSpatemTriggerResult, UtMapemEventInd , UtSpatemEventInd;
-+                UtCommonResults, UtMapemSpatemResuls, UtMapemEventInd , UtSpatemEventInd;
-         } // end UpperTesterPort
- 
-     } // end portDefinitions
-Index: MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn
-===================================================================
---- MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn	(revision 1312)
-+++ MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn	(working copy)
-@@ -48,7 +48,12 @@
-         /**
-          * @desc Upper Tester result message of request of triggering of an event at IUT 
-          */
--        type boolean UtMapemSpatemTriggerResult;
-+//FIXME RGY as discussed boolean results are replaced by union of booleans
-+        type union  UtMapemSpatemResuls {
-+          boolean utMapemSpatemTriggerResult
-+        }
-+//        type boolean UtMapemSpatemTriggerResult;
-+        type UtMapemSpatemResuls.utMapemSpatemTriggerResult UtMapemSpatemTriggerResult;
-         
-         /**
-          * @desc Upper Tester message to check event/status at IUT 
-Index: Security/LibItsSecurity_Functions.ttcn3
-===================================================================
---- Security/LibItsSecurity_Functions.ttcn3	(revision 1312)
-+++ Security/LibItsSecurity_Functions.ttcn3	(working copy)
-@@ -24,6 +24,7 @@
-     import from LibItsSecurity_Templates all;
-     import from LibItsSecurity_Pixits all;
-     import from LibItsSecurity_TestSystem all;
-+    import from LibItsSecurity_EncdecDeclarations all;
-     
-     group helpersFunctions {
-         
-@@ -262,7 +263,7 @@
-                         return false;
-                     }
-                 } else {
--                    if(not f_readSigningKey(valueof(cc_taCert_A), v_privateKey)){
-+                    if(not f_readSigningKey(cc_taCert_A, v_privateKey)){
-                         return false;
-                     }
-                 }
-@@ -272,7 +273,7 @@
-                 );
-                 
-                 p_securedMessage := m_securedMessage(
--                    v_toBeSignedSecuredMessage.header_fields,
-+                    valueof(v_toBeSignedSecuredMessage.header_fields),
-                     p_payloadField,
-                     {
-                         m_trailer_field_signature(
-@@ -417,7 +418,7 @@
- //                log("p_trailerStatus=", p_trailerStatus);
-                 if (p_trailerStatus == 0) { // No signature
-                     p_securedMessage := m_securedMessage(
--                        v_toBeSignedSecuredMessage.header_fields,
-+                        valueof(v_toBeSignedSecuredMessage.header_fields),
-                         p_payloadField,
-                         { }
-                     );
-@@ -424,7 +425,7 @@
-                     v_trailerSize := 0;
-                 } else if (p_trailerStatus == 2) { // Duplicate signature
-                     p_securedMessage := m_securedMessage(
--                        v_toBeSignedSecuredMessage.header_fields,
-+                        valueof(v_toBeSignedSecuredMessage.header_fields),
-                         p_payloadField,
-                         {
-                             m_trailer_field_signature(
-@@ -452,7 +453,7 @@
-                 } else if (p_trailerStatus == 3) { // Signature with reserved algorthm
-                     p_securedMessage := m_securedMessage_wrong_protocol(
-                         p_protocolVersion,
--                        v_toBeSignedSecuredMessage.header_fields,
-+                        valueof(v_toBeSignedSecuredMessage.header_fields),
-                         p_payloadField,
-                         {
-                             m_trailer_field_signature(
-@@ -464,7 +465,7 @@
-                     );
-                 } else { // Invalid signature
-                     p_securedMessage := m_securedMessage(
--                        v_toBeSignedSecuredMessage.header_fields,
-+                        valueof(v_toBeSignedSecuredMessage.header_fields),
-                         p_payloadField,
-                         {
-                             m_trailer_field_signature(
-@@ -1020,7 +1021,7 @@
-                     if (valueof(p_issuingCertificate.subject_attributes[v_counter].type_) == e_verification_key) {
-                         return f_verifyCertificateSignatureWithPublicKey(
-                             p_certificateToBeVerified,
--                            p_issuingCertificate.subject_attributes[v_counter].attribute.key);
-+                            valueof(p_issuingCertificate.subject_attributes[v_counter].attribute.key));
-                     }
-                 } // End of 'for' statement
-                 
-@@ -1053,8 +1054,8 @@
-                 
-                 // Create SecuredMessage payload to be signed
-                 v_toBeSignedSecuredMessage := m_toBeSignedSecuredMessage(
--                    p_securedMessage.header_fields,
--                    p_securedMessage.payload_field,
-+                    valueof(p_securedMessage.header_fields),
-+                    valueof(p_securedMessage.payload_field),
-                     e_signature
-                 );
-                 log("f_verifyGnSecuredMessageSignatureWithPublicKey: v_toBeSignedSecuredMessage=", v_toBeSignedSecuredMessage);
-@@ -1107,7 +1108,7 @@
-                     if (v_subjectAttribute.type_ == e_verification_key) {
-                         return f_verifyGnSecuredMessageSignatureWithPublicKey(
-                             p_securedMessage,
--                            p_certificate.subject_attributes[v_counter].attribute.key);
-+                            valueof(p_certificate.subject_attributes[v_counter].attribute.key));
-                     }
-                 } // End of 'for' statement
-                 
-@@ -1315,8 +1316,11 @@
-             ) return boolean {
-                 
-                 for (var integer i := 0; i < lengthof(p_cert.validity_restrictions); i := i + 1) {
--                    if (valueof(p_cert).validity_restrictions[i].type_ == p_type) {
--                        p_return := valueof(p_cert).validity_restrictions[i];
-+//FIXME RGY Titan doesn't support dot notation after valueof at the moment
-+//                    if (valueof(p_cert).validity_restrictions[i].type_ == p_type) {
-+//                        p_return := valueof(p_cert).validity_restrictions[i];
-+                    if (valueof(p_cert.validity_restrictions[i].type_) == p_type) {
-+                        p_return := valueof(p_cert.validity_restrictions[i]);
-                         return true;
-                     }
-                 } // End of 'for' statement
-@@ -1344,8 +1348,11 @@
-                                                       out SubjectAttribute p_return
-             ) return boolean {
-                 for (var integer i := 0; i < lengthof(p_cert.subject_attributes); i := i + 1) {
--                    if (valueof(p_cert).subject_attributes[i].type_ == p_type) {
--                        p_return := valueof(p_cert).subject_attributes[i];
-+//FIXME RGY Titan doesn't support dot notation after valueof at the moment
-+//                    if (valueof(p_cert).subject_attributes[i].type_ == p_type) {
-+//                        p_return := valueof(p_cert).subject_attributes[i];
-+                    if (valueof(p_cert.subject_attributes[i].type_) == p_type) {
-+                        p_return := valueof(p_cert.subject_attributes[i]);
-                         return true;
-                     }
-                 }
-@@ -1746,8 +1753,11 @@
-                                        in template (value) TwoDLocation p_location
-         ) return boolean {
-             return
--                (valueof(p_location).longitude != c_maxLongitude + 1) and
--                (valueof(p_location).latitude != c_maxLatitude + 1);
-+//FIXME RGY Titan doesn't support dot notation after valueof at the moment
-+//                (valueof(p_location).longitude != c_maxLongitude + 1) and
-+//                (valueof(p_location).latitude != c_maxLatitude + 1);
-+                (valueof(p_location.longitude) != c_maxLongitude + 1) and
-+                (valueof(p_location.latitude) != c_maxLatitude + 1);
-         } // End of function f_isValidTwoDLocation
- 
-         /**
-@@ -1763,10 +1773,15 @@
-                                                    in template (value) RectangularRegion p_r2
-         ) return boolean {
-             return not (
--                valueof(p_r2).northwest.longitude > valueof(p_r1).southeast.longitude or 
--                valueof(p_r2).southeast.longitude < valueof(p_r1).northwest.longitude or 
--                valueof(p_r2).southeast.latitude  > valueof(p_r1).northwest.latitude or 
--                valueof(p_r2).northwest.latitude  < valueof(p_r1).southeast.latitude
-+//FIXME RGY Titan doesn't support dot notation after valueof at the moment
-+//                valueof(p_r2).northwest.longitude > valueof(p_r1).southeast.longitude or 
-+//                valueof(p_r2).southeast.longitude < valueof(p_r1).northwest.longitude or 
-+//                valueof(p_r2).southeast.latitude  > valueof(p_r1).northwest.latitude or 
-+//                valueof(p_r2).northwest.latitude  < valueof(p_r1).southeast.latitude
-+                valueof(p_r2.northwest.longitude) > valueof(p_r1.southeast.longitude) or 
-+                valueof(p_r2.southeast.longitude) < valueof(p_r1.northwest.longitude) or 
-+                valueof(p_r2.southeast.latitude)  > valueof(p_r1.northwest.latitude) or 
-+                valueof(p_r2.northwest.latitude)  < valueof(p_r1.southeast.latitude)
-             );
-         } // End of function f_isRectangularRegionsIntersected
-         
-@@ -1778,12 +1793,12 @@
-             
-             for (v_i := 0; v_i < lengthof(p_region); v_i := v_i + 1) {
-                 var PolygonalRegion v_region_base;
--                f_convertRectangularRegionIntoPolygonalRegion(p_region[v_i], v_region_base);
-+                f_convertRectangularRegionIntoPolygonalRegion(valueof(p_region[v_i]), v_region_base);
-                 v_found := false;
-                 for (v_j := 0; v_j < lengthof(p_region); v_j := v_j + 1) {
-                     if (v_j != v_i) {
-                         var PolygonalRegion v_region;
--                        f_convertRectangularRegionIntoPolygonalRegion(p_region[v_j], v_region);
-+                        f_convertRectangularRegionIntoPolygonalRegion(valueof(p_region[v_j]), v_region);
-                         if (f_isPolygonalRegionInside(v_region, v_region_base) == true) {
-                             v_found := true;
-                         }
-@@ -1812,9 +1827,9 @@
-             
-             for (v_i := 0; v_i < lengthof(p_parent); v_i := v_i + 1) {
-                 var PolygonalRegion v_region_parent, v_region;
--                f_convertRectangularRegionIntoPolygonalRegion(p_parent[v_i], v_region_parent);
-+                f_convertRectangularRegionIntoPolygonalRegion(valueof(p_parent[v_i]), v_region_parent);
-                 for (v_j := 0; v_j < lengthof(p_parent); v_j := v_j + 1) {
--                    f_convertRectangularRegionIntoPolygonalRegion(p_region[v_j], v_region);
-+                    f_convertRectangularRegionIntoPolygonalRegion(valueof(p_region[v_j]), v_region);
-                     if (f_isPolygonalRegionInside(v_region, v_region_parent) == true) {
-                         return true;
-                     }
-@@ -1911,24 +1926,26 @@
-         ) return boolean {
-             var boolean v_ret := false;
-             
--            select (p_region.region_type) {
-+//FIXME RGY valeuof is missing: argument of select case is Expression (see $19.3.1)
-+//            select (p_region.region_type) {
-+            select (valueof(p_region.region_type)) {
-                 case (e_none) {
-                     v_ret := true;
-                 }
-                 case (e_circle) {
--                    v_ret := f_isLocationInsideCircularRegion(p_region.region.circular_region, p_location);
-+                    v_ret := f_isLocationInsideCircularRegion(valueof(p_region.region.circular_region), p_location);
-                 }
-                 case (e_rectangle) {
--                    v_ret := f_isLocationInsideRectangularRegion(p_region.region.rectangular_region, p_location);
-+                    v_ret := f_isLocationInsideRectangularRegion(valueof(p_region.region.rectangular_region), p_location);
-                 }
-                 case (e_polygon) {
--                    v_ret := f_isLocationInsidePolygonalRegion(p_region.region.polygonal_region, p_location);
-+                    v_ret := f_isLocationInsidePolygonalRegion(valueof(p_region.region.polygonal_region), p_location);
-                 }
-                 case (e_id) {
--                    v_ret := f_isLocationInsideIdentifiedRegion(p_region.region.id_region, p_location);
-+                    v_ret := f_isLocationInsideIdentifiedRegion(valueof(p_region.region.id_region), p_location);
-                 }
-                 case else {
--                    v_ret := f_isLocationInsideOtherRegion(p_region.region.other_region, p_location);
-+                    v_ret := f_isLocationInsideOtherRegion(valueof(p_region.region.other_region), p_location);
-                 }
-             }
-             
-Index: Security/LibItsSecurity_Templates.ttcn3
-===================================================================
---- Security/LibItsSecurity_Templates.ttcn3	(revision 1312)
-+++ Security/LibItsSecurity_Templates.ttcn3	(working copy)
-@@ -42,7 +42,9 @@
-          * @desc Its AID for Other
-          * @see Draft ETSI TS 103 097 V1.1.14 Clause 7.3 Security profile for DENMs
-          */
--        const IntX c_its_aid_Other := PX_OTHER_ITS_AID;
-+//FIXME RGY definition type is changed to modulepar, as Titan doesn't support dynamic constants
-+//        const IntX c_its_aid_Other := PX_OTHER_ITS_AID;
-+        template IntX c_its_aid_Other := PX_OTHER_ITS_AID;
-         
-         /**
-          * @desc Minimal value of Longitude
-@@ -2596,11 +2598,11 @@
-         template (value) ToBeSignedCertificate m_toBeSignedCertificate(
-                                                                        in template (value) Certificate p_certificate
-         ) := {
--            version                 := p_certificate.version, 
--            signer_info             := p_certificate.signer_info,
--            subject_info            := p_certificate.subject_info,
--            subject_attributes      := p_certificate.subject_attributes,
--            validity_restrictions   := p_certificate.validity_restrictions
-+            version                 := valueof(p_certificate.version), 
-+            signer_info             := valueof(p_certificate.signer_info),
-+            subject_info            := valueof(p_certificate.subject_info),
-+            subject_attributes      := valueof(p_certificate.subject_attributes),
-+            validity_restrictions   := valueof(p_certificate.validity_restrictions)
-         } // End of template m_toBeSignedCertificate
-         
-     } // End of group profileCertificates
-Index: SremSsem/LibItsSremSsem_Functions.ttcn
-===================================================================
---- SremSsem/LibItsSremSsem_Functions.ttcn	(revision 1312)
-+++ SremSsem/LibItsSremSsem_Functions.ttcn	(working copy)
-@@ -18,7 +18,7 @@
-     
-     // LibIts
-     import from ITS_Container language "ASN.1:1997" all;
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-     
-     // LibItsCommon
-     import from LibItsCommon_TypesAndValues all;
-@@ -256,9 +256,10 @@
-          * @desc    Setups default configuration   
-          * @param   p_certificateId The certificate identifier the TA shall use in case of secured IUT
-          */
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-         function f_cfUp(
-                         in charstring p_certificateId := PX_CERT_FOR_TS
--        )  runs on ItsSremSsem system ItsSremSsemSystem {
-+        )  runs on ItsSremSsem /*system ItsSremSsemSystem*/ {
-             
-             map(self:acPort, system:acPort);
-             map(self:utPort, system:utPort);
-@@ -279,7 +280,8 @@
-         /**
-          * @desc    Deletes default configuration 
-          */
--        function f_cfDown() runs on ItsSremSsem system ItsSremSsemSystem {
-+//FIXME RGY Titan doesn't support mtc and system clauses yet
-+        function f_cfDown() runs on ItsSremSsem /*system ItsSremSsemSystem*/ {
-             
-             // Initialise secured mode
-             f_uninitialiseSecuredMode();
-Index: SremSsem/LibItsSremSsem_Pixits.ttcn
-===================================================================
---- SremSsem/LibItsSremSsem_Pixits.ttcn	(revision 1312)
-+++ SremSsem/LibItsSremSsem_Pixits.ttcn	(working copy)
-@@ -16,7 +16,7 @@
-     import from LibCommon_BasicTypesAndValues all;
-     
-     // LibIts
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-     
-     // LibItsSremSsem
-     import from LibItsSremSsem_TypesAndValues all;
-Index: SremSsem/LibItsSremSsem_Templates.ttcn
-===================================================================
---- SremSsem/LibItsSremSsem_Templates.ttcn	(revision 1312)
-+++ SremSsem/LibItsSremSsem_Templates.ttcn	(working copy)
-@@ -19,11 +19,12 @@
-     import from ITS_Container language "ASN.1:1997" all;
-     import from SREM_PDU_Descriptions language "ASN.1:1997" all;
-     import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-     
-     // LibItsCommon
-     import from LibItsCommon_TypesAndValues all;
-     import from LibItsCommon_Functions all;
-+    import from LibItsCommon_ASN1_NamedNumbers all;
-     
-     // LibItsSremSsem
-     import from LibItsSremSsem_TestSystem all;
-@@ -91,7 +92,9 @@
-          * @param   p_btpDestinationPort    BTP destination port value
-          * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
-          */
--        template SremInd mw_sremIndWithBtpParameters(
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//        template SremInd mw_sremIndWithBtpParameters(
-+        template(present) SremInd mw_sremIndWithBtpParameters(
-                                                       template (present) SREM p_sremMsg,
-                                                       in template UInt16 p_btpDestinationPort := *,
-                                                       in template UInt16 p_btpInfo := *
-@@ -140,6 +143,7 @@
-             gnTrafficClass      := *,
-             btpDestinationPort  := *,
-             btpInfo             := *,
-+            ssp                 := *,
-             its_aid             := * 
-         };
- 
-@@ -173,7 +177,9 @@
-          * @param   p_btpDestinationPort    BTP destination port value
-          * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
-          */
--        template SsemInd mw_ssemIndWithBtpParameters(
-+//FIXME RGY template should be (present), no omit is assigned to it as a whole; Titan currently requires that the modified templte has at least the same restirction as the base
-+//        template SsemInd mw_ssemIndWithBtpParameters(
-+        template(present) SsemInd mw_ssemIndWithBtpParameters(
-                                                      template (present) SSEM p_ssemMsg,
-                                                      template UInt16 p_btpDestinationPort := *,
-                                                      template UInt16 p_btpInfo := *
-@@ -375,19 +381,21 @@
-                     second          := PX_SECOND,
-                     sequenceNumber  := omit,
-                     requests        := { 
--                        m_signalRequestPackage(
--                            m_signalRequest(
--                                m_intersectionReferenceID,
--                                1,
--                                priorityRequestTypeReserved,
--                                { lane := 1 }
--                    )) },
--                    requestor       := m_requestorDescription(m_vehicleID(f_getIutStationId())),
-+                        valueof(
-+                            m_signalRequestPackage(
-+                                valueof(
-+                                    m_signalRequest(
-+                                        m_intersectionReferenceID,
-+                                        1,
-+                                        priorityRequestTypeReserved,
-+                                        { lane := 1 }
-+                    )))) },
-+                    requestor       := valueof(m_requestorDescription(m_vehicleID(f_getIutStationId()))),
-                     regional        := omit
-                 }
-                 
-                 template (value) SignalRequestPackage m_signalRequestPackage(
--                                                                            in template (value) SignalRequest p_request
-+                                                                             in template (value) SignalRequest p_request
-                 ) := {
-                     request     := p_request,
-                     minute      := omit,
-Index: SremSsem/LibItsSremSsem_TestSystem.ttcn
-===================================================================
---- SremSsem/LibItsSremSsem_TestSystem.ttcn	(revision 1312)
-+++ SremSsem/LibItsSremSsem_TestSystem.ttcn	(working copy)
-@@ -39,7 +39,9 @@
-             out
-                 AcSecPrimitive;
-             in
--                AcSecResponse;
-+//FIXME RGY as discussed booelan responses are replaced by union of responses
-+//                AcSecResponse;
-+                  AdapterControlResults
-         } // end AdapterControlPort
-         
-         /**
-@@ -49,7 +51,9 @@
-             out 
-                 UtInitialize, UtSremTrigger, UtSremUpdate;
-             in 
--                UtInitializeResult, UtSremTriggerResult, UtSremUpdateResult, UtSremEventInd , UtSsemEventInd;
-+//FIXME RGY as discussed, boolean results are replaced by union of booleans
-+//                UtInitializeResult, UtSremTriggerResult, UtSremUpdateResult, UtSremEventInd , UtSsemEventInd;
-+                UtCommonResults, UtSremResults, UtSremUpdateResult, UtSremEventInd , UtSsemEventInd;
-         } // end UpperTesterPort
- 
-     } // end portDefinitions
-Index: SremSsem/LibItsSremSsem_TypesAndValues.ttcn
-===================================================================
---- SremSsem/LibItsSremSsem_TypesAndValues.ttcn	(revision 1312)
-+++ SremSsem/LibItsSremSsem_TypesAndValues.ttcn	(working copy)
-@@ -19,7 +19,7 @@
-     import from ITS_Container language "ASN.1:1997" all;
-     import from SREM_PDU_Descriptions language "ASN.1:1997" all;
-     import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
--    import from DSRC language "ASN.1:1997" all;
-+    import from IS_DSRC language "ASN.1:1997" all;
-     
-     // LibItsCommon
-     import from LibItsCommon_TypesAndValues all;
-@@ -42,7 +42,13 @@
-         /**
-          * @desc Upper Tester result message of request of triggering of an event at IUT 
-          */
--        type boolean UtSremTriggerResult;
-+//FIXME RGY as discussed, boolean results are replaced by unions
-+        type union UtSremResults {
-+          boolean utSremTriggerResult,
-+          boolean utSremUpdateResult
-+        }
-+//        type UtSremResults.utSremTriggerResult UtSremTriggerResult;
-+        type UtSremResults.utSremTriggerResult UtSremTriggerResult;
-         
-         /**
-          * @desc Upper Tester message to request updating of an event at IUT 
-@@ -55,7 +61,9 @@
-         /**
-          * @desc Upper Tester result message of request of triggering of an event at IUT 
-          */
--        type boolean UtSremUpdateResult;
-+//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes   
-+//        type boolean UtSremUpdateResult;
-+        type UtSremResults.utSremUpdateResult UtSremUpdateResult;
-         
-         /**
-          * @desc Upper Tester message to check event/status at IUT 
-Index: V2G/LibItsV2G_Templates.ttcn
-===================================================================
---- V2G/LibItsV2G_Templates.ttcn	(revision 1312)
-+++ V2G/LibItsV2G_Templates.ttcn	(working copy)
-@@ -7,18 +7,22 @@
-  */
- module LibItsV2G_Templates {
-     
--    // LibCommon
--    import from LibCommon_BasicTypesAndValues all;
--    import from LibCommon_DataStrings all;
-- 
--	// LibIts
-+    // LibCommon
-+    import from LibCommon_BasicTypesAndValues all;
-+    import from LibCommon_DataStrings all;
-+    
-+    // LibItsCommon
-+    import from LibItsCommon_ASN1_NamedNumbers all;
-+    
-+	// LibItsV2G
-     import from LibItsV2G_TestSystem all;
-     import from LibItsV2G_TypesAndValues all;
-     import from LibItsV2G_Pixits all;
-+    import from LibItsV2G_TypeAliases all;
-     
-     //XSD
--    import from iso_15118_2_2010_MsgDef all;
--    import from iso_15118_2_2010_MsgDataTypes all;
-+    import from urn_iso_15118_2_2010_MsgDef all;
-+    import from urn_iso_15118_2_2010_MsgDataTypes all;
-         
-     group v2gPrimitivesTemplates {
- 
-@@ -26,8 +30,8 @@
-     
-         group utPrimitives {
-             
--            /**
--             * @desc Initializes the V2G IUT. 
-+            /**
-+             * @desc Initializes the V2G IUT. 
-              */
-             template (value) UtInitialize m_v2gInitialize := {
-                 utV2Ginitialize := {
-@@ -38,7 +42,9 @@
-              * @desc Upper Tester template for checking that V2G payload has been transmitted to upper layer
-              * @param p_payload Payload to be checked
-              */
--            template (value) UtEvent m_checkPayload(in V2G_Message.Body p_body) := {
-+//FIXME RGY by standard conversion all field names are lowercase
-+//            template (value) UtEvent m_checkPayload(in V2G_Message.Body p_body) := {
-+            template (value) UtEvent m_checkPayload(in V2G_Message.body p_body) := {
-                 utV2Gevent := {
-                     v2gBody := p_body
-                 }
-@@ -92,6 +98,7 @@
- 		*/
- 	   template V2G_Message mw_v2gMsg_sessionRequest (in template (present) sessionIDType_TYPE p_sId,
- 	     in template (present) evccIDType_TYPE p_evccId ):= {
-+/*FIXME RGY by standard conversion all field names are lowercase
- 		   Header := {
- 			   SessionID := p_sId,
- 			   Notification := omit,
-@@ -99,6 +106,14 @@
- 		   },
- 		   Body := {
- 			   BodyElement := omit//p_evccId
-+*/
-+		   header := {
-+			   sessionID := p_sId,
-+			   notification := omit,
-+			   signature_ := omit
-+		   },
-+		   body := {
-+			   bodyElement := omit//p_evccId
- 			   }
- 		   }
- 
-Index: V2G/LibItsV2G_TestSystem.ttcn
-===================================================================
---- V2G/LibItsV2G_TestSystem.ttcn	(revision 1312)
-+++ V2G/LibItsV2G_TestSystem.ttcn	(working copy)
-@@ -16,8 +16,10 @@
-     import from LibItsV2G_TypesAndValues all;
-     
-     //XSD
--    import from iso_15118_2_2010_MsgDef all;
--	import from iso_15118_2_2010_MsgDataTypes all;
-+    import from urn_iso_15118_2_2010_MsgDef all;
-+	import from urn_iso_15118_2_2010_MsgDataTypes all;
-+
-+    import from V2G_typeAliases all;
-     
-     group portDefinitions {
-     
-Index: V2G/LibItsV2G_TypesAndValues.ttcn
-===================================================================
---- V2G/LibItsV2G_TypesAndValues.ttcn	(revision 1312)
-+++ V2G/LibItsV2G_TypesAndValues.ttcn	(working copy)
-@@ -13,84 +13,85 @@
-     
-     // LibIts
- 	//import from iso_15118_2_2010_MsgBody all; //language "XSD" all with {extension "File:V2G_CI_MsgBody.xsd" };
--	import from iso_15118_2_2010_AppProtocol all;//language "XSD" all with {extension "File:XSD/V2G_CI_AppProtocol.xsd" };
-+	import from urn_iso_15118_2_2010_AppProtocol all;//language "XSD" all with {extension "File:XSD/V2G_CI_AppProtocol.xsd" };
- 	//import from iso_15118_2_2010_MsgDataTypes all;//language "XSD" all with {extension "File:XSD/V2G_CI_MsgDataTypes.xsd" };
--	import from iso_15118_2_2010_MsgDef all;//language "XSD" all with {extension "File:XSD/V2G_CI_MsgDef.xsd" };
-+	import from urn_iso_15118_2_2010_MsgDef all;//language "XSD" all with {extension "File:XSD/V2G_CI_MsgDef.xsd" };
-+
- 	//import from iso_15118_2_2010_MsgHeader all;//language "XSD" all with {extension "File:XSD/V2G_CI_MsgHeader.xsd" };
- 	//import from org_w3_www__2000_09_xmldsig all;//language "XSD" all with {extension "File:XSD/xmldsig-core-schema.xsd" };
-     
-     group v2gPdus {
-      
--        group SDPMessages {
--
-+        group SDPMessages {
-+
- 			/**
- 	         * @desc SDP (Session Discovery Protocol) message description
- 	         */
- 	        type record Sdp_Message {
--	            Sdp_Header sdpHeader,
-+	            Sdp_Header sdpHeader,
- 				Sdp_Payload	sdpPayload
--	        }
-+	        }
- 		}
-     } // end v2gPdus
-     
-     group v2gHeaders {
--        
--		 group SDPMessages {
--
-+        
-+		 group SDPMessages {
-+
- 			 /**
- 	         * @desc SDP (Session Discovery Protocol) Header description 
- 	         */
--	        type record Sdp_Header {
--				Oct1 protocolVersion,
--				Oct1 inverseProtocolVersion,
--				Oct2 payloadType,
-+	        type record Sdp_Header {
-+				Oct1 protocolVersion,
-+				Oct1 inverseProtocolVersion,
-+				Oct2 payloadType,
- 				UInt16 payloadLength
--	        }
-+	        }
- 		 }
-              
-     } // end v2gHeaders
- 
--    group v2gPayload {
--
--		group SDPMessages {
--
-+    group v2gPayload {
-+
-+		group SDPMessages {
-+
- 			 /**
- 	         * @desc SDP (Session Discovery Protocol) Payload description 
- 	         */
--	         type union Sdp_Payload {
--				 Sdp_Request sdpRequest,
--				 Sdp_Response sdpResponse
--			 }
--
-+	         type union Sdp_Payload {
-+				 Sdp_Request sdpRequest,
-+				 Sdp_Response sdpResponse
-+			 }
-+
- 			 /**
- 	         * @desc SDP (Session Discovery Protocol) Request message description 
--	         */
--			 type record Sdp_Request
--			 {
--				Oct1 security,
--				Oct1 transportProtocol
--			 } 
--			 
-+	         */
-+			 type record Sdp_Request
-+			 {
-+				Oct1 security,
-+				Oct1 transportProtocol
-+			 } 
-+			 
- 			 /**
- 	         * @desc SDP (Session Discovery Protocol) Response message description 
--	         */
--			 type record Sdp_Response
--			 {
--				Ipv6Address seccIPAddress, // IPv6
--				UInt16 seccPort,
--				Oct1 security,
-+	         */
-+			 type record Sdp_Response
-+			 {
-+				Ipv6Address seccIPAddress, // IPv6
-+				UInt16 seccPort,
-+				Oct1 security,
- 				Oct1 transportProtocol
--	         }
-+	         }
- 		 }
-        
--    } //end v2gPayload
--
--	group IPAddress
--	{
--		/**
--         * @desc IPv6 Address
--         */
--        type Oct16 Ipv6Address;
-+    } //end v2gPayload
-+
-+	group IPAddress
-+	{
-+		/**
-+         * @desc IPv6 Address
-+         */
-+        type Oct16 Ipv6Address;
- 	} // end IPAddress
- 	
- 	group acPrimitives {
-@@ -180,42 +181,45 @@
-          * @desc Upper Tester message generating V2G message
-          */
-         type union UtV2Gevent {
--			V2G_Message.Header   v2gHeader,
--			V2G_Message.Body     v2gBody
-+//FIXME RGY by standard conversion all field names are lowercase
-+//            V2G_Message.Header   v2gHeader,
-+//            V2G_Message.Body     v2gBody
-+			V2G_Message.header   v2gHeader,
-+			V2G_Message.body     v2gBody
-         }
-         
-     } // end utPrimitives
--    
--	group sdpValues {
--
--		const Oct1 c_protocolVersion1 := '01'O;
--		const Oct1 c_inverseProtocolVersion1 := 'FE'O;
--
--		const Oct2 c_sdpRequestMessagePayloadType := '9000'O;
--		const Oct2 c_sdpResponseMessagePayloadType := '9001'O;
--
--		const UInt16 c_sdpRequestPayloadLength := 2;
--		const UInt16 c_sdpResponsePayloadLength := 18;
--
--		const Oct1 c_securedwithTLS := '00'O;
--		const Oct1 c_noTransportLayerSecurity := '10'O;
--
--		const Oct1 c_transportProtocolTCP := '00'O;
--		const Oct1 c_transportProtocolUDP := '10'O;
--
--		const UInt16 c_V2G_UDP_SDP_SERVER := 15118;
--
--		const integer c_maxNbrSdpRequestRetrans := 4;
--		const integer c_maxNbrConsecutiveSdpRequest := 5;
--
--	} // end sdpValues
--
--	group timerTimeouts
--	{
--		const float c_v2g_seccSequenceTimeout  := 60.0;
--		const float c_v2g_evccSequenceTimeout  := 40.0;
--
--		const float c_v2g_sdpRetransmissionTimeout := 0.25;
-+    
-+	group sdpValues {
-+
-+		const Oct1 c_protocolVersion1 := '01'O;
-+		const Oct1 c_inverseProtocolVersion1 := 'FE'O;
-+
-+		const Oct2 c_sdpRequestMessagePayloadType := '9000'O;
-+		const Oct2 c_sdpResponseMessagePayloadType := '9001'O;
-+
-+		const UInt16 c_sdpRequestPayloadLength := 2;
-+		const UInt16 c_sdpResponsePayloadLength := 18;
-+
-+		const Oct1 c_securedwithTLS := '00'O;
-+		const Oct1 c_noTransportLayerSecurity := '10'O;
-+
-+		const Oct1 c_transportProtocolTCP := '00'O;
-+		const Oct1 c_transportProtocolUDP := '10'O;
-+
-+		const UInt16 c_V2G_UDP_SDP_SERVER := 15118;
-+
-+		const integer c_maxNbrSdpRequestRetrans := 4;
-+		const integer c_maxNbrConsecutiveSdpRequest := 5;
-+
-+	} // end sdpValues
-+
-+	group timerTimeouts
-+	{
-+		const float c_v2g_seccSequenceTimeout  := 60.0;
-+		const float c_v2g_evccSequenceTimeout  := 40.0;
-+
-+		const float c_v2g_sdpRetransmissionTimeout := 0.25;
- 	}
- }
- with {
diff --git a/patches/titanization_ta_codec.patch b/patches/titanization_ta_codec.patch
deleted file mode 100644
index 5a5a95d0a414c9b97e516075fd379ede7bb4f272..0000000000000000000000000000000000000000
--- a/patches/titanization_ta_codec.patch
+++ /dev/null
@@ -1,23766 +0,0 @@
-Index: EncDec/LibItsBtp_EncdecDeclarations.cc
-===================================================================
---- EncDec/LibItsBtp_EncdecDeclarations.cc	(nonexistent)
-+++ EncDec/LibItsBtp_EncdecDeclarations.cc	(working copy)
-@@ -0,0 +1,25 @@
-+#include "LibItsBtp_EncdecDeclarations.hh"
-+
-+namespace LibItsBtp__EncdecDeclarations {
-+/****************************************************
-+ * @desc    External function to encode a BtpPayload type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__BtpPayload(const LibItsBtp__TypesAndValues::BtpPayload& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a BtpPayload type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016)
-+INTEGER fx__dec__BtpPayload(BITSTRING& b, LibItsBtp__TypesAndValues::BtpPayload& p)
-+{
-+  return -1;
-+}
-+*/
-+} //end namespace
-Index: EncDec/LibItsCam_EncdecDeclarations.cc
-===================================================================
---- EncDec/LibItsCam_EncdecDeclarations.cc	(nonexistent)
-+++ EncDec/LibItsCam_EncdecDeclarations.cc	(working copy)
-@@ -0,0 +1,39 @@
-+#include "LibItsCam_EncdecDeclarations.hh"
-+
-+namespace LibItsBtp__EncdecDeclarations {
-+/****************************************************
-+ * @desc    External function to encode a CamReq type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__CamReq(const LibItsCam__TestSystem::CamReq& p)
-+{
-+  //set error behavior
-+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING);
-+
-+  TTCN_Buffer TTCN_buf;
-+  TTCN_buf.clear();
-+
-+//encode message in BER (CER variant, but can be any)
-+  p.msgOut().encode(CAM__PDU__Descriptions::CAM_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER);
-+
-+  OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data());
-+
-+//insert BER2PER recoding here!
-+
-+  return oct2bit(encodedData);
-+}
-+
-+
-+/****************************************************
-+ * @desc    External function to decode a DenmReq type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016)
-+INTEGER fx__dec__CamReq(BITSTRING& b, LibItsCam__TestSystem::CamReq& p)
-+{
-+  return -1;
-+}
-+*/
-+} //end namespace
-Index: EncDec/LibItsDenm_EncdecDeclarations.cc
-===================================================================
---- EncDec/LibItsDenm_EncdecDeclarations.cc	(nonexistent)
-+++ EncDec/LibItsDenm_EncdecDeclarations.cc	(working copy)
-@@ -0,0 +1,38 @@
-+#include "LibItsDenm_EncdecDeclarations.hh"
-+
-+namespace LibItsDenm__EncdecDeclarations {
-+/****************************************************
-+ * @desc    External function to encode a DenmReq type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__DenmReq(const LibItsDenm__TestSystem::DenmReq& p)
-+{
-+  //set error behavior
-+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING);
-+
-+  TTCN_Buffer TTCN_buf;
-+  TTCN_buf.clear();
-+
-+//encode message in BER (CER variant, but can be any)
-+  p.msgOut().encode(DENM__PDU__Descriptions::DENM_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER);
-+
-+  OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data());
-+
-+//insert BER2PER recoding here!
-+
-+  return oct2bit(encodedData);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a DenmReq type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+/* function not needed yet, decvalue() is not used in TTCN-3 code
-+INTEGER fx__dec__DenmReq(BITSTRING& b, LibItsDenm__TestSystem::DenmReq& p)
-+{
-+  return -1
-+}
-+*/
-+} //end namespace
-Index: EncDec/LibItsEvcsn_EncdecDeclarations.cc
-===================================================================
---- EncDec/LibItsEvcsn_EncdecDeclarations.cc	(nonexistent)
-+++ EncDec/LibItsEvcsn_EncdecDeclarations.cc	(working copy)
-@@ -0,0 +1,39 @@
-+#include "LibItsEvcsn_encdecDeclarations.hh"
-+
-+namespace LibItsEvcsn__encdecDeclarations {
-+/****************************************************
-+ * @desc    External function to encode a EvcsnReq type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__EvcsnReq(const LibItsEvcsn__TestSystem::EvcsnReq& p)
-+{
-+  //set error behavior
-+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING);
-+
-+  TTCN_Buffer TTCN_buf;
-+  TTCN_buf.clear();
-+
-+//encode message in BER (CER variant, but can be any)
-+  p.msgOut().encode(EVCSN__PDU__Descriptions::EvcsnPdu_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER);
-+
-+  OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data());
-+
-+//insert BER2PER recoding here!
-+
-+  return oct2bit(encodedData);
-+}
-+
-+
-+/****************************************************
-+ * @desc    External function to decode a DenmReq type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016)
-+INTEGER fx__dec__EvcsnReq(BITSTRING& b, LibItsEvcsn__TestSystem::EvcsnReq& p)
-+{
-+  return -1;
-+}
-+*/
-+} //end namespace
-Index: EncDec/LibItsGeoNetworking_EncdecDeclarations.cc
-===================================================================
---- EncDec/LibItsGeoNetworking_EncdecDeclarations.cc	(nonexistent)
-+++ EncDec/LibItsGeoNetworking_EncdecDeclarations.cc	(working copy)
-@@ -0,0 +1,67 @@
-+#include "LibItsGeoNetworking_encdecDeclarations.hh"
-+
-+namespace LibItsGeoNetworking__encdecDeclarations {
-+/****************************************************
-+ * @desc    External function to encode a GeoNetworkingPdu type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__GeoNetworkingPdu(const LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a GeoNetworkingPdu type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+
-+INTEGER fx__dec__GeoNetworkingPdu(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p)
-+{
-+  return -1;
-+}
-+
-+/****************************************************
-+ * @desc    External function to encode a Payload type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__Payload(const LibItsGeoNetworking__TypesAndValues::Payload& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a Payload type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+
-+INTEGER fx__dec__Payload(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::Payload& p)
-+{
-+  return -1;
-+}
-+
-+/****************************************************
-+ * @desc    External function to encode a GnNonSecuredPacket type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__GnNonSecuredPacket(const LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a GnNonSecuredPacket type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+
-+INTEGER fx__dec__GnNonSecuredPacket(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p)
-+{
-+  return -1;
-+}
-+
-+} //end namespace
-Index: EncDec/LibItsSecurity_EncdecDeclarations.cc
-===================================================================
---- EncDec/LibItsSecurity_EncdecDeclarations.cc	(nonexistent)
-+++ EncDec/LibItsSecurity_EncdecDeclarations.cc	(working copy)
-@@ -0,0 +1,88 @@
-+#include "LibItsSecurity_EncdecDeclarations.hh"
-+
-+namespace LibItsSecurity__EncdecDeclarations {
-+/****************************************************
-+ * @desc    External function to encode a SecuredMessage type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__SecuredMessage(const LibItsSecurity__TypesAndValues::SecuredMessage& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a SecuredMessage type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+
-+INTEGER fx__dec__SecuredMessage(BITSTRING& b, LibItsSecurity__TypesAndValues::SecuredMessage& p)
-+{
-+  return -1;
-+}
-+
-+/****************************************************
-+ * @desc    External function to encode a ToBeSignedSecuredMessage type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__ToBeSignedSecuredMessage(const LibItsSecurity__TypesAndValues::ToBeSignedSecuredMessage& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a ToBeSignedSecuredMessage type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+
-+INTEGER fx__dec__ToBeSignedSecuredMessage(BITSTRING& b, LibItsSecurity__TypesAndValues::ToBeSignedSecuredMessage& p)
-+{
-+  return -1;
-+}
-+
-+/****************************************************
-+ * @desc    External function to encode a Certificate type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__Certificate(const LibItsSecurity__TypesAndValues::Certificate& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a Certificate type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+
-+INTEGER fx__dec__Certificate(BITSTRING& b, LibItsSecurity__TypesAndValues::Certificate& p)
-+{
-+  return -1;
-+}
-+
-+/****************************************************
-+ * @desc    External function to encode a ToBeSignedCertificate type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+BITSTRING fx__enc__ToBeSignedCertificate(const LibItsSecurity__TypesAndValues::ToBeSignedCertificate& p)
-+{
-+  return int2bit(0,8);
-+}
-+
-+/****************************************************
-+ * @desc    External function to decode a ToBeSignedCertificate type
-+ * @param   value to encode
-+ * @return  encoded value
-+ ****************************************************/
-+/*
-+INTEGER fx__dec__ToBeSignedCertificate(BITSTRING& b, LibItsSecurity__TypesAndValues::ToBeSignedCertificate& p)
-+{
-+  return -1;
-+}
-+*/
-+} //end namespace
-Index: Externals/LibItsCommon_externals.cc
-===================================================================
---- Externals/LibItsCommon_externals.cc	(nonexistent)
-+++ Externals/LibItsCommon_externals.cc	(working copy)
-@@ -0,0 +1,95 @@
-+#include "LibItsCommon_Functions.hh"
-+//#include "ITS_Container.hh"
-+#include 
-+#include 
-+
-+namespace LibItsCommon__Functions 
-+{
-+
-+/*       * @desc    This external function gets the current time
-+         * @return  Timestamp - current time since 01/01/2014 in milliseconds
-+        fx_getCurrentTime() return TimestampIts;
-+*/
-+INTEGER fx__getCurrentTime(
-+) {
-+            unsigned long long timestamp2014 = 1356998400000;
-+            struct timeval tv;
-+            gettimeofday(&tv, NULL);
-+
-+            unsigned long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000;
-+
-+//    i.set_long_long_val(timestampNow - timestamp2014);
-+//    return i;
-+            return INTEGER(timestampNow - timestamp2014);
-+}
-+
-+/*       * @desc    External function to compute distance between two points
-+         * @param   p_latitudeA   Latitude of first point
-+         * @param   p_longitudeA  Longitude of first point
-+         * @param   p_latitudeB   Latitude of second point
-+         * @param   p_longitudeB  Longitude of second point
-+         * @return  Computed distance in meters
-+        fx_computeDistance(in Int32 p_latitudeA, in Int32 p_longitudeA, in Int32 p_latitudeB, in Int32 p_longitudeB) return float;
-+*/
-+FLOAT fx__computeDistance(
-+  const INTEGER& p__latitudeA,
-+  const INTEGER& p__longitudeA,
-+  const INTEGER& p__latitudeB,
-+  const INTEGER& p__longitudeB
-+) {
-+    double d_latA = ((int)p__latitudeA)/10000000.0;
-+    double d_latB = ((int)p__latitudeB)/10000000.0;
-+
-+    double d_lonA = ((int)p__longitudeA)/10000000.0;
-+    double d_lonB = ((int)p__longitudeB)/10000000.0;
-+
-+    double earth_radius = 6371000.0; //meters
-+
-+    double d_lat = (d_latB  - d_latA) *M_PI/180.0;
-+    double d_lon = (d_lonB - d_lonA)*M_PI/180.0;
-+  
-+    double a = sin(d_lat/2)*sin(d_lat/2) + cos(d_latA*M_PI/180.0)*cos(d_latB*M_PI/180.0)*sin(d_lon/2)*sin(d_lon/2);
-+    double c = 2*atan2(sqrt(a), sqrt(1-a));
-+
-+    return FLOAT(earth_radius*c);
-+
-+}
-+
-+/*       * @desc    External function to compute a position using a reference position, a distance and an orientation 
-+         * @param   p_iutLongPosVector  Reference position
-+         * @param   p_distance          Distance to the reference position (in meter)
-+         * @param   p_orientation       Direction of the computed position (0 to 359; 0 means North)
-+         * @param   p_latitude          Computed position's latitude
-+         * @param   p_longitude         Computed position's longitude
-+        fx_computePositionUsingDistance(in Int32 p_refLatitude,in Int32 p_refLongitude,in float p_distance,in integer p_orientation,out Int32 p_latitude,out Int32 p_longitude);
-+*/
-+void fx__computePositionUsingDistance(
-+  const INTEGER& p__refLatitude,
-+  const INTEGER& p__refLongitude,
-+  const FLOAT& p__distance,
-+  const INTEGER& p__orientation,
-+  INTEGER& p__latitude,
-+  INTEGER& p__longitude
-+) {
-+    double distance = p__distance/6371000.0;
-+    double angle = p__orientation*M_PI/180.0;
-+
-+    double ref_lat = p__refLatitude*M_PI/180.0;
-+    double ref_lon = p__refLongitude*M_PI/180.0;
-+
-+    p__latitude = asin(sin(ref_lat)*cos(distance) + cos(ref_lat)*sin(distance)*cos(angle))*180/M_PI;
-+    p__longitude = p__refLongitude + atan2(sin(angle)*sin(distance)*cos(ref_lat), cos(distance) - sin(ref_lat)*sin(p__latitude))*180/M_PI;
-+}
-+
-+/*       * @desc    External function to compute radius of a given circular area
-+         * @param   p_squareMeters  Square meters of an circular area
-+         * @return  Computed radius in meters
-+        fx_computeRadiusFromCircularArea(in float p_squareMeters) return float;
-+*/
-+FLOAT fx__computeRadiusFromCircularArea(
-+  const FLOAT& p__squareMeters
-+) {
-+    return FLOAT(sqrt(p__squareMeters/M_PI));
-+}
-+
-+} // end of Namespace
-Index: Externals/LibItsDcc_externals.cc
-===================================================================
---- Externals/LibItsDcc_externals.cc	(nonexistent)
-+++ Externals/LibItsDcc_externals.cc	(working copy)
-@@ -0,0 +1,12 @@
-+#include "LibItsDcc_Functions.hh"
-+
-+namespace LibItsDcc__Functions 
-+{
-+/*       * @desc Returns the string representation of the float value
-+         * @param p_float The float value
-+         * @return The string representation of the float value
-+        fx_float2str(float p_float) return charstring;
-+*/
-+//RGY no C++ implementation is needed, Titan supports this function natively
-+
-+} // end of namespace
-Index: Externals/LibItsGeoNetworking_externals.cc
-===================================================================
---- Externals/LibItsGeoNetworking_externals.cc	(nonexistent)
-+++ Externals/LibItsGeoNetworking_externals.cc	(working copy)
-@@ -0,0 +1,24 @@
-+#include "LibItsGeoNetworking_Functions.hh"
-+#include 
-+#include 
-+
-+namespace LibItsGeoNetworking__Functions
-+{
-+/*       * @desc    External function to compute timestamp based on current time
-+         * @return  Unix-Epoch-Time mod 2^32
-+        fx_computeGnTimestamp() return UInt32;
-+*/
-+INTEGER fx__computeGnTimestamp(
-+) {
-+			struct timeval tv;
-+			gettimeofday(&tv, NULL);
-+
-+//			unsigned long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000;
-+    long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000;
-+    INTEGER i = INTEGER();
-+    i.set_long_long_val(timestampNow % 4294967296);
-+//			return INTEGER(timestampNow % 4294967296);
-+    return i;
-+}
-+
-+} //end namespace
-Index: Externals/LibItsIpv6OverGeoNetworking_externals.cc
-===================================================================
---- Externals/LibItsIpv6OverGeoNetworking_externals.cc	(nonexistent)
-+++ Externals/LibItsIpv6OverGeoNetworking_externals.cc	(working copy)
-@@ -0,0 +1,58 @@
-+#include "LibItsIpv6OverGeoNetworking_Functions.hh"
-+#include 
-+#include 
-+
-+namespace LibItsIpv6OverGeoNetworking__Functions
-+{
-+/*       * @desc    Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3
-+         * @param   p_sourceAddress         Source address, 
-+         * @param   p_destinationAddress    Destination address
-+         * @param   p_payloadLength         Upper-Layer Packet Length
-+         * @param   p_payload               Upper-Layer payload
-+         * @param   p_nextHdr               Next header value (e.g. 0x3a for ICMPv6)
-+         * @return  The checksum value
-+         * 
-+         * Pseudo header is defined by RFC 2460 - Clause 8.1
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +                         Source Address                        +
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +                      Destination Address                      +
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                   Upper-Layer Packet Length                   |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                      zero                     |  Next Header  |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         * 
-+ external function fx_computeIPv6CheckSum( -+ in template (value) Ipv6Address p_sourceAddress, -+ in template (value) Ipv6Address p_destinationAddress, -+ in template (value) integer p_payloadLength, -+ in template (value) octetstring p_payload, -+ in template (value) UInt8 p_nextHdr -+ ) return Oct2; -+*/ -+ -+OCTETSTRING fx__computeIPv6CheckSum( -+ const OCTETSTRING_template& p__sourceAddress, -+ const OCTETSTRING_template& p__destinationAddress, -+ const INTEGER_template& p__payloadLength, -+ const OCTETSTRING_template& p__payload, -+ const INTEGER_template& p__nextHdr -+) { -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+} //end namespace -Index: Externals/LibItsMapemSpatem_externals.cc -=================================================================== ---- Externals/LibItsMapemSpatem_externals.cc (nonexistent) -+++ Externals/LibItsMapemSpatem_externals.cc (working copy) -@@ -0,0 +1,18 @@ -+#include "LibItsMapemSpatem_externals.hh" -+#include -+#include -+ -+namespace LibItsMapemSpatem__externals -+{ -+/*FIXME RGY @desc sounds like a copy-paste, not as the real purpose of the function -+ * @desc External function to compute distance between two points -+ * @param p_rawData Octetstring to analyse -+ * @return true or false according to the check -+ fx_checkUperEncoding ( in RawData p_rawData ) return boolean; -+*/ -+BOOLEAN fx__checkUperEncoding(const OCTETSTRING& p__rawData) -+{ -+ return TRUE; -+} -+ -+} //end namespace -Index: Externals/LibItsSecurity_externals.cc -=================================================================== ---- Externals/LibItsSecurity_externals.cc (nonexistent) -+++ Externals/LibItsSecurity_externals.cc (working copy) -@@ -0,0 +1,302 @@ -+#include "LibItsSecurity_Functions.hh" -+ -+namespace LibItsSecurity__Functions -+{ -+// group signing -+/* * @desc Produces a 256-bit (32-byte) hash value -+ * @param p_toBeHashedData Data to be used to calculate the hash value -+ * @return The hash value -+ fx_hashWithSha256(in octetstring p_toBeHashedData) return Oct32; -+*/ -+OCTETSTRING fx__hashWithSha256( -+ const OCTETSTRING& p__toBeHashedData -+) { -+//RGY when implementing, look at TCC_Useful_functions/TCCSecurity_Functions -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+/* * @desc Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signaturee -+ * @param p_toBeSignedSecuredMessage The data to be signed -+ * @param p_privateKey The private key -+ * @return The signature value -+ fx_signWithEcdsaNistp256WithSha256(in octetstring p_toBeSignedSecuredMessage, in octetstring p_privateKey) return octetstring; -+*/ -+OCTETSTRING fx__signWithEcdsaNistp256WithSha256( -+ const OCTETSTRING& p__toBeSignedSecuredMessage, -+ const OCTETSTRING& p__privateKey -+) { -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+/* * @desc Verify the signature of the specified data -+ * @param p_toBeVerifiedData The data to be verified -+ * @param p_signature The signature -+ * @param p_ecdsaNistp256PublicKeyX The public key (x coordinate) -+ * @param p_ecdsaNistp256PublicKeyY The public key (y coordinate) -+ * @return true on success, false otherwise -+ fx_verifyWithEcdsaNistp256WithSha256(in octetstring p_toBeVerifiedData, in octetstring p_signature, in octetstring p_ecdsaNistp256PublicKeyX, in octetstring p_ecdsaNistp256PublicKeyY) return boolean; -+*/ -+BOOLEAN fx__verifyWithEcdsaNistp256WithSha256( -+ const OCTETSTRING& p__toBeVerifiedData, -+ const OCTETSTRING& p__signature, -+ const OCTETSTRING& p__ecdsaNistp256PublicKeyX, -+ const OCTETSTRING& p__ecdsaNistp256PublicKeyY -+) { -+ return TRUE; -+} -+ -+/* * @desc Produce a new public/private key pair based on Elliptic Curve Digital Signature Algorithm (ECDSA) algorithm. -+ * This function should not be used by the ATS -+ * @param p_privateKey The new private key value -+ * @param p_publicKeyX The new public key value (x coordinate) -+ * @param p_publicKeyX The new public key value (y coordinate) -+ * @return true on success, false otherwise -+ fx_generateKeyPair(out octetstring p_privateKey, out octetstring p_publicKeyX, out octetstring p_publicKeyY) return boolean; -+*/ -+BOOLEAN fx__generateKeyPair( -+ OCTETSTRING& p__privateKey, -+ OCTETSTRING& p__publicKeyX, -+ OCTETSTRING& p__publicKeyY -+) { -+ return TRUE; -+} -+ -+// group encryption -+ -+// group certificatesLoader -+ -+/* * @desc Load in memory cache the certificates available in the specified directory -+ * @param p_rootDirectory Root directory to access to the certificates identified by the certificate ID -+ * @param p_configId A configuration identifier -+ * @remark This method SHALL be call before any usage of certificates -+ * @return true on success, false otherwise -+ fx_loadCertificates(in charstring p_rootDirectory, in charstring p_configId) return boolean; -+*/ -+BOOLEAN fx__loadCertificates( -+ const CHARSTRING& p__rootDirectory, -+ const CHARSTRING& p__configId -+) { -+ return TRUE; -+} -+ -+/* * @desc Unload from memory cache the certificates -+ * @return true on success, false otherwise -+ fx_unloadCertificates() return boolean; -+*/ -+BOOLEAN fx__unloadCertificates( -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the specified certificate -+ * @param p_certificateId the certificate identifier -+ * @param p_certificate the expected certificate -+ * @return true on success, false otherwise -+ fx_readCertificate(in charstring p_certificateId, out octetstring p_certificate) return boolean; -+*/ -+BOOLEAN fx__readCertificate( -+ const CHARSTRING& p__certificateId, -+ OCTETSTRING& p__certificate -+) { -+ return TRUE; -+} -+ -+ -+/* * @desc Read the specified certificate digest -+ * @param p_certificateId the certificate identifier -+ * @param p_digest the expected certificate -+ * @return true on success, false otherwise -+ fx_readCertificateDigest(in charstring p_certificateId, out HashedId8 p_digest) return boolean; -+*/ -+BOOLEAN fx__readCertificateDigest( -+ const CHARSTRING& p__certificateId, -+ OCTETSTRING& p__digest -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the private keys for the specified certificate -+ * @param p_keysId the keys identifier -+ * @param p_signingPrivateKey the signing private key -+ * @return true on success, false otherwise -+ fx_readSigningKey(in charstring p_keysId, out Oct32 p_signingPrivateKey) return boolean; -+*/ -+BOOLEAN fx__readSigningKey( -+ const CHARSTRING& p__keysId, -+ OCTETSTRING& p__signingPrivateKey -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the private keys for the specified certificate -+ * @param p_keysId the keys identifier -+ * @param p_encryptPrivateKey the encrypt private key -+ * @return true on success, false otherwise -+ fx_readEncryptingKey(in charstring p_keysId, out Oct32 p_encryptingPrivateKey) return boolean; -+*/ -+BOOLEAN fx__readEncryptingKey( -+ const CHARSTRING& p__keysId, -+ OCTETSTRING& p__encryptingPrivateKey -+) { -+ return TRUE; -+} -+ -+// group geodesic -+ -+/* * @desc Check that given polygon doesn't have neither self-intersections nor holes. -+ * @param p_region Polygonal Region -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isValidPolygonalRegion(in PolygonalRegion p_region) return boolean; -+*/ -+BOOLEAN fx__isValidPolygonalRegion( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region -+) { -+ return TRUE; -+} -+ -+/* * @desc Check if a polygonal region is inside another one -+ * @param p_parent The main polygonal region -+ * @param p_region The polygonal region to be included -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isPolygonalRegionInside(in PolygonalRegion p_parent, in PolygonalRegion p_region) return boolean; -+*/ -+BOOLEAN fx__isPolygonalRegionInside( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__parent, -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a circular region -+ * @param p_region The circular region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideCircularRegion(in CircularRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideCircularRegion( -+ const LibItsSecurity__TypesAndValues::CircularRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a rectangular region -+ * @param p_region The rectangular region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideRectangularRegion(in RectangularRegions p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideRectangularRegion( -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a polygonal region -+ * @param p_region The polygonal region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsidePolygonalRegion(in PolygonalRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsidePolygonalRegion( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+ -+/* * @desc Check if the location is inside an identified region -+ * @param p_region The identified region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideIdentifiedRegion(in IdentifiedRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideIdentifiedRegion( -+ const LibItsSecurity__TypesAndValues::IdentifiedRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check if the location is inside an undefined region -+ * @param p_region The identified region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideOtherRegion(in octetstring p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideOtherRegion( -+ const OCTETSTRING& p_region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p_location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_circular_region_1 circular region is included into p_circular_region_2 circular region -+ * @param p_circular_region_1 Circular region 1 -+ * @param p_circular_region_2 Circular region 2 -+ * @return true on success, false otherwise -+ fx_areCirclesInside(in CircularRegion p_circular_region_1, in CircularRegion p_circular_region_2) return boolean; -+*/ -+BOOLEAN fx__areCirclesInside( -+ const LibItsSecurity__TypesAndValues::CircularRegion& p_circular_region_1, -+ const LibItsSecurity__TypesAndValues::CircularRegion& p_circular_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_rectanglar_region_1 rectangular region is included into p_rectanglar_region_2 rectangular region -+ * @param p_rectanglar_region_1 Rectangular region 1 -+ * @param p_rectanglar_region_2 Rectangular region 2 -+ * @return true on success, false otherwise -+ fx_areRectanglesInside(in RectangularRegions p_rectanglar_region_1, in RectangularRegions p_rectanglar_region_2) return boolean; -+*/ -+BOOLEAN fx__areRectanglesInside( -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p_rectanglar_region_1, -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p_rectanglar_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_polygonal_region_1 polygonal region is included into p_polygonal_region_2 polygonal region -+ * @param p_polygonal_region_1 Polygonal region 1 -+ * @param p_polygonal_region_2 Polygonal region 2 -+ * @return true on success, false otherwise -+ fx_arePolygonsInside(in PolygonalRegion p_polygonal_region_1, in PolygonalRegion p_polygonal_region_2) return boolean; -+*/ -+BOOLEAN fx__arePolygonsInside( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p_polygonal_region_1, -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p_polygonal_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Convert a spacial coordinate from DMS to Dms -+ * @param p_degrees The degrees (D) -+ * @param p_minutes The minutes (M) -+ * @param p_seconds The seconds (S) -+ * @param p_latlon The latitude/longitude: (N|S|E|W) -+ * @return The decimal coordinate on success, 0.0, otherwise -+ * @verdict Unchanged -+ fx_dms2dd(in Int p_degrees, in Int p_minutes, in float p_seconds, in Oct1 p_latlon) return float; -+*/ -+FLOAT fx__dms2dd( -+ const INTEGER& p__degrees, -+ const INTEGER& p__minutes, -+ const FLOAT& p__seconds, -+ const OCTETSTRING& p__latlon -+) { -+ return 0.0; -+} -+ -+} // end of namespace -Index: Ports/LibIts_ports/AdapterControlPort.cc -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.cc (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.cc (working copy) -@@ -0,0 +1,21 @@ -+#include "AdapterControlPort.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partC" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partC" -+#include "DENM_ports/AdapterControlPort_DENM.partC" -+#include "GN_ports/AdapterControlPort_GN.partC" -+#include "IVIM_ports/AdapterControlPort_IVIM.partC" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partC" -+#include "V2G_ports/AdapterControlPort_V2G.partC" -+*/ -+#include "AdapterControlPort_CAM.partC" -+#include "AdapterControlPort_DENM.partC" -+#include "AdapterControlPort_GN.partC" -+#include "AdapterControlPort_IVIM.partC" -+#include "AdapterControlPort_MapemSpatem.partC" -+#include "AdapterControlPort_SremSsem.partC" -+#include "AdapterControlPort_Evcsn.partC" -+//#include "AdapterControlPort_V2G.partC" -+ -Index: Ports/LibIts_ports/AdapterControlPort.hh -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.hh (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.hh (working copy) -@@ -0,0 +1,25 @@ -+#ifndef AdapterControlPort_HH -+#define AdapterControlPort_HH -+ -+//#include "TRI_mapper_API.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partH" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partH" -+#include "DENM_ports/AdapterControlPort_DENM.partH" -+#include "GN_ports/AdapterControlPort_GN.partH" -+#include "IVIM_ports/AdapterControlPort_IVIM.partH" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partH" -+#include "V2G_ports/AdapterControlPort_V2G.partH" -+*/ -+#include "AdapterControlPort_CAM.partH" -+#include "AdapterControlPort_DENM.partH" -+#include "AdapterControlPort_GN.partH" -+#include "AdapterControlPort_IVIM.partH" -+#include "AdapterControlPort_MapemSpatem.partH" -+#include "AdapterControlPort_SremSsem.partH" -+#include "AdapterControlPort_Evcsn.partH" -+//#include "AdapterControlPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/BtpPort.cc -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.cc (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "BtpPort.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+BtpPort::BtpPort(const char *par_port_name) -+ : BtpPort_BASE(par_port_name) -+{ -+ -+} -+ -+BtpPort::~BtpPort() -+{ -+ -+} -+ -+void BtpPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void BtpPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void BtpPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_start() -+{ -+ -+} -+ -+void BtpPort::user_stop() -+{ -+ -+} -+ -+void BtpPort::outgoing_send(const BtpReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/BTP_ports/BtpPort.hh -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.hh (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef BtpPort_HH -+#define BtpPort_HH -+ -+#include "LibItsBtp_TestSystem.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+class BtpPort : public BtpPort_BASE { -+public: -+ BtpPort(const char *par_port_name = NULL); -+ ~BtpPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const BtpReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsBtp__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsBtp_TestSystem.hh" -+namespace LibItsBtp__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/CAM_ports/CamPort.cc -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.cc (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CamPort.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+CamPort::CamPort(const char *par_port_name) -+ : CamPort_BASE(par_port_name) -+{ -+ -+} -+ -+CamPort::~CamPort() -+{ -+ -+} -+ -+void CamPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CamPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CamPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_start() -+{ -+ -+} -+ -+void CamPort::user_stop() -+{ -+ -+} -+ -+void CamPort::outgoing_send(const CamReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/CAM_ports/CamPort.hh -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.hh (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CamPort_HH -+#define CamPort_HH -+ -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class CamPort : public CamPort_BASE { -+public: -+ CamPort(const char *par_port_name = NULL); -+ ~CamPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const CamReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+namespace LibItsCam__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CheckPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+CheckPort::CheckPort(const char *par_port_name) -+ : CheckPort_BASE(par_port_name) -+{ -+ -+} -+ -+CheckPort::~CheckPort() -+{ -+ -+} -+ -+void CheckPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CheckPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CheckPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_start() -+{ -+ -+} -+ -+void CheckPort::user_stop() -+{ -+ -+} -+ -+void CheckPort::outgoing_send(const INTEGER& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CheckPort_HH -+#define CheckPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class CheckPort : public CheckPort_BASE { -+public: -+ CheckPort(const char *par_port_name = NULL); -+ ~CheckPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const INTEGER& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/InPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.cc (working copy) -@@ -0,0 +1,78 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "InPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+InPort::InPort(const char *par_port_name) -+ : InPort_BASE(par_port_name) -+{ -+ -+} -+ -+InPort::~InPort() -+{ -+ -+} -+ -+void InPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void InPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void InPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_start() -+{ -+ -+} -+ -+void InPort::user_stop() -+{ -+ -+} -+ -+void InPort::outgoing_send(const LibItsDcc__TypesAndValues::InReq& /*send_par*/) -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/InPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef InPort_HH -+#define InPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class InPort : public InPort_BASE { -+public: -+ InPort(const char *par_port_name = NULL); -+ ~InPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TypesAndValues::InReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/RrxPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.cc (working copy) -@@ -0,0 +1,73 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "RrxPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+RrxPort::RrxPort(const char *par_port_name) -+ : RrxPort_BASE(par_port_name) -+{ -+ -+} -+ -+RrxPort::~RrxPort() -+{ -+ -+} -+ -+void RrxPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void RrxPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void RrxPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_start() -+{ -+ -+} -+ -+void RrxPort::user_stop() -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/RrxPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.hh (working copy) -@@ -0,0 +1,43 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef RrxPort_HH -+#define RrxPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class RrxPort : public RrxPort_BASE { -+public: -+ RrxPort(const char *par_port_name = NULL); -+ ~RrxPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDcc__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsDcc_TestSystem.hh" -+namespace LibItsDcc__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/DENM_ports/DenmPort.cc -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.cc (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "DenmPort.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+DenmPort::DenmPort(const char *par_port_name) -+ : DenmPort_BASE(par_port_name) -+{ -+ -+} -+ -+DenmPort::~DenmPort() -+{ -+ -+} -+ -+void DenmPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void DenmPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void DenmPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_start() -+{ -+ -+} -+ -+void DenmPort::user_stop() -+{ -+ -+} -+ -+void DenmPort::outgoing_send(const DenmReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DENM_ports/DenmPort.hh -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.hh (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef DenmPort_HH -+#define DenmPort_HH -+ -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class DenmPort : public DenmPort_BASE { -+public: -+ DenmPort(const char *par_port_name = NULL); -+ ~DenmPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const DenmReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+namespace LibItsDenm__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "EvcsnPort.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+EvcsnPort::EvcsnPort(const char *par_port_name) -+ : EvcsnPort_BASE(par_port_name) -+{ -+ -+} -+ -+EvcsnPort::~EvcsnPort() -+{ -+ -+} -+ -+void EvcsnPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void EvcsnPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void EvcsnPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_start() -+{ -+ -+} -+ -+void EvcsnPort::user_stop() -+{ -+ -+} -+ -+void EvcsnPort::outgoing_send(const EvcsnReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef EvcsnPort_HH -+#define EvcsnPort_HH -+ -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class EvcsnPort : public EvcsnPort_BASE { -+public: -+ EvcsnPort(const char *par_port_name = NULL); -+ ~EvcsnPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const EvcsnReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+namespace LibItsEvcsn__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (working copy) -@@ -0,0 +1,81 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (working copy) -@@ -0,0 +1,38 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& send_par); -+ -+ void outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "GeoNetworkingPort.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+GeoNetworkingPort::GeoNetworkingPort(const char *par_port_name) -+ : GeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+GeoNetworkingPort::~GeoNetworkingPort() -+{ -+ -+} -+ -+void GeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void GeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void GeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void GeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void GeoNetworkingPort::outgoing_send(const GeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef GeoNetworkingPort_HH -+#define GeoNetworkingPort_HH -+ -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class GeoNetworkingPort : public GeoNetworkingPort_BASE { -+public: -+ GeoNetworkingPort(const char *par_port_name = NULL); -+ ~GeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const GeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+namespace LibItsGeoNetworking__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IPv6OverGeoNetworkingPort.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+IPv6OverGeoNetworkingPort::IPv6OverGeoNetworkingPort(const char *par_port_name) -+ : IPv6OverGeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+IPv6OverGeoNetworkingPort::~IPv6OverGeoNetworkingPort() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IPv6OverGeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::outgoing_send(const IPv6OverGeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IPv6OverGeoNetworkingPort_HH -+#define IPv6OverGeoNetworkingPort_HH -+ -+#include "LibItsIpv6OverGeoNetworking_TestSystem.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+class IPv6OverGeoNetworkingPort : public IPv6OverGeoNetworkingPort_BASE { -+public: -+ IPv6OverGeoNetworkingPort(const char *par_port_name = NULL); -+ ~IPv6OverGeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IPv6OverGeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.cc -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.cc (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IvimPort.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+IvimPort::IvimPort(const char *par_port_name) -+ : IvimPort_BASE(par_port_name) -+{ -+ -+} -+ -+IvimPort::~IvimPort() -+{ -+ -+} -+ -+void IvimPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IvimPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IvimPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_start() -+{ -+ -+} -+ -+void IvimPort::user_stop() -+{ -+ -+} -+ -+void IvimPort::outgoing_send(const IvimReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.hh -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.hh (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IvimPort_HH -+#define IvimPort_HH -+ -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class IvimPort : public IvimPort_BASE { -+public: -+ IvimPort(const char *par_port_name = NULL); -+ ~IvimPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IvimReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+namespace LibItsIvim__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapSpatPort.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+MapSpatPort::MapSpatPort(const char *par_port_name) -+ : MapSpatPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapSpatPort::~MapSpatPort() -+{ -+ -+} -+ -+void MapSpatPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapSpatPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapSpatPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_start() -+{ -+ -+} -+ -+void MapSpatPort::user_stop() -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const MapReq& /*send_par*/) -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const SpatReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapSpatPort_HH -+#define MapSpatPort_HH -+ -+#include "LibItsMapSpat_TestSystem.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+class MapSpatPort : public MapSpatPort_BASE { -+public: -+ MapSpatPort(const char *par_port_name = NULL); -+ ~MapSpatPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapReq& send_par); -+ void outgoing_send(const SpatReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapSpat__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (working copy) -@@ -0,0 +1,33 @@ -+//============================================================================= -+#include "LibItsMapSpat_TestSystem.hh" -+namespace LibItsMapSpat__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& send_par); -+}; -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapemSpatemPort.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+MapemSpatemPort::MapemSpatemPort(const char *par_port_name) -+ : MapemSpatemPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapemSpatemPort::~MapemSpatemPort() -+{ -+ -+} -+ -+void MapemSpatemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapemSpatemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapemSpatemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_start() -+{ -+ -+} -+ -+void MapemSpatemPort::user_stop() -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const MapemReq& /*send_par*/) -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const SpatemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (working copy) -@@ -0,0 +1,46 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapemSpatemPort_HH -+#define MapemSpatemPort_HH -+ -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class MapemSpatemPort : public MapemSpatemPort_BASE { -+public: -+ MapemSpatemPort(const char *par_port_name = NULL); -+ ~MapemSpatemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapemReq& send_par); -+ -+ void outgoing_send(const SpatemReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+namespace LibItsMapemSpatem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "SremSsemPort.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+SremSsemPort::SremSsemPort(const char *par_port_name) -+ : SremSsemPort_BASE(par_port_name) -+{ -+ -+} -+ -+SremSsemPort::~SremSsemPort() -+{ -+ -+} -+ -+void SremSsemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void SremSsemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void SremSsemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_start() -+{ -+ -+} -+ -+void SremSsemPort::user_stop() -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SremReq& /*send_par*/) -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SsemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (working copy) -@@ -0,0 +1,47 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef SremSsemPort_HH -+#define SremSsemPort_HH -+ -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class SremSsemPort : public SremSsemPort_BASE { -+public: -+ SremSsemPort(const char *par_port_name = NULL); -+ ~SremSsemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const SremReq& send_par); -+ -+ void outgoing_send(const SsemReq& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (working copy) -@@ -0,0 +1,78 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -+ -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+namespace LibItsSremSsem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/UpperTesterPort.cc -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.cc (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.cc (working copy) -@@ -0,0 +1,26 @@ -+#include "UpperTesterPort.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partC" -+#include "CAM_ports/UpperTesterPort_CAM.partC" -+#include "DCC_ports/UpperTesterPort_DCC.partC" -+#include "DENM_ports/UpperTesterPort_DENM.partC" -+#include "GN_ports/UpperTesterPort_GN.partC" -+#include "IVIM_ports/UpperTesterPort_IVIM.partC" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partC" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partC" -+#include "V2G_ports/UpperTesterPort_V2G.partC" -+*/ -+ -+#include "UpperTesterPort_BTP.partC" -+#include "UpperTesterPort_CAM.partC" -+//#include "UpperTesterPort_DCC.partC" -+#include "UpperTesterPort_DENM.partC" -+#include "UpperTesterPort_GN.partC" -+#include "UpperTesterPort_IVIM.partC" -+//#include "UpperTesterPort_MapSpat.partC" -+#include "UpperTesterPort_MapemSpatem.partC" -+#include "UpperTesterPort_SremSsem.partC" -+#include "UpperTesterPort_Evcsn.partC" -+//#include "UpperTesterPort_V2G.partC" -Index: Ports/LibIts_ports/UpperTesterPort.hh -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.hh (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.hh (working copy) -@@ -0,0 +1,32 @@ -+#ifndef UpperTesterPort_HH -+#define UpperTesterPort_HH -+ -+#include "LibItsCommon_TypesAndValues.hh" -+//#include "TRI_mapper_API.hh" -+//#include "TTCN_EncDec.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partH" -+#include "CAM_ports/UpperTesterPort_CAM.partH" -+#include "DCC_ports/UpperTesterPort_DCC.partH" -+#include "DENM_ports/UpperTesterPort_DENM.partH" -+#include "GN_ports/UpperTesterPort_GN.partH" -+#include "IVIM_ports/UpperTesterPort_IVIM.partH" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partH" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partH" -+#include "V2G_ports/UpperTesterPort_V2G.partH" -+*/ -+#include "UpperTesterPort_BTP.partH" -+#include "UpperTesterPort_CAM.partH" -+//#include "UpperTesterPort_DCC.partH" -+#include "UpperTesterPort_DENM.partH" -+#include "UpperTesterPort_GN.partH" -+#include "UpperTesterPort_IVIM.partH" -+//#include "UpperTesterPort_MapSpat.partH" -+#include "UpperTesterPort_MapemSpatem.partH" -+#include "UpperTesterPort_SremSsem.partH" -+#include "UpperTesterPort_Evcsn.partH" -+//#include "UpperTesterPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (working copy) -@@ -0,0 +1,30 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& send_par); -+}; -+ -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.cc -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.cc (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "V2Gport.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+V2Gport::V2Gport(const char *par_port_name) -+ : V2Gport_BASE(par_port_name) -+{ -+ -+} -+ -+V2Gport::~V2Gport() -+{ -+ -+} -+ -+void V2Gport::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void V2Gport::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void V2Gport::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_start() -+{ -+ -+} -+ -+void V2Gport::user_stop() -+{ -+ -+} -+ -+void V2Gport::outgoing_send(const V2Greq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.hh -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.hh (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef V2Gport_HH -+#define V2Gport_HH -+ -+#include "LibItsV2G_TestSystem.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+class V2Gport : public V2Gport_BASE { -+public: -+ V2Gport(const char *par_port_name = NULL); -+ ~V2Gport(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const V2Greq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: EncDec/LibItsBtp_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsBtp_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsBtp_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,25 @@ -+#include "LibItsBtp_EncdecDeclarations.hh" -+ -+namespace LibItsBtp__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a BtpPayload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__BtpPayload(const LibItsBtp__TypesAndValues::BtpPayload& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a BtpPayload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016) -+INTEGER fx__dec__BtpPayload(BITSTRING& b, LibItsBtp__TypesAndValues::BtpPayload& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsCam_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsCam_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsCam_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,39 @@ -+#include "LibItsCam_EncdecDeclarations.hh" -+ -+namespace LibItsBtp__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a CamReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__CamReq(const LibItsCam__TestSystem::CamReq& p) -+{ -+ //set error behavior -+ TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING); -+ -+ TTCN_Buffer TTCN_buf; -+ TTCN_buf.clear(); -+ -+//encode message in BER (CER variant, but can be any) -+ p.msgOut().encode(CAM__PDU__Descriptions::CAM_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER); -+ -+ OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data()); -+ -+//insert BER2PER recoding here! -+ -+ return oct2bit(encodedData); -+} -+ -+ -+/**************************************************** -+ * @desc External function to decode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016) -+INTEGER fx__dec__CamReq(BITSTRING& b, LibItsCam__TestSystem::CamReq& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsDenm_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsDenm_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsDenm_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,38 @@ -+#include "LibItsDenm_EncdecDeclarations.hh" -+ -+namespace LibItsDenm__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__DenmReq(const LibItsDenm__TestSystem::DenmReq& p) -+{ -+ //set error behavior -+ TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING); -+ -+ TTCN_Buffer TTCN_buf; -+ TTCN_buf.clear(); -+ -+//encode message in BER (CER variant, but can be any) -+ p.msgOut().encode(DENM__PDU__Descriptions::DENM_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER); -+ -+ OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data()); -+ -+//insert BER2PER recoding here! -+ -+ return oct2bit(encodedData); -+} -+ -+/**************************************************** -+ * @desc External function to decode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* function not needed yet, decvalue() is not used in TTCN-3 code -+INTEGER fx__dec__DenmReq(BITSTRING& b, LibItsDenm__TestSystem::DenmReq& p) -+{ -+ return -1 -+} -+*/ -+} //end namespace -Index: EncDec/LibItsEvcsn_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsEvcsn_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsEvcsn_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,39 @@ -+#include "LibItsEvcsn_encdecDeclarations.hh" -+ -+namespace LibItsEvcsn__encdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a EvcsnReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__EvcsnReq(const LibItsEvcsn__TestSystem::EvcsnReq& p) -+{ -+ //set error behavior -+ TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING); -+ -+ TTCN_Buffer TTCN_buf; -+ TTCN_buf.clear(); -+ -+//encode message in BER (CER variant, but can be any) -+ p.msgOut().encode(EVCSN__PDU__Descriptions::EvcsnPdu_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER); -+ -+ OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data()); -+ -+//insert BER2PER recoding here! -+ -+ return oct2bit(encodedData); -+} -+ -+ -+/**************************************************** -+ * @desc External function to decode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016) -+INTEGER fx__dec__EvcsnReq(BITSTRING& b, LibItsEvcsn__TestSystem::EvcsnReq& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsGeoNetworking_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsGeoNetworking_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsGeoNetworking_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,67 @@ -+#include "LibItsGeoNetworking_encdecDeclarations.hh" -+ -+namespace LibItsGeoNetworking__encdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a GeoNetworkingPdu type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__GeoNetworkingPdu(const LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a GeoNetworkingPdu type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__GeoNetworkingPdu(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a Payload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__Payload(const LibItsGeoNetworking__TypesAndValues::Payload& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a Payload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__Payload(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::Payload& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a GnNonSecuredPacket type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__GnNonSecuredPacket(const LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a GnNonSecuredPacket type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__GnNonSecuredPacket(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p) -+{ -+ return -1; -+} -+ -+} //end namespace -Index: EncDec/LibItsSecurity_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsSecurity_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsSecurity_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,88 @@ -+#include "LibItsSecurity_EncdecDeclarations.hh" -+ -+namespace LibItsSecurity__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a SecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__SecuredMessage(const LibItsSecurity__TypesAndValues::SecuredMessage& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a SecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__SecuredMessage(BITSTRING& b, LibItsSecurity__TypesAndValues::SecuredMessage& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a ToBeSignedSecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__ToBeSignedSecuredMessage(const LibItsSecurity__TypesAndValues::ToBeSignedSecuredMessage& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a ToBeSignedSecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__ToBeSignedSecuredMessage(BITSTRING& b, LibItsSecurity__TypesAndValues::ToBeSignedSecuredMessage& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a Certificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__Certificate(const LibItsSecurity__TypesAndValues::Certificate& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a Certificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__Certificate(BITSTRING& b, LibItsSecurity__TypesAndValues::Certificate& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a ToBeSignedCertificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__ToBeSignedCertificate(const LibItsSecurity__TypesAndValues::ToBeSignedCertificate& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a ToBeSignedCertificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* -+INTEGER fx__dec__ToBeSignedCertificate(BITSTRING& b, LibItsSecurity__TypesAndValues::ToBeSignedCertificate& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsBtp_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsBtp_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsBtp_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,25 @@ -+#include "LibItsBtp_EncdecDeclarations.hh" -+ -+namespace LibItsBtp__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a BtpPayload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__BtpPayload(const LibItsBtp__TypesAndValues::BtpPayload& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a BtpPayload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016) -+INTEGER fx__dec__BtpPayload(BITSTRING& b, LibItsBtp__TypesAndValues::BtpPayload& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsCam_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsCam_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsCam_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,39 @@ -+#include "LibItsCam_EncdecDeclarations.hh" -+ -+namespace LibItsBtp__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a CamReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__CamReq(const LibItsCam__TestSystem::CamReq& p) -+{ -+ //set error behavior -+ TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING); -+ -+ TTCN_Buffer TTCN_buf; -+ TTCN_buf.clear(); -+ -+//encode message in BER (CER variant, but can be any) -+ p.msgOut().encode(CAM__PDU__Descriptions::CAM_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER); -+ -+ OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data()); -+ -+//insert BER2PER recoding here! -+ -+ return oct2bit(encodedData); -+} -+ -+ -+/**************************************************** -+ * @desc External function to decode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016) -+INTEGER fx__dec__CamReq(BITSTRING& b, LibItsCam__TestSystem::CamReq& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsDenm_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsDenm_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsDenm_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,38 @@ -+#include "LibItsDenm_EncdecDeclarations.hh" -+ -+namespace LibItsDenm__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__DenmReq(const LibItsDenm__TestSystem::DenmReq& p) -+{ -+ //set error behavior -+ TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING); -+ -+ TTCN_Buffer TTCN_buf; -+ TTCN_buf.clear(); -+ -+//encode message in BER (CER variant, but can be any) -+ p.msgOut().encode(DENM__PDU__Descriptions::DENM_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER); -+ -+ OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data()); -+ -+//insert BER2PER recoding here! -+ -+ return oct2bit(encodedData); -+} -+ -+/**************************************************** -+ * @desc External function to decode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* function not needed yet, decvalue() is not used in TTCN-3 code -+INTEGER fx__dec__DenmReq(BITSTRING& b, LibItsDenm__TestSystem::DenmReq& p) -+{ -+ return -1 -+} -+*/ -+} //end namespace -Index: EncDec/LibItsEvcsn_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsEvcsn_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsEvcsn_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,39 @@ -+#include "LibItsEvcsn_encdecDeclarations.hh" -+ -+namespace LibItsEvcsn__encdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a EvcsnReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__EvcsnReq(const LibItsEvcsn__TestSystem::EvcsnReq& p) -+{ -+ //set error behavior -+ TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING); -+ -+ TTCN_Buffer TTCN_buf; -+ TTCN_buf.clear(); -+ -+//encode message in BER (CER variant, but can be any) -+ p.msgOut().encode(EVCSN__PDU__Descriptions::EvcsnPdu_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER); -+ -+ OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data()); -+ -+//insert BER2PER recoding here! -+ -+ return oct2bit(encodedData); -+} -+ -+ -+/**************************************************** -+ * @desc External function to decode a DenmReq type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016) -+INTEGER fx__dec__EvcsnReq(BITSTRING& b, LibItsEvcsn__TestSystem::EvcsnReq& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: EncDec/LibItsGeoNetworking_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsGeoNetworking_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsGeoNetworking_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,67 @@ -+#include "LibItsGeoNetworking_encdecDeclarations.hh" -+ -+namespace LibItsGeoNetworking__encdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a GeoNetworkingPdu type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__GeoNetworkingPdu(const LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a GeoNetworkingPdu type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__GeoNetworkingPdu(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a Payload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__Payload(const LibItsGeoNetworking__TypesAndValues::Payload& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a Payload type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__Payload(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::Payload& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a GnNonSecuredPacket type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__GnNonSecuredPacket(const LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a GnNonSecuredPacket type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__GnNonSecuredPacket(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p) -+{ -+ return -1; -+} -+ -+} //end namespace -Index: EncDec/LibItsSecurity_EncdecDeclarations.cc -=================================================================== ---- EncDec/LibItsSecurity_EncdecDeclarations.cc (nonexistent) -+++ EncDec/LibItsSecurity_EncdecDeclarations.cc (working copy) -@@ -0,0 +1,88 @@ -+#include "LibItsSecurity_EncdecDeclarations.hh" -+ -+namespace LibItsSecurity__EncdecDeclarations { -+/**************************************************** -+ * @desc External function to encode a SecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__SecuredMessage(const LibItsSecurity__TypesAndValues::SecuredMessage& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a SecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__SecuredMessage(BITSTRING& b, LibItsSecurity__TypesAndValues::SecuredMessage& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a ToBeSignedSecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__ToBeSignedSecuredMessage(const LibItsSecurity__TypesAndValues::ToBeSignedSecuredMessage& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a ToBeSignedSecuredMessage type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__ToBeSignedSecuredMessage(BITSTRING& b, LibItsSecurity__TypesAndValues::ToBeSignedSecuredMessage& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a Certificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__Certificate(const LibItsSecurity__TypesAndValues::Certificate& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a Certificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+ -+INTEGER fx__dec__Certificate(BITSTRING& b, LibItsSecurity__TypesAndValues::Certificate& p) -+{ -+ return -1; -+} -+ -+/**************************************************** -+ * @desc External function to encode a ToBeSignedCertificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+BITSTRING fx__enc__ToBeSignedCertificate(const LibItsSecurity__TypesAndValues::ToBeSignedCertificate& p) -+{ -+ return int2bit(0,8); -+} -+ -+/**************************************************** -+ * @desc External function to decode a ToBeSignedCertificate type -+ * @param value to encode -+ * @return encoded value -+ ****************************************************/ -+/* -+INTEGER fx__dec__ToBeSignedCertificate(BITSTRING& b, LibItsSecurity__TypesAndValues::ToBeSignedCertificate& p) -+{ -+ return -1; -+} -+*/ -+} //end namespace -Index: Externals/LibItsCommon_externals.cc -=================================================================== ---- Externals/LibItsCommon_externals.cc (nonexistent) -+++ Externals/LibItsCommon_externals.cc (working copy) -@@ -0,0 +1,95 @@ -+#include "LibItsCommon_Functions.hh" -+//#include "ITS_Container.hh" -+#include -+#include -+ -+namespace LibItsCommon__Functions -+{ -+ -+/* * @desc This external function gets the current time -+ * @return Timestamp - current time since 01/01/2014 in milliseconds -+ fx_getCurrentTime() return TimestampIts; -+*/ -+INTEGER fx__getCurrentTime( -+) { -+ unsigned long long timestamp2014 = 1356998400000; -+ struct timeval tv; -+ gettimeofday(&tv, NULL); -+ -+ unsigned long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000; -+ -+// i.set_long_long_val(timestampNow - timestamp2014); -+// return i; -+ return INTEGER(timestampNow - timestamp2014); -+} -+ -+/* * @desc External function to compute distance between two points -+ * @param p_latitudeA Latitude of first point -+ * @param p_longitudeA Longitude of first point -+ * @param p_latitudeB Latitude of second point -+ * @param p_longitudeB Longitude of second point -+ * @return Computed distance in meters -+ fx_computeDistance(in Int32 p_latitudeA, in Int32 p_longitudeA, in Int32 p_latitudeB, in Int32 p_longitudeB) return float; -+*/ -+FLOAT fx__computeDistance( -+ const INTEGER& p__latitudeA, -+ const INTEGER& p__longitudeA, -+ const INTEGER& p__latitudeB, -+ const INTEGER& p__longitudeB -+) { -+ double d_latA = ((int)p__latitudeA)/10000000.0; -+ double d_latB = ((int)p__latitudeB)/10000000.0; -+ -+ double d_lonA = ((int)p__longitudeA)/10000000.0; -+ double d_lonB = ((int)p__longitudeB)/10000000.0; -+ -+ double earth_radius = 6371000.0; //meters -+ -+ double d_lat = (d_latB - d_latA) *M_PI/180.0; -+ double d_lon = (d_lonB - d_lonA)*M_PI/180.0; -+ -+ double a = sin(d_lat/2)*sin(d_lat/2) + cos(d_latA*M_PI/180.0)*cos(d_latB*M_PI/180.0)*sin(d_lon/2)*sin(d_lon/2); -+ double c = 2*atan2(sqrt(a), sqrt(1-a)); -+ -+ return FLOAT(earth_radius*c); -+ -+} -+ -+/* * @desc External function to compute a position using a reference position, a distance and an orientation -+ * @param p_iutLongPosVector Reference position -+ * @param p_distance Distance to the reference position (in meter) -+ * @param p_orientation Direction of the computed position (0 to 359; 0 means North) -+ * @param p_latitude Computed position's latitude -+ * @param p_longitude Computed position's longitude -+ fx_computePositionUsingDistance(in Int32 p_refLatitude,in Int32 p_refLongitude,in float p_distance,in integer p_orientation,out Int32 p_latitude,out Int32 p_longitude); -+*/ -+void fx__computePositionUsingDistance( -+ const INTEGER& p__refLatitude, -+ const INTEGER& p__refLongitude, -+ const FLOAT& p__distance, -+ const INTEGER& p__orientation, -+ INTEGER& p__latitude, -+ INTEGER& p__longitude -+) { -+ double distance = p__distance/6371000.0; -+ double angle = p__orientation*M_PI/180.0; -+ -+ double ref_lat = p__refLatitude*M_PI/180.0; -+ double ref_lon = p__refLongitude*M_PI/180.0; -+ -+ p__latitude = asin(sin(ref_lat)*cos(distance) + cos(ref_lat)*sin(distance)*cos(angle))*180/M_PI; -+ p__longitude = p__refLongitude + atan2(sin(angle)*sin(distance)*cos(ref_lat), cos(distance) - sin(ref_lat)*sin(p__latitude))*180/M_PI; -+} -+ -+/* * @desc External function to compute radius of a given circular area -+ * @param p_squareMeters Square meters of an circular area -+ * @return Computed radius in meters -+ fx_computeRadiusFromCircularArea(in float p_squareMeters) return float; -+*/ -+FLOAT fx__computeRadiusFromCircularArea( -+ const FLOAT& p__squareMeters -+) { -+ return FLOAT(sqrt(p__squareMeters/M_PI)); -+} -+ -+} // end of Namespace -Index: Externals/LibItsDcc_externals.cc -=================================================================== ---- Externals/LibItsDcc_externals.cc (nonexistent) -+++ Externals/LibItsDcc_externals.cc (working copy) -@@ -0,0 +1,12 @@ -+#include "LibItsDcc_Functions.hh" -+ -+namespace LibItsDcc__Functions -+{ -+/* * @desc Returns the string representation of the float value -+ * @param p_float The float value -+ * @return The string representation of the float value -+ fx_float2str(float p_float) return charstring; -+*/ -+//RGY no C++ implementation is needed, Titan supports this function natively -+ -+} // end of namespace -Index: Externals/LibItsGeoNetworking_externals.cc -=================================================================== ---- Externals/LibItsGeoNetworking_externals.cc (nonexistent) -+++ Externals/LibItsGeoNetworking_externals.cc (working copy) -@@ -0,0 +1,24 @@ -+#include "LibItsGeoNetworking_Functions.hh" -+#include -+#include -+ -+namespace LibItsGeoNetworking__Functions -+{ -+/* * @desc External function to compute timestamp based on current time -+ * @return Unix-Epoch-Time mod 2^32 -+ fx_computeGnTimestamp() return UInt32; -+*/ -+INTEGER fx__computeGnTimestamp( -+) { -+ struct timeval tv; -+ gettimeofday(&tv, NULL); -+ -+// unsigned long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000; -+ long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000; -+ INTEGER i = INTEGER(); -+ i.set_long_long_val(timestampNow % 4294967296); -+// return INTEGER(timestampNow % 4294967296); -+ return i; -+} -+ -+} //end namespace -Index: Externals/LibItsIpv6OverGeoNetworking_externals.cc -=================================================================== ---- Externals/LibItsIpv6OverGeoNetworking_externals.cc (nonexistent) -+++ Externals/LibItsIpv6OverGeoNetworking_externals.cc (working copy) -@@ -0,0 +1,58 @@ -+#include "LibItsIpv6OverGeoNetworking_Functions.hh" -+#include -+#include -+ -+namespace LibItsIpv6OverGeoNetworking__Functions -+{ -+/* * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3 -+ * @param p_sourceAddress Source address, -+ * @param p_destinationAddress Destination address -+ * @param p_payloadLength Upper-Layer Packet Length -+ * @param p_payload Upper-Layer payload -+ * @param p_nextHdr Next header value (e.g. 0x3a for ICMPv6) -+ * @return The checksum value -+ *
-+         * Pseudo header is defined by RFC 2460 - Clause 8.1
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +                         Source Address                        +
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +                      Destination Address                      +
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                   Upper-Layer Packet Length                   |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                      zero                     |  Next Header  |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         * 
-+ external function fx_computeIPv6CheckSum( -+ in template (value) Ipv6Address p_sourceAddress, -+ in template (value) Ipv6Address p_destinationAddress, -+ in template (value) integer p_payloadLength, -+ in template (value) octetstring p_payload, -+ in template (value) UInt8 p_nextHdr -+ ) return Oct2; -+*/ -+ -+OCTETSTRING fx__computeIPv6CheckSum( -+ const OCTETSTRING_template& p__sourceAddress, -+ const OCTETSTRING_template& p__destinationAddress, -+ const INTEGER_template& p__payloadLength, -+ const OCTETSTRING_template& p__payload, -+ const INTEGER_template& p__nextHdr -+) { -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+} //end namespace -Index: Externals/LibItsMapemSpatem_externals.cc -=================================================================== ---- Externals/LibItsMapemSpatem_externals.cc (nonexistent) -+++ Externals/LibItsMapemSpatem_externals.cc (working copy) -@@ -0,0 +1,18 @@ -+#include "LibItsMapemSpatem_externals.hh" -+#include -+#include -+ -+namespace LibItsMapemSpatem__externals -+{ -+/*FIXME RGY @desc sounds like a copy-paste, not as the real purpose of the function -+ * @desc External function to compute distance between two points -+ * @param p_rawData Octetstring to analyse -+ * @return true or false according to the check -+ fx_checkUperEncoding ( in RawData p_rawData ) return boolean; -+*/ -+BOOLEAN fx__checkUperEncoding(const OCTETSTRING& p__rawData) -+{ -+ return TRUE; -+} -+ -+} //end namespace -Index: Externals/LibItsSecurity_externals.cc -=================================================================== ---- Externals/LibItsSecurity_externals.cc (nonexistent) -+++ Externals/LibItsSecurity_externals.cc (working copy) -@@ -0,0 +1,302 @@ -+#include "LibItsSecurity_Functions.hh" -+ -+namespace LibItsSecurity__Functions -+{ -+// group signing -+/* * @desc Produces a 256-bit (32-byte) hash value -+ * @param p_toBeHashedData Data to be used to calculate the hash value -+ * @return The hash value -+ fx_hashWithSha256(in octetstring p_toBeHashedData) return Oct32; -+*/ -+OCTETSTRING fx__hashWithSha256( -+ const OCTETSTRING& p__toBeHashedData -+) { -+//RGY when implementing, look at TCC_Useful_functions/TCCSecurity_Functions -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+/* * @desc Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signaturee -+ * @param p_toBeSignedSecuredMessage The data to be signed -+ * @param p_privateKey The private key -+ * @return The signature value -+ fx_signWithEcdsaNistp256WithSha256(in octetstring p_toBeSignedSecuredMessage, in octetstring p_privateKey) return octetstring; -+*/ -+OCTETSTRING fx__signWithEcdsaNistp256WithSha256( -+ const OCTETSTRING& p__toBeSignedSecuredMessage, -+ const OCTETSTRING& p__privateKey -+) { -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+/* * @desc Verify the signature of the specified data -+ * @param p_toBeVerifiedData The data to be verified -+ * @param p_signature The signature -+ * @param p_ecdsaNistp256PublicKeyX The public key (x coordinate) -+ * @param p_ecdsaNistp256PublicKeyY The public key (y coordinate) -+ * @return true on success, false otherwise -+ fx_verifyWithEcdsaNistp256WithSha256(in octetstring p_toBeVerifiedData, in octetstring p_signature, in octetstring p_ecdsaNistp256PublicKeyX, in octetstring p_ecdsaNistp256PublicKeyY) return boolean; -+*/ -+BOOLEAN fx__verifyWithEcdsaNistp256WithSha256( -+ const OCTETSTRING& p__toBeVerifiedData, -+ const OCTETSTRING& p__signature, -+ const OCTETSTRING& p__ecdsaNistp256PublicKeyX, -+ const OCTETSTRING& p__ecdsaNistp256PublicKeyY -+) { -+ return TRUE; -+} -+ -+/* * @desc Produce a new public/private key pair based on Elliptic Curve Digital Signature Algorithm (ECDSA) algorithm. -+ * This function should not be used by the ATS -+ * @param p_privateKey The new private key value -+ * @param p_publicKeyX The new public key value (x coordinate) -+ * @param p_publicKeyX The new public key value (y coordinate) -+ * @return true on success, false otherwise -+ fx_generateKeyPair(out octetstring p_privateKey, out octetstring p_publicKeyX, out octetstring p_publicKeyY) return boolean; -+*/ -+BOOLEAN fx__generateKeyPair( -+ OCTETSTRING& p__privateKey, -+ OCTETSTRING& p__publicKeyX, -+ OCTETSTRING& p__publicKeyY -+) { -+ return TRUE; -+} -+ -+// group encryption -+ -+// group certificatesLoader -+ -+/* * @desc Load in memory cache the certificates available in the specified directory -+ * @param p_rootDirectory Root directory to access to the certificates identified by the certificate ID -+ * @param p_configId A configuration identifier -+ * @remark This method SHALL be call before any usage of certificates -+ * @return true on success, false otherwise -+ fx_loadCertificates(in charstring p_rootDirectory, in charstring p_configId) return boolean; -+*/ -+BOOLEAN fx__loadCertificates( -+ const CHARSTRING& p__rootDirectory, -+ const CHARSTRING& p__configId -+) { -+ return TRUE; -+} -+ -+/* * @desc Unload from memory cache the certificates -+ * @return true on success, false otherwise -+ fx_unloadCertificates() return boolean; -+*/ -+BOOLEAN fx__unloadCertificates( -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the specified certificate -+ * @param p_certificateId the certificate identifier -+ * @param p_certificate the expected certificate -+ * @return true on success, false otherwise -+ fx_readCertificate(in charstring p_certificateId, out octetstring p_certificate) return boolean; -+*/ -+BOOLEAN fx__readCertificate( -+ const CHARSTRING& p__certificateId, -+ OCTETSTRING& p__certificate -+) { -+ return TRUE; -+} -+ -+ -+/* * @desc Read the specified certificate digest -+ * @param p_certificateId the certificate identifier -+ * @param p_digest the expected certificate -+ * @return true on success, false otherwise -+ fx_readCertificateDigest(in charstring p_certificateId, out HashedId8 p_digest) return boolean; -+*/ -+BOOLEAN fx__readCertificateDigest( -+ const CHARSTRING& p__certificateId, -+ OCTETSTRING& p__digest -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the private keys for the specified certificate -+ * @param p_keysId the keys identifier -+ * @param p_signingPrivateKey the signing private key -+ * @return true on success, false otherwise -+ fx_readSigningKey(in charstring p_keysId, out Oct32 p_signingPrivateKey) return boolean; -+*/ -+BOOLEAN fx__readSigningKey( -+ const CHARSTRING& p__keysId, -+ OCTETSTRING& p__signingPrivateKey -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the private keys for the specified certificate -+ * @param p_keysId the keys identifier -+ * @param p_encryptPrivateKey the encrypt private key -+ * @return true on success, false otherwise -+ fx_readEncryptingKey(in charstring p_keysId, out Oct32 p_encryptingPrivateKey) return boolean; -+*/ -+BOOLEAN fx__readEncryptingKey( -+ const CHARSTRING& p__keysId, -+ OCTETSTRING& p__encryptingPrivateKey -+) { -+ return TRUE; -+} -+ -+// group geodesic -+ -+/* * @desc Check that given polygon doesn't have neither self-intersections nor holes. -+ * @param p_region Polygonal Region -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isValidPolygonalRegion(in PolygonalRegion p_region) return boolean; -+*/ -+BOOLEAN fx__isValidPolygonalRegion( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region -+) { -+ return TRUE; -+} -+ -+/* * @desc Check if a polygonal region is inside another one -+ * @param p_parent The main polygonal region -+ * @param p_region The polygonal region to be included -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isPolygonalRegionInside(in PolygonalRegion p_parent, in PolygonalRegion p_region) return boolean; -+*/ -+BOOLEAN fx__isPolygonalRegionInside( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__parent, -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a circular region -+ * @param p_region The circular region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideCircularRegion(in CircularRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideCircularRegion( -+ const LibItsSecurity__TypesAndValues::CircularRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a rectangular region -+ * @param p_region The rectangular region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideRectangularRegion(in RectangularRegions p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideRectangularRegion( -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a polygonal region -+ * @param p_region The polygonal region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsidePolygonalRegion(in PolygonalRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsidePolygonalRegion( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+ -+/* * @desc Check if the location is inside an identified region -+ * @param p_region The identified region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideIdentifiedRegion(in IdentifiedRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideIdentifiedRegion( -+ const LibItsSecurity__TypesAndValues::IdentifiedRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check if the location is inside an undefined region -+ * @param p_region The identified region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideOtherRegion(in octetstring p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideOtherRegion( -+ const OCTETSTRING& p_region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p_location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_circular_region_1 circular region is included into p_circular_region_2 circular region -+ * @param p_circular_region_1 Circular region 1 -+ * @param p_circular_region_2 Circular region 2 -+ * @return true on success, false otherwise -+ fx_areCirclesInside(in CircularRegion p_circular_region_1, in CircularRegion p_circular_region_2) return boolean; -+*/ -+BOOLEAN fx__areCirclesInside( -+ const LibItsSecurity__TypesAndValues::CircularRegion& p_circular_region_1, -+ const LibItsSecurity__TypesAndValues::CircularRegion& p_circular_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_rectanglar_region_1 rectangular region is included into p_rectanglar_region_2 rectangular region -+ * @param p_rectanglar_region_1 Rectangular region 1 -+ * @param p_rectanglar_region_2 Rectangular region 2 -+ * @return true on success, false otherwise -+ fx_areRectanglesInside(in RectangularRegions p_rectanglar_region_1, in RectangularRegions p_rectanglar_region_2) return boolean; -+*/ -+BOOLEAN fx__areRectanglesInside( -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p_rectanglar_region_1, -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p_rectanglar_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_polygonal_region_1 polygonal region is included into p_polygonal_region_2 polygonal region -+ * @param p_polygonal_region_1 Polygonal region 1 -+ * @param p_polygonal_region_2 Polygonal region 2 -+ * @return true on success, false otherwise -+ fx_arePolygonsInside(in PolygonalRegion p_polygonal_region_1, in PolygonalRegion p_polygonal_region_2) return boolean; -+*/ -+BOOLEAN fx__arePolygonsInside( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p_polygonal_region_1, -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p_polygonal_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Convert a spacial coordinate from DMS to Dms -+ * @param p_degrees The degrees (D) -+ * @param p_minutes The minutes (M) -+ * @param p_seconds The seconds (S) -+ * @param p_latlon The latitude/longitude: (N|S|E|W) -+ * @return The decimal coordinate on success, 0.0, otherwise -+ * @verdict Unchanged -+ fx_dms2dd(in Int p_degrees, in Int p_minutes, in float p_seconds, in Oct1 p_latlon) return float; -+*/ -+FLOAT fx__dms2dd( -+ const INTEGER& p__degrees, -+ const INTEGER& p__minutes, -+ const FLOAT& p__seconds, -+ const OCTETSTRING& p__latlon -+) { -+ return 0.0; -+} -+ -+} // end of namespace -Index: Externals/LibItsCommon_externals.cc -=================================================================== ---- Externals/LibItsCommon_externals.cc (nonexistent) -+++ Externals/LibItsCommon_externals.cc (working copy) -@@ -0,0 +1,95 @@ -+#include "LibItsCommon_Functions.hh" -+//#include "ITS_Container.hh" -+#include -+#include -+ -+namespace LibItsCommon__Functions -+{ -+ -+/* * @desc This external function gets the current time -+ * @return Timestamp - current time since 01/01/2014 in milliseconds -+ fx_getCurrentTime() return TimestampIts; -+*/ -+INTEGER fx__getCurrentTime( -+) { -+ unsigned long long timestamp2014 = 1356998400000; -+ struct timeval tv; -+ gettimeofday(&tv, NULL); -+ -+ unsigned long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000; -+ -+// i.set_long_long_val(timestampNow - timestamp2014); -+// return i; -+ return INTEGER(timestampNow - timestamp2014); -+} -+ -+/* * @desc External function to compute distance between two points -+ * @param p_latitudeA Latitude of first point -+ * @param p_longitudeA Longitude of first point -+ * @param p_latitudeB Latitude of second point -+ * @param p_longitudeB Longitude of second point -+ * @return Computed distance in meters -+ fx_computeDistance(in Int32 p_latitudeA, in Int32 p_longitudeA, in Int32 p_latitudeB, in Int32 p_longitudeB) return float; -+*/ -+FLOAT fx__computeDistance( -+ const INTEGER& p__latitudeA, -+ const INTEGER& p__longitudeA, -+ const INTEGER& p__latitudeB, -+ const INTEGER& p__longitudeB -+) { -+ double d_latA = ((int)p__latitudeA)/10000000.0; -+ double d_latB = ((int)p__latitudeB)/10000000.0; -+ -+ double d_lonA = ((int)p__longitudeA)/10000000.0; -+ double d_lonB = ((int)p__longitudeB)/10000000.0; -+ -+ double earth_radius = 6371000.0; //meters -+ -+ double d_lat = (d_latB - d_latA) *M_PI/180.0; -+ double d_lon = (d_lonB - d_lonA)*M_PI/180.0; -+ -+ double a = sin(d_lat/2)*sin(d_lat/2) + cos(d_latA*M_PI/180.0)*cos(d_latB*M_PI/180.0)*sin(d_lon/2)*sin(d_lon/2); -+ double c = 2*atan2(sqrt(a), sqrt(1-a)); -+ -+ return FLOAT(earth_radius*c); -+ -+} -+ -+/* * @desc External function to compute a position using a reference position, a distance and an orientation -+ * @param p_iutLongPosVector Reference position -+ * @param p_distance Distance to the reference position (in meter) -+ * @param p_orientation Direction of the computed position (0 to 359; 0 means North) -+ * @param p_latitude Computed position's latitude -+ * @param p_longitude Computed position's longitude -+ fx_computePositionUsingDistance(in Int32 p_refLatitude,in Int32 p_refLongitude,in float p_distance,in integer p_orientation,out Int32 p_latitude,out Int32 p_longitude); -+*/ -+void fx__computePositionUsingDistance( -+ const INTEGER& p__refLatitude, -+ const INTEGER& p__refLongitude, -+ const FLOAT& p__distance, -+ const INTEGER& p__orientation, -+ INTEGER& p__latitude, -+ INTEGER& p__longitude -+) { -+ double distance = p__distance/6371000.0; -+ double angle = p__orientation*M_PI/180.0; -+ -+ double ref_lat = p__refLatitude*M_PI/180.0; -+ double ref_lon = p__refLongitude*M_PI/180.0; -+ -+ p__latitude = asin(sin(ref_lat)*cos(distance) + cos(ref_lat)*sin(distance)*cos(angle))*180/M_PI; -+ p__longitude = p__refLongitude + atan2(sin(angle)*sin(distance)*cos(ref_lat), cos(distance) - sin(ref_lat)*sin(p__latitude))*180/M_PI; -+} -+ -+/* * @desc External function to compute radius of a given circular area -+ * @param p_squareMeters Square meters of an circular area -+ * @return Computed radius in meters -+ fx_computeRadiusFromCircularArea(in float p_squareMeters) return float; -+*/ -+FLOAT fx__computeRadiusFromCircularArea( -+ const FLOAT& p__squareMeters -+) { -+ return FLOAT(sqrt(p__squareMeters/M_PI)); -+} -+ -+} // end of Namespace -Index: Externals/LibItsDcc_externals.cc -=================================================================== ---- Externals/LibItsDcc_externals.cc (nonexistent) -+++ Externals/LibItsDcc_externals.cc (working copy) -@@ -0,0 +1,12 @@ -+#include "LibItsDcc_Functions.hh" -+ -+namespace LibItsDcc__Functions -+{ -+/* * @desc Returns the string representation of the float value -+ * @param p_float The float value -+ * @return The string representation of the float value -+ fx_float2str(float p_float) return charstring; -+*/ -+//RGY no C++ implementation is needed, Titan supports this function natively -+ -+} // end of namespace -Index: Externals/LibItsGeoNetworking_externals.cc -=================================================================== ---- Externals/LibItsGeoNetworking_externals.cc (nonexistent) -+++ Externals/LibItsGeoNetworking_externals.cc (working copy) -@@ -0,0 +1,24 @@ -+#include "LibItsGeoNetworking_Functions.hh" -+#include -+#include -+ -+namespace LibItsGeoNetworking__Functions -+{ -+/* * @desc External function to compute timestamp based on current time -+ * @return Unix-Epoch-Time mod 2^32 -+ fx_computeGnTimestamp() return UInt32; -+*/ -+INTEGER fx__computeGnTimestamp( -+) { -+ struct timeval tv; -+ gettimeofday(&tv, NULL); -+ -+// unsigned long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000; -+ long long timestampNow = tv.tv_sec*1000 + tv.tv_usec/1000; -+ INTEGER i = INTEGER(); -+ i.set_long_long_val(timestampNow % 4294967296); -+// return INTEGER(timestampNow % 4294967296); -+ return i; -+} -+ -+} //end namespace -Index: Externals/LibItsIpv6OverGeoNetworking_externals.cc -=================================================================== ---- Externals/LibItsIpv6OverGeoNetworking_externals.cc (nonexistent) -+++ Externals/LibItsIpv6OverGeoNetworking_externals.cc (working copy) -@@ -0,0 +1,58 @@ -+#include "LibItsIpv6OverGeoNetworking_Functions.hh" -+#include -+#include -+ -+namespace LibItsIpv6OverGeoNetworking__Functions -+{ -+/* * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3 -+ * @param p_sourceAddress Source address, -+ * @param p_destinationAddress Destination address -+ * @param p_payloadLength Upper-Layer Packet Length -+ * @param p_payload Upper-Layer payload -+ * @param p_nextHdr Next header value (e.g. 0x3a for ICMPv6) -+ * @return The checksum value -+ *
-+         * Pseudo header is defined by RFC 2460 - Clause 8.1
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +                         Source Address                        +
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +                      Destination Address                      +
-+         *  |                                                               |
-+         *  +                                                               +
-+         *  |                                                               |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                   Upper-Layer Packet Length                   |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         *  |                      zero                     |  Next Header  |
-+         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+         * 
-+ external function fx_computeIPv6CheckSum( -+ in template (value) Ipv6Address p_sourceAddress, -+ in template (value) Ipv6Address p_destinationAddress, -+ in template (value) integer p_payloadLength, -+ in template (value) octetstring p_payload, -+ in template (value) UInt8 p_nextHdr -+ ) return Oct2; -+*/ -+ -+OCTETSTRING fx__computeIPv6CheckSum( -+ const OCTETSTRING_template& p__sourceAddress, -+ const OCTETSTRING_template& p__destinationAddress, -+ const INTEGER_template& p__payloadLength, -+ const OCTETSTRING_template& p__payload, -+ const INTEGER_template& p__nextHdr -+) { -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+} //end namespace -Index: Externals/LibItsMapemSpatem_externals.cc -=================================================================== ---- Externals/LibItsMapemSpatem_externals.cc (nonexistent) -+++ Externals/LibItsMapemSpatem_externals.cc (working copy) -@@ -0,0 +1,18 @@ -+#include "LibItsMapemSpatem_externals.hh" -+#include -+#include -+ -+namespace LibItsMapemSpatem__externals -+{ -+/*FIXME RGY @desc sounds like a copy-paste, not as the real purpose of the function -+ * @desc External function to compute distance between two points -+ * @param p_rawData Octetstring to analyse -+ * @return true or false according to the check -+ fx_checkUperEncoding ( in RawData p_rawData ) return boolean; -+*/ -+BOOLEAN fx__checkUperEncoding(const OCTETSTRING& p__rawData) -+{ -+ return TRUE; -+} -+ -+} //end namespace -Index: Externals/LibItsSecurity_externals.cc -=================================================================== ---- Externals/LibItsSecurity_externals.cc (nonexistent) -+++ Externals/LibItsSecurity_externals.cc (working copy) -@@ -0,0 +1,302 @@ -+#include "LibItsSecurity_Functions.hh" -+ -+namespace LibItsSecurity__Functions -+{ -+// group signing -+/* * @desc Produces a 256-bit (32-byte) hash value -+ * @param p_toBeHashedData Data to be used to calculate the hash value -+ * @return The hash value -+ fx_hashWithSha256(in octetstring p_toBeHashedData) return Oct32; -+*/ -+OCTETSTRING fx__hashWithSha256( -+ const OCTETSTRING& p__toBeHashedData -+) { -+//RGY when implementing, look at TCC_Useful_functions/TCCSecurity_Functions -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+/* * @desc Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signaturee -+ * @param p_toBeSignedSecuredMessage The data to be signed -+ * @param p_privateKey The private key -+ * @return The signature value -+ fx_signWithEcdsaNistp256WithSha256(in octetstring p_toBeSignedSecuredMessage, in octetstring p_privateKey) return octetstring; -+*/ -+OCTETSTRING fx__signWithEcdsaNistp256WithSha256( -+ const OCTETSTRING& p__toBeSignedSecuredMessage, -+ const OCTETSTRING& p__privateKey -+) { -+ OCTETSTRING ret_val = int2oct(0,1); -+ return ret_val; -+} -+ -+/* * @desc Verify the signature of the specified data -+ * @param p_toBeVerifiedData The data to be verified -+ * @param p_signature The signature -+ * @param p_ecdsaNistp256PublicKeyX The public key (x coordinate) -+ * @param p_ecdsaNistp256PublicKeyY The public key (y coordinate) -+ * @return true on success, false otherwise -+ fx_verifyWithEcdsaNistp256WithSha256(in octetstring p_toBeVerifiedData, in octetstring p_signature, in octetstring p_ecdsaNistp256PublicKeyX, in octetstring p_ecdsaNistp256PublicKeyY) return boolean; -+*/ -+BOOLEAN fx__verifyWithEcdsaNistp256WithSha256( -+ const OCTETSTRING& p__toBeVerifiedData, -+ const OCTETSTRING& p__signature, -+ const OCTETSTRING& p__ecdsaNistp256PublicKeyX, -+ const OCTETSTRING& p__ecdsaNistp256PublicKeyY -+) { -+ return TRUE; -+} -+ -+/* * @desc Produce a new public/private key pair based on Elliptic Curve Digital Signature Algorithm (ECDSA) algorithm. -+ * This function should not be used by the ATS -+ * @param p_privateKey The new private key value -+ * @param p_publicKeyX The new public key value (x coordinate) -+ * @param p_publicKeyX The new public key value (y coordinate) -+ * @return true on success, false otherwise -+ fx_generateKeyPair(out octetstring p_privateKey, out octetstring p_publicKeyX, out octetstring p_publicKeyY) return boolean; -+*/ -+BOOLEAN fx__generateKeyPair( -+ OCTETSTRING& p__privateKey, -+ OCTETSTRING& p__publicKeyX, -+ OCTETSTRING& p__publicKeyY -+) { -+ return TRUE; -+} -+ -+// group encryption -+ -+// group certificatesLoader -+ -+/* * @desc Load in memory cache the certificates available in the specified directory -+ * @param p_rootDirectory Root directory to access to the certificates identified by the certificate ID -+ * @param p_configId A configuration identifier -+ * @remark This method SHALL be call before any usage of certificates -+ * @return true on success, false otherwise -+ fx_loadCertificates(in charstring p_rootDirectory, in charstring p_configId) return boolean; -+*/ -+BOOLEAN fx__loadCertificates( -+ const CHARSTRING& p__rootDirectory, -+ const CHARSTRING& p__configId -+) { -+ return TRUE; -+} -+ -+/* * @desc Unload from memory cache the certificates -+ * @return true on success, false otherwise -+ fx_unloadCertificates() return boolean; -+*/ -+BOOLEAN fx__unloadCertificates( -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the specified certificate -+ * @param p_certificateId the certificate identifier -+ * @param p_certificate the expected certificate -+ * @return true on success, false otherwise -+ fx_readCertificate(in charstring p_certificateId, out octetstring p_certificate) return boolean; -+*/ -+BOOLEAN fx__readCertificate( -+ const CHARSTRING& p__certificateId, -+ OCTETSTRING& p__certificate -+) { -+ return TRUE; -+} -+ -+ -+/* * @desc Read the specified certificate digest -+ * @param p_certificateId the certificate identifier -+ * @param p_digest the expected certificate -+ * @return true on success, false otherwise -+ fx_readCertificateDigest(in charstring p_certificateId, out HashedId8 p_digest) return boolean; -+*/ -+BOOLEAN fx__readCertificateDigest( -+ const CHARSTRING& p__certificateId, -+ OCTETSTRING& p__digest -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the private keys for the specified certificate -+ * @param p_keysId the keys identifier -+ * @param p_signingPrivateKey the signing private key -+ * @return true on success, false otherwise -+ fx_readSigningKey(in charstring p_keysId, out Oct32 p_signingPrivateKey) return boolean; -+*/ -+BOOLEAN fx__readSigningKey( -+ const CHARSTRING& p__keysId, -+ OCTETSTRING& p__signingPrivateKey -+) { -+ return TRUE; -+} -+ -+/* * @desc Read the private keys for the specified certificate -+ * @param p_keysId the keys identifier -+ * @param p_encryptPrivateKey the encrypt private key -+ * @return true on success, false otherwise -+ fx_readEncryptingKey(in charstring p_keysId, out Oct32 p_encryptingPrivateKey) return boolean; -+*/ -+BOOLEAN fx__readEncryptingKey( -+ const CHARSTRING& p__keysId, -+ OCTETSTRING& p__encryptingPrivateKey -+) { -+ return TRUE; -+} -+ -+// group geodesic -+ -+/* * @desc Check that given polygon doesn't have neither self-intersections nor holes. -+ * @param p_region Polygonal Region -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isValidPolygonalRegion(in PolygonalRegion p_region) return boolean; -+*/ -+BOOLEAN fx__isValidPolygonalRegion( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region -+) { -+ return TRUE; -+} -+ -+/* * @desc Check if a polygonal region is inside another one -+ * @param p_parent The main polygonal region -+ * @param p_region The polygonal region to be included -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isPolygonalRegionInside(in PolygonalRegion p_parent, in PolygonalRegion p_region) return boolean; -+*/ -+BOOLEAN fx__isPolygonalRegionInside( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__parent, -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a circular region -+ * @param p_region The circular region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideCircularRegion(in CircularRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideCircularRegion( -+ const LibItsSecurity__TypesAndValues::CircularRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a rectangular region -+ * @param p_region The rectangular region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideRectangularRegion(in RectangularRegions p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideRectangularRegion( -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that the location is inside a polygonal region -+ * @param p_region The polygonal region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsidePolygonalRegion(in PolygonalRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsidePolygonalRegion( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+ -+/* * @desc Check if the location is inside an identified region -+ * @param p_region The identified region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideIdentifiedRegion(in IdentifiedRegion p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideIdentifiedRegion( -+ const LibItsSecurity__TypesAndValues::IdentifiedRegion& p__region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p__location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check if the location is inside an undefined region -+ * @param p_region The identified region to consider -+ * @param p_location The device location -+ * @return true on success, false otherwise -+ * @verdict Unchanged -+ fx_isLocationInsideOtherRegion(in octetstring p_region, in ThreeDLocation p_location) return boolean; -+*/ -+BOOLEAN fx__isLocationInsideOtherRegion( -+ const OCTETSTRING& p_region, -+ const LibItsSecurity__TypesAndValues::ThreeDLocation& p_location -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_circular_region_1 circular region is included into p_circular_region_2 circular region -+ * @param p_circular_region_1 Circular region 1 -+ * @param p_circular_region_2 Circular region 2 -+ * @return true on success, false otherwise -+ fx_areCirclesInside(in CircularRegion p_circular_region_1, in CircularRegion p_circular_region_2) return boolean; -+*/ -+BOOLEAN fx__areCirclesInside( -+ const LibItsSecurity__TypesAndValues::CircularRegion& p_circular_region_1, -+ const LibItsSecurity__TypesAndValues::CircularRegion& p_circular_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_rectanglar_region_1 rectangular region is included into p_rectanglar_region_2 rectangular region -+ * @param p_rectanglar_region_1 Rectangular region 1 -+ * @param p_rectanglar_region_2 Rectangular region 2 -+ * @return true on success, false otherwise -+ fx_areRectanglesInside(in RectangularRegions p_rectanglar_region_1, in RectangularRegions p_rectanglar_region_2) return boolean; -+*/ -+BOOLEAN fx__areRectanglesInside( -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p_rectanglar_region_1, -+ const LibItsSecurity__TypesAndValues::RectangularRegions& p_rectanglar_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Check that p_polygonal_region_1 polygonal region is included into p_polygonal_region_2 polygonal region -+ * @param p_polygonal_region_1 Polygonal region 1 -+ * @param p_polygonal_region_2 Polygonal region 2 -+ * @return true on success, false otherwise -+ fx_arePolygonsInside(in PolygonalRegion p_polygonal_region_1, in PolygonalRegion p_polygonal_region_2) return boolean; -+*/ -+BOOLEAN fx__arePolygonsInside( -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p_polygonal_region_1, -+ const LibItsSecurity__TypesAndValues::PolygonalRegion& p_polygonal_region_2 -+) { -+ return TRUE; -+} -+ -+/* * @desc Convert a spacial coordinate from DMS to Dms -+ * @param p_degrees The degrees (D) -+ * @param p_minutes The minutes (M) -+ * @param p_seconds The seconds (S) -+ * @param p_latlon The latitude/longitude: (N|S|E|W) -+ * @return The decimal coordinate on success, 0.0, otherwise -+ * @verdict Unchanged -+ fx_dms2dd(in Int p_degrees, in Int p_minutes, in float p_seconds, in Oct1 p_latlon) return float; -+*/ -+FLOAT fx__dms2dd( -+ const INTEGER& p__degrees, -+ const INTEGER& p__minutes, -+ const FLOAT& p__seconds, -+ const OCTETSTRING& p__latlon -+) { -+ return 0.0; -+} -+ -+} // end of namespace -Index: Ports/LibIts_ports/AdapterControlPort.cc -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.cc (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.cc (working copy) -@@ -0,0 +1,21 @@ -+#include "AdapterControlPort.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partC" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partC" -+#include "DENM_ports/AdapterControlPort_DENM.partC" -+#include "GN_ports/AdapterControlPort_GN.partC" -+#include "IVIM_ports/AdapterControlPort_IVIM.partC" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partC" -+#include "V2G_ports/AdapterControlPort_V2G.partC" -+*/ -+#include "AdapterControlPort_CAM.partC" -+#include "AdapterControlPort_DENM.partC" -+#include "AdapterControlPort_GN.partC" -+#include "AdapterControlPort_IVIM.partC" -+#include "AdapterControlPort_MapemSpatem.partC" -+#include "AdapterControlPort_SremSsem.partC" -+#include "AdapterControlPort_Evcsn.partC" -+//#include "AdapterControlPort_V2G.partC" -+ -Index: Ports/LibIts_ports/AdapterControlPort.hh -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.hh (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.hh (working copy) -@@ -0,0 +1,25 @@ -+#ifndef AdapterControlPort_HH -+#define AdapterControlPort_HH -+ -+//#include "TRI_mapper_API.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partH" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partH" -+#include "DENM_ports/AdapterControlPort_DENM.partH" -+#include "GN_ports/AdapterControlPort_GN.partH" -+#include "IVIM_ports/AdapterControlPort_IVIM.partH" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partH" -+#include "V2G_ports/AdapterControlPort_V2G.partH" -+*/ -+#include "AdapterControlPort_CAM.partH" -+#include "AdapterControlPort_DENM.partH" -+#include "AdapterControlPort_GN.partH" -+#include "AdapterControlPort_IVIM.partH" -+#include "AdapterControlPort_MapemSpatem.partH" -+#include "AdapterControlPort_SremSsem.partH" -+#include "AdapterControlPort_Evcsn.partH" -+//#include "AdapterControlPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/BtpPort.cc -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.cc (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "BtpPort.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+BtpPort::BtpPort(const char *par_port_name) -+ : BtpPort_BASE(par_port_name) -+{ -+ -+} -+ -+BtpPort::~BtpPort() -+{ -+ -+} -+ -+void BtpPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void BtpPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void BtpPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_start() -+{ -+ -+} -+ -+void BtpPort::user_stop() -+{ -+ -+} -+ -+void BtpPort::outgoing_send(const BtpReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/BTP_ports/BtpPort.hh -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.hh (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef BtpPort_HH -+#define BtpPort_HH -+ -+#include "LibItsBtp_TestSystem.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+class BtpPort : public BtpPort_BASE { -+public: -+ BtpPort(const char *par_port_name = NULL); -+ ~BtpPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const BtpReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsBtp__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsBtp_TestSystem.hh" -+namespace LibItsBtp__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/CAM_ports/CamPort.cc -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.cc (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CamPort.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+CamPort::CamPort(const char *par_port_name) -+ : CamPort_BASE(par_port_name) -+{ -+ -+} -+ -+CamPort::~CamPort() -+{ -+ -+} -+ -+void CamPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CamPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CamPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_start() -+{ -+ -+} -+ -+void CamPort::user_stop() -+{ -+ -+} -+ -+void CamPort::outgoing_send(const CamReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/CAM_ports/CamPort.hh -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.hh (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CamPort_HH -+#define CamPort_HH -+ -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class CamPort : public CamPort_BASE { -+public: -+ CamPort(const char *par_port_name = NULL); -+ ~CamPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const CamReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+namespace LibItsCam__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CheckPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+CheckPort::CheckPort(const char *par_port_name) -+ : CheckPort_BASE(par_port_name) -+{ -+ -+} -+ -+CheckPort::~CheckPort() -+{ -+ -+} -+ -+void CheckPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CheckPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CheckPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_start() -+{ -+ -+} -+ -+void CheckPort::user_stop() -+{ -+ -+} -+ -+void CheckPort::outgoing_send(const INTEGER& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CheckPort_HH -+#define CheckPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class CheckPort : public CheckPort_BASE { -+public: -+ CheckPort(const char *par_port_name = NULL); -+ ~CheckPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const INTEGER& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/InPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.cc (working copy) -@@ -0,0 +1,78 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "InPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+InPort::InPort(const char *par_port_name) -+ : InPort_BASE(par_port_name) -+{ -+ -+} -+ -+InPort::~InPort() -+{ -+ -+} -+ -+void InPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void InPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void InPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_start() -+{ -+ -+} -+ -+void InPort::user_stop() -+{ -+ -+} -+ -+void InPort::outgoing_send(const LibItsDcc__TypesAndValues::InReq& /*send_par*/) -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/InPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef InPort_HH -+#define InPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class InPort : public InPort_BASE { -+public: -+ InPort(const char *par_port_name = NULL); -+ ~InPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TypesAndValues::InReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/RrxPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.cc (working copy) -@@ -0,0 +1,73 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "RrxPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+RrxPort::RrxPort(const char *par_port_name) -+ : RrxPort_BASE(par_port_name) -+{ -+ -+} -+ -+RrxPort::~RrxPort() -+{ -+ -+} -+ -+void RrxPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void RrxPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void RrxPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_start() -+{ -+ -+} -+ -+void RrxPort::user_stop() -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/RrxPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.hh (working copy) -@@ -0,0 +1,43 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef RrxPort_HH -+#define RrxPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class RrxPort : public RrxPort_BASE { -+public: -+ RrxPort(const char *par_port_name = NULL); -+ ~RrxPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDcc__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsDcc_TestSystem.hh" -+namespace LibItsDcc__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/DENM_ports/DenmPort.cc -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.cc (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "DenmPort.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+DenmPort::DenmPort(const char *par_port_name) -+ : DenmPort_BASE(par_port_name) -+{ -+ -+} -+ -+DenmPort::~DenmPort() -+{ -+ -+} -+ -+void DenmPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void DenmPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void DenmPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_start() -+{ -+ -+} -+ -+void DenmPort::user_stop() -+{ -+ -+} -+ -+void DenmPort::outgoing_send(const DenmReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DENM_ports/DenmPort.hh -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.hh (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef DenmPort_HH -+#define DenmPort_HH -+ -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class DenmPort : public DenmPort_BASE { -+public: -+ DenmPort(const char *par_port_name = NULL); -+ ~DenmPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const DenmReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+namespace LibItsDenm__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "EvcsnPort.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+EvcsnPort::EvcsnPort(const char *par_port_name) -+ : EvcsnPort_BASE(par_port_name) -+{ -+ -+} -+ -+EvcsnPort::~EvcsnPort() -+{ -+ -+} -+ -+void EvcsnPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void EvcsnPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void EvcsnPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_start() -+{ -+ -+} -+ -+void EvcsnPort::user_stop() -+{ -+ -+} -+ -+void EvcsnPort::outgoing_send(const EvcsnReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef EvcsnPort_HH -+#define EvcsnPort_HH -+ -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class EvcsnPort : public EvcsnPort_BASE { -+public: -+ EvcsnPort(const char *par_port_name = NULL); -+ ~EvcsnPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const EvcsnReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+namespace LibItsEvcsn__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (working copy) -@@ -0,0 +1,81 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (working copy) -@@ -0,0 +1,38 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& send_par); -+ -+ void outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "GeoNetworkingPort.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+GeoNetworkingPort::GeoNetworkingPort(const char *par_port_name) -+ : GeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+GeoNetworkingPort::~GeoNetworkingPort() -+{ -+ -+} -+ -+void GeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void GeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void GeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void GeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void GeoNetworkingPort::outgoing_send(const GeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef GeoNetworkingPort_HH -+#define GeoNetworkingPort_HH -+ -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class GeoNetworkingPort : public GeoNetworkingPort_BASE { -+public: -+ GeoNetworkingPort(const char *par_port_name = NULL); -+ ~GeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const GeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+namespace LibItsGeoNetworking__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IPv6OverGeoNetworkingPort.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+IPv6OverGeoNetworkingPort::IPv6OverGeoNetworkingPort(const char *par_port_name) -+ : IPv6OverGeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+IPv6OverGeoNetworkingPort::~IPv6OverGeoNetworkingPort() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IPv6OverGeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::outgoing_send(const IPv6OverGeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IPv6OverGeoNetworkingPort_HH -+#define IPv6OverGeoNetworkingPort_HH -+ -+#include "LibItsIpv6OverGeoNetworking_TestSystem.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+class IPv6OverGeoNetworkingPort : public IPv6OverGeoNetworkingPort_BASE { -+public: -+ IPv6OverGeoNetworkingPort(const char *par_port_name = NULL); -+ ~IPv6OverGeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IPv6OverGeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.cc -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.cc (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IvimPort.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+IvimPort::IvimPort(const char *par_port_name) -+ : IvimPort_BASE(par_port_name) -+{ -+ -+} -+ -+IvimPort::~IvimPort() -+{ -+ -+} -+ -+void IvimPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IvimPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IvimPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_start() -+{ -+ -+} -+ -+void IvimPort::user_stop() -+{ -+ -+} -+ -+void IvimPort::outgoing_send(const IvimReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.hh -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.hh (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IvimPort_HH -+#define IvimPort_HH -+ -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class IvimPort : public IvimPort_BASE { -+public: -+ IvimPort(const char *par_port_name = NULL); -+ ~IvimPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IvimReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+namespace LibItsIvim__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapSpatPort.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+MapSpatPort::MapSpatPort(const char *par_port_name) -+ : MapSpatPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapSpatPort::~MapSpatPort() -+{ -+ -+} -+ -+void MapSpatPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapSpatPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapSpatPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_start() -+{ -+ -+} -+ -+void MapSpatPort::user_stop() -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const MapReq& /*send_par*/) -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const SpatReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapSpatPort_HH -+#define MapSpatPort_HH -+ -+#include "LibItsMapSpat_TestSystem.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+class MapSpatPort : public MapSpatPort_BASE { -+public: -+ MapSpatPort(const char *par_port_name = NULL); -+ ~MapSpatPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapReq& send_par); -+ void outgoing_send(const SpatReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapSpat__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (working copy) -@@ -0,0 +1,33 @@ -+//============================================================================= -+#include "LibItsMapSpat_TestSystem.hh" -+namespace LibItsMapSpat__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& send_par); -+}; -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapemSpatemPort.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+MapemSpatemPort::MapemSpatemPort(const char *par_port_name) -+ : MapemSpatemPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapemSpatemPort::~MapemSpatemPort() -+{ -+ -+} -+ -+void MapemSpatemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapemSpatemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapemSpatemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_start() -+{ -+ -+} -+ -+void MapemSpatemPort::user_stop() -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const MapemReq& /*send_par*/) -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const SpatemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (working copy) -@@ -0,0 +1,46 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapemSpatemPort_HH -+#define MapemSpatemPort_HH -+ -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class MapemSpatemPort : public MapemSpatemPort_BASE { -+public: -+ MapemSpatemPort(const char *par_port_name = NULL); -+ ~MapemSpatemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapemReq& send_par); -+ -+ void outgoing_send(const SpatemReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+namespace LibItsMapemSpatem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "SremSsemPort.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+SremSsemPort::SremSsemPort(const char *par_port_name) -+ : SremSsemPort_BASE(par_port_name) -+{ -+ -+} -+ -+SremSsemPort::~SremSsemPort() -+{ -+ -+} -+ -+void SremSsemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void SremSsemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void SremSsemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_start() -+{ -+ -+} -+ -+void SremSsemPort::user_stop() -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SremReq& /*send_par*/) -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SsemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (working copy) -@@ -0,0 +1,47 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef SremSsemPort_HH -+#define SremSsemPort_HH -+ -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class SremSsemPort : public SremSsemPort_BASE { -+public: -+ SremSsemPort(const char *par_port_name = NULL); -+ ~SremSsemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const SremReq& send_par); -+ -+ void outgoing_send(const SsemReq& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (working copy) -@@ -0,0 +1,78 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -+ -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+namespace LibItsSremSsem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/UpperTesterPort.cc -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.cc (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.cc (working copy) -@@ -0,0 +1,26 @@ -+#include "UpperTesterPort.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partC" -+#include "CAM_ports/UpperTesterPort_CAM.partC" -+#include "DCC_ports/UpperTesterPort_DCC.partC" -+#include "DENM_ports/UpperTesterPort_DENM.partC" -+#include "GN_ports/UpperTesterPort_GN.partC" -+#include "IVIM_ports/UpperTesterPort_IVIM.partC" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partC" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partC" -+#include "V2G_ports/UpperTesterPort_V2G.partC" -+*/ -+ -+#include "UpperTesterPort_BTP.partC" -+#include "UpperTesterPort_CAM.partC" -+//#include "UpperTesterPort_DCC.partC" -+#include "UpperTesterPort_DENM.partC" -+#include "UpperTesterPort_GN.partC" -+#include "UpperTesterPort_IVIM.partC" -+//#include "UpperTesterPort_MapSpat.partC" -+#include "UpperTesterPort_MapemSpatem.partC" -+#include "UpperTesterPort_SremSsem.partC" -+#include "UpperTesterPort_Evcsn.partC" -+//#include "UpperTesterPort_V2G.partC" -Index: Ports/LibIts_ports/UpperTesterPort.hh -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.hh (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.hh (working copy) -@@ -0,0 +1,32 @@ -+#ifndef UpperTesterPort_HH -+#define UpperTesterPort_HH -+ -+#include "LibItsCommon_TypesAndValues.hh" -+//#include "TRI_mapper_API.hh" -+//#include "TTCN_EncDec.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partH" -+#include "CAM_ports/UpperTesterPort_CAM.partH" -+#include "DCC_ports/UpperTesterPort_DCC.partH" -+#include "DENM_ports/UpperTesterPort_DENM.partH" -+#include "GN_ports/UpperTesterPort_GN.partH" -+#include "IVIM_ports/UpperTesterPort_IVIM.partH" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partH" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partH" -+#include "V2G_ports/UpperTesterPort_V2G.partH" -+*/ -+#include "UpperTesterPort_BTP.partH" -+#include "UpperTesterPort_CAM.partH" -+//#include "UpperTesterPort_DCC.partH" -+#include "UpperTesterPort_DENM.partH" -+#include "UpperTesterPort_GN.partH" -+#include "UpperTesterPort_IVIM.partH" -+//#include "UpperTesterPort_MapSpat.partH" -+#include "UpperTesterPort_MapemSpatem.partH" -+#include "UpperTesterPort_SremSsem.partH" -+#include "UpperTesterPort_Evcsn.partH" -+//#include "UpperTesterPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (working copy) -@@ -0,0 +1,30 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& send_par); -+}; -+ -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.cc -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.cc (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "V2Gport.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+V2Gport::V2Gport(const char *par_port_name) -+ : V2Gport_BASE(par_port_name) -+{ -+ -+} -+ -+V2Gport::~V2Gport() -+{ -+ -+} -+ -+void V2Gport::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void V2Gport::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void V2Gport::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_start() -+{ -+ -+} -+ -+void V2Gport::user_stop() -+{ -+ -+} -+ -+void V2Gport::outgoing_send(const V2Greq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.hh -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.hh (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef V2Gport_HH -+#define V2Gport_HH -+ -+#include "LibItsV2G_TestSystem.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+class V2Gport : public V2Gport_BASE { -+public: -+ V2Gport(const char *par_port_name = NULL); -+ ~V2Gport(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const V2Greq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/AdapterControlPort.cc -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.cc (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.cc (working copy) -@@ -0,0 +1,21 @@ -+#include "AdapterControlPort.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partC" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partC" -+#include "DENM_ports/AdapterControlPort_DENM.partC" -+#include "GN_ports/AdapterControlPort_GN.partC" -+#include "IVIM_ports/AdapterControlPort_IVIM.partC" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partC" -+#include "V2G_ports/AdapterControlPort_V2G.partC" -+*/ -+#include "AdapterControlPort_CAM.partC" -+#include "AdapterControlPort_DENM.partC" -+#include "AdapterControlPort_GN.partC" -+#include "AdapterControlPort_IVIM.partC" -+#include "AdapterControlPort_MapemSpatem.partC" -+#include "AdapterControlPort_SremSsem.partC" -+#include "AdapterControlPort_Evcsn.partC" -+//#include "AdapterControlPort_V2G.partC" -+ -Index: Ports/LibIts_ports/AdapterControlPort.hh -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.hh (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.hh (working copy) -@@ -0,0 +1,25 @@ -+#ifndef AdapterControlPort_HH -+#define AdapterControlPort_HH -+ -+//#include "TRI_mapper_API.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partH" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partH" -+#include "DENM_ports/AdapterControlPort_DENM.partH" -+#include "GN_ports/AdapterControlPort_GN.partH" -+#include "IVIM_ports/AdapterControlPort_IVIM.partH" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partH" -+#include "V2G_ports/AdapterControlPort_V2G.partH" -+*/ -+#include "AdapterControlPort_CAM.partH" -+#include "AdapterControlPort_DENM.partH" -+#include "AdapterControlPort_GN.partH" -+#include "AdapterControlPort_IVIM.partH" -+#include "AdapterControlPort_MapemSpatem.partH" -+#include "AdapterControlPort_SremSsem.partH" -+#include "AdapterControlPort_Evcsn.partH" -+//#include "AdapterControlPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/BtpPort.cc -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.cc (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "BtpPort.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+BtpPort::BtpPort(const char *par_port_name) -+ : BtpPort_BASE(par_port_name) -+{ -+ -+} -+ -+BtpPort::~BtpPort() -+{ -+ -+} -+ -+void BtpPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void BtpPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void BtpPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_start() -+{ -+ -+} -+ -+void BtpPort::user_stop() -+{ -+ -+} -+ -+void BtpPort::outgoing_send(const BtpReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/BTP_ports/BtpPort.hh -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.hh (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef BtpPort_HH -+#define BtpPort_HH -+ -+#include "LibItsBtp_TestSystem.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+class BtpPort : public BtpPort_BASE { -+public: -+ BtpPort(const char *par_port_name = NULL); -+ ~BtpPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const BtpReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsBtp__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsBtp_TestSystem.hh" -+namespace LibItsBtp__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/CAM_ports/CamPort.cc -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.cc (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CamPort.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+CamPort::CamPort(const char *par_port_name) -+ : CamPort_BASE(par_port_name) -+{ -+ -+} -+ -+CamPort::~CamPort() -+{ -+ -+} -+ -+void CamPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CamPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CamPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_start() -+{ -+ -+} -+ -+void CamPort::user_stop() -+{ -+ -+} -+ -+void CamPort::outgoing_send(const CamReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/CAM_ports/CamPort.hh -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.hh (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CamPort_HH -+#define CamPort_HH -+ -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class CamPort : public CamPort_BASE { -+public: -+ CamPort(const char *par_port_name = NULL); -+ ~CamPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const CamReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+namespace LibItsCam__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CheckPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+CheckPort::CheckPort(const char *par_port_name) -+ : CheckPort_BASE(par_port_name) -+{ -+ -+} -+ -+CheckPort::~CheckPort() -+{ -+ -+} -+ -+void CheckPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CheckPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CheckPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_start() -+{ -+ -+} -+ -+void CheckPort::user_stop() -+{ -+ -+} -+ -+void CheckPort::outgoing_send(const INTEGER& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CheckPort_HH -+#define CheckPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class CheckPort : public CheckPort_BASE { -+public: -+ CheckPort(const char *par_port_name = NULL); -+ ~CheckPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const INTEGER& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/InPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.cc (working copy) -@@ -0,0 +1,78 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "InPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+InPort::InPort(const char *par_port_name) -+ : InPort_BASE(par_port_name) -+{ -+ -+} -+ -+InPort::~InPort() -+{ -+ -+} -+ -+void InPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void InPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void InPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_start() -+{ -+ -+} -+ -+void InPort::user_stop() -+{ -+ -+} -+ -+void InPort::outgoing_send(const LibItsDcc__TypesAndValues::InReq& /*send_par*/) -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/InPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef InPort_HH -+#define InPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class InPort : public InPort_BASE { -+public: -+ InPort(const char *par_port_name = NULL); -+ ~InPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TypesAndValues::InReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/RrxPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.cc (working copy) -@@ -0,0 +1,73 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "RrxPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+RrxPort::RrxPort(const char *par_port_name) -+ : RrxPort_BASE(par_port_name) -+{ -+ -+} -+ -+RrxPort::~RrxPort() -+{ -+ -+} -+ -+void RrxPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void RrxPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void RrxPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_start() -+{ -+ -+} -+ -+void RrxPort::user_stop() -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/RrxPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.hh (working copy) -@@ -0,0 +1,43 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef RrxPort_HH -+#define RrxPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class RrxPort : public RrxPort_BASE { -+public: -+ RrxPort(const char *par_port_name = NULL); -+ ~RrxPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDcc__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsDcc_TestSystem.hh" -+namespace LibItsDcc__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/DENM_ports/DenmPort.cc -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.cc (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "DenmPort.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+DenmPort::DenmPort(const char *par_port_name) -+ : DenmPort_BASE(par_port_name) -+{ -+ -+} -+ -+DenmPort::~DenmPort() -+{ -+ -+} -+ -+void DenmPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void DenmPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void DenmPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_start() -+{ -+ -+} -+ -+void DenmPort::user_stop() -+{ -+ -+} -+ -+void DenmPort::outgoing_send(const DenmReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DENM_ports/DenmPort.hh -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.hh (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef DenmPort_HH -+#define DenmPort_HH -+ -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class DenmPort : public DenmPort_BASE { -+public: -+ DenmPort(const char *par_port_name = NULL); -+ ~DenmPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const DenmReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+namespace LibItsDenm__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "EvcsnPort.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+EvcsnPort::EvcsnPort(const char *par_port_name) -+ : EvcsnPort_BASE(par_port_name) -+{ -+ -+} -+ -+EvcsnPort::~EvcsnPort() -+{ -+ -+} -+ -+void EvcsnPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void EvcsnPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void EvcsnPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_start() -+{ -+ -+} -+ -+void EvcsnPort::user_stop() -+{ -+ -+} -+ -+void EvcsnPort::outgoing_send(const EvcsnReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef EvcsnPort_HH -+#define EvcsnPort_HH -+ -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class EvcsnPort : public EvcsnPort_BASE { -+public: -+ EvcsnPort(const char *par_port_name = NULL); -+ ~EvcsnPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const EvcsnReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+namespace LibItsEvcsn__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (working copy) -@@ -0,0 +1,81 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (working copy) -@@ -0,0 +1,38 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& send_par); -+ -+ void outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "GeoNetworkingPort.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+GeoNetworkingPort::GeoNetworkingPort(const char *par_port_name) -+ : GeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+GeoNetworkingPort::~GeoNetworkingPort() -+{ -+ -+} -+ -+void GeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void GeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void GeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void GeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void GeoNetworkingPort::outgoing_send(const GeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef GeoNetworkingPort_HH -+#define GeoNetworkingPort_HH -+ -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class GeoNetworkingPort : public GeoNetworkingPort_BASE { -+public: -+ GeoNetworkingPort(const char *par_port_name = NULL); -+ ~GeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const GeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+namespace LibItsGeoNetworking__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IPv6OverGeoNetworkingPort.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+IPv6OverGeoNetworkingPort::IPv6OverGeoNetworkingPort(const char *par_port_name) -+ : IPv6OverGeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+IPv6OverGeoNetworkingPort::~IPv6OverGeoNetworkingPort() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IPv6OverGeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::outgoing_send(const IPv6OverGeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IPv6OverGeoNetworkingPort_HH -+#define IPv6OverGeoNetworkingPort_HH -+ -+#include "LibItsIpv6OverGeoNetworking_TestSystem.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+class IPv6OverGeoNetworkingPort : public IPv6OverGeoNetworkingPort_BASE { -+public: -+ IPv6OverGeoNetworkingPort(const char *par_port_name = NULL); -+ ~IPv6OverGeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IPv6OverGeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.cc -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.cc (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IvimPort.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+IvimPort::IvimPort(const char *par_port_name) -+ : IvimPort_BASE(par_port_name) -+{ -+ -+} -+ -+IvimPort::~IvimPort() -+{ -+ -+} -+ -+void IvimPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IvimPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IvimPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_start() -+{ -+ -+} -+ -+void IvimPort::user_stop() -+{ -+ -+} -+ -+void IvimPort::outgoing_send(const IvimReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.hh -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.hh (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IvimPort_HH -+#define IvimPort_HH -+ -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class IvimPort : public IvimPort_BASE { -+public: -+ IvimPort(const char *par_port_name = NULL); -+ ~IvimPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IvimReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+namespace LibItsIvim__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapSpatPort.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+MapSpatPort::MapSpatPort(const char *par_port_name) -+ : MapSpatPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapSpatPort::~MapSpatPort() -+{ -+ -+} -+ -+void MapSpatPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapSpatPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapSpatPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_start() -+{ -+ -+} -+ -+void MapSpatPort::user_stop() -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const MapReq& /*send_par*/) -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const SpatReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapSpatPort_HH -+#define MapSpatPort_HH -+ -+#include "LibItsMapSpat_TestSystem.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+class MapSpatPort : public MapSpatPort_BASE { -+public: -+ MapSpatPort(const char *par_port_name = NULL); -+ ~MapSpatPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapReq& send_par); -+ void outgoing_send(const SpatReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapSpat__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (working copy) -@@ -0,0 +1,33 @@ -+//============================================================================= -+#include "LibItsMapSpat_TestSystem.hh" -+namespace LibItsMapSpat__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& send_par); -+}; -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapemSpatemPort.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+MapemSpatemPort::MapemSpatemPort(const char *par_port_name) -+ : MapemSpatemPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapemSpatemPort::~MapemSpatemPort() -+{ -+ -+} -+ -+void MapemSpatemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapemSpatemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapemSpatemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_start() -+{ -+ -+} -+ -+void MapemSpatemPort::user_stop() -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const MapemReq& /*send_par*/) -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const SpatemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (working copy) -@@ -0,0 +1,46 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapemSpatemPort_HH -+#define MapemSpatemPort_HH -+ -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class MapemSpatemPort : public MapemSpatemPort_BASE { -+public: -+ MapemSpatemPort(const char *par_port_name = NULL); -+ ~MapemSpatemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapemReq& send_par); -+ -+ void outgoing_send(const SpatemReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+namespace LibItsMapemSpatem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "SremSsemPort.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+SremSsemPort::SremSsemPort(const char *par_port_name) -+ : SremSsemPort_BASE(par_port_name) -+{ -+ -+} -+ -+SremSsemPort::~SremSsemPort() -+{ -+ -+} -+ -+void SremSsemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void SremSsemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void SremSsemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_start() -+{ -+ -+} -+ -+void SremSsemPort::user_stop() -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SremReq& /*send_par*/) -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SsemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (working copy) -@@ -0,0 +1,47 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef SremSsemPort_HH -+#define SremSsemPort_HH -+ -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class SremSsemPort : public SremSsemPort_BASE { -+public: -+ SremSsemPort(const char *par_port_name = NULL); -+ ~SremSsemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const SremReq& send_par); -+ -+ void outgoing_send(const SsemReq& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (working copy) -@@ -0,0 +1,78 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -+ -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+namespace LibItsSremSsem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/UpperTesterPort.cc -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.cc (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.cc (working copy) -@@ -0,0 +1,26 @@ -+#include "UpperTesterPort.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partC" -+#include "CAM_ports/UpperTesterPort_CAM.partC" -+#include "DCC_ports/UpperTesterPort_DCC.partC" -+#include "DENM_ports/UpperTesterPort_DENM.partC" -+#include "GN_ports/UpperTesterPort_GN.partC" -+#include "IVIM_ports/UpperTesterPort_IVIM.partC" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partC" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partC" -+#include "V2G_ports/UpperTesterPort_V2G.partC" -+*/ -+ -+#include "UpperTesterPort_BTP.partC" -+#include "UpperTesterPort_CAM.partC" -+//#include "UpperTesterPort_DCC.partC" -+#include "UpperTesterPort_DENM.partC" -+#include "UpperTesterPort_GN.partC" -+#include "UpperTesterPort_IVIM.partC" -+//#include "UpperTesterPort_MapSpat.partC" -+#include "UpperTesterPort_MapemSpatem.partC" -+#include "UpperTesterPort_SremSsem.partC" -+#include "UpperTesterPort_Evcsn.partC" -+//#include "UpperTesterPort_V2G.partC" -Index: Ports/LibIts_ports/UpperTesterPort.hh -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.hh (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.hh (working copy) -@@ -0,0 +1,32 @@ -+#ifndef UpperTesterPort_HH -+#define UpperTesterPort_HH -+ -+#include "LibItsCommon_TypesAndValues.hh" -+//#include "TRI_mapper_API.hh" -+//#include "TTCN_EncDec.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partH" -+#include "CAM_ports/UpperTesterPort_CAM.partH" -+#include "DCC_ports/UpperTesterPort_DCC.partH" -+#include "DENM_ports/UpperTesterPort_DENM.partH" -+#include "GN_ports/UpperTesterPort_GN.partH" -+#include "IVIM_ports/UpperTesterPort_IVIM.partH" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partH" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partH" -+#include "V2G_ports/UpperTesterPort_V2G.partH" -+*/ -+#include "UpperTesterPort_BTP.partH" -+#include "UpperTesterPort_CAM.partH" -+//#include "UpperTesterPort_DCC.partH" -+#include "UpperTesterPort_DENM.partH" -+#include "UpperTesterPort_GN.partH" -+#include "UpperTesterPort_IVIM.partH" -+//#include "UpperTesterPort_MapSpat.partH" -+#include "UpperTesterPort_MapemSpatem.partH" -+#include "UpperTesterPort_SremSsem.partH" -+#include "UpperTesterPort_Evcsn.partH" -+//#include "UpperTesterPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (working copy) -@@ -0,0 +1,30 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& send_par); -+}; -+ -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.cc -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.cc (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "V2Gport.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+V2Gport::V2Gport(const char *par_port_name) -+ : V2Gport_BASE(par_port_name) -+{ -+ -+} -+ -+V2Gport::~V2Gport() -+{ -+ -+} -+ -+void V2Gport::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void V2Gport::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void V2Gport::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_start() -+{ -+ -+} -+ -+void V2Gport::user_stop() -+{ -+ -+} -+ -+void V2Gport::outgoing_send(const V2Greq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.hh -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.hh (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef V2Gport_HH -+#define V2Gport_HH -+ -+#include "LibItsV2G_TestSystem.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+class V2Gport : public V2Gport_BASE { -+public: -+ V2Gport(const char *par_port_name = NULL); -+ ~V2Gport(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const V2Greq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/AdapterControlPort.cc -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.cc (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.cc (working copy) -@@ -0,0 +1,21 @@ -+#include "AdapterControlPort.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partC" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partC" -+#include "DENM_ports/AdapterControlPort_DENM.partC" -+#include "GN_ports/AdapterControlPort_GN.partC" -+#include "IVIM_ports/AdapterControlPort_IVIM.partC" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partC" -+#include "V2G_ports/AdapterControlPort_V2G.partC" -+*/ -+#include "AdapterControlPort_CAM.partC" -+#include "AdapterControlPort_DENM.partC" -+#include "AdapterControlPort_GN.partC" -+#include "AdapterControlPort_IVIM.partC" -+#include "AdapterControlPort_MapemSpatem.partC" -+#include "AdapterControlPort_SremSsem.partC" -+#include "AdapterControlPort_Evcsn.partC" -+//#include "AdapterControlPort_V2G.partC" -+ -Index: Ports/LibIts_ports/AdapterControlPort.hh -=================================================================== ---- Ports/LibIts_ports/AdapterControlPort.hh (nonexistent) -+++ Ports/LibIts_ports/AdapterControlPort.hh (working copy) -@@ -0,0 +1,25 @@ -+#ifndef AdapterControlPort_HH -+#define AdapterControlPort_HH -+ -+//#include "TRI_mapper_API.hh" -+ -+//#include "CALM_ports/AdapterControlPort_CALM.partH" -+/* to be used when built without generating softlinks to the working directory -+#include "CAM_ports/AdapterControlPort_CAM.partH" -+#include "DENM_ports/AdapterControlPort_DENM.partH" -+#include "GN_ports/AdapterControlPort_GN.partH" -+#include "IVIM_ports/AdapterControlPort_IVIM.partH" -+#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH" -+#include "SremSsem_ports/AdapterControlPort_SremSsem.partH" -+#include "V2G_ports/AdapterControlPort_V2G.partH" -+*/ -+#include "AdapterControlPort_CAM.partH" -+#include "AdapterControlPort_DENM.partH" -+#include "AdapterControlPort_GN.partH" -+#include "AdapterControlPort_IVIM.partH" -+#include "AdapterControlPort_MapemSpatem.partH" -+#include "AdapterControlPort_SremSsem.partH" -+#include "AdapterControlPort_Evcsn.partH" -+//#include "AdapterControlPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/BtpPort.cc -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.cc (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "BtpPort.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+BtpPort::BtpPort(const char *par_port_name) -+ : BtpPort_BASE(par_port_name) -+{ -+ -+} -+ -+BtpPort::~BtpPort() -+{ -+ -+} -+ -+void BtpPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void BtpPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void BtpPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_start() -+{ -+ -+} -+ -+void BtpPort::user_stop() -+{ -+ -+} -+ -+void BtpPort::outgoing_send(const BtpReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/BTP_ports/BtpPort.hh -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.hh (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef BtpPort_HH -+#define BtpPort_HH -+ -+#include "LibItsBtp_TestSystem.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+class BtpPort : public BtpPort_BASE { -+public: -+ BtpPort(const char *par_port_name = NULL); -+ ~BtpPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const BtpReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsBtp__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsBtp_TestSystem.hh" -+namespace LibItsBtp__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/BTP_ports/BtpPort.cc -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.cc (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "BtpPort.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+BtpPort::BtpPort(const char *par_port_name) -+ : BtpPort_BASE(par_port_name) -+{ -+ -+} -+ -+BtpPort::~BtpPort() -+{ -+ -+} -+ -+void BtpPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void BtpPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void BtpPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void BtpPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void BtpPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void BtpPort::user_start() -+{ -+ -+} -+ -+void BtpPort::user_stop() -+{ -+ -+} -+ -+void BtpPort::outgoing_send(const BtpReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/BTP_ports/BtpPort.hh -=================================================================== ---- Ports/LibIts_ports/BTP_ports/BtpPort.hh (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/BtpPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef BtpPort_HH -+#define BtpPort_HH -+ -+#include "LibItsBtp_TestSystem.hh" -+ -+namespace LibItsBtp__TestSystem { -+ -+class BtpPort : public BtpPort_BASE { -+public: -+ BtpPort(const char *par_port_name = NULL); -+ ~BtpPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const BtpReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsBtp__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH -=================================================================== ---- Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (nonexistent) -+++ Ports/LibIts_ports/BTP_ports/UpperTesterPort_BTP.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsBtp_TestSystem.hh" -+namespace LibItsBtp__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsBtp__TypesAndValues::UtBtpTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/CAM_ports/CamPort.cc -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.cc (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CamPort.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+CamPort::CamPort(const char *par_port_name) -+ : CamPort_BASE(par_port_name) -+{ -+ -+} -+ -+CamPort::~CamPort() -+{ -+ -+} -+ -+void CamPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CamPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CamPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_start() -+{ -+ -+} -+ -+void CamPort::user_stop() -+{ -+ -+} -+ -+void CamPort::outgoing_send(const CamReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/CAM_ports/CamPort.hh -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.hh (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CamPort_HH -+#define CamPort_HH -+ -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class CamPort : public CamPort_BASE { -+public: -+ CamPort(const char *par_port_name = NULL); -+ ~CamPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const CamReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+namespace LibItsCam__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/AdapterControlPort_CAM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/CAM_ports/CamPort.cc -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.cc (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CamPort.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+CamPort::CamPort(const char *par_port_name) -+ : CamPort_BASE(par_port_name) -+{ -+ -+} -+ -+CamPort::~CamPort() -+{ -+ -+} -+ -+void CamPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CamPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CamPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CamPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CamPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CamPort::user_start() -+{ -+ -+} -+ -+void CamPort::user_stop() -+{ -+ -+} -+ -+void CamPort::outgoing_send(const CamReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/CAM_ports/CamPort.hh -=================================================================== ---- Ports/LibIts_ports/CAM_ports/CamPort.hh (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/CamPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CamPort_HH -+#define CamPort_HH -+ -+#include "LibItsCam_TestSystem.hh" -+ -+namespace LibItsCam__TestSystem { -+ -+class CamPort : public CamPort_BASE { -+public: -+ CamPort(const char *par_port_name = NULL); -+ ~CamPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const CamReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsCam__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH -=================================================================== ---- Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (nonexistent) -+++ Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsCam_TestSystem.hh" -+namespace LibItsCam__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCam__TypesAndValues::UtCamTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CheckPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+CheckPort::CheckPort(const char *par_port_name) -+ : CheckPort_BASE(par_port_name) -+{ -+ -+} -+ -+CheckPort::~CheckPort() -+{ -+ -+} -+ -+void CheckPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CheckPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CheckPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_start() -+{ -+ -+} -+ -+void CheckPort::user_stop() -+{ -+ -+} -+ -+void CheckPort::outgoing_send(const INTEGER& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CheckPort_HH -+#define CheckPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class CheckPort : public CheckPort_BASE { -+public: -+ CheckPort(const char *par_port_name = NULL); -+ ~CheckPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const INTEGER& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/InPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.cc (working copy) -@@ -0,0 +1,78 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "InPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+InPort::InPort(const char *par_port_name) -+ : InPort_BASE(par_port_name) -+{ -+ -+} -+ -+InPort::~InPort() -+{ -+ -+} -+ -+void InPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void InPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void InPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_start() -+{ -+ -+} -+ -+void InPort::user_stop() -+{ -+ -+} -+ -+void InPort::outgoing_send(const LibItsDcc__TypesAndValues::InReq& /*send_par*/) -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/InPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef InPort_HH -+#define InPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class InPort : public InPort_BASE { -+public: -+ InPort(const char *par_port_name = NULL); -+ ~InPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TypesAndValues::InReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/RrxPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.cc (working copy) -@@ -0,0 +1,73 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "RrxPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+RrxPort::RrxPort(const char *par_port_name) -+ : RrxPort_BASE(par_port_name) -+{ -+ -+} -+ -+RrxPort::~RrxPort() -+{ -+ -+} -+ -+void RrxPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void RrxPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void RrxPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_start() -+{ -+ -+} -+ -+void RrxPort::user_stop() -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/RrxPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.hh (working copy) -@@ -0,0 +1,43 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef RrxPort_HH -+#define RrxPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class RrxPort : public RrxPort_BASE { -+public: -+ RrxPort(const char *par_port_name = NULL); -+ ~RrxPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDcc__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsDcc_TestSystem.hh" -+namespace LibItsDcc__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "CheckPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+CheckPort::CheckPort(const char *par_port_name) -+ : CheckPort_BASE(par_port_name) -+{ -+ -+} -+ -+CheckPort::~CheckPort() -+{ -+ -+} -+ -+void CheckPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void CheckPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void CheckPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void CheckPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void CheckPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void CheckPort::user_start() -+{ -+ -+} -+ -+void CheckPort::user_stop() -+{ -+ -+} -+ -+void CheckPort::outgoing_send(const INTEGER& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/CheckPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/CheckPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/CheckPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef CheckPort_HH -+#define CheckPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class CheckPort : public CheckPort_BASE { -+public: -+ CheckPort(const char *par_port_name = NULL); -+ ~CheckPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const INTEGER& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/InPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.cc (working copy) -@@ -0,0 +1,78 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "InPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+InPort::InPort(const char *par_port_name) -+ : InPort_BASE(par_port_name) -+{ -+ -+} -+ -+InPort::~InPort() -+{ -+ -+} -+ -+void InPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void InPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void InPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void InPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void InPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void InPort::user_start() -+{ -+ -+} -+ -+void InPort::user_stop() -+{ -+ -+} -+ -+void InPort::outgoing_send(const LibItsDcc__TypesAndValues::InReq& /*send_par*/) -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/InPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/InPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/InPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef InPort_HH -+#define InPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class InPort : public InPort_BASE { -+public: -+ InPort(const char *par_port_name = NULL); -+ ~InPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TypesAndValues::InReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/RrxPort.cc -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.cc (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.cc (working copy) -@@ -0,0 +1,73 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "RrxPort.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+RrxPort::RrxPort(const char *par_port_name) -+ : RrxPort_BASE(par_port_name) -+{ -+ -+} -+ -+RrxPort::~RrxPort() -+{ -+ -+} -+ -+void RrxPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void RrxPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void RrxPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void RrxPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void RrxPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void RrxPort::user_start() -+{ -+ -+} -+ -+void RrxPort::user_stop() -+{ -+ -+} -+ -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DCC_ports/RrxPort.hh -=================================================================== ---- Ports/LibIts_ports/DCC_ports/RrxPort.hh (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/RrxPort.hh (working copy) -@@ -0,0 +1,43 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef RrxPort_HH -+#define RrxPort_HH -+ -+#include "LibItsDcc_TestSystem.hh" -+ -+namespace LibItsDcc__TestSystem { -+ -+class RrxPort : public RrxPort_BASE { -+public: -+ RrxPort(const char *par_port_name = NULL); -+ ~RrxPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDcc__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDcc__TestSystem::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH -=================================================================== ---- Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (nonexistent) -+++ Ports/LibIts_ports/DCC_ports/UpperTesterPort_DCC.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsDcc_TestSystem.hh" -+namespace LibItsDcc__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDcc__TestSystem::UtTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/DENM_ports/DenmPort.cc -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.cc (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "DenmPort.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+DenmPort::DenmPort(const char *par_port_name) -+ : DenmPort_BASE(par_port_name) -+{ -+ -+} -+ -+DenmPort::~DenmPort() -+{ -+ -+} -+ -+void DenmPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void DenmPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void DenmPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_start() -+{ -+ -+} -+ -+void DenmPort::user_stop() -+{ -+ -+} -+ -+void DenmPort::outgoing_send(const DenmReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DENM_ports/DenmPort.hh -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.hh (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef DenmPort_HH -+#define DenmPort_HH -+ -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class DenmPort : public DenmPort_BASE { -+public: -+ DenmPort(const char *par_port_name = NULL); -+ ~DenmPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const DenmReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+namespace LibItsDenm__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/AdapterControlPort_DENM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/DENM_ports/DenmPort.cc -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.cc (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "DenmPort.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+DenmPort::DenmPort(const char *par_port_name) -+ : DenmPort_BASE(par_port_name) -+{ -+ -+} -+ -+DenmPort::~DenmPort() -+{ -+ -+} -+ -+void DenmPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void DenmPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void DenmPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void DenmPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void DenmPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void DenmPort::user_start() -+{ -+ -+} -+ -+void DenmPort::user_stop() -+{ -+ -+} -+ -+void DenmPort::outgoing_send(const DenmReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/DENM_ports/DenmPort.hh -=================================================================== ---- Ports/LibIts_ports/DENM_ports/DenmPort.hh (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/DenmPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef DenmPort_HH -+#define DenmPort_HH -+ -+#include "LibItsDenm_TestSystem.hh" -+ -+namespace LibItsDenm__TestSystem { -+ -+class DenmPort : public DenmPort_BASE { -+public: -+ DenmPort(const char *par_port_name = NULL); -+ ~DenmPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const DenmReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsDenm__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH -=================================================================== ---- Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (nonexistent) -+++ Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsDenm_TestSystem.hh" -+namespace LibItsDenm__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTrigger& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmUpdate& send_par); -+ -+ void outgoing_send(const LibItsDenm__TypesAndValues::UtDenmTermination& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "EvcsnPort.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+EvcsnPort::EvcsnPort(const char *par_port_name) -+ : EvcsnPort_BASE(par_port_name) -+{ -+ -+} -+ -+EvcsnPort::~EvcsnPort() -+{ -+ -+} -+ -+void EvcsnPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void EvcsnPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void EvcsnPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_start() -+{ -+ -+} -+ -+void EvcsnPort::user_stop() -+{ -+ -+} -+ -+void EvcsnPort::outgoing_send(const EvcsnReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef EvcsnPort_HH -+#define EvcsnPort_HH -+ -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class EvcsnPort : public EvcsnPort_BASE { -+public: -+ EvcsnPort(const char *par_port_name = NULL); -+ ~EvcsnPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const EvcsnReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+namespace LibItsEvcsn__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/AdapterControlPort_EVCSN.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "EvcsnPort.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+EvcsnPort::EvcsnPort(const char *par_port_name) -+ : EvcsnPort_BASE(par_port_name) -+{ -+ -+} -+ -+EvcsnPort::~EvcsnPort() -+{ -+ -+} -+ -+void EvcsnPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void EvcsnPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void EvcsnPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void EvcsnPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void EvcsnPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void EvcsnPort::user_start() -+{ -+ -+} -+ -+void EvcsnPort::user_stop() -+{ -+ -+} -+ -+void EvcsnPort::outgoing_send(const EvcsnReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/EvcsnPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 16:32:05 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef EvcsnPort_HH -+#define EvcsnPort_HH -+ -+#include "LibItsEvcsn_TestSystem.hh" -+ -+namespace LibItsEvcsn__TestSystem { -+ -+class EvcsnPort : public EvcsnPort_BASE { -+public: -+ EvcsnPort(const char *par_port_name = NULL); -+ ~EvcsnPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const EvcsnReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partC (working copy) -@@ -0,0 +1,86 @@ -+//============================================================================= -+namespace LibItsEvcsn__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH -=================================================================== ---- Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (nonexistent) -+++ Ports/LibIts_ports/EVCSN_ports/UpperTesterPort_EVCSN.partH (working copy) -@@ -0,0 +1,39 @@ -+//============================================================================= -+#include "LibItsEvcsn_TestSystem.hh" -+namespace LibItsEvcsn__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsEvcsn__TypesAndValues::UtEvcsnTrigger& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtActivatePositionTime& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtDeactivatePositionTime& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (working copy) -@@ -0,0 +1,81 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (working copy) -@@ -0,0 +1,38 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& send_par); -+ -+ void outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "GeoNetworkingPort.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+GeoNetworkingPort::GeoNetworkingPort(const char *par_port_name) -+ : GeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+GeoNetworkingPort::~GeoNetworkingPort() -+{ -+ -+} -+ -+void GeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void GeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void GeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void GeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void GeoNetworkingPort::outgoing_send(const GeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef GeoNetworkingPort_HH -+#define GeoNetworkingPort_HH -+ -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class GeoNetworkingPort : public GeoNetworkingPort_BASE { -+public: -+ GeoNetworkingPort(const char *par_port_name = NULL); -+ ~GeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const GeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+namespace LibItsGeoNetworking__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partC (working copy) -@@ -0,0 +1,81 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/AdapterControlPort_GN.partH (working copy) -@@ -0,0 +1,38 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::AcGnPrimitive& send_par); -+ -+ void outgoing_send(const LibItsIpv6OverGeoNetworking__TypesAndValues::AcGn6Primitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "GeoNetworkingPort.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+GeoNetworkingPort::GeoNetworkingPort(const char *par_port_name) -+ : GeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+GeoNetworkingPort::~GeoNetworkingPort() -+{ -+ -+} -+ -+void GeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void GeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void GeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void GeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void GeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void GeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void GeoNetworkingPort::outgoing_send(const GeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/GN_ports/GeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sat Aug 15 22:33:04 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef GeoNetworkingPort_HH -+#define GeoNetworkingPort_HH -+ -+#include "LibItsGeoNetworking_TestSystem.hh" -+ -+namespace LibItsGeoNetworking__TestSystem { -+ -+class GeoNetworkingPort : public GeoNetworkingPort_BASE { -+public: -+ GeoNetworkingPort(const char *par_port_name = NULL); -+ ~GeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const GeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsGeoNetworking__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH -=================================================================== ---- Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (nonexistent) -+++ Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsGeoNetworking_TestSystem.hh" -+namespace LibItsGeoNetworking__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IPv6OverGeoNetworkingPort.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+IPv6OverGeoNetworkingPort::IPv6OverGeoNetworkingPort(const char *par_port_name) -+ : IPv6OverGeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+IPv6OverGeoNetworkingPort::~IPv6OverGeoNetworkingPort() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IPv6OverGeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::outgoing_send(const IPv6OverGeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IPv6OverGeoNetworkingPort_HH -+#define IPv6OverGeoNetworkingPort_HH -+ -+#include "LibItsIpv6OverGeoNetworking_TestSystem.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+class IPv6OverGeoNetworkingPort : public IPv6OverGeoNetworkingPort_BASE { -+public: -+ IPv6OverGeoNetworkingPort(const char *par_port_name = NULL); -+ ~IPv6OverGeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IPv6OverGeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IPv6OverGeoNetworkingPort.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+IPv6OverGeoNetworkingPort::IPv6OverGeoNetworkingPort(const char *par_port_name) -+ : IPv6OverGeoNetworkingPort_BASE(par_port_name) -+{ -+ -+} -+ -+IPv6OverGeoNetworkingPort::~IPv6OverGeoNetworkingPort() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IPv6OverGeoNetworkingPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IPv6OverGeoNetworkingPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_start() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::user_stop() -+{ -+ -+} -+ -+void IPv6OverGeoNetworkingPort::outgoing_send(const IPv6OverGeoNetworkingReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh -=================================================================== ---- Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (nonexistent) -+++ Ports/LibIts_ports/IPv6oGN_ports/IPv6OverGeoNetworkingPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 09:18:30 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IPv6OverGeoNetworkingPort_HH -+#define IPv6OverGeoNetworkingPort_HH -+ -+#include "LibItsIpv6OverGeoNetworking_TestSystem.hh" -+ -+namespace LibItsIpv6OverGeoNetworking__TestSystem { -+ -+class IPv6OverGeoNetworkingPort : public IPv6OverGeoNetworkingPort_BASE { -+public: -+ IPv6OverGeoNetworkingPort(const char *par_port_name = NULL); -+ ~IPv6OverGeoNetworkingPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IPv6OverGeoNetworkingReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.cc -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.cc (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IvimPort.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+IvimPort::IvimPort(const char *par_port_name) -+ : IvimPort_BASE(par_port_name) -+{ -+ -+} -+ -+IvimPort::~IvimPort() -+{ -+ -+} -+ -+void IvimPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IvimPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IvimPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_start() -+{ -+ -+} -+ -+void IvimPort::user_stop() -+{ -+ -+} -+ -+void IvimPort::outgoing_send(const IvimReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.hh -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.hh (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IvimPort_HH -+#define IvimPort_HH -+ -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class IvimPort : public IvimPort_BASE { -+public: -+ IvimPort(const char *par_port_name = NULL); -+ ~IvimPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IvimReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+namespace LibItsIvim__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& /*send_par*/) -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/AdapterControlPort_IVIM.partH (working copy) -@@ -0,0 +1,34 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcGnssPrimitive& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.cc -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.cc (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "IvimPort.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+IvimPort::IvimPort(const char *par_port_name) -+ : IvimPort_BASE(par_port_name) -+{ -+ -+} -+ -+IvimPort::~IvimPort() -+{ -+ -+} -+ -+void IvimPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void IvimPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void IvimPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void IvimPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void IvimPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void IvimPort::user_start() -+{ -+ -+} -+ -+void IvimPort::user_stop() -+{ -+ -+} -+ -+void IvimPort::outgoing_send(const IvimReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/IVIM_ports/IvimPort.hh -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/IvimPort.hh (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/IvimPort.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef IvimPort_HH -+#define IvimPort_HH -+ -+#include "LibItsIvim_TestSystem.hh" -+ -+namespace LibItsIvim__TestSystem { -+ -+class IvimPort : public IvimPort_BASE { -+public: -+ IvimPort(const char *par_port_name = NULL); -+ ~IvimPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const IvimReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partC (working copy) -@@ -0,0 +1,91 @@ -+//============================================================================= -+namespace LibItsIvim__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH -=================================================================== ---- Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (nonexistent) -+++ Ports/LibIts_ports/IVIM_ports/UpperTesterPort_IVIM.partH (working copy) -@@ -0,0 +1,41 @@ -+//============================================================================= -+#include "LibItsIvim_TestSystem.hh" -+namespace LibItsIvim__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePosition& send_par); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtChangePseudonym& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par); -+ -+ void outgoing_send(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapemSpatemPort.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+MapemSpatemPort::MapemSpatemPort(const char *par_port_name) -+ : MapemSpatemPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapemSpatemPort::~MapemSpatemPort() -+{ -+ -+} -+ -+void MapemSpatemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapemSpatemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapemSpatemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_start() -+{ -+ -+} -+ -+void MapemSpatemPort::user_stop() -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const MapemReq& /*send_par*/) -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const SpatemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (working copy) -@@ -0,0 +1,46 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapemSpatemPort_HH -+#define MapemSpatemPort_HH -+ -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class MapemSpatemPort : public MapemSpatemPort_BASE { -+public: -+ MapemSpatemPort(const char *par_port_name = NULL); -+ ~MapemSpatemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapemReq& send_par); -+ -+ void outgoing_send(const SpatemReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+namespace LibItsMapemSpatem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapemSpatemPort.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+MapemSpatemPort::MapemSpatemPort(const char *par_port_name) -+ : MapemSpatemPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapemSpatemPort::~MapemSpatemPort() -+{ -+ -+} -+ -+void MapemSpatemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapemSpatemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapemSpatemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapemSpatemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapemSpatemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapemSpatemPort::user_start() -+{ -+ -+} -+ -+void MapemSpatemPort::user_stop() -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const MapemReq& /*send_par*/) -+{ -+ -+} -+ -+void MapemSpatemPort::outgoing_send(const SpatemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/MapemSpatemPort.hh (working copy) -@@ -0,0 +1,46 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapemSpatemPort_HH -+#define MapemSpatemPort_HH -+ -+#include "LibItsMapemSpatem_TestSystem.hh" -+ -+namespace LibItsMapemSpatem__TestSystem { -+ -+class MapemSpatemPort : public MapemSpatemPort_BASE { -+public: -+ MapemSpatemPort(const char *par_port_name = NULL); -+ ~MapemSpatemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapemReq& send_par); -+ -+ void outgoing_send(const SpatemReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapemSpatem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH -=================================================================== ---- Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (nonexistent) -+++ Ports/LibIts_ports/MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsMapemSpatem_TestSystem.hh" -+namespace LibItsMapemSpatem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapSpatPort.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+MapSpatPort::MapSpatPort(const char *par_port_name) -+ : MapSpatPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapSpatPort::~MapSpatPort() -+{ -+ -+} -+ -+void MapSpatPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapSpatPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapSpatPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_start() -+{ -+ -+} -+ -+void MapSpatPort::user_stop() -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const MapReq& /*send_par*/) -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const SpatReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapSpatPort_HH -+#define MapSpatPort_HH -+ -+#include "LibItsMapSpat_TestSystem.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+class MapSpatPort : public MapSpatPort_BASE { -+public: -+ MapSpatPort(const char *par_port_name = NULL); -+ ~MapSpatPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapReq& send_par); -+ void outgoing_send(const SpatReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapSpat__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (working copy) -@@ -0,0 +1,33 @@ -+//============================================================================= -+#include "LibItsMapSpat_TestSystem.hh" -+namespace LibItsMapSpat__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& send_par); -+}; -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "MapSpatPort.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+MapSpatPort::MapSpatPort(const char *par_port_name) -+ : MapSpatPort_BASE(par_port_name) -+{ -+ -+} -+ -+MapSpatPort::~MapSpatPort() -+{ -+ -+} -+ -+void MapSpatPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void MapSpatPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void MapSpatPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void MapSpatPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void MapSpatPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void MapSpatPort::user_start() -+{ -+ -+} -+ -+void MapSpatPort::user_stop() -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const MapReq& /*send_par*/) -+{ -+ -+} -+ -+void MapSpatPort::outgoing_send(const SpatReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/MapSpatPort.hh (working copy) -@@ -0,0 +1,45 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef MapSpatPort_HH -+#define MapSpatPort_HH -+ -+#include "LibItsMapSpat_TestSystem.hh" -+ -+namespace LibItsMapSpat__TestSystem { -+ -+class MapSpatPort : public MapSpatPort_BASE { -+public: -+ MapSpatPort(const char *par_port_name = NULL); -+ ~MapSpatPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const MapReq& send_par); -+ void outgoing_send(const SpatReq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partC (working copy) -@@ -0,0 +1,71 @@ -+//============================================================================= -+namespace LibItsMapSpat__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH -=================================================================== ---- Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (nonexistent) -+++ Ports/LibIts_ports/MapSpat_ports/UpperTesterPort_MapSpat.partH (working copy) -@@ -0,0 +1,33 @@ -+//============================================================================= -+#include "LibItsMapSpat_TestSystem.hh" -+namespace LibItsMapSpat__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsMapSpat__TypesAndValues::UtMapSpatTrigger& send_par); -+}; -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "SremSsemPort.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+SremSsemPort::SremSsemPort(const char *par_port_name) -+ : SremSsemPort_BASE(par_port_name) -+{ -+ -+} -+ -+SremSsemPort::~SremSsemPort() -+{ -+ -+} -+ -+void SremSsemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void SremSsemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void SremSsemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_start() -+{ -+ -+} -+ -+void SremSsemPort::user_stop() -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SremReq& /*send_par*/) -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SsemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (working copy) -@@ -0,0 +1,47 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef SremSsemPort_HH -+#define SremSsemPort_HH -+ -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class SremSsemPort : public SremSsemPort_BASE { -+public: -+ SremSsemPort(const char *par_port_name = NULL); -+ ~SremSsemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const SremReq& send_par); -+ -+ void outgoing_send(const SsemReq& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (working copy) -@@ -0,0 +1,78 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -+ -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+namespace LibItsSremSsem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/AdapterControlPort_SremSsem.partH (working copy) -@@ -0,0 +1,32 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par); -+ -+}; -+ -+} // end of namespace -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.cc (working copy) -@@ -0,0 +1,82 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "SremSsemPort.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+SremSsemPort::SremSsemPort(const char *par_port_name) -+ : SremSsemPort_BASE(par_port_name) -+{ -+ -+} -+ -+SremSsemPort::~SremSsemPort() -+{ -+ -+} -+ -+void SremSsemPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void SremSsemPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void SremSsemPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void SremSsemPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void SremSsemPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void SremSsemPort::user_start() -+{ -+ -+} -+ -+void SremSsemPort::user_stop() -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SremReq& /*send_par*/) -+{ -+ -+} -+ -+void SremSsemPort::outgoing_send(const SsemReq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/SremSsemPort.hh (working copy) -@@ -0,0 +1,47 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef SremSsemPort_HH -+#define SremSsemPort_HH -+ -+#include "LibItsSremSsem_TestSystem.hh" -+ -+namespace LibItsSremSsem__TestSystem { -+ -+class SremSsemPort : public SremSsemPort_BASE { -+public: -+ SremSsemPort(const char *par_port_name = NULL); -+ ~SremSsemPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const SremReq& send_par); -+ -+ void outgoing_send(const SsemReq& send_par); -+ -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partC (working copy) -@@ -0,0 +1,78 @@ -+//============================================================================= -+namespace LibItsSremSsem__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -+ -Index: Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH -=================================================================== ---- Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (nonexistent) -+++ Ports/LibIts_ports/SremSsem_ports/UpperTesterPort_SremSsem.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsSremSsem_TestSystem.hh" -+namespace LibItsSremSsem__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsCommon__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremTrigger& send_par); -+ -+ void outgoing_send(const LibItsSremSsem__TypesAndValues::UtSremUpdate& send_par); -+ -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/UpperTesterPort.cc -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.cc (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.cc (working copy) -@@ -0,0 +1,26 @@ -+#include "UpperTesterPort.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partC" -+#include "CAM_ports/UpperTesterPort_CAM.partC" -+#include "DCC_ports/UpperTesterPort_DCC.partC" -+#include "DENM_ports/UpperTesterPort_DENM.partC" -+#include "GN_ports/UpperTesterPort_GN.partC" -+#include "IVIM_ports/UpperTesterPort_IVIM.partC" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partC" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partC" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partC" -+#include "V2G_ports/UpperTesterPort_V2G.partC" -+*/ -+ -+#include "UpperTesterPort_BTP.partC" -+#include "UpperTesterPort_CAM.partC" -+//#include "UpperTesterPort_DCC.partC" -+#include "UpperTesterPort_DENM.partC" -+#include "UpperTesterPort_GN.partC" -+#include "UpperTesterPort_IVIM.partC" -+//#include "UpperTesterPort_MapSpat.partC" -+#include "UpperTesterPort_MapemSpatem.partC" -+#include "UpperTesterPort_SremSsem.partC" -+#include "UpperTesterPort_Evcsn.partC" -+//#include "UpperTesterPort_V2G.partC" -Index: Ports/LibIts_ports/UpperTesterPort.hh -=================================================================== ---- Ports/LibIts_ports/UpperTesterPort.hh (nonexistent) -+++ Ports/LibIts_ports/UpperTesterPort.hh (working copy) -@@ -0,0 +1,32 @@ -+#ifndef UpperTesterPort_HH -+#define UpperTesterPort_HH -+ -+#include "LibItsCommon_TypesAndValues.hh" -+//#include "TRI_mapper_API.hh" -+//#include "TTCN_EncDec.hh" -+ -+/* to be used when built without generating softlinks to the working directory -+#include "BTP_ports/UpperTesterPort_BTP.partH" -+#include "CAM_ports/UpperTesterPort_CAM.partH" -+#include "DCC_ports/UpperTesterPort_DCC.partH" -+#include "DENM_ports/UpperTesterPort_DENM.partH" -+#include "GN_ports/UpperTesterPort_GN.partH" -+#include "IVIM_ports/UpperTesterPort_IVIM.partH" -+#include "MapSpat_ports/UpperTesterPort_MapSpat.partH" -+#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.partH" -+#include "SremSsem_ports/UpperTesterPort_SremSsem.partH" -+#include "V2G_ports/UpperTesterPort_V2G.partH" -+*/ -+#include "UpperTesterPort_BTP.partH" -+#include "UpperTesterPort_CAM.partH" -+//#include "UpperTesterPort_DCC.partH" -+#include "UpperTesterPort_DENM.partH" -+#include "UpperTesterPort_GN.partH" -+#include "UpperTesterPort_IVIM.partH" -+//#include "UpperTesterPort_MapSpat.partH" -+#include "UpperTesterPort_MapemSpatem.partH" -+#include "UpperTesterPort_SremSsem.partH" -+#include "UpperTesterPort_Evcsn.partH" -+//#include "UpperTesterPort_V2G.partH" -+ -+#endif -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (working copy) -@@ -0,0 +1,30 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& send_par); -+}; -+ -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.cc -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.cc (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "V2Gport.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+V2Gport::V2Gport(const char *par_port_name) -+ : V2Gport_BASE(par_port_name) -+{ -+ -+} -+ -+V2Gport::~V2Gport() -+{ -+ -+} -+ -+void V2Gport::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void V2Gport::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void V2Gport::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_start() -+{ -+ -+} -+ -+void V2Gport::user_stop() -+{ -+ -+} -+ -+void V2Gport::outgoing_send(const V2Greq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.hh -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.hh (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef V2Gport_HH -+#define V2Gport_HH -+ -+#include "LibItsV2G_TestSystem.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+class V2Gport : public V2Gport_BASE { -+public: -+ V2Gport(const char *par_port_name = NULL); -+ ~V2Gport(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const V2Greq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partC (working copy) -@@ -0,0 +1,66 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+AdapterControlPort::AdapterControlPort(const char *par_port_name) -+ : AdapterControlPort_BASE(par_port_name) -+{ -+ -+} -+ -+AdapterControlPort::~AdapterControlPort() -+{ -+ -+} -+ -+void AdapterControlPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void AdapterControlPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void AdapterControlPort::user_start() -+{ -+ -+} -+ -+void AdapterControlPort::user_stop() -+{ -+ -+} -+ -+void AdapterControlPort::outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/AdapterControlPort_V2G.partH (working copy) -@@ -0,0 +1,30 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class AdapterControlPort : public AdapterControlPort_BASE { -+public: -+ AdapterControlPort(const char *par_port_name = NULL); -+ ~AdapterControlPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::AcV2Gprimitive& send_par); -+}; -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partC (working copy) -@@ -0,0 +1,76 @@ -+//============================================================================= -+namespace LibItsV2G__TestSystem { -+ -+UpperTesterPort::UpperTesterPort(const char *par_port_name) -+ : UpperTesterPort_BASE(par_port_name) -+{ -+ -+} -+ -+UpperTesterPort::~UpperTesterPort() -+{ -+ -+} -+ -+void UpperTesterPort::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void UpperTesterPort::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void UpperTesterPort::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void UpperTesterPort::user_start() -+{ -+ -+} -+ -+void UpperTesterPort::user_stop() -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& /*send_par*/) -+{ -+ -+} -+ -+void UpperTesterPort::outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH -=================================================================== ---- Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/UpperTesterPort_V2G.partH (working copy) -@@ -0,0 +1,35 @@ -+//============================================================================= -+#include "LibItsV2G_TestSystem.hh" -+namespace LibItsV2G__TestSystem { -+ -+class UpperTesterPort : public UpperTesterPort_BASE { -+public: -+ UpperTesterPort(const char *par_port_name = NULL); -+ ~UpperTesterPort(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtInitialize& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtTrigger& send_par); -+ -+ void outgoing_send(const LibItsV2G__TypesAndValues::UtCheck& send_par); -+}; -+ -+ -+} /* end of namespace */ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.cc -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.cc (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.cc (working copy) -@@ -0,0 +1,77 @@ -+// This Test Port skeleton source file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Complete the body of empty functions and -+// add your member functions here. -+ -+#include "V2Gport.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+V2Gport::V2Gport(const char *par_port_name) -+ : V2Gport_BASE(par_port_name) -+{ -+ -+} -+ -+V2Gport::~V2Gport() -+{ -+ -+} -+ -+void V2Gport::set_parameter(const char * /*parameter_name*/, -+ const char * /*parameter_value*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error) {}*/ -+ -+void V2Gport::Handle_Fd_Event_Error(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Writable(int /*fd*/) -+{ -+ -+} -+ -+void V2Gport::Handle_Fd_Event_Readable(int /*fd*/) -+{ -+ -+} -+ -+/*void V2Gport::Handle_Timeout(double time_since_last_call) {}*/ -+ -+void V2Gport::user_map(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_unmap(const char * /*system_port*/) -+{ -+ -+} -+ -+void V2Gport::user_start() -+{ -+ -+} -+ -+void V2Gport::user_stop() -+{ -+ -+} -+ -+void V2Gport::outgoing_send(const V2Greq& /*send_par*/) -+{ -+ -+} -+ -+} /* end of namespace */ -+ -Index: Ports/LibIts_ports/V2G_ports/V2Gport.hh -=================================================================== ---- Ports/LibIts_ports/V2G_ports/V2Gport.hh (nonexistent) -+++ Ports/LibIts_ports/V2G_ports/V2Gport.hh (working copy) -@@ -0,0 +1,44 @@ -+// This Test Port skeleton header file was generated by the -+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A -+// for U-ERICSSON\ethgry (ethgry@HU00078339) on Sun Aug 16 13:23:50 2015 -+ -+// Copyright Ericsson Telecom AB 2000-2014 -+ -+// You may modify this file. Add your attributes and prototypes of your -+// member functions here. -+ -+#ifndef V2Gport_HH -+#define V2Gport_HH -+ -+#include "LibItsV2G_TestSystem.hh" -+ -+namespace LibItsV2G__TestSystem { -+ -+class V2Gport : public V2Gport_BASE { -+public: -+ V2Gport(const char *par_port_name = NULL); -+ ~V2Gport(); -+ -+ void set_parameter(const char *parameter_name, -+ const char *parameter_value); -+ -+private: -+ /* void Handle_Fd_Event(int fd, boolean is_readable, -+ boolean is_writable, boolean is_error); */ -+ void Handle_Fd_Event_Error(int fd); -+ void Handle_Fd_Event_Writable(int fd); -+ void Handle_Fd_Event_Readable(int fd); -+ /* void Handle_Timeout(double time_since_last_call); */ -+protected: -+ void user_map(const char *system_port); -+ void user_unmap(const char *system_port); -+ -+ void user_start(); -+ void user_stop(); -+ -+ void outgoing_send(const V2Greq& send_par); -+}; -+ -+} /* end of namespace */ -+ -+#endif diff --git a/requality/TS103096/.project b/requality/TS103096/.project deleted file mode 100644 index 5fed3eaec1862e986aa115637999101937f79995..0000000000000000000000000000000000000000 --- a/requality/TS103096/.project +++ /dev/null @@ -1,12 +0,0 @@ - - - TS103096-STF517 - - - - - - - com.unitesk.requality.natures.reqcatalogue - - diff --git a/requality/TS103096/.reqversions b/requality/TS103096/.reqversions deleted file mode 100644 index 54e252962e8348f5c16bd3d74d19dafd4733c9a7..0000000000000000000000000000000000000000 --- a/requality/TS103096/.reqversions +++ /dev/null @@ -1 +0,0 @@ -com.unitesk.nodegroup.requality|0.15 diff --git a/requality/TS103096/.settings/org.eclipse.core.resources.prefs b/requality/TS103096/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index fba32cb8ee71415692da99596689066c81e753ed..0000000000000000000000000000000000000000 --- a/requality/TS103096/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,505 +0,0 @@ -eclipse.preferences.version=1 -encoding//root/Documents/ts_103097v010201p.xhtml.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/076915cc-c9b3-460d-8ba4-388037396737.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/089844af-89f2-46be-8524-0c02924bcf88.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/2db5985a-487f-42be-856c-8eca1ccd20b9.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/71f5a0ef-5322-4268-8b01-1335de1d68d1.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml/f328e6ac-eb81-4136-9747-28296db4885d.json=UTF-8 -encoding//root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p.xhtml=UTF-8 -encoding//root/Reports/001(2016-08-18_04-17-19).json=UTF-8 -encoding//root/Reports/001(2016-08-18_04-17-19)_resources/docmod.html=UTF-8 -encoding//root/Reports/001(2016-08-18_04-17-41).json=UTF-8 -encoding//root/Reports/001(2016-08-18_04-17-41)_resources/reqs.html=UTF-8 -encoding//root/Reports/001.json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-04_06-12-37).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-04_06-12-37)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-05_01-28-57).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-05_01-28-57)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-05_01-31-36).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-05_01-31-36)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-08_01-25-45).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-08_01-25-45)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-10_03-10-16).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-10_03-10-16)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-26_07-32-12).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-02-26_07-32-12)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-03-01_01-56-27).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-03-01_01-56-27)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-03-17_02-40-37).json=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes(2016-03-17_02-40-37)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTestPurposes.json=UTF-8 -encoding//root/Reports/TPs/TestPurposes(2016-07-13_12-58-05).json=UTF-8 -encoding//root/Reports/TPs/TestPurposes(2016-07-13_12-58-05)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/TestPurposes.json=UTF-8 -encoding//root/Reports/TTCN.json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_04-56-51).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_04-57-49).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_04-57-49)_resources/t3doc.ttcn=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-00-09).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-00-09)_resources/t3doc.ttcn=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-02-20).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-02-25).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-03-01).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-05-11).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-05-28).json=UTF-8 -encoding//root/Reports/TTCN/TTCN(2015-12-09_05-06-10).json=UTF-8 -encoding//root/Reports/TTCN/TTCN.json=UTF-8 -encoding//root/Reports/TestPurposes.json=UTF-8 -encoding//root/Reports/TestPurposes/001.json=UTF-8 -encoding//root/Reports/TestPurposes/AllTestPurposes(2016-07-15_06-34-44).json=UTF-8 -encoding//root/Reports/TestPurposes/AllTestPurposes(2016-07-15_06-34-44)_resources/tps.html=UTF-8 -encoding//root/Reports/TestPurposes/AllTestPurposes(2016-07-15_09-34-41).json=UTF-8 -encoding//root/Reports/TestPurposes/AllTestPurposes(2016-07-15_09-34-41)_resources/tps.html=UTF-8 -encoding//root/Reports/TestPurposes/AllTestPurposes.json=UTF-8 -encoding//root/Requirements.json=UTF-8 -encoding//root/Requirements/SEC_ITSS.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_03_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06a_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_08_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_10_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_11_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_12_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_13_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_07_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_06_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO/Comment\ 01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_03_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_11_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_06_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16/TP_SEC_ITSS_RCV_CERT_16_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19/TP_SEC_ITSS_RCV_CERT_19_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_03_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_04_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_05_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06a_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_10_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_13_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_14_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_06_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_06_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06a_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_13_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07/TP_SEC_ITSS_RCV_GENMSG_07_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_01_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_02_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_03_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_04_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_05_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_06_BO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01/TP_SEC_ITSS_SND_CAM_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02/TP_SEC_ITSS_SND_CAM_02_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06/TP_SEC_ITSS_SND_CAM_06_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07/TP_SEC_ITSS_SND_CAM_07_01_TI.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08/TP_SEC_ITSS_SND_CAM_08_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10/TP_SEC_ITSS_SND_CAM_10_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12/TP_SEC_ITSS_SND_CAM_12_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14/TP_SEC_ITSS_SND_CAM_14_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15/TP_SEC_ITSS_SND_CAM_15_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16/TP_SEC_ITSS_SND_CAM_16_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02/TP_SEC_ITSS_SND_CERT_02_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01/TP_SEC_ITSS_SND_CERT_AA_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02/TP_SEC_ITSS_SND_CERT_AA_02_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04/TP_SEC_ITSS_SND_CERT_AA_04_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05/TP_SEC_ITSS_SND_CERT_AA_05_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_06/TP_SEC_ITSS_SND_CERT_AA_06_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08/TP_SEC_ITSS_SND_CERT_AA_08_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10/TP_SEC_ITSS_SND_CERT_AA_10_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01/TP_SEC_ITSS_SND_CERT_AT_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02/TP_SEC_ITSS_SND_CERT_AT_02_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03/TP_SEC_ITSS_SND_CERT_AT_03_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04/TP_SEC_ITSS_SND_CERT_AT_04_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05/TP_SEC_ITSS_SND_CERT_AT_05_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07/TP_SEC_ITSS_SND_CERT_AT_07_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08/TP_SEC_ITSS_SND_CERT_AT_08_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_09/TP_SEC_ITSS_SND_CERT_AT_09_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10/TP_SEC_ITSS_SND_CERT_AT_10_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_03_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_GEO/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_04_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01/TP_SEC_ITSS_SND_DENM_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02/TP_SEC_ITSS_SND_DENM_02_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03/TP_SEC_ITSS_SND_DENM_03_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04/TP_SEC_ITSS_SND_DENM_04_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_03_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_04_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09/TP_SEC_ITSS_SND_DENM_09_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10/TP_SEC_ITSS_SND_DENM_10_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02/TP_SEC_ITSS_SND_GENMSG_02_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03/TP_SEC_ITSS_SND_GENMSG_03_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04/TP_SEC_ITSS_SND_GENMSG_04_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_03_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_04_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_05_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_06_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06/TP_SEC_ITSS_SND_GENMSG_06_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07/TP_SEC_ITSS_SND_GENMSG_07_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01/TP_SEC_ITSS_SND_MSG_01_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_01_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_02_BV.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05.json=UTF-8 -encoding//root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV.json=UTF-8 -encoding//root/Templates.json=UTF-8 -encoding//root/ToDoLinks.json=UTF-8 -encoding//root/ToDoLinks/link_01.json=UTF-8 -encoding//root/ToDoLinks/link_02.json=UTF-8 -encoding//root/ToDoLinks/link_03.json=UTF-8 -encoding//root/ToDoLinks/link_04.json=UTF-8 -encoding//root/ToDoLinks/link_05.json=UTF-8 -encoding//root/ToDoLinks/link_06.json=UTF-8 -encoding//root/ToDoLinks/link_07.json=UTF-8 -encoding//root/ToDoLinks/link_08.json=UTF-8 -encoding//root/ToDoLinks/link_09.json=UTF-8 -encoding//root/ToDoLinks/link_10.json=UTF-8 -encoding//root/ToDoLinks/link_100.json=UTF-8 -encoding//root/ToDoLinks/link_101.json=UTF-8 -encoding//root/ToDoLinks/link_102.json=UTF-8 -encoding//root/ToDoLinks/link_103.json=UTF-8 -encoding//root/ToDoLinks/link_104.json=UTF-8 -encoding//root/ToDoLinks/link_105.json=UTF-8 -encoding//root/ToDoLinks/link_106.json=UTF-8 -encoding//root/ToDoLinks/link_107.json=UTF-8 -encoding//root/ToDoLinks/link_108.json=UTF-8 -encoding//root/ToDoLinks/link_109.json=UTF-8 -encoding//root/ToDoLinks/link_11.json=UTF-8 -encoding//root/ToDoLinks/link_110.json=UTF-8 -encoding//root/ToDoLinks/link_111.json=UTF-8 -encoding//root/ToDoLinks/link_112.json=UTF-8 -encoding//root/ToDoLinks/link_113.json=UTF-8 -encoding//root/ToDoLinks/link_114.json=UTF-8 -encoding//root/ToDoLinks/link_115.json=UTF-8 -encoding//root/ToDoLinks/link_116.json=UTF-8 -encoding//root/ToDoLinks/link_117.json=UTF-8 -encoding//root/ToDoLinks/link_118.json=UTF-8 -encoding//root/ToDoLinks/link_119.json=UTF-8 -encoding//root/ToDoLinks/link_12.json=UTF-8 -encoding//root/ToDoLinks/link_120.json=UTF-8 -encoding//root/ToDoLinks/link_121.json=UTF-8 -encoding//root/ToDoLinks/link_122.json=UTF-8 -encoding//root/ToDoLinks/link_123.json=UTF-8 -encoding//root/ToDoLinks/link_124.json=UTF-8 -encoding//root/ToDoLinks/link_125.json=UTF-8 -encoding//root/ToDoLinks/link_126.json=UTF-8 -encoding//root/ToDoLinks/link_13.json=UTF-8 -encoding//root/ToDoLinks/link_14.json=UTF-8 -encoding//root/ToDoLinks/link_15.json=UTF-8 -encoding//root/ToDoLinks/link_16.json=UTF-8 -encoding//root/ToDoLinks/link_17.json=UTF-8 -encoding//root/ToDoLinks/link_18.json=UTF-8 -encoding//root/ToDoLinks/link_19.json=UTF-8 -encoding//root/ToDoLinks/link_20.json=UTF-8 -encoding//root/ToDoLinks/link_21.json=UTF-8 -encoding//root/ToDoLinks/link_22.json=UTF-8 -encoding//root/ToDoLinks/link_23.json=UTF-8 -encoding//root/ToDoLinks/link_24.json=UTF-8 -encoding//root/ToDoLinks/link_25.json=UTF-8 -encoding//root/ToDoLinks/link_26.json=UTF-8 -encoding//root/ToDoLinks/link_27.json=UTF-8 -encoding//root/ToDoLinks/link_28.json=UTF-8 -encoding//root/ToDoLinks/link_29.json=UTF-8 -encoding//root/ToDoLinks/link_30.json=UTF-8 -encoding//root/ToDoLinks/link_31.json=UTF-8 -encoding//root/ToDoLinks/link_32.json=UTF-8 -encoding//root/ToDoLinks/link_33.json=UTF-8 -encoding//root/ToDoLinks/link_34.json=UTF-8 -encoding//root/ToDoLinks/link_35.json=UTF-8 -encoding//root/ToDoLinks/link_36.json=UTF-8 -encoding//root/ToDoLinks/link_37.json=UTF-8 -encoding//root/ToDoLinks/link_38.json=UTF-8 -encoding//root/ToDoLinks/link_39.json=UTF-8 -encoding//root/ToDoLinks/link_40.json=UTF-8 -encoding//root/ToDoLinks/link_41.json=UTF-8 -encoding//root/ToDoLinks/link_42.json=UTF-8 -encoding//root/ToDoLinks/link_43.json=UTF-8 -encoding//root/ToDoLinks/link_44.json=UTF-8 -encoding//root/ToDoLinks/link_45.json=UTF-8 -encoding//root/ToDoLinks/link_46.json=UTF-8 -encoding//root/ToDoLinks/link_47.json=UTF-8 -encoding//root/ToDoLinks/link_48.json=UTF-8 -encoding//root/ToDoLinks/link_49.json=UTF-8 -encoding//root/ToDoLinks/link_50.json=UTF-8 -encoding//root/ToDoLinks/link_51.json=UTF-8 -encoding//root/ToDoLinks/link_52.json=UTF-8 -encoding//root/ToDoLinks/link_53.json=UTF-8 -encoding//root/ToDoLinks/link_54.json=UTF-8 -encoding//root/ToDoLinks/link_55.json=UTF-8 -encoding//root/ToDoLinks/link_56.json=UTF-8 -encoding//root/ToDoLinks/link_57.json=UTF-8 -encoding//root/ToDoLinks/link_58.json=UTF-8 -encoding//root/ToDoLinks/link_59.json=UTF-8 -encoding//root/ToDoLinks/link_60.json=UTF-8 -encoding//root/ToDoLinks/link_61.json=UTF-8 -encoding//root/ToDoLinks/link_62.json=UTF-8 -encoding//root/ToDoLinks/link_63.json=UTF-8 -encoding//root/ToDoLinks/link_64.json=UTF-8 -encoding//root/ToDoLinks/link_65.json=UTF-8 -encoding//root/ToDoLinks/link_66.json=UTF-8 -encoding//root/ToDoLinks/link_67.json=UTF-8 -encoding//root/ToDoLinks/link_68.json=UTF-8 -encoding//root/ToDoLinks/link_69.json=UTF-8 -encoding//root/ToDoLinks/link_70.json=UTF-8 -encoding//root/ToDoLinks/link_71.json=UTF-8 -encoding//root/ToDoLinks/link_72.json=UTF-8 -encoding//root/ToDoLinks/link_73.json=UTF-8 -encoding//root/ToDoLinks/link_74.json=UTF-8 -encoding//root/ToDoLinks/link_75.json=UTF-8 -encoding//root/ToDoLinks/link_76.json=UTF-8 -encoding//root/ToDoLinks/link_77.json=UTF-8 -encoding//root/ToDoLinks/link_78.json=UTF-8 -encoding//root/ToDoLinks/link_79.json=UTF-8 -encoding//root/ToDoLinks/link_80.json=UTF-8 -encoding//root/ToDoLinks/link_81.json=UTF-8 -encoding//root/ToDoLinks/link_82.json=UTF-8 -encoding//root/ToDoLinks/link_83.json=UTF-8 -encoding//root/ToDoLinks/link_84.json=UTF-8 -encoding//root/ToDoLinks/link_85.json=UTF-8 -encoding//root/ToDoLinks/link_86.json=UTF-8 -encoding//root/ToDoLinks/link_87.json=UTF-8 -encoding//root/ToDoLinks/link_88.json=UTF-8 -encoding//root/ToDoLinks/link_89.json=UTF-8 -encoding//root/ToDoLinks/link_90.json=UTF-8 -encoding//root/ToDoLinks/link_91.json=UTF-8 -encoding//root/ToDoLinks/link_92.json=UTF-8 -encoding//root/ToDoLinks/link_93.json=UTF-8 -encoding//root/ToDoLinks/link_94.json=UTF-8 -encoding//root/ToDoLinks/link_95.json=UTF-8 -encoding//root/ToDoLinks/link_96.json=UTF-8 -encoding//root/ToDoLinks/link_97.json=UTF-8 -encoding//root/ToDoLinks/link_98.json=UTF-8 -encoding//root/ToDoLinks/link_99.json=UTF-8 -encoding/root.json=UTF-8 diff --git a/requality/TS103096/root.json b/requality/TS103096/root.json deleted file mode 100644 index 1227c091db283931f3323c56b12afc6e5b6b4a57..0000000000000000000000000000000000000000 --- a/requality/TS103096/root.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "attributes": { - "_sort_by_locations": { - "isGenerated": false, - "key": "_sort_by_locations", - "origin": "14c95c76-f88e-4665-ac98-eeb018369db8", - "type": "BOOL", - "value": "false" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "14c95c76-f88e-4665-ac98-eeb018369db8", - "type": "STRING", - "value": "DBRoot" - }, - "com.unitesk.requality.reference_names": { - "elements_type": "STRING", - "isGenerated": false, - "key": "com.unitesk.requality.reference_names", - "origin": "14c95c76-f88e-4665-ac98-eeb018369db8", - "type": "LIST", - "value": [] - }, - "com.unitesk.requality.reference_replaces": { - "elements_type": "STRING", - "isGenerated": false, - "key": "com.unitesk.requality.reference_replaces", - "origin": "14c95c76-f88e-4665-ac98-eeb018369db8", - "type": "LIST", - "value": [] - } - }, - "uuid": "14c95c76-f88e-4665-ac98-eeb018369db8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents.json b/requality/TS103096/root/Documents.json deleted file mode 100644 index 7c13175ffe7f64d341501dcd01c2cde67da3bbb6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "attributes": {"_type": { - "key": "_type", - "type": "STRING", - "value": "DocFolder" - }}, - "uuid": "3a0369fa-7063-4fd6-b459-77673e9d1489" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml.json deleted file mode 100644 index 916c7ee8cc019c63a652ff44b610b44808d87970..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_file": { - "isGenerated": false, - "key": "_file", - "origin": "0cc11235-d199-4b79-aac5-70cea27b971b", - "type": "STRING", - "value": "ts_103097v010201p.xhtml" - }, - "_isUpdating": { - "isGenerated": false, - "key": "_isUpdating", - "origin": "0cc11235-d199-4b79-aac5-70cea27b971b", - "type": "STRING", - "value": "updating" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0cc11235-d199-4b79-aac5-70cea27b971b", - "type": "STRING", - "value": "Document" - }, - "title": { - "isGenerated": false, - "key": "title", - "origin": "2d025f76-f681-4094-b9c3-8f8bd27c8d6d", - "type": "STRING", - "value": "ETSI TS 103 097 [1]" - } - }, - "uuid": "0cc11235-d199-4b79-aac5-70cea27b971b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/04dc7147-d839-4c03-b184-dd682d6f2c39.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/04dc7147-d839-4c03-b184-dd682d6f2c39.json deleted file mode 100644 index 702910d8c1f998458042c79bdbe3b6f2c0e3a409..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/04dc7147-d839-4c03-b184-dd682d6f2c39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "04dc7147-d839-4c03-b184-dd682d6f2c39", - "type": "STRING", - "value": "Location" - }}, - "uuid": "04dc7147-d839-4c03-b184-dd682d6f2c39" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/076915cc-c9b3-460d-8ba4-388037396737.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/076915cc-c9b3-460d-8ba4-388037396737.json deleted file mode 100644 index 20e3ccfe88d36782b15f9d48fd064ed84cd7aaed..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/076915cc-c9b3-460d-8ba4-388037396737.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "076915cc-c9b3-460d-8ba4-388037396737", - "type": "STRING", - "value": "Check that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "076915cc-c9b3-460d-8ba4-388037396737", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "076915cc-c9b3-460d-8ba4-388037396737" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/07ea39bb-bbcf-444f-aa00-f63bdaabc1e1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/07ea39bb-bbcf-444f-aa00-f63bdaabc1e1.json deleted file mode 100644 index 318bf02aab4af9e71e5908943a266f67859c8ee8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/07ea39bb-bbcf-444f-aa00-f63bdaabc1e1.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "07ea39bb-bbcf-444f-aa00-f63bdaabc1e1", - "type": "STRING", - "value": "Any other HeaderField types included shall not be used to determine the validity of the message.<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "07ea39bb-bbcf-444f-aa00-f63bdaabc1e1", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "07ea39bb-bbcf-444f-aa00-f63bdaabc1e1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/083c999c-3428-451c-ae75-be7d885f5975.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/083c999c-3428-451c-ae75-be7d885f5975.json deleted file mode 100644 index 8bc66bb608b94b0d312412cef4ef74ddee2b6ee6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/083c999c-3428-451c-ae75-be7d885f5975.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "083c999c-3428-451c-ae75-be7d885f5975", - "type": "STRING", - "value": "Location" - }}, - "uuid": "083c999c-3428-451c-ae75-be7d885f5975" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/089844af-89f2-46be-8524-0c02924bcf88.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/089844af-89f2-46be-8524-0c02924bcf88.json deleted file mode 100644 index e1c59b6ae71707e8c0d1a025b773955e1dfa046f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/089844af-89f2-46be-8524-0c02924bcf88.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "089844af-89f2-46be-8524-0c02924bcf88", - "type": "STRING", - "value": "\r\n" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "089844af-89f2-46be-8524-0c02924bcf88", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "089844af-89f2-46be-8524-0c02924bcf88" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787.json deleted file mode 100644 index 2d71767d24a3a141bff833a2024d457e36d856e0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787", - "type": "STRING", - "value": "Location" - }}, - "uuid": "0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0bf26c42-7a43-4f6b-8bbf-3f61249999e4.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0bf26c42-7a43-4f6b-8bbf-3f61249999e4.json deleted file mode 100644 index b43993202b8d6ee7c1f312b886c76a8d6fd74bd0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0bf26c42-7a43-4f6b-8bbf-3f61249999e4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "0bf26c42-7a43-4f6b-8bbf-3f61249999e4", - "type": "STRING", - "value": "Location" - }}, - "uuid": "0bf26c42-7a43-4f6b-8bbf-3f61249999e4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0c378b8d-b7f5-4102-92db-50cd3f458166.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0c378b8d-b7f5-4102-92db-50cd3f458166.json deleted file mode 100644 index 86af20d950866627730e9fe0b512fc6758f2cd06..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0c378b8d-b7f5-4102-92db-50cd3f458166.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0c378b8d-b7f5-4102-92db-50cd3f458166", - "type": "STRING", - "value": " If the assurance level is unknown for the certificate then the default assurance level 0 shall be used." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0c378b8d-b7f5-4102-92db-50cd3f458166", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "0c378b8d-b7f5-4102-92db-50cd3f458166" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0e9485da-3aa9-4762-aad1-c706a9468cba.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0e9485da-3aa9-4762-aad1-c706a9468cba.json deleted file mode 100644 index 4734f62b67ab877c64b9314cf9dd30b3a5d6a045..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/0e9485da-3aa9-4762-aad1-c706a9468cba.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "0e9485da-3aa9-4762-aad1-c706a9468cba", - "type": "STRING", - "value": "Location" - }}, - "uuid": "0e9485da-3aa9-4762-aad1-c706a9468cba" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1867819d-7fb8-4abe-848a-218944594c15.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1867819d-7fb8-4abe-848a-218944594c15.json deleted file mode 100644 index 6ce3c28c53f4e2c7576ff5aea0ab607a8156a06b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1867819d-7fb8-4abe-848a-218944594c15.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1867819d-7fb8-4abe-848a-218944594c15", - "type": "STRING", - "value": "this field shall contain the current location of the ITS-S at the point in time the contents of the security headers are fixed prior to the signing process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1867819d-7fb8-4abe-848a-218944594c15", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "1867819d-7fb8-4abe-848a-218944594c15" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/191a229d-de15-4b5a-874c-682846c5d70c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/191a229d-de15-4b5a-874c-682846c5d70c.json deleted file mode 100644 index d98b585539e69cdd68acda64b070fa6c5fa54fb2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/191a229d-de15-4b5a-874c-682846c5d70c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "191a229d-de15-4b5a-874c-682846c5d70c", - "type": "STRING", - "value": "Location" - }}, - "uuid": "191a229d-de15-4b5a-874c-682846c5d70c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1ba8c2fa-4a07-4747-911d-bfffe0168100.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1ba8c2fa-4a07-4747-911d-bfffe0168100.json deleted file mode 100644 index 066c98e0d5822eb45b8f127f34f57f75ab1e870c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1ba8c2fa-4a07-4747-911d-bfffe0168100.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1ba8c2fa-4a07-4747-911d-bfffe0168100", - "type": "STRING", - "value": "The subject_name variable-length vector shall have a maximum length of 32 bytes.<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1ba8c2fa-4a07-4747-911d-bfffe0168100", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "1ba8c2fa-4a07-4747-911d-bfffe0168100" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1c90e08e-4c4e-4721-ab6e-8390fd8fd3c3.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1c90e08e-4c4e-4721-ab6e-8390fd8fd3c3.json deleted file mode 100644 index 7b5a5968c8f0aff714e4737167cc612ba14d378e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1c90e08e-4c4e-4721-ab6e-8390fd8fd3c3.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "1c90e08e-4c4e-4721-ab6e-8390fd8fd3c3", - "type": "STRING", - "value": "Location" - }}, - "uuid": "1c90e08e-4c4e-4721-ab6e-8390fd8fd3c3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a.json deleted file mode 100644 index 3efa5955893581547b6c566a71125c0b9b7d3c50..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a", - "type": "STRING", - "value": "subject_type: this field shall be set to authorization_ticket(1).<\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1d95aba3-2c2a-45a2-b40e-8f8bfe3b164d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1d95aba3-2c2a-45a2-b40e-8f8bfe3b164d.json deleted file mode 100644 index b7e0f07f8bd68ae6e616c44d727a9b571b452dc3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1d95aba3-2c2a-45a2-b40e-8f8bfe3b164d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "1d95aba3-2c2a-45a2-b40e-8f8bfe3b164d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "1d95aba3-2c2a-45a2-b40e-8f8bfe3b164d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96.json deleted file mode 100644 index 5de6f0173fdf4c43db93c9a9177d7280962ba56a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "1de82943-16f3-4be8-9c10-98ff19632d96", - "type": "STRING", - "value": "Location" - }}, - "uuid": "1de82943-16f3-4be8-9c10-98ff19632d96" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec.json deleted file mode 100644 index 5b23af9321642dbd039506605d119f81f048caa3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec", - "type": "STRING", - "value": "Check that the certificate version is 2" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/21450aa2-5444-4b7f-999a-4a385c833eec.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/21450aa2-5444-4b7f-999a-4a385c833eec.json deleted file mode 100644 index 53612ecb0a13378e063b8563878df33bad41f661..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/21450aa2-5444-4b7f-999a-4a385c833eec.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "21450aa2-5444-4b7f-999a-4a385c833eec", - "type": "STRING", - "value": "Location" - }}, - "uuid": "21450aa2-5444-4b7f-999a-4a385c833eec" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/235ceabe-4e4b-4beb-8988-bf7091fe8d2f.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/235ceabe-4e4b-4beb-8988-bf7091fe8d2f.json deleted file mode 100644 index 7f634f064bc5df0136cf118c1cda36ec0680e3c6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/235ceabe-4e4b-4beb-8988-bf7091fe8d2f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "235ceabe-4e4b-4beb-8988-bf7091fe8d2f", - "type": "STRING", - "value": "Location" - }}, - "uuid": "235ceabe-4e4b-4beb-8988-bf7091fe8d2f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/24846e25-0161-4426-9e87-27ac10525fa0.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/24846e25-0161-4426-9e87-27ac10525fa0.json deleted file mode 100644 index 4e36437f994f555dbff0847ed8d45e8691b097e6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/24846e25-0161-4426-9e87-27ac10525fa0.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "24846e25-0161-4426-9e87-27ac10525fa0", - "type": "STRING", - "value": "Location" - }}, - "uuid": "24846e25-0161-4426-9e87-27ac10525fa0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/25a3bac6-9684-45fa-8d7f-410041a80dbb.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/25a3bac6-9684-45fa-8d7f-410041a80dbb.json deleted file mode 100644 index ae17d21cb66e59eff1903b5f2da59186508ae735..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/25a3bac6-9684-45fa-8d7f-410041a80dbb.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "25a3bac6-9684-45fa-8d7f-410041a80dbb", - "type": "STRING", - "value": "Location" - }}, - "uuid": "25a3bac6-9684-45fa-8d7f-410041a80dbb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9.json deleted file mode 100644 index cda757dae4cd0e7b69ddc03fd3049948db4209fd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9", - "type": "STRING", - "value": "assurance_level\n \n : this field shall contain the assurance level of the sender or certificate authority<\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/274ddbb0-bfb4-4073-8304-ddc326713b86.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/274ddbb0-bfb4-4073-8304-ddc326713b86.json deleted file mode 100644 index 5e1c3e7e687959b25e8b1c9ac7c1b26220ca5d4a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/274ddbb0-bfb4-4073-8304-ddc326713b86.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "274ddbb0-bfb4-4073-8304-ddc326713b86", - "type": "STRING", - "value": "The elements in the validity_restrictions array shall be encoded in ascending numerical order of their type value, unless this is specifically overridden by a security profile. validity_restrictions shall not contain two entries with the same type value.<\/font><\/font><\/font><\/font><\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "274ddbb0-bfb4-4073-8304-ddc326713b86", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "274ddbb0-bfb4-4073-8304-ddc326713b86" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2b9121b8-50e9-4400-903f-eaa36ec0f806.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2b9121b8-50e9-4400-903f-eaa36ec0f806.json deleted file mode 100644 index df70c58c38207b3f418eb8b39a2feca8b7c8045e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2b9121b8-50e9-4400-903f-eaa36ec0f806.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "2b9121b8-50e9-4400-903f-eaa36ec0f806", - "type": "STRING", - "value": "Location" - }}, - "uuid": "2b9121b8-50e9-4400-903f-eaa36ec0f806" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2db5985a-487f-42be-856c-8eca1ccd20b9.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2db5985a-487f-42be-856c-8eca1ccd20b9.json deleted file mode 100644 index efd5bba723268965362c72c1bb42ee0dd6476eb6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2db5985a-487f-42be-856c-8eca1ccd20b9.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2db5985a-487f-42be-856c-8eca1ccd20b9", - "type": "STRING", - "value": "its_aid\n \n : this field shall encode an ITS-AID according to ETSI TS 102 965 [\n
7<\/a>\n ]. This field shall not encode an ITS-AID that is reserved for use with other security profiles.<\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2db5985a-487f-42be-856c-8eca1ccd20b9", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "2db5985a-487f-42be-856c-8eca1ccd20b9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2ea232e9-8999-4b23-a946-ac27ce63836a.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2ea232e9-8999-4b23-a946-ac27ce63836a.json deleted file mode 100644 index a580e748ae45646b89e997b66b69cf7efab8a62b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/2ea232e9-8999-4b23-a946-ac27ce63836a.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2ea232e9-8999-4b23-a946-ac27ce63836a", - "type": "STRING", - "value": " or in regular communication by other ITS-Stations." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2ea232e9-8999-4b23-a946-ac27ce63836a", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "2ea232e9-8999-4b23-a946-ac27ce63836a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/31d476e6-b809-400a-a06b-25bb659cc453.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/31d476e6-b809-400a-a06b-25bb659cc453.json deleted file mode 100644 index 175ce242cef8cdfc19099a45c0c8554d19225794..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/31d476e6-b809-400a-a06b-25bb659cc453.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "31d476e6-b809-400a-a06b-25bb659cc453", - "type": "STRING", - "value": "Location" - }}, - "uuid": "31d476e6-b809-400a-a06b-25bb659cc453" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/322e2d54-6950-4e35-856e-87281b4b3aa6.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/322e2d54-6950-4e35-856e-87281b4b3aa6.json deleted file mode 100644 index e28422452b7092264307e7c029945398e7f178be..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/322e2d54-6950-4e35-856e-87281b4b3aa6.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "322e2d54-6950-4e35-856e-87281b4b3aa6", - "type": "STRING", - "value": "Location" - }}, - "uuid": "322e2d54-6950-4e35-856e-87281b4b3aa6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/327b37e5-c93a-43f9-a88b-a47f21468381.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/327b37e5-c93a-43f9-a88b-a47f21468381.json deleted file mode 100644 index b4bd5b3c92ec093d808f8af50dbef9539136edbb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/327b37e5-c93a-43f9-a88b-a47f21468381.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "327b37e5-c93a-43f9-a88b-a47f21468381", - "type": "STRING", - "value": "Location" - }}, - "uuid": "327b37e5-c93a-43f9-a88b-a47f21468381" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/327f9109-fdf6-4271-ad73-dde8a50590b7.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/327f9109-fdf6-4271-ad73-dde8a50590b7.json deleted file mode 100644 index efd3a178def0c76b0ed15e76938492ff3667a8e8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/327f9109-fdf6-4271-ad73-dde8a50590b7.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "327f9109-fdf6-4271-ad73-dde8a50590b7", - "type": "STRING", - "value": "Location" - }}, - "uuid": "327f9109-fdf6-4271-ad73-dde8a50590b7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/351c77d8-92de-4bb3-991e-a3b814285a8c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/351c77d8-92de-4bb3-991e-a3b814285a8c.json deleted file mode 100644 index 40f9a7a708dfd9540bd6d5e0f20c4c2579101bd8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/351c77d8-92de-4bb3-991e-a3b814285a8c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "351c77d8-92de-4bb3-991e-a3b814285a8c", - "type": "STRING", - "value": "Location" - }}, - "uuid": "351c77d8-92de-4bb3-991e-a3b814285a8c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3545ac20-454c-4f8b-8447-af4d7d3eb03c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3545ac20-454c-4f8b-8447-af4d7d3eb03c.json deleted file mode 100644 index a4f1ad64f8260a0bd9c00158d1f83e22a64f1fb7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3545ac20-454c-4f8b-8447-af4d7d3eb03c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "3545ac20-454c-4f8b-8447-af4d7d3eb03c", - "type": "STRING", - "value": "Location" - }}, - "uuid": "3545ac20-454c-4f8b-8447-af4d7d3eb03c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/36a05750-9fac-494a-adcc-c36a9b0b39c1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/36a05750-9fac-494a-adcc-c36a9b0b39c1.json deleted file mode 100644 index 8df0e366a7824d309a6d93f68681f94be33148da..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/36a05750-9fac-494a-adcc-c36a9b0b39c1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "36a05750-9fac-494a-adcc-c36a9b0b39c1", - "type": "STRING", - "value": "Location" - }}, - "uuid": "36a05750-9fac-494a-adcc-c36a9b0b39c1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3a85743b-2d03-42a9-844a-56a299b12f74.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3a85743b-2d03-42a9-844a-56a299b12f74.json deleted file mode 100644 index f9554a1b0412d09fb709d41d58b3af0fd9e88257..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3a85743b-2d03-42a9-844a-56a299b12f74.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3a85743b-2d03-42a9-844a-56a299b12f74", - "type": "STRING", - "value": "service_specific_permissions shall have a maximum length of 31 octets.<\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3a85743b-2d03-42a9-844a-56a299b12f74", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "3a85743b-2d03-42a9-844a-56a299b12f74" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3ae26d61-824d-4a0c-81fe-3198413ca03c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3ae26d61-824d-4a0c-81fe-3198413ca03c.json deleted file mode 100644 index eac8774720dea73d113085147389f796fc640090..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3ae26d61-824d-4a0c-81fe-3198413ca03c.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3ae26d61-824d-4a0c-81fe-3198413ca03c", - "type": "STRING", - "value": " The field digests<var> in the structure of request_unrecognized_certificate shall be filled with a list of \nHashedId3<\/font>\n<\/a> elements of the missing ITS-S certificates. <\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3ae26d61-824d-4a0c-81fe-3198413ca03c", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "3ae26d61-824d-4a0c-81fe-3198413ca03c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3dc0faba-b8b1-45d9-85b2-90decaf8fd0f.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3dc0faba-b8b1-45d9-85b2-90decaf8fd0f.json deleted file mode 100644 index e57bd341514230d810f7fdbe968294ef5535e509..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3dc0faba-b8b1-45d9-85b2-90decaf8fd0f.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3dc0faba-b8b1-45d9-85b2-90decaf8fd0f", - "type": "STRING", - "value": "Each ITS-AID shall be unique in the its_aid_list.<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3dc0faba-b8b1-45d9-85b2-90decaf8fd0f", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "3dc0faba-b8b1-45d9-85b2-90decaf8fd0f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3e04d28f-0401-4b5c-ba33-b47d0e63946b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3e04d28f-0401-4b5c-ba33-b47d0e63946b.json deleted file mode 100644 index 2218f9d82f92ce93d71cafa3d33d83dc98095395..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3e04d28f-0401-4b5c-ba33-b47d0e63946b.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3e04d28f-0401-4b5c-ba33-b47d0e63946b", - "type": "STRING", - "value": "None of the possible HeaderField cases shall be included more than once<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3e04d28f-0401-4b5c-ba33-b47d0e63946b", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "3e04d28f-0401-4b5c-ba33-b47d0e63946b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3f1cd606-cf67-4db0-ac19-64fc7452d17a.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3f1cd606-cf67-4db0-ac19-64fc7452d17a.json deleted file mode 100644 index af48170c3a72a5ca2fc511a85c3c99aef95d6d78..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/3f1cd606-cf67-4db0-ac19-64fc7452d17a.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "3f1cd606-cf67-4db0-ac19-64fc7452d17a", - "type": "STRING", - "value": "Location" - }}, - "uuid": "3f1cd606-cf67-4db0-ac19-64fc7452d17a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/427fc514-9bc6-4e55-b69a-59058905f749.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/427fc514-9bc6-4e55-b69a-59058905f749.json deleted file mode 100644 index dbbeed62eadb6313aa12f71a7c37882b3a82a76d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/427fc514-9bc6-4e55-b69a-59058905f749.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "427fc514-9bc6-4e55-b69a-59058905f749", - "type": "STRING", - "value": "These SubjectAttribute elements shall be included in addition to those specified in clause 7.<\/a>4.1 for authorization authority and enrolment authority certificates<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "427fc514-9bc6-4e55-b69a-59058905f749", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "427fc514-9bc6-4e55-b69a-59058905f749" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/42e1c2c7-4b3f-4b5f-b9b7-39181507295d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/42e1c2c7-4b3f-4b5f-b9b7-39181507295d.json deleted file mode 100644 index 54a87fcd1ceebac36e2dcc5380ef10f6d7853c83..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/42e1c2c7-4b3f-4b5f-b9b7-39181507295d.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "42e1c2c7-4b3f-4b5f-b9b7-39181507295d", - "type": "STRING", - "value": "None of the possible HeaderField cases shall be included more than once<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "42e1c2c7-4b3f-4b5f-b9b7-39181507295d", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "42e1c2c7-4b3f-4b5f-b9b7-39181507295d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/43a47e59-9bb0-46ab-bcb3-2f373b450e48.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/43a47e59-9bb0-46ab-bcb3-2f373b450e48.json deleted file mode 100644 index 56c8df30f9775aa687b4167d638c982cab41741d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/43a47e59-9bb0-46ab-bcb3-2f373b450e48.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "43a47e59-9bb0-46ab-bcb3-2f373b450e48", - "type": "STRING", - "value": "this field shall encode the ITS-AID for DENMs according to ETSI TS 102 965" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "43a47e59-9bb0-46ab-bcb3-2f373b450e48", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "43a47e59-9bb0-46ab-bcb3-2f373b450e48" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/464098d6-4402-43a2-a11b-e6c0ebb97df7.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/464098d6-4402-43a2-a11b-e6c0ebb97df7.json deleted file mode 100644 index 15e28538b1475ba5130d57cc6bbb99bb08b3d917..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/464098d6-4402-43a2-a11b-e6c0ebb97df7.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "464098d6-4402-43a2-a11b-e6c0ebb97df7", - "type": "STRING", - "value": "Location" - }}, - "uuid": "464098d6-4402-43a2-a11b-e6c0ebb97df7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/471f67f8-42d9-443f-ba6f-b5a769e6843d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/471f67f8-42d9-443f-ba6f-b5a769e6843d.json deleted file mode 100644 index d0430a49e5b7f6f29e9f16fcd97809e06f416480..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/471f67f8-42d9-443f-ba6f-b5a769e6843d.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "471f67f8-42d9-443f-ba6f-b5a769e6843d", - "type": "STRING", - "value": "In this case, the timer for the next inclusion of a field of type certificate shall be restarted.<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "471f67f8-42d9-443f-ba6f-b5a769e6843d", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "471f67f8-42d9-443f-ba6f-b5a769e6843d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/48446131-84b3-42e3-a8b0-b107a400493e.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/48446131-84b3-42e3-a8b0-b107a400493e.json deleted file mode 100644 index c022c245b2063d4c1fe53b0392ab2706a7303ba7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/48446131-84b3-42e3-a8b0-b107a400493e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "48446131-84b3-42e3-a8b0-b107a400493e", - "type": "STRING", - "value": "Location" - }}, - "uuid": "48446131-84b3-42e3-a8b0-b107a400493e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/49abf17c-f239-46b9-ad89-ac52a283c52c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/49abf17c-f239-46b9-ad89-ac52a283c52c.json deleted file mode 100644 index 5bd3e18e55a3fa9e2206347c850467c8485a6239..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/49abf17c-f239-46b9-ad89-ac52a283c52c.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "49abf17c-f239-46b9-ad89-ac52a283c52c", - "type": "STRING", - "value": "The ITS-AID of the application payload shall be given." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "49abf17c-f239-46b9-ad89-ac52a283c52c", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "49abf17c-f239-46b9-ad89-ac52a283c52c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/4fa66be8-d4df-4de8-b819-ec6bcddb5b3f.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/4fa66be8-d4df-4de8-b819-ec6bcddb5b3f.json deleted file mode 100644 index 3b67042d9aac5e289d8ebf10ece4c5b9832734cc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/4fa66be8-d4df-4de8-b819-ec6bcddb5b3f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "4fa66be8-d4df-4de8-b819-ec6bcddb5b3f", - "type": "STRING", - "value": "Location" - }}, - "uuid": "4fa66be8-d4df-4de8-b819-ec6bcddb5b3f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/505b40cc-d494-4325-aed5-9daad40aba2f.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/505b40cc-d494-4325-aed5-9daad40aba2f.json deleted file mode 100644 index 4f49fec17fb8c071116eaa62c2897a233af2a515..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/505b40cc-d494-4325-aed5-9daad40aba2f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "505b40cc-d494-4325-aed5-9daad40aba2f", - "type": "STRING", - "value": "Location" - }}, - "uuid": "505b40cc-d494-4325-aed5-9daad40aba2f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/534d09ee-ceec-41bf-bbb4-3f9c7825da92.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/534d09ee-ceec-41bf-bbb4-3f9c7825da92.json deleted file mode 100644 index 0d2b6ecd37c80486e9bbc3358e49ebef5715c219..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/534d09ee-ceec-41bf-bbb4-3f9c7825da92.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "534d09ee-ceec-41bf-bbb4-3f9c7825da92", - "type": "STRING", - "value": "Location" - }}, - "uuid": "534d09ee-ceec-41bf-bbb4-3f9c7825da92" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/54bc9834-9895-4ea3-b091-ac14c2e45b29.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/54bc9834-9895-4ea3-b091-ac14c2e45b29.json deleted file mode 100644 index 88ef0561b67bb54569ba2221f3f2ffdc3337d371..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/54bc9834-9895-4ea3-b091-ac14c2e45b29.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "54bc9834-9895-4ea3-b091-ac14c2e45b29", - "type": "STRING", - "value": "In case of rectangle, the region shall consist of a variable-length vector of rectangles that may be overlapping or disjoint. The variable-length vector shall not contain more than 6 rectangles. The region covered by the rectangles shall be continuous and shall not contain holes.<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "54bc9834-9895-4ea3-b091-ac14c2e45b29", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "54bc9834-9895-4ea3-b091-ac14c2e45b29" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/56cf21c7-baf9-4b70-932f-326b22b242a8.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/56cf21c7-baf9-4b70-932f-326b22b242a8.json deleted file mode 100644 index 74806cccce611d6b9b4f7069b05205b12e7e27ac..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/56cf21c7-baf9-4b70-932f-326b22b242a8.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "56cf21c7-baf9-4b70-932f-326b22b242a8", - "type": "STRING", - "value": "The generation_time is valid, if it is in the validity period of the certificate referenced by the signer_info.<\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "56cf21c7-baf9-4b70-932f-326b22b242a8", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "56cf21c7-baf9-4b70-932f-326b22b242a8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/57f67514-1422-48ef-b36e-262137eb7251.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/57f67514-1422-48ef-b36e-262137eb7251.json deleted file mode 100644 index cf0edef3e85decae13f0ac32d4110374797af60a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/57f67514-1422-48ef-b36e-262137eb7251.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "57f67514-1422-48ef-b36e-262137eb7251", - "type": "STRING", - "value": "Location" - }}, - "uuid": "57f67514-1422-48ef-b36e-262137eb7251" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc.json deleted file mode 100644 index 82924ca95f9b66507c9078f01e5b1cad474ecfc1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "58ea9176-dfab-4645-a9a2-855e9d5d57dc", - "type": "STRING", - "value": " For compliance with the present document, protocol version 2 shall be used<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "58ea9176-dfab-4645-a9a2-855e9d5d57dc", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "58ea9176-dfab-4645-a9a2-855e9d5d57dc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5d1ff90b-ad9c-416c-900b-030397b6b6ee.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5d1ff90b-ad9c-416c-900b-030397b6b6ee.json deleted file mode 100644 index 3daed9b39e8cc40905e4ed2d46bac11a6229f438..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5d1ff90b-ad9c-416c-900b-030397b6b6ee.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "5d1ff90b-ad9c-416c-900b-030397b6b6ee", - "type": "STRING", - "value": "Location" - }}, - "uuid": "5d1ff90b-ad9c-416c-900b-030397b6b6ee" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5d915e97-a60c-4999-8820-e69c5f87128c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5d915e97-a60c-4999-8820-e69c5f87128c.json deleted file mode 100644 index 0db605163f9b2c32167cd7a163fa85e90a31b945..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5d915e97-a60c-4999-8820-e69c5f87128c.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5d915e97-a60c-4999-8820-e69c5f87128c", - "type": "STRING", - "value": "The generation_time is valid, if it is in the validity period of the certificate referenced by the signer_info.<\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5d915e97-a60c-4999-8820-e69c5f87128c", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "5d915e97-a60c-4999-8820-e69c5f87128c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9.json deleted file mode 100644 index b78624012c0c4a5a5c41965f1d8502ba4449c5bc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "5e9ae933-303e-4fa9-8a48-436757e98ab9", - "type": "STRING", - "value": "Location" - }}, - "uuid": "5e9ae933-303e-4fa9-8a48-436757e98ab9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/60585f95-c23b-4663-a422-c5a12c7b17ab.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/60585f95-c23b-4663-a422-c5a12c7b17ab.json deleted file mode 100644 index 37cf8486a778955f2ea045974d67f03b1fcaa9be..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/60585f95-c23b-4663-a422-c5a12c7b17ab.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "60585f95-c23b-4663-a422-c5a12c7b17ab", - "type": "STRING", - "value": "The dictionary that corresponds to iso_3166_1 shall contain values that correspond to numeric country codes as defined in
ISO 3166-1 [
3<\/a>]<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "60585f95-c23b-4663-a422-c5a12c7b17ab", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "60585f95-c23b-4663-a422-c5a12c7b17ab" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df.json deleted file mode 100644 index fd9214405f61b1603e19fb6240f72d0f032d55e5..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "615b41cb-6660-41b4-8375-b658436ca1df", - "type": "STRING", - "value": "Location" - }}, - "uuid": "615b41cb-6660-41b4-8375-b658436ca1df" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/61b388f4-8bad-4b8a-9684-eae475708a7a.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/61b388f4-8bad-4b8a-9684-eae475708a7a.json deleted file mode 100644 index 8dfe695e046dec7cca86885f56c78381a5a95010..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/61b388f4-8bad-4b8a-9684-eae475708a7a.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "61b388f4-8bad-4b8a-9684-eae475708a7a", - "type": "STRING", - "value": "Location" - }}, - "uuid": "61b388f4-8bad-4b8a-9684-eae475708a7a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6694e8a1-e064-4703-a0d5-c44221f8cfb4.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6694e8a1-e064-4703-a0d5-c44221f8cfb4.json deleted file mode 100644 index b5f20c977d7b5a1d49400501c5354c20fae9362a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6694e8a1-e064-4703-a0d5-c44221f8cfb4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "6694e8a1-e064-4703-a0d5-c44221f8cfb4", - "type": "STRING", - "value": "Location" - }}, - "uuid": "6694e8a1-e064-4703-a0d5-c44221f8cfb4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c.json deleted file mode 100644 index ab665a83be7f2bb5cbfaf74e20b6bcbb6bb1c62a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "69c806d3-882e-43b1-b8fe-6dc0c8d1da4c", - "type": "STRING", - "value": "Location" - }}, - "uuid": "69c806d3-882e-43b1-b8fe-6dc0c8d1da4c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6a3eda29-6ac0-4512-b580-2579faf5eb0b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6a3eda29-6ac0-4512-b580-2579faf5eb0b.json deleted file mode 100644 index 02344479828ddd80c91a67cde691730d91cdcac5..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6a3eda29-6ac0-4512-b580-2579faf5eb0b.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6a3eda29-6ac0-4512-b580-2579faf5eb0b", - "type": "STRING", - "value": "If the ITS-S receives a CAM from a previously unknown certificate, it shall include a field of type certificate immediately in its next CAM, instead of including a field of type certificate_digest_with_sha256<\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6a3eda29-6ac0-4512-b580-2579faf5eb0b", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "6a3eda29-6ac0-4512-b580-2579faf5eb0b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6c2640ff-fb9f-40a1-8f28-844633fefa42.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6c2640ff-fb9f-40a1-8f28-844633fefa42.json deleted file mode 100644 index 5af776a7d4f8198b82f391f21ead5d08d6616c60..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6c2640ff-fb9f-40a1-8f28-844633fefa42.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6c2640ff-fb9f-40a1-8f28-844633fefa42", - "type": "STRING", - "value": "A valid certificate shall contain exactly one validity restriction of type time_end, time_start_and_end, or time_start_and_duration.<\/font><\/font><\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6c2640ff-fb9f-40a1-8f28-844633fefa42", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "6c2640ff-fb9f-40a1-8f28-844633fefa42" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6c62596c-7b03-4d58-8b8a-d91ebad153f1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6c62596c-7b03-4d58-8b8a-d91ebad153f1.json deleted file mode 100644 index 68d38fb4ea441e679d891097e97ac577a27ab877..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6c62596c-7b03-4d58-8b8a-d91ebad153f1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "6c62596c-7b03-4d58-8b8a-d91ebad153f1", - "type": "STRING", - "value": "Location" - }}, - "uuid": "6c62596c-7b03-4d58-8b8a-d91ebad153f1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6e73abdf-644e-40f0-ac1c-9b8dccb30af0.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6e73abdf-644e-40f0-ac1c-9b8dccb30af0.json deleted file mode 100644 index b59ba94545972f5f01f5892352d7db81b17dc4d8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/6e73abdf-644e-40f0-ac1c-9b8dccb30af0.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "6e73abdf-644e-40f0-ac1c-9b8dccb30af0", - "type": "STRING", - "value": "Location" - }}, - "uuid": "6e73abdf-644e-40f0-ac1c-9b8dccb30af0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/71f5a0ef-5322-4268-8b01-1335de1d68d1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/71f5a0ef-5322-4268-8b01-1335de1d68d1.json deleted file mode 100644 index 765ff1c34eabfe55c436d87f8f17c0cc5f2008ea..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/71f5a0ef-5322-4268-8b01-1335de1d68d1.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "71f5a0ef-5322-4268-8b01-1335de1d68d1", - "type": "STRING", - "value": "Every certificate containing an\n \n its_aid_list\n \n or\n \n its_aid_ssp_list\n \n subject attribute shall contain a subset of the permissions that are contained in the certificate referenced by the\n \n signer_info<\/font><\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "71f5a0ef-5322-4268-8b01-1335de1d68d1", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "71f5a0ef-5322-4268-8b01-1335de1d68d1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/73eaa11c-13d1-4db7-840f-c17ed625c22b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/73eaa11c-13d1-4db7-840f-c17ed625c22b.json deleted file mode 100644 index 0a76932296b03ed7da231ad9c211585db37d9c0d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/73eaa11c-13d1-4db7-840f-c17ed625c22b.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "73eaa11c-13d1-4db7-840f-c17ed625c22b", - "type": "STRING", - "value": "These \nHeaderField<\/font>\n<\/a> elements shall be included." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "73eaa11c-13d1-4db7-840f-c17ed625c22b", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "73eaa11c-13d1-4db7-840f-c17ed625c22b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/783519e9-a067-4deb-b103-46fa94db39bf.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/783519e9-a067-4deb-b103-46fa94db39bf.json deleted file mode 100644 index 99418a7ab02c353f2c7d4c3112c19bf7adab53b1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/783519e9-a067-4deb-b103-46fa94db39bf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "783519e9-a067-4deb-b103-46fa94db39bf", - "type": "STRING", - "value": "Location" - }}, - "uuid": "783519e9-a067-4deb-b103-46fa94db39bf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/79fbc65f-3205-4cab-b29e-4d2a76a95f7d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/79fbc65f-3205-4cab-b29e-4d2a76a95f7d.json deleted file mode 100644 index 6552ee819eaad58fc97d50dc75293f3e626850d6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/79fbc65f-3205-4cab-b29e-4d2a76a95f7d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "79fbc65f-3205-4cab-b29e-4d2a76a95f7d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "79fbc65f-3205-4cab-b29e-4d2a76a95f7d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/815d02b2-2d5e-4a9d-8632-386a8017515f.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/815d02b2-2d5e-4a9d-8632-386a8017515f.json deleted file mode 100644 index d865480e23e999ef580d7b30c94798a241b36f23..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/815d02b2-2d5e-4a9d-8632-386a8017515f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "815d02b2-2d5e-4a9d-8632-386a8017515f", - "type": "STRING", - "value": "Location" - }}, - "uuid": "815d02b2-2d5e-4a9d-8632-386a8017515f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188.json deleted file mode 100644 index 4210c8e4a910832ac4c9bf994d39ee004133768c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "85b0a8d0-308b-43b2-b2b3-3dc2768ee188", - "type": "STRING", - "value": "Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "85b0a8d0-308b-43b2-b2b3-3dc2768ee188", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "85b0a8d0-308b-43b2-b2b3-3dc2768ee188" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8a319e13-50a8-4e29-a775-30d3853d05f0.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8a319e13-50a8-4e29-a775-30d3853d05f0.json deleted file mode 100644 index f274fe511bcd40587b5260db88d0c81b546367f9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8a319e13-50a8-4e29-a775-30d3853d05f0.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "8a319e13-50a8-4e29-a775-30d3853d05f0", - "type": "STRING", - "value": "Location" - }}, - "uuid": "8a319e13-50a8-4e29-a775-30d3853d05f0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8d8ff631-c7f2-4672-9842-a920332238d1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8d8ff631-c7f2-4672-9842-a920332238d1.json deleted file mode 100644 index 55062778cc72c3985f769eb53f505dae0334d43c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8d8ff631-c7f2-4672-9842-a920332238d1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "8d8ff631-c7f2-4672-9842-a920332238d1", - "type": "STRING", - "value": "Location" - }}, - "uuid": "8d8ff631-c7f2-4672-9842-a920332238d1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8e7d8e4d-7e88-49b1-aff3-5965323ae99d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8e7d8e4d-7e88-49b1-aff3-5965323ae99d.json deleted file mode 100644 index 41d5c9e1a296e3a8c99a44a8710c14025ef584f9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8e7d8e4d-7e88-49b1-aff3-5965323ae99d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "8e7d8e4d-7e88-49b1-aff3-5965323ae99d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "8e7d8e4d-7e88-49b1-aff3-5965323ae99d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8f464e0c-426a-4372-8f2f-acbf3dd444c5.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8f464e0c-426a-4372-8f2f-acbf3dd444c5.json deleted file mode 100644 index 784561472f87e19522c27ef691c73da5c32bcfbb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/8f464e0c-426a-4372-8f2f-acbf3dd444c5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8f464e0c-426a-4372-8f2f-acbf3dd444c5", - "type": "STRING", - "value": "The signature shall be calculated over the encoding of all preceding fields, including all encoded lengths." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8f464e0c-426a-4372-8f2f-acbf3dd444c5", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "8f464e0c-426a-4372-8f2f-acbf3dd444c5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/95fc530d-de2c-4b47-b553-e8d5b08cae41.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/95fc530d-de2c-4b47-b553-e8d5b08cae41.json deleted file mode 100644 index a2b164f3cca28082ef46483a19ea7e36186fb665..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/95fc530d-de2c-4b47-b553-e8d5b08cae41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "95fc530d-de2c-4b47-b553-e8d5b08cae41", - "type": "STRING", - "value": "Location" - }}, - "uuid": "95fc530d-de2c-4b47-b553-e8d5b08cae41" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/967d4b57-1e68-438c-b9e2-e20c3877f499.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/967d4b57-1e68-438c-b9e2-e20c3877f499.json deleted file mode 100644 index c5a135f366951f3d3760ee6b493d404e86ffe8b6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/967d4b57-1e68-438c-b9e2-e20c3877f499.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "967d4b57-1e68-438c-b9e2-e20c3877f499", - "type": "STRING", - "value": "Location" - }}, - "uuid": "967d4b57-1e68-438c-b9e2-e20c3877f499" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/996d0f1f-568b-4149-9275-a952ac793aaa.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/996d0f1f-568b-4149-9275-a952ac793aaa.json deleted file mode 100644 index f0d91c0894710f8358975931a102c824b92895c8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/996d0f1f-568b-4149-9275-a952ac793aaa.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "996d0f1f-568b-4149-9275-a952ac793aaa", - "type": "STRING", - "value": "Location" - }}, - "uuid": "996d0f1f-568b-4149-9275-a952ac793aaa" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/99a86360-2aa2-4fad-82d3-015c9fa9345d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/99a86360-2aa2-4fad-82d3-015c9fa9345d.json deleted file mode 100644 index dbecc31229cb260eec7f31809c4cd6dc8a8936c0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/99a86360-2aa2-4fad-82d3-015c9fa9345d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "99a86360-2aa2-4fad-82d3-015c9fa9345d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "99a86360-2aa2-4fad-82d3-015c9fa9345d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9bdd04f1-3bca-4642-9a33-503b4c02b7b8.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9bdd04f1-3bca-4642-9a33-503b4c02b7b8.json deleted file mode 100644 index 866093ceee6bccc4120f1d8f97e03887ef3d69ce..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9bdd04f1-3bca-4642-9a33-503b4c02b7b8.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "9bdd04f1-3bca-4642-9a33-503b4c02b7b8", - "type": "STRING", - "value": "Location" - }}, - "uuid": "9bdd04f1-3bca-4642-9a33-503b4c02b7b8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9e56d5a0-75dc-4481-afe9-202dd280af93.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9e56d5a0-75dc-4481-afe9-202dd280af93.json deleted file mode 100644 index 0868de4a1f52a2a47a0629638ea36495db92ad91..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9e56d5a0-75dc-4481-afe9-202dd280af93.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "9e56d5a0-75dc-4481-afe9-202dd280af93", - "type": "STRING", - "value": "Location" - }}, - "uuid": "9e56d5a0-75dc-4481-afe9-202dd280af93" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9f584669-0edc-4cd5-9e25-979e66b5e955.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9f584669-0edc-4cd5-9e25-979e66b5e955.json deleted file mode 100644 index 2dba719d475c6acd41cba9fe2dbf7d0a73108953..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/9f584669-0edc-4cd5-9e25-979e66b5e955.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "9f584669-0edc-4cd5-9e25-979e66b5e955", - "type": "STRING", - "value": "Location" - }}, - "uuid": "9f584669-0edc-4cd5-9e25-979e66b5e955" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a0b07625-0f38-485c-af74-5a86d4a118a4.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a0b07625-0f38-485c-af74-5a86d4a118a4.json deleted file mode 100644 index c6e2d3a60f075726d19ef352c16c9fa5a21b16a2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a0b07625-0f38-485c-af74-5a86d4a118a4.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a0b07625-0f38-485c-af74-5a86d4a118a4", - "type": "STRING", - "value": "The elements in the subject_attributes array shall be encoded in ascending numerical order of their type value, unless this is specifically overridden by a security profile.<\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a0b07625-0f38-485c-af74-5a86d4a118a4", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "a0b07625-0f38-485c-af74-5a86d4a118a4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a33dda53-c9a9-472b-ad97-a9e461c6df3e.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a33dda53-c9a9-472b-ad97-a9e461c6df3e.json deleted file mode 100644 index 4a41c06b362aa50fc3c6ae620647b194b4de159c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a33dda53-c9a9-472b-ad97-a9e461c6df3e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "a33dda53-c9a9-472b-ad97-a9e461c6df3e", - "type": "STRING", - "value": "Location" - }}, - "uuid": "a33dda53-c9a9-472b-ad97-a9e461c6df3e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a4690788-2d8b-4791-9464-0bb84527f54b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a4690788-2d8b-4791-9464-0bb84527f54b.json deleted file mode 100644 index 7f069ad15a243075a4a7d7aa7d8aaefb43029fa3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a4690788-2d8b-4791-9464-0bb84527f54b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "a4690788-2d8b-4791-9464-0bb84527f54b", - "type": "STRING", - "value": "Location" - }}, - "uuid": "a4690788-2d8b-4791-9464-0bb84527f54b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a53c9dad-b4db-41d2-92b2-821d276b747b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a53c9dad-b4db-41d2-92b2-821d276b747b.json deleted file mode 100644 index 040ba783e04e6da8728061a015f5c7519f66c7a4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a53c9dad-b4db-41d2-92b2-821d276b747b.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a53c9dad-b4db-41d2-92b2-821d276b747b", - "type": "STRING", - "value": "With the exception of signer_info, which is encoded first, all header_field elements shall be included in ascending order according to the numbering of the enumeration of the according type structure<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a53c9dad-b4db-41d2-92b2-821d276b747b", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "a53c9dad-b4db-41d2-92b2-821d276b747b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f.json deleted file mode 100644 index 291b92ea6477863f95edced8f0f276920afee72a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f", - "type": "STRING", - "value": "Location" - }}, - "uuid": "a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a5f4f412-efbc-4a6d-a05d-4170914778ea.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a5f4f412-efbc-4a6d-a05d-4170914778ea.json deleted file mode 100644 index 9e6a972265bfb107f381e17fdbf872f1a3e3159c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/a5f4f412-efbc-4a6d-a05d-4170914778ea.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "a5f4f412-efbc-4a6d-a05d-4170914778ea", - "type": "STRING", - "value": "Location" - }}, - "uuid": "a5f4f412-efbc-4a6d-a05d-4170914778ea" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ab9e2898-6189-4d9a-b908-74c5226bb19e.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ab9e2898-6189-4d9a-b908-74c5226bb19e.json deleted file mode 100644 index 1fb17400fc29db724ac68807cb8985de2e67837b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ab9e2898-6189-4d9a-b908-74c5226bb19e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "ab9e2898-6189-4d9a-b908-74c5226bb19e", - "type": "STRING", - "value": "Location" - }}, - "uuid": "ab9e2898-6189-4d9a-b908-74c5226bb19e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/afc8e021-8c93-4ae6-8138-3020574e57b5.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/afc8e021-8c93-4ae6-8138-3020574e57b5.json deleted file mode 100644 index 82ed876ea21aed272ca189b4e24607da4275f476..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/afc8e021-8c93-4ae6-8138-3020574e57b5.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "afc8e021-8c93-4ae6-8138-3020574e57b5", - "type": "STRING", - "value": "Location" - }}, - "uuid": "afc8e021-8c93-4ae6-8138-3020574e57b5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b2391447-465b-4447-aa98-bad8ca9aa5cb.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b2391447-465b-4447-aa98-bad8ca9aa5cb.json deleted file mode 100644 index 7f19af7e3368127d4d0793a9cf9d0cb9238ff4d1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b2391447-465b-4447-aa98-bad8ca9aa5cb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b2391447-465b-4447-aa98-bad8ca9aa5cb", - "type": "STRING", - "value": "Authorization tickets (pseudonymous certificates)" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b2391447-465b-4447-aa98-bad8ca9aa5cb", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "b2391447-465b-4447-aa98-bad8ca9aa5cb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b31b89ad-2b2a-4bc8-a16f-9c2918b931c9.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b31b89ad-2b2a-4bc8-a16f-9c2918b931c9.json deleted file mode 100644 index 27e0a7516aef0070154cd44569702855ee515e90..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b31b89ad-2b2a-4bc8-a16f-9c2918b931c9.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b31b89ad-2b2a-4bc8-a16f-9c2918b931c9", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the sent SecuredMessage contains exactly one HeaderField generation_time which is inside the validity time of the certificate referenced by the signer_info." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b31b89ad-2b2a-4bc8-a16f-9c2918b931c9", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "b31b89ad-2b2a-4bc8-a16f-9c2918b931c9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b661365c-ed7a-410c-803f-e9702b195a7e.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b661365c-ed7a-410c-803f-e9702b195a7e.json deleted file mode 100644 index 1d76baf00842c99c496b46a5bc3b96a1b7e3ed69..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b661365c-ed7a-410c-803f-e9702b195a7e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "b661365c-ed7a-410c-803f-e9702b195a7e", - "type": "STRING", - "value": "Location" - }}, - "uuid": "b661365c-ed7a-410c-803f-e9702b195a7e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b6e04816-8080-4afe-bf78-8aa8aa77f430.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b6e04816-8080-4afe-bf78-8aa8aa77f430.json deleted file mode 100644 index 1ae4c2aaa426616cb33e666f2311c86cf198661f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b6e04816-8080-4afe-bf78-8aa8aa77f430.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "b6e04816-8080-4afe-bf78-8aa8aa77f430", - "type": "STRING", - "value": "Location" - }}, - "uuid": "b6e04816-8080-4afe-bf78-8aa8aa77f430" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b890b744-ffd8-4c30-bc3e-1ff84d0375d9.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b890b744-ffd8-4c30-bc3e-1ff84d0375d9.json deleted file mode 100644 index e361a49cbf2bed68abf41c84597d0a58aa98d043..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b890b744-ffd8-4c30-bc3e-1ff84d0375d9.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "b890b744-ffd8-4c30-bc3e-1ff84d0375d9", - "type": "STRING", - "value": "Location" - }}, - "uuid": "b890b744-ffd8-4c30-bc3e-1ff84d0375d9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b92fccca-032f-4a3c-8b7d-89e0cd966e8d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b92fccca-032f-4a3c-8b7d-89e0cd966e8d.json deleted file mode 100644 index 91649811cdb695798555e207d35b9a62c06b6140..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b92fccca-032f-4a3c-8b7d-89e0cd966e8d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "b92fccca-032f-4a3c-8b7d-89e0cd966e8d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "b92fccca-032f-4a3c-8b7d-89e0cd966e8d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b9e76387-9dee-4b5f-a3d8-ab512d88e8a6.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b9e76387-9dee-4b5f-a3d8-ab512d88e8a6.json deleted file mode 100644 index 9be32f5b6ec3833ec72b4045aa1a131f160f6633..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/b9e76387-9dee-4b5f-a3d8-ab512d88e8a6.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "b9e76387-9dee-4b5f-a3d8-ab512d88e8a6", - "type": "STRING", - "value": "Location" - }}, - "uuid": "b9e76387-9dee-4b5f-a3d8-ab512d88e8a6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ba54b16f-08a0-4aaf-ae3a-72f384145f83.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ba54b16f-08a0-4aaf-ae3a-72f384145f83.json deleted file mode 100644 index 09cae957b9cf175705316030ea4c59f637af11b4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ba54b16f-08a0-4aaf-ae3a-72f384145f83.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ba54b16f-08a0-4aaf-ae3a-72f384145f83", - "type": "STRING", - "value": "Check that the certificate version is 2" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ba54b16f-08a0-4aaf-ae3a-72f384145f83", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "ba54b16f-08a0-4aaf-ae3a-72f384145f83" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/bb625a74-4db2-4e81-9291-ed3446144b3b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/bb625a74-4db2-4e81-9291-ed3446144b3b.json deleted file mode 100644 index 5b63c403f6d721aa9f6ecf78524c3f3001df8ddc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/bb625a74-4db2-4e81-9291-ed3446144b3b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "bb625a74-4db2-4e81-9291-ed3446144b3b", - "type": "STRING", - "value": "Location" - }}, - "uuid": "bb625a74-4db2-4e81-9291-ed3446144b3b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/bf8fd5f7-1eca-4385-b102-d7f1bbba5660.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/bf8fd5f7-1eca-4385-b102-d7f1bbba5660.json deleted file mode 100644 index 138415f2f94eeee437b2efa1ab827217d86d3017..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/bf8fd5f7-1eca-4385-b102-d7f1bbba5660.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bf8fd5f7-1eca-4385-b102-d7f1bbba5660", - "type": "STRING", - "value": "A rectangular region is only valid if the location northwest is north of the location southeast<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bf8fd5f7-1eca-4385-b102-d7f1bbba5660", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "bf8fd5f7-1eca-4385-b102-d7f1bbba5660" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c1d9965d-8c11-4b5b-af2b-42bba5482fd7.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c1d9965d-8c11-4b5b-af2b-42bba5482fd7.json deleted file mode 100644 index 5d7bbf2d4ea5b57858060151522eb623cd066a36..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c1d9965d-8c11-4b5b-af2b-42bba5482fd7.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "c1d9965d-8c11-4b5b-af2b-42bba5482fd7", - "type": "STRING", - "value": "Location" - }}, - "uuid": "c1d9965d-8c11-4b5b-af2b-42bba5482fd7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c223fe50-65bf-48d8-970d-3bd4538c8e94.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c223fe50-65bf-48d8-970d-3bd4538c8e94.json deleted file mode 100644 index 08595dcf603e1246e494f20890611173ec2c5602..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c223fe50-65bf-48d8-970d-3bd4538c8e94.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "c223fe50-65bf-48d8-970d-3bd4538c8e94", - "type": "STRING", - "value": "Location" - }}, - "uuid": "c223fe50-65bf-48d8-970d-3bd4538c8e94" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c2517c21-b392-47d1-920b-b97c643a3405.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c2517c21-b392-47d1-920b-b97c643a3405.json deleted file mode 100644 index 82558afc5b524a7520d73351a9b150a0c874d7fb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c2517c21-b392-47d1-920b-b97c643a3405.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "c2517c21-b392-47d1-920b-b97c643a3405", - "type": "STRING", - "value": "Location" - }}, - "uuid": "c2517c21-b392-47d1-920b-b97c643a3405" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c3923a06-7523-4d02-b1e2-54db898f3d76.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c3923a06-7523-4d02-b1e2-54db898f3d76.json deleted file mode 100644 index 84b32023021e2fd8bfbff88bdcffa79412eeaaa0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c3923a06-7523-4d02-b1e2-54db898f3d76.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "c3923a06-7523-4d02-b1e2-54db898f3d76", - "type": "STRING", - "value": "Location" - }}, - "uuid": "c3923a06-7523-4d02-b1e2-54db898f3d76" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c3f4369c-b117-4656-8932-603e7787cbc4.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c3f4369c-b117-4656-8932-603e7787cbc4.json deleted file mode 100644 index 50511f414db346fe8bf28e17e23af0cb4e8bae51..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c3f4369c-b117-4656-8932-603e7787cbc4.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c3f4369c-b117-4656-8932-603e7787cbc4", - "type": "STRING", - "value": "With the exception of signer_info, which is encoded first, all header_field elements shall be included in ascending order according to the numbering of the enumeration of the according type structure<\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c3f4369c-b117-4656-8932-603e7787cbc4", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c3f4369c-b117-4656-8932-603e7787cbc4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c68a4e76-9564-42d2-934a-a889713923b8.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c68a4e76-9564-42d2-934a-a889713923b8.json deleted file mode 100644 index f7b5b46f587cbaa363eff468b1a4afe16c4f50f1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c68a4e76-9564-42d2-934a-a889713923b8.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c68a4e76-9564-42d2-934a-a889713923b8", - "type": "STRING", - "value": "

signature calculated over these fields of the Certificate data structure:<\/font>\n<\/font>\n<\/font>\n<\/font>\n<\/font>\n<\/p>\n

    \n

    \t

  • \nThe version<\/font>\n<\/font>\n<\/li>\n<\/p>\n

    \t

  • \nThe signer_info <\/font>\n<\/font>\n<\/font>\n<\/li>\n<\/p>\n

    \t

  • \nThe subject_info<\/font>\n<\/font>\n<\/li>\n<\/p>\n

    \t

  • \nThe subject_attributes vector including its length<\/font>\n<\/font>\n<\/font>\n<\/li>\n<\/p>\n

    \t

  • \nThe validity_restrictions vector including its length<\/font><\/font><\/font><\/li><\/p><\/ul>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c68a4e76-9564-42d2-934a-a889713923b8", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c68a4e76-9564-42d2-934a-a889713923b8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c9c4983f-ff2c-40f3-892c-638f7091bf6b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c9c4983f-ff2c-40f3-892c-638f7091bf6b.json deleted file mode 100644 index 872b672d33c8c590515ceaa3593bb48704bc1a04..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/c9c4983f-ff2c-40f3-892c-638f7091bf6b.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c9c4983f-ff2c-40f3-892c-638f7091bf6b", - "type": "STRING", - "value": "The following SubjectAttribute elements shall be included:<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c9c4983f-ff2c-40f3-892c-638f7091bf6b", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c9c4983f-ff2c-40f3-892c-638f7091bf6b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1.json deleted file mode 100644 index 4a7198fe4837dbdb0aee468d0b0309e1dcf5963b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1", - "type": "STRING", - "value": "Location" - }}, - "uuid": "cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/cdc87f4d-d678-4dab-83bf-eff2d82483d8.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/cdc87f4d-d678-4dab-83bf-eff2d82483d8.json deleted file mode 100644 index 0df8a7f8a51e04ba6931cb12d15659e674440db7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/cdc87f4d-d678-4dab-83bf-eff2d82483d8.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cdc87f4d-d678-4dab-83bf-eff2d82483d8", - "type": "STRING", - "value": "None of the possible HeaderField cases shall be included more than once.<\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cdc87f4d-d678-4dab-83bf-eff2d82483d8", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "cdc87f4d-d678-4dab-83bf-eff2d82483d8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d485e010-0a82-4bfe-9dff-8d8f09d64fa5.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d485e010-0a82-4bfe-9dff-8d8f09d64fa5.json deleted file mode 100644 index f12899bc06c77ecb47fc1e7dadfea54e6a79d5b0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d485e010-0a82-4bfe-9dff-8d8f09d64fa5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d485e010-0a82-4bfe-9dff-8d8f09d64fa5", - "type": "STRING", - "value": "In the normal case, the signer_info field of type certificate_digest_with_sha256 shall be included<\/font><\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d485e010-0a82-4bfe-9dff-8d8f09d64fa5", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "d485e010-0a82-4bfe-9dff-8d8f09d64fa5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d6ce51f8-7d7e-46fd-b53a-b4c920152e62.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d6ce51f8-7d7e-46fd-b53a-b4c920152e62.json deleted file mode 100644 index f9534fc23c07c237bd2f2861abc854f94b5fbab6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d6ce51f8-7d7e-46fd-b53a-b4c920152e62.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "d6ce51f8-7d7e-46fd-b53a-b4c920152e62", - "type": "STRING", - "value": "Location" - }}, - "uuid": "d6ce51f8-7d7e-46fd-b53a-b4c920152e62" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d72901a0-1dc5-4004-a947-a6024f5a4ec1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d72901a0-1dc5-4004-a947-a6024f5a4ec1.json deleted file mode 100644 index 575c8c58b29f04a69366470cff54192f823be9fb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d72901a0-1dc5-4004-a947-a6024f5a4ec1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "d72901a0-1dc5-4004-a947-a6024f5a4ec1", - "type": "STRING", - "value": "Location" - }}, - "uuid": "d72901a0-1dc5-4004-a947-a6024f5a4ec1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d888283e-3639-4918-84ed-a6fa22cfc546.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d888283e-3639-4918-84ed-a6fa22cfc546.json deleted file mode 100644 index 3a037246e93712eeb4d1223acb9fd9241b913f85..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/d888283e-3639-4918-84ed-a6fa22cfc546.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "d888283e-3639-4918-84ed-a6fa22cfc546", - "type": "STRING", - "value": "Location" - }}, - "uuid": "d888283e-3639-4918-84ed-a6fa22cfc546" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/df9b1ec0-8ed5-4719-bcbb-edbaacdbb325.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/df9b1ec0-8ed5-4719-bcbb-edbaacdbb325.json deleted file mode 100644 index 8c11ff2c9c3a04a242e5b590e1e651850ebf5df8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/df9b1ec0-8ed5-4719-bcbb-edbaacdbb325.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "df9b1ec0-8ed5-4719-bcbb-edbaacdbb325", - "type": "STRING", - "value": "Location" - }}, - "uuid": "df9b1ec0-8ed5-4719-bcbb-edbaacdbb325" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e1308a28-bfa6-40e1-b39e-f1b64d00509d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e1308a28-bfa6-40e1-b39e-f1b64d00509d.json deleted file mode 100644 index 7bf42dd1b5ba24c5b7d3ae015cb6527e4172385f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e1308a28-bfa6-40e1-b39e-f1b64d00509d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e1308a28-bfa6-40e1-b39e-f1b64d00509d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e1308a28-bfa6-40e1-b39e-f1b64d00509d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e2949dcb-7e0a-4104-92df-2c29945c7486.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e2949dcb-7e0a-4104-92df-2c29945c7486.json deleted file mode 100644 index 63d20b5a2a6d54bc428e98d25ac8686a40248837..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e2949dcb-7e0a-4104-92df-2c29945c7486.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e2949dcb-7e0a-4104-92df-2c29945c7486", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e2949dcb-7e0a-4104-92df-2c29945c7486" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e380e8c1-1b13-4cbb-b22f-569fa3746899.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e380e8c1-1b13-4cbb-b22f-569fa3746899.json deleted file mode 100644 index 0596a77d67fac992fdbcbbc99282d68b25d5fd40..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e380e8c1-1b13-4cbb-b22f-569fa3746899.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e380e8c1-1b13-4cbb-b22f-569fa3746899", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e380e8c1-1b13-4cbb-b22f-569fa3746899" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e487829f-4c10-4b03-8738-9b266ee1070d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e487829f-4c10-4b03-8738-9b266ee1070d.json deleted file mode 100644 index d17183fa99cf538451b89d2aff62a50409f74cc8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e487829f-4c10-4b03-8738-9b266ee1070d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e487829f-4c10-4b03-8738-9b266ee1070d", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e487829f-4c10-4b03-8738-9b266ee1070d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b.json deleted file mode 100644 index 6259c69f8df4370587aa9feaa15af4d02949c9be..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e9618613-82ad-42fa-88b3-2f6924c0165c.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e9618613-82ad-42fa-88b3-2f6924c0165c.json deleted file mode 100644 index 8ea2c8da78478ef3e0abc68aab224bdb02157d53..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/e9618613-82ad-42fa-88b3-2f6924c0165c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e9618613-82ad-42fa-88b3-2f6924c0165c", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e9618613-82ad-42fa-88b3-2f6924c0165c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ea754a75-9530-4fd0-ae34-bf241af669ad.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ea754a75-9530-4fd0-ae34-bf241af669ad.json deleted file mode 100644 index 66bed2759312c44061878e523b25f9433e7dd3a0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ea754a75-9530-4fd0-ae34-bf241af669ad.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ea754a75-9530-4fd0-ae34-bf241af669ad", - "type": "STRING", - "value": "this field shall encode the ITS-AID for CAMs" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ea754a75-9530-4fd0-ae34-bf241af669ad", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "ea754a75-9530-4fd0-ae34-bf241af669ad" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/eadacd7d-8386-4c76-8f38-0be53ce96210.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/eadacd7d-8386-4c76-8f38-0be53ce96210.json deleted file mode 100644 index cb45fb55aee0d944419a3ccf474a2cb8f6a9ceed..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/eadacd7d-8386-4c76-8f38-0be53ce96210.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "eadacd7d-8386-4c76-8f38-0be53ce96210", - "type": "STRING", - "value": "Location" - }}, - "uuid": "eadacd7d-8386-4c76-8f38-0be53ce96210" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ee6c482c-24aa-416f-82b4-9a84d6b200e0.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ee6c482c-24aa-416f-82b4-9a84d6b200e0.json deleted file mode 100644 index 234e7ad9a9167808a38e79dd7253ecbe0d1b864e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/ee6c482c-24aa-416f-82b4-9a84d6b200e0.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "ee6c482c-24aa-416f-82b4-9a84d6b200e0", - "type": "STRING", - "value": "Location" - }}, - "uuid": "ee6c482c-24aa-416f-82b4-9a84d6b200e0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f328e6ac-eb81-4136-9747-28296db4885d.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f328e6ac-eb81-4136-9747-28296db4885d.json deleted file mode 100644 index 4447730ff9e501a04d66d51e45e5b8bedd234f7b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f328e6ac-eb81-4136-9747-28296db4885d.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f328e6ac-eb81-4136-9747-28296db4885d", - "type": "STRING", - "value": "Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f328e6ac-eb81-4136-9747-28296db4885d", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "f328e6ac-eb81-4136-9747-28296db4885d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f5c4ab1e-0383-4d8d-90f1-386f493614e1.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f5c4ab1e-0383-4d8d-90f1-386f493614e1.json deleted file mode 100644 index 88472783eb215f3d78232bada42e0602a6254fb8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f5c4ab1e-0383-4d8d-90f1-386f493614e1.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f5c4ab1e-0383-4d8d-90f1-386f493614e1", - "type": "STRING", - "value": "\r\n" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f5c4ab1e-0383-4d8d-90f1-386f493614e1", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "f5c4ab1e-0383-4d8d-90f1-386f493614e1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f749c280-6cf5-49f8-ade8-feaab09f31e8.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f749c280-6cf5-49f8-ade8-feaab09f31e8.json deleted file mode 100644 index 588db18d622140cbf8743c0c85de659edd12a482..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f749c280-6cf5-49f8-ade8-feaab09f31e8.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "f749c280-6cf5-49f8-ade8-feaab09f31e8", - "type": "STRING", - "value": "Location" - }}, - "uuid": "f749c280-6cf5-49f8-ade8-feaab09f31e8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f86c287a-9f57-4735-938f-3cc4807a6d53.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f86c287a-9f57-4735-938f-3cc4807a6d53.json deleted file mode 100644 index bac49dad03ead976045ae24b1d0e7a071754a515..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/f86c287a-9f57-4735-938f-3cc4807a6d53.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f86c287a-9f57-4735-938f-3cc4807a6d53", - "type": "STRING", - "value": "signer_info: this field shall contain an element of type certificate.<\/font><\/font><\/font>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f86c287a-9f57-4735-938f-3cc4807a6d53", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "f86c287a-9f57-4735-938f-3cc4807a6d53" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2.json deleted file mode 100644 index 7422b070b30a0699b2e9b568882043ae0addb37b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2", - "type": "STRING", - "value": "Certificate authority certificates" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fd2e4af3-d17f-4622-a387-1c5bdbc338c2.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fd2e4af3-d17f-4622-a387-1c5bdbc338c2.json deleted file mode 100644 index d12afb36294fb3945d5d8aca2b45ed4f9e5a6b89..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fd2e4af3-d17f-4622-a387-1c5bdbc338c2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "fd2e4af3-d17f-4622-a387-1c5bdbc338c2", - "type": "STRING", - "value": "Location" - }}, - "uuid": "fd2e4af3-d17f-4622-a387-1c5bdbc338c2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fdce9252-7641-44af-841c-aabe773ad954.json b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fdce9252-7641-44af-841c-aabe773ad954.json deleted file mode 100644 index 1a36e995b450c4c238bf90b757994be7e701db9b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml/fdce9252-7641-44af-841c-aabe773ad954.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "fdce9252-7641-44af-841c-aabe773ad954", - "type": "STRING", - "value": "Location" - }}, - "uuid": "fdce9252-7641-44af-841c-aabe773ad954" -} \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/embedded/image1.jpg b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/embedded/image1.jpg deleted file mode 100644 index 23af763a2a12969bef9c463d6ba8fd9b48f86b4b..0000000000000000000000000000000000000000 Binary files a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/embedded/image1.jpg and /dev/null differ diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p-1.xhtml b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p-1.xhtml deleted file mode 100644 index 29605459e85f5f8efaaac0c36828f8b27e1a2487..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p-1.xhtml +++ /dev/null @@ -1,6724 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ETSI TS 103 097 V1.1.21 - - -

    -ETSI TS 103 097 V1.2.1 (2015-06) - - -

    -

    -Intelligent Transport Systems (ITS);
    -
    -

    -

    -Security;
    -
    -

    -

    -Security header and certificate formats -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -Technical Specification -

    -

    -� -

    -

    -Reference
    -
    -

    -

    -RTS/ITS-00531 -

    -

    -Keywords
    -
    -

    -

    -ITS, privacy, protocol, security -

    -

    -

    -ETSI
    -
    -

    -

    -650 Route des Lucioles
    -
    -

    -

    -F-06921 Sophia Antipolis Cedex - FRANCE -

    -

    -

    -Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
    -
    -

    -

    -

    -Siret N° 348 623 562 00017 - NAF 742 C
    -
    -

    -

    -Association à but non lucratif enregistrée à la
    -
    -

    -

    -Sous-Préfecture de Grasse (06) N° 7803/88
    -
    -

    -

    -

    -

    -

    -Important notice
    -
    -

    -

    - - This structure defines the details needed to describe an ECDSA based signature. This field's length - - field_size - - is derived from the applied ECDSA algorithm using the mapping as specified in table - 2 - . The extern link that specifies the algorithm points to the algorithm defined in the surrounding - - Signature - - structure. - - R - - contains the x coordinate of the elliptic curve point resulting from multiplying the generator element by the ephemeral private key. - - The EccPointType of - - - R - - shall be set to either - - compressed_lsb_y_0 - - , - - compressed_lsb_y_1 - - or - - x_coordinate_only - - . - - - - - - - - - - - - - -

    -

    - - NOTE 1: - - Except naming of included type - - PublicKeyAlgorithm - - , this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.17. - - - -

    -

    - - NOTE 2: - - It is possible to add extra information by transferring the complete point R in a compressed form instead of only the x coordinate. This extra information may then be used for a faster signature verification algorithm as outlined in "Accelerated verification of ECDSA signatures" [ - i.6 - ]. - -

    -

    - - - 4.2.10 - - SignerInfo - - -

    -

    - struct { -

    -

    - - - SignerInfoType type; - -

    -

    - - - select(type){ - -

    -

    - - - case self: - -

    -

    - - - - - - - - - ; - -

    -

    - - - case certificate_digest_with_sha256: - -

    -

    - - - - HashedId8 - - - - digest; - -

    -

    - - - case certificate: - -

    -

    - - - - Certificate - - - - certificate; - -

    -

    - - - case certificate_chain: - -

    -

    - - - - Certificate - - - - certificates<var>; - -

    -

    - - - case certificate_digest_with_other_algorithm: - -

    -

    - - - - PublicKeyAlgorithm - - algorithm; - -

    -

    - - - - HashedId8 - - - - digest; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - info<var>; - -

    -

    - - - } - -

    -

    - } SignerInfo; -

    -

    -

    - - This structure defines how to give information about the signer of a message. The included cryptographic identity can be used in conjunction with the structure - - Signature - - to verify a message's authenticity. Depending on the value of - - type - - , the - - SignerInfo - - 's data fields shall contain the following entries: - - - -

    - -

    - - NOTE: - - Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.4. - -

    -

    - - - 4.2.11 - - SignerInfoType - - -

    -

    - enum { -

    -

    - - - self(0), - -

    -

    - - - certificate_digest_with_sha256(1), - -

    -

    - - - certificate(2), - -

    -

    - - - certificate_chain(3), - -

    -

    - - - certificate_digest_with_other_algorithm(4), - -

    -

    - - - reserved(240..255), - -

    -

    - - - (2^8-1) - -

    -

    - } SignerInfoType; -

    -

    -

    - This enumeration lists methods to describe a message's signer. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. -

    -

    - - NOTE: - - This definition is similar to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.5, but naming and - - certificate_digest_with_ecdsap224 - - is not supported by the present document. As a consequence, the numbering of identical elements (e.g. - - certificate_chain - ) differs. - - - - -

    -

    - - - 4.2.12 - - HashedId8 - - -

    -

    - - opaque - - HashedId8[8]; - -

    -

    -

    - This value is used to identify data such as a certificate. It shall be calculated by first computing the SHA-256 hash of the input data, and then taking the least significant eight bytes from the hash output. -

    -

    - - A canonical encoding for the - - EccPoint R - - contained in the - - signature field - - of a - - Certificate - - shall be used when calculating the SHA-256 hash from a - - Certificate - - . This canonical encoding shall temporarily replace the value of the - - EccPointType - - of the point - - R - - of the - - Certificate - - with - - x_coordinate_only - for the hash computation. - - - - - - - - - - - - - - - - -

    -

    - - NOTE 1: - - Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.6. - -

    -

    - - NOTE 2: - - The canonical encoding is used to remove the possibility of manipulating the certificate in a way that results in different - - HashedId8 - - identifiers for the same certificate by changing the - - EccPointType - - . Implementations that do not use the fast verification according to "Accelerated verification of ECDSA signatures" [ - i.6 - ] cannot detect this manipulation. - - - - - -

    -

    - - - 4.2.13 - - HashedId3 - - -

    -

    - - opaque - - HashedId3[3]; - -

    -

    -

    - - This value is used to give an indication on an identifier, where real identification is not required. This can be used to request a certificate from other surrounding stations. It shall be calculated by first computing the SHA-256 hash of the input data, and then taking the least significant three bytes from the hash output. If a corresponding - - HashedId8 - - value is available, it can be calculated by truncating the longer - - HashedId8 - to the least significant three bytes. - - -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 4.2.14 - - Time32 - - -

    -

    - - uint32 - - Time32; - -

    -

    -

    - - Time32 - is an unsigned 32-bit integer, encoded in big-endian format, giving the number of International Atomic Time (TAI) seconds since 00:00:00 UTC, 01 January 2004. - -

    -

    - - NOTE 1: - - The period of 2 - - 32 - seconds lasts about 136 years that is until 2140. -

    -

    - - NOTE 2: - - This definition is identical to the one in IEEE 1609.2 Draft D17 [ - i.3 - ], clause 6.3.31. - -

    -

    - - - 4.2.15 - - Time64 - - -

    -

    - - uint64 - - Time64; - -

    -

    -

    - - Time64 - is a 64-bit unsigned integer, encoded in big-endian format, giving the number of International Atomic Time (TAI) microseconds since 00:00:00 UTC, 01 January 2004. - -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D17 [ - i.3 - ], clause 6.2.12. - -

    -

    - - - 4.2.16 - - Time64WithStandardDeviation - - -

    -

    - struct { -

    -

    - - - Time64 - - time; - -

    -

    - - - uint8 - - log_std_dev; - -

    -

    - - } Time64WithStandardDeviation; - - -

    -

    -

    - - This structure defines how to encode - - time - - along with the standard deviation of time values. - - log_std_dev - values 0 to 254 represent the rounded up value of the log to the base 1,134666 of the implementation's estimate of the standard deviation in units of nanoseconds. Values greater than 1,134666 - - - - - 254 - nanoseconds are represented by the value 254, i.e. a day or longer. If the standard deviation is unknown, value 255 shall be used. -

    -

    - - NOTE 1: - - This definition is identical to the one in IEEE 1609.2 Draft D17 [ - i.3 - ], clause 6.2.11. - -

    -

    - - NOTE 2: - - This definition is currently unused in the security profiles in clause 7. - -

    -

    - - - 4.2.17 - - Duration - - -

    -

    - - uint16 - - Duration; - -

    -

    -

    - - This - - uint16 - - encodes the duration of a time span (e.g. a certificate's validity). The first three bits shall encode the units as given in table - 3 - . The remaining 13 bits shall be treated as an integer encoded. - - - -

    -

    - - NOTE 1: - - Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.5. - -

    -

    - - NOTE 2: - - This definition is currently unused in the security profiles in clause 7. - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - - Table - : Interpretation of duration unit bits - -

    -
    -

    - Bits -

    -
    -

    - Interpretation -

    -
    -

    - 000 -

    -
    -

    - seconds -

    -
    -

    - 001 -

    -
    -

    - minutes (60 seconds) -

    -
    -

    - 010 -

    -
    -

    - hours (3 600 seconds) -

    -
    -

    - 011 -

    -
    -

    - 60 hour blocks (216 000 seconds) -

    -
    -

    - 100 -

    -
    -

    - years (31 556 925 seconds) -

    -
    -

    - 101, 110, 111 -

    -
    -

    - undefined -

    -
    -

    -

    -

    - - - 4.2.18 - - TwoDLocation - - -

    -

    - struct { -

    -

    - - - sint32 - - latitude; - -

    -

    - - - sint32 - - longitude; - -

    -

    - } TwoDLocation; -

    -

    -

    - - This structure defines how to specify a two dimensional location. It is used to define validity regions of a certificate. - - latitude - - and - - longitude - - encode a coordinate in tenths of micro degrees relative to the World Geodetic System (WGS)-84 datum as defined in NIMA Technical Report TR8350.2 [ - 2 - ]. - - - - - -

    -

    - - The permitted values of - - latitude - range from -900 000 000 to +900 000 000. The value 900 000 001 shall indicate the latitude as not being available. - - -

    -

    - - The permitted values of - - longitude - range from -1 800 000 000 to +1 800 000 000. The value 1 800 000 001 shall indicate the longitude as not being available. - - -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.18. - -

    -

    - - - 4.2.19 - - ThreeDLocation - - -

    -

    - struct { -

    -

    - - - sint32 - - latitude; - -

    -

    - - - sint32 - - longitude; - -

    -

    - - - opaque - - elevation[2]; - -

    -

    - } ThreeDLocation; -

    -

    -

    - - This structure defines how to specify a three dimensional location. - - latitude - - and - - longitude - - encode coordinate in tenths of micro degrees relative to the World Geodetic System (WGS)-84 datum as defined in NIMA Technical -
    - Report TR8350.2 [ - 2 - ]. -
    -
    -
    -
    -
    -

    -

    - - The permitted values of - - latitude - range from -900 000 000 to +900 000 000. The value 900 000 001 shall indicate the latitude as not being available. - - -

    -

    - - The permitted values of - - longitude - range from -1 800 000 000 to +1 800 000 000. The value 1 800 000 001 shall indicate the longitude as not being available. - - -

    -

    - - elevation - shall contain the elevation relative to the WGS-84 ellipsoid in decimetres. The value is interpreted as an asymmetric signed integer with an encoding as follows: - -

    -
      -

      -

    • - 0x0000 to 0xEFFF: positive numbers with a range from 0 metres to +6 143,9 metres. All numbers above +6 143,9 are also represented by 0xEFFF. -
    • -

      -

      -

    • - 0xF001 to 0xFFFF: negative numbers with a range from -409,5 metres to -0,1 metres. All numbers below -409,5 are also represented by 0xF001. -
    • -

      -

      -

    • - 0xF000: an unknown elevation. -
    • -

      -
    -

    - - EXAMPLES: - - 0x0000 = 0 metre - -

    -

    - 0x03E8 = 100 metres -

    -

    - 0xF7D1 = -209,5 metres (0xF001 + 0x07D0 = -409,5 metres + 200 metres). -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.12. - -

    -

    - - - 4.2.20 - - GeographicRegion - - -

    -

    - struct { -

    -

    - - - RegionType - - - - - region_type; - -

    -

    - - - select(region_type){ - -

    -

    - - - case circle: - -

    -

    - - - - CircularRegion - - - circular_region; - -

    -

    - - - case rectangle: - -

    -

    - - - - RectangularRegion - - rectangular_region<var>; - -

    -

    - - - case polygon: - -

    -

    - - - - PolygonalRegion - - - polygonal_region; - -

    -

    - - - case id: - -

    -

    - - - - IdentifiedRegion - - id_region; - -

    -

    - - - case none: - - - - - -

    -

    - - - - - - - - - ; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - other_region<var>; - -

    -

    - - - } - -

    -

    - } GeographicRegion; -

    -

    -

    - This structure defines how to encode geographic regions. These regions can be used to limit the validity of certificates. -

    -

    - - - In case of - - - rectangle - - , the region shall consist of a variable-length vector of rectangles that may be overlapping or disjoint. The variable-length vector shall not contain more than 6 rectangles. The region covered by the rectangles shall be continuous and shall not contain holes. - - - -

    -

    - - NOTE: - - Except inclusion of case - - id - - , this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.13. - - - -

    -

    - - - 4.2.21 - - RegionType - - -

    -

    - enum { -

    -

    - - - none(0), - -

    -

    - - - circle(1), - -

    -

    - - - rectangle(2), - -

    -

    - - - polygon(3), - -

    -

    - - - id(4), - -

    -

    - - - reserved(240..255), - -

    -

    - - - (2^8-1) - -

    -

    - } RegionType; -

    -

    -

    - This enumeration lists possible region types. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. -

    -

    - - NOTE: - - This definition is similar to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.14, but the identifier numbering differs, the region ID - - id - - was added and - - from_issuer - removed. - - - - -

    -

    - - - 4.2.22 - - CircularRegion - - -

    -

    - struct { -

    -

    - - - TwoDLocation center; - -

    -

    - - - uint16 radius; - -

    -

    - } CircularRegion; -

    -

    -

    - - This structure defines a circular region with - - radius - - given in metres and center at - - center - - . The region shall include all points on the reference ellipsoid's surface with a distance over surface of Earth equal to or less than the radius to the center point. For a location of type - - ThreeDLocation - , i.e. the location contains an elevation component, the horizontal projection onto the reference ellipsoid is used to determine if the location lies within the circular region. - - - - - - -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.15. - -

    -

    - - - 4.2.23 - - RectangularRegion - - -

    -

    - struct { -

    -

    - - - TwoDLocation - - northwest; - -

    -

    - - - TwoDLocation - - southeast; - -

    -

    - } RectangularRegion; -

    -

    -

    - - This structure defines a rectangular region by connecting the four points in the order (northwest.latitude, northwest.longitude), (northwest.longitude, southeast.longitude), (southeast.longitude, southeast.longitude), and (southeast.longitude, northwest.longitude). If two consecutive points P and Q define a line of constant latitude or longitude from P to Q, the left side of the line is defined as being outside of the polygon and the line itself and the right side of the line to be inside the rectangular region. - - - A rectangular region is only valid if the location - - - northwest - - is north of the location southeast - . For a location of type - - ThreeDLocation - , i.e. the location contains an elevation component, the horizontal projection onto the reference ellipsoid is used to determine if the location lies within the rectangular region. - - - - -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.16. - -

    -

    - - - 4.2.24 - - PolygonalRegion - - -

    -

    - - TwoDLocation - - PolygonalRegion<var>; - -

    -

    -

    - - This variable-length vector describes a region by enumerating points on the region's boundary. If two consecutively specified points P and Q define a line of constant bearing from P to Q, the left side of the line is defined as being outside of the polygon and the line itself and the right side of the line to be inside the polygon. - - - The points shall be linked to each other, with the last point linked to the first. No intersections shall occur and at least 3 and no more than 12 points shall be given. The specified region shall be continuous and shall not contain holes. - - For a location of type - - ThreeDLocation - , i.e. the location contains an elevation component, the horizontal projection onto the reference ellipsoid is used to determine if the location lies within the polygonal region. - - -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.17. - -

    -

    - - - 4.2.25 - - IdentifiedRegion - - -

    -

    - struct { -

    -

    - - - RegionDictionary - - region_dictionary; - -

    -

    - - - uint16 - - - - - region_identifier; - -

    -

    - - - IntX - - - - - local_region; - -

    -

    - } IdentifiedRegion; -

    -

    -

    - - This structure defines a predefined geographic region determined by the region dictionary - - region_dictionary - - and the region identifier - - region_identifier - - . - - local_region - - may optionally specify a more detailed region within the region. If the whole region is meant, - - local_region - - - shall be set to 0. The details of - - local_region - are unspecified. - - - - - - - - - - - -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 4.2.26 - - RegionDictionary - - -

    -

    - enum { -

    -

    - - - iso_3166_1(0), - -

    -

    - - - un_stats(1), - -

    -

    - - - (2^8-1) - -

    -

    - } RegionDictionary; -

    -

    -

    - - This enumeration lists dictionaries containing two-octet records of globally defined regions. - - - The dictionary that corresponds to - - - iso_3166_1 - - shall contain values that correspond to numeric country codes as defined in ISO 3166-1 - [ - 3 - ]. - - - The dictionary that corresponds to - - - un_stats - - shall contain values as defined by the United Nations Statistics Division, which is a superset of ISO 3166-1 [ - - 3 - - ] including compositions of regions. - - - - - -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 5 - - Specification of security header - - -

    -

    - - - 5.1 - - SecuredMessage - - -

    -

    - struct { -

    -

    - - - uint8 - - - - protocol_version; - -

    -

    - - - HeaderField - - - header_fields<var>; - -

    -

    - - - Payload - - - - payload_field; - -

    -

    - - - TrailerField - - trailer_fields<var>; - -

    -

    - } SecuredMessage; -

    -

    -

    - This structure defines how to encode a generic secured message: -

    - -

    - Further information about how to fill these variable-length vectors is given via security profiles in clause 7. -

    -

    - - NOTE 1: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - NOTE 2: - - An example for a reason to increase the - - protocol_version - - is a change to the epoch in clause 4.2.15 and clause 4.2.16, which leads to incompatible messages. A counterexample would be an additional header field using the - - unknown - - case in clause 5.4. This header field can be ignored by old implementations, if the syntax is kept identical and the versions are compatible. Hence, the - - protocol_version - should not be increased. - - - - - - -

    -

    - - - 5.2 - - Payload - - -

    -

    - struct { -

    -

    - - - PayloadType type; - -

    -

    - - - select (type) { - -

    -

    - - - case signed_external: - - -

    -

    - - - - ; - -

    -

    - - - case unsecured: - -

    -

    - - - case signed: - -

    -

    - - - case encrypted: - -

    -

    - - - case signed_and_encrypted: - - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - data<var>; - -

    -

    - - - } - -

    -

    - } Payload; -

    -

    -

    - - This structure defines how to encode payload. In case of externally signed payload, no payload data shall be given as all data is external. In this case, the external data shall be included when calculating the signature, at the position where a non-external payload would be. In all other cases, the data shall be given as a variable-length vector containing - - opaque - data. - - -

    -

    - - NOTE 1: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - NOTE 2: - - Payloads of type - - signed_external - are needed to add a signature in a non-intrusive way to an existing protocol stack, e.g. for extending an IPv6 stack. - - -

    -

    - - - 5.3 - - PayloadType - - -

    -

    - enum { -

    -

    - - - unsecured(0), - -

    -

    - - - signed(1), - -

    -

    - - - encrypted(2), - -

    -

    - - - signed_external(3), - -

    -

    - - - signed_and_encrypted(4), - -

    -

    - - - (2^8-1) - -

    -

    - } PayloadType; -

    -

    -

    - This enumeration lists the supported types of payloads. -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 5.4 - - HeaderField - - -

    -

    - struct { -

    -

    - - - HeaderFieldType type; - -

    -

    - - - select(type) { - -

    -

    - - - case generation_time: - -

    -

    - - - - Time64 - - - - - - - - generation_time; - -

    -

    - - - case generation_time_standard_deviation: - -

    -

    - - - - Time64WithStandardDeviation - - - generation_time_with_standard_deviation; - -

    -

    - - - case expiration: - -

    -

    - - - - Time32 - - - - - - - - expiry_time; - -

    -

    - - - case generation_location: - -

    -

    - - - - ThreeDLocation - - - - - - generation_location; - -

    -

    - - - case request_unrecognized_certificate: - -

    -

    - - - - HashedId3 - - - - - - - digests<var>; - -

    -

    - - - case its_aid: - -

    -

    - - - - IntX - - - - - - - - its_aid; - -

    -

    - - - case signer_info: - -

    -

    - - - - SignerInfo - - - - - - - signer; - -

    -

    - - - case encryption_parameters: - -

    -

    - - - - EncryptionParameters - - - - enc_params; - -

    -

    - - - case recipient_info: - -

    -

    - - - - RecipientInfo - - - - - - recipients<var>; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - - - - other_header<var>; - -

    -

    - - - } - -

    -

    - } HeaderField; -

    -

    -

    - - This structure defines how to encode information of interest to the security layer. Its content depends on the value of - - type - : - - -

    -
      -

      -

    • - - generation_time - - : - - - a timestamp of type - - - - Time64 - - - , - which shall describe the point in time, when the contents of the security headers are fixed prior to the signing process - . - - -
    • -

      -

      -

    • - - generation_time_standard_deviation - : a timestamp of type Time64WithStandardDeviation, which shall describe the point in time, when the contents of the security headers are fixed prior to the signing process. In addition to the timestamp, the confidence described by the standard deviation of the time value contained shall be given. - -
    • -

      -

      -

    • - - expiration - - : the point in time the validity of this message expires contained in a - - Time32 - - structure shall be given. - - -
    • -

      -

      -

    • - - generation_location - - : the location where this message was created contained in a - - ThreeDLocation - - structure shall be given. - - -
    • -

      -

      -

    • - - request_unrecognized_certificate - - : a request for certificates shall be given in case that a certificate from a peer has not been transmitted before. This request consists of a variable-length vector of 3 octet long certificate digests contained in a - - HashedId3 - - structure to identify the requested certificates. The request shall be used to request pseudonym certificates and authorization authority certificates. - - -
    • -

      -

      -

    • - - its_aid - - : The ITS-AID of the application payload shall be given. The valid ITS-AIDs are specified according to ETSI TS 102 965 [ - 7 - ]. - - -
    • -

      -
    -

    - - Furthermore, the - - HeaderField - structure defines cryptographic information that is required for single-pass processing of the payload: - - -

    -
      -

      -

    • - - signer_info - - : information about the message's signer contained in a - - SignerInfo - - structure shall be given. If present, the SignerInfo structure shall come first in the array of - - HeaderFields - , unless this is explicitly overridden by the security profile. - - - -
    • -

      -

      -

    • - - encryption_parameters - - : additional parameters necessary for encryption purposes contained in an - - EncryptionParameters - - structure shall be given. - - -
    • -

      -

      -

    • - - recipient_info - - : information specific for certain recipients (e.g. data encrypted with a recipients public key) contained in a variable-length vector of type - - RecipientInfo - - shall be given. Each - - recipient_info - - vector shall be preceeded by one - - encryption_parameters - - header field to determine the value of - - symm_key_len - - according to table - 4 - . - - - - - - - - -
    • -

      -
    -

    - For extensibility, the structure contains a variable field: -

    -
      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing - - opaque - data shall be given. - - - -
    • -

      -
    -

    - - NOTE 1: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - NOTE 2: - - The - - generation_time_standard_deviation - - and the - - expiration - header fields are currently unused in the security profiles in clause 7. - - - - -

    -

    - - - 5.5 - - HeaderFieldType - - -

    -

    - enum { -

    -

    - - - generation_time(0), - -

    -

    - - - generation_time_standard_deviation(1), - -

    -

    - - - expiration(2), - -

    -

    - - - generation_location(3), - -

    -

    - - - request_unrecognized_certificate(4), - -

    -

    - - - its_aid(5), - -

    -

    - - - signer_info(128), - -

    -

    - - - encryption_parameters(129), - -

    -

    - - - recipient_info(130), - -

    -

    - - - (2^8-1) - -

    -

    - } HeaderFieldType; -

    -

    -

    - This enumeration lists the supported types of header fields. -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 5.6 - - - TrailerField - -

    -

    - struct { -

    -

    - - - TrailerFieldType - - - - type; - -

    -

    - - - select(type) { - -

    -

    - - - case signature: - -

    -

    - - - - Signature - - - - - signature; - -

    -

    - - - unkown: - -

    -

    - - - - opaque - - - - - - security_field<var>; - -

    -

    - - - } - -

    -

    - } TrailerField; -

    -

    -

    - This structure defines how to encode information used by the security layer after processing the payload. A trailer field may contain data of the following cases: -

    -
      -

      -

    • - - signature - - : the signature of this message contained in a - - Signature - - structure shall be given. The signature is calculated over the hash of the encoding of all previous fields ( - - version - - , - - header_fields - - field and the - - payload_field - - field), including the encoding of their length. Also the length of the - - trailer_fields - - field and the type of the - - signature - - trailer field shall be included in the hash. -
      -
      - If the - - payload_field - - field has - - type - - equal to - - signed_external - - , the data shall be included in the hash calculation immediately after the - - payload_field - - field, encoded as an - - opaque<var> - - , i.e. as if it was included. -
      -
      - If further trailer fields are included in a - - SecuredMessage - - , the - - signature - - structure shall include all fields in the sequence before, and exclude all fields in the sequence after the - - signature - structure, if not otherwise defined via security profiles. - - - - - -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
    • -

      -
    -
      -

      -

    • - - If the - - payload_field - - field - - type - - does not contain the keyword " - - signed - - " ( - - unsecured - - or - - encrypted - - ), then the - - trailer_fields - - field of the - - SecuredMessage - - shall not include a - - Signature - - . - - - - - - - - - - - - - - - -
    • -

      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing - - opaque - data shall be given. - - - -
    • -

      -
    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 5.7 - - TrailerFieldType - - -

    -

    - enum { -

    -

    - - - signature(1), - -

    -

    - - - (2^8-1) - -

    -

    - } TrailerFieldType; -

    -

    -

    - This enumeration lists the supported types of trailer fields. -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 5.8 - - RecipientInfo - - -

    -

    - struct { -

    -

    - - - HashedId8 - - - - - - - cert_id; - -

    -

    - - PublicKeyAlgorithm - - - - - pk_encryption - ; - -

    -

    - select (pk_encryption) { -

    -

    - case ecies_nistp256: -

    -

    - - EciesEncryptedKey - - - - enc_key; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - - - enc_key<var>; - -

    -

    - - - } - -

    -

    - } RecipientInfo; -

    -

    -

    - - This structure contains information for the decryption of a message for a recipient. This information is used to distribute recipient specific data. - - cert_id - - determines the 8 octet identifier for the recipient's certificate. Depending on the value of - - pk_encryption - , the following additional data shall be given: - - - - -

    -
      -

      -

    • - - ecies_nistp256 - - : an encrypted key contained in an - - EciesEncryptedKey - - structure shall be given. - - -
    • -

      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing - - opaque - data encoding an encrypted key shall be given. - - - -
    • -

      -
    -

    - - NOTE: - - Except naming of included type - - PublicKeyAlgorithm - - and full inclusion of - - pk_encryption - - (not - - extern - - ), this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.24. - - - - - - - -

    -

    - - - 5.9 - - EciesEncryptedKey - - -

    -

    - struct { -

    -

    - - - extern SymmetricAlgorithm - - symm_alg - ; - -

    -

    - - - extern uint32 - - - - - symm_key_len; - -

    -

    - - - EccPoint - - - - - v; - -

    -

    - - - opaque - - - - - - - c[symm_key_len]; - -

    -

    - - - opaque - - - - - - - t[16]; - -

    -

    - } EciesEncryptedKey; -

    -

    -

    - - This structure defines how to transmit an ECIES-encrypted symmetric key as defined in IEEE -
    - Std 1363a-2004 [ - i.1 - ]. The - - EccPoint - - - v - - contains the sender's ECC - - ephemeral - - key used for the Elliptic Curve Encryption Scheme. This ephemeral key - - v - - shall only be used once and for every encryption a new key shall be generated. The vector - - c - - contains the encrypted (AES) key. The vector - - t - - contains the authentication tag. The - - symm_key_len - - defines the length of vector - - c - - containing the encrypted (AES) key and shall be derived from the given algorithm - - symm_alg - - and the mapping as defined in table - 4 - . The necessary algorithm shall be given as an external link to the parameter - - symm_algorithm - - specified in the structure - - EncryptionParameters - - . To ensure the external link to the - - SymmetricAlgorithm - - - symm_alg - - can be resolved, this - - EciesEncryptedKey - - structure shall be preceded by an according - - EncryptionParameters - - structure. - - - - - - - - - - - - - - - - -
    -

    -

    - Further parameters used for the encryption and decryption using ECIES shall be: -

    -
      -

      -

    • - The parameters P - 1 - and P - 2 - shall be empty strings. -
    • -

      -

      -

    • - ECSVDP-DHC shall be used as secret value derivation primitive. -
    • -

      -

      -

    • - The stream cipher used shall be based on KDF2 using SHA-256. -
    • -

      -

      -

    • - As MAC, MAC1 shall be used with SHA-256 and tBits = 128. -
    • -

      -

      -

    • - The length of the key (input) to MAC1 shall be 256 bits. -
    • -

      -

      -

    • - The encryption shall use non-DHAES mode. -
    • -

      -

      -

    • - Octet strings shall be interpreted using LSB compressed representation or uncompressed representation for the ECC points. -
    • -

      -
    -

    - - - - - - - - - - - - - - -
    -

    - - Table - : Derivation of symmetric key size depending on the used algorithm - -

    -
    -

    - SymmetricAlgorithm value -

    -
    -

    - Length in octets -

    -
    -

    - aes_128_ccm -

    -
    -

    - 16 -

    -
    -

    -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.25. - -

    -

    - - - 6 - - Specification of certificate format - - -

    -

    - - - 6.1 - - Certificate - - -

    -

    - struct { -

    -

    - - - uint8 - - - - - - version; - -

    -

    - - - SignerInfo - - - - - signer_info; - -

    -

    - - - SubjectInfo - - - - - subject_info; - -

    -

    - - - SubjectAttribute - - - subject_attributes<var>; - -

    -

    - - - ValidityRestriction - - - validity_restrictions<var>; - -

    -

    - - - Signature - - - - - signature; - -

    -

    - } Certificate; -

    -

    -

    - This structure defines how to encode a certificate. -

    -

    -The present document can be downloaded from:
    -
    - -http://www.etsi.org/standards-search -

    -

    -The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat.
    -
    -

    -

    -Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at - -http://portal.etsi.org/tb/status/status.asp -

    -

    -If you find errors in the present document, please send your comment to one of the following services:
    - -
    -https://portal.etsi.org/People/CommiteeSupportStaff.aspx -

    -

    -Copyright Notification
    -
    -

    -

    -No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI.
    The content of the PDF version shall not be modified without the written authorization of ETSI.
    The copyright and the foregoing restriction extend to reproduction in all media.
    -

    -

    -

    -© European Telecommunications Standards Institute 2015.
    -
    -

    -

    -All rights reserved.
    -
    -

    -

    -DECT -TM -, PLUGTESTS - -TM -, UMTS - -TM - and the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members.
    -3GPP -
    -TM -and LTE -â„¢ are Trade Marks of ETSI registered for the benefit of its Members and
    of the 3GPP Organizational Partners.
    -
    -GSM -® and the GSM logo are Trade Marks registered and owned by the GSM Association.
    -
    -
    -

    -

    -� -

    -

    -Contents -

    -

    -

    -Foreword -55 -

    -

    -Modal verbs terminology -55 -

    -

    -Introduction -55 -

    -

    -1Scope -66 -

    -

    -2References -66 -

    -

    -2.1Normative references -66 -

    -

    -2.2Informative references -66 -

    -

    -3Definitions and abbreviations -77 -

    -

    -3.1Definitions -77 -

    -

    -3.2Abbreviations -77 -

    -

    -4Basic format elements -77 -

    -

    -4.1Presentation Language -77 -

    -

    -4.2Specification of basic format elements -99 -

    -

    -4.2.1IntX -99 -

    -

    -4.2.2PublicKeyAlgorithm -99 -

    -

    -4.2.3SymmetricAlgorithm -99 -

    -

    -4.2.4PublicKey -99 -

    -

    -4.2.5EccPoint -1010 -

    -

    -4.2.6EccPointType -1111 -

    -

    -4.2.7EncryptionParameters -1111 -

    -

    -4.2.8Signature -1111 -

    -

    -4.2.9EcdsaSignature -1212 -

    -

    -4.2.10SignerInfo -1212 -

    -

    -4.2.11SignerInfoType -1313 -

    -

    -4.2.12HashedId8 -1313 -

    -

    -4.2.13HashedId3 -1313 -

    -

    -4.2.14Time32 -1414 -

    -

    -4.2.15Time64 -1414 -

    -

    -4.2.16Time64WithStandardDeviation -1414 -

    -

    -4.2.17Duration -1414 -

    -

    -4.2.18TwoDLocation -1515 -

    -

    -4.2.19ThreeDLocation -1515 -

    -

    -4.2.20GeographicRegion -1515 -

    -

    -4.2.21RegionType -1616 -

    -

    -4.2.22CircularRegion -1616 -

    -

    -4.2.23RectangularRegion -1616 -

    -

    -4.2.24PolygonalRegion -1717 -

    -

    -4.2.25IdentifiedRegion -1717 -

    -

    -4.2.26RegionDictionary -1717 -

    -

    -5Specification of security header -1717 -

    -

    -5.1SecuredMessage -1717 -

    -

    -5.2Payload -1818 -

    -

    -5.3PayloadType -1818 -

    -

    -5.4HeaderField -1818 -

    -

    -5.5HeaderFieldType -2020 -

    -

    -5.6TrailerField -2020 -

    -

    -5.7TrailerFieldType -2020 -

    -

    -5.8RecipientInfo -2121 -

    -

    -5.9EciesEncryptedKey -2121 -

    -

    -6Specification of certificate format -2222 -

    -

    -6.1Certificate -2222 -

    -

    -6.2SubjectInfo -2323 -

    -

    -6.3SubjectType -2323 -

    -

    -6.4SubjectAttribute -2323 -

    -

    -6.5SubjectAttributeType -2424 -

    -

    -6.6SubjectAssurance -2424 -

    -

    -6.7ValidityRestriction -2525 -

    -

    -6.8ValidityRestrictionType -2525 -

    -

    -6.9ItsAidSsp -2525 -

    -

    -7Security profiles -2626 -

    -

    -7.1Security profile for CAMs -2626 -

    -

    -7.2Security profile for DENMs -2727 -

    -

    -7.3Generic security profile for other signed messages -2828 -

    -

    -7.4Profiles for certificates -2929 -

    -

    -7.4.1Introduction -2929 -

    -

    -7.4.2Authorization tickets (pseudonymous certificates) -3030 -

    -

    -7.4.3Enrolment credential (long-term certificates) -3030 -

    -

    -7.4.4Certificate authority certificates -3030 -

    -

    -Annex A (informative):Data structure examples -3232 -

    -

    -A.1Example security envelope structure for CAM -3232 -

    -

    -A.2Example structure of a certificate -3333 -

    -

    -Annex B (informative):Usage of ITS-AID and SSPs -3434 -

    -

    -History -3535 -

    -

    -

    -� -

    -

    - -Intellectual Property Rights - -

    -

    -IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publicly available for -ETSI members and non-members -, and can be found in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web server ( - - - -http://ipr.etsi.org -).
    -
    -

    -

    -Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become, essential to the present document. -

    -

    - -Foreword - -

    -

    - -This Technical Specification (TS) has been produced by ETSI Technical Committee Intelligent Transport Systems (ITS). - -

    -

    - -Modal verbs terminology - -

    -

    -In the present document " -shall -", " -shall not -", " -should -", " -should not -", " -may -", " -need not -", " -will -", " -will not -", " -can -" and " -cannot -" are to be interpreted as described in clause 3.2 of the - -ETSI Drafting Rules - (Verbal forms for the expression of provisions).
    -
    -

    -

    -" -must -" and " -must not -" are -NOT - allowed in ETSI deliverables except when used in direct citation.
    -
    -

    -

    - -Introduction - -

    -

    -Security mechanisms for ITS consist of a number of parts. An important part for interoperability is a common format for data elements being transferred between ITS stations for security purposes. -

    -

    -The present document intends to provide such a format definition. A special focus is to include as much as possible from existing standards. At the same time, the major goal is simplicity and extensibility of data structures. -

    -

    -� -

    -

    - -1Scope - -

    -

    -The present document specifies security header and certificate formats for Intelligent Transport Systems. These formats are defined specifically for securing G5 communication. -

    -

    - -2References - -

    -

    - -2.1Normative references - -

    -

    -References are either specific (identified by date of publication and/or edition number or version number) or non‑specific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies. -

    -

    -Referenced documents which are not found to be publicly available in the expected location might be found at - -http://docbox.etsi.org/Reference -.
    -
    -

    -

    -NOTE:While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity.
    -
    -

    -

    -The following referenced documents are necessary for the application of the present document. -

    -

    -[]IEEEâ„¢ 1363-2000: "IEEE Standard Specifications For Public Key Cryptography". -

    -

    -[]NIMA Technical Report TR8350.2: "Department of Defense World Geodetic System 1984. Its Definition and Relationships with Local Geodetic Systems". -

    -

    -[]ISO 3166-1: "Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes". -

    -

    -[]NIST SP 800-38C: "Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality". -

    -

    -[]IETF RFC 2246: "The TLS Protocol Version 1.0". -

    -

    -[]ETSI TS 102 940: "Intelligent Transport Systems (ITS); Security; ITS communications security architecture and security management". -

    -

    -[]ETSI TS 102 965 (V1.2.1): "Intelligent Transport Systems (ITS); Application Object Identifier (ITS-AID); Registration". -

    -

    - -2.2Informative references - -

    -

    -References are either specific (identified by date of publication and/or edition number or version number) or non‑specific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies. -

    -

    -NOTE:While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity.
    -
    -

    -

    -The following referenced documents are not necessary for the application of the present document but they assist the user with regard to a particular subject area. -

    -

    -[i.]IEEE™ 1363a-2004: "Standard Specifications For Public Key Cryptography - Amendment 1: Additional Techniques". -

    -

    -[i.]IEEEâ„¢ 1609.2-2012 (draft D12): "Wireless Access in Vehicular Environments - Security Services for Applications and Management Messages". -

    -

    -[i.]IEEEâ„¢ 1609.2-2012 (draft D17): "Wireless Access in Vehicular Environments - Security Services for Applications and Management Messages". -

    -

    -[i.]IEEEâ„¢ 1609.3-2010: "Wireless Access in Vehicular Environments (WAVE) - Networking Services". -

    -

    -[i.]Standards for Efficient Cryptography 4 (SEC 4): "Elliptic Curve Qu-Vanstone Implicit Certificate Scheme (ECQV)". -

    -

    -[i.]Antipa A., R. Gallant, and S. Vanstone: "Accelerated verification of ECDSA signatures", Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11-12, 2005: Springer, 2005, pp. 307-318. -

    -

    - -3Definitions and abbreviations - -

    -

    - -3.1Definitions - - -

    -

    -For the purposes of the present document, the following terms and definitions apply: -

    -

    -enumeration: - set of values with distinct meaning -

    -

    - -3.2Abbreviations - -

    -

    -For the purposes of the present document, the following abbreviations apply: -

    -

    -AESAdvanced Encryption Standard -

    -

    -CACertificate Authority -

    -

    -CAMCooperative Awareness Message -

    -

    -CRLCertificate Revocation List -

    -

    -DENMDecentralized Environmental Notification Message -

    -

    -DHAESDiffie-Hellman: An Encryption Scheme -

    -

    -ECCElliptic Curve Cryptography -

    -

    -ECDSAElliptic Curve Digital Signature Algorithm -

    -

    -ECIES - - - -Elliptic Curve Integrated Encryption Scheme -

    -

    -ECQVElliptic Curve Qu-Vanstone -

    -

    -NOTE:Implicit Certificate Scheme. -

    -

    -G55,9 GHz radio communications -

    -

    -ITSIntelligent Transport Systems -

    -

    -ITS-AIDITS Application ID -

    -

    -ITS-SIntelligent Transport Systems Station -

    -

    -LSBLeast Significant Bit -

    -

    -NIMANational Imagery and Mapping Agency -

    -

    -NIST SPNational Institute of Standards and Technology, Special Publication -

    -

    -PSIDProvider Service Identifier -

    -

    -NOTE:It is a synonym for ITS-AID. -

    -

    -SSPService Specific Permissions -

    -

    -TAITemps Atomique International (International Atomic Time) -

    -

    -TLSTransport Layer Security -

    -

    -UTCUniversal Time Coordinated -

    -

    -WGSWorld Geodetic System -

    -

    - -4Basic format elements - -

    -

    - -4.1Presentation Language - -

    -

    -The presentation language is derived from the Internet Engineering Task Force (IETF) RFC 2246 (TLS) [5] and from IEEE 1609.2-2012 [i.2] (draft D12) and is described in table 1. The encoding of multi-byte elements of the presentation language shall always use network byte order, i.e. big endian byte order, if applicable. -

    -

    -NOTE:The presentation language is not formally defined. Parsing tools based on this notation cannot be guaranteed to be consistent or complete. -

    -

    -Table : Presentation language - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    -Element -

    -
    -

    -Description -

    -
    -

    -Example(s) -

    -
    -

    -Variable names -

    -
    -

    -Variable names are given in lower case -

    -
    -

    -variable_name -

    -
    -

    -Basic data types -

    -
    -

    -Basic data types are given in lower case -

    -
    -

    -uint8, uint16, uint32, uint64 -

    -
    -

    -Composed data types -

    -
    -

    -Composed data types are given with at least the first letter in upper case -

    -
    -

    -MyDataType -

    -
    -

    -Comments -

    -
    -

    -Comments start with the "//" indicator -

    -
    -

    -// This is a comment -

    -
    -

    -Numbers -

    -
    -

    -Numbers are given as signed or unsigned big-endian octets -

    -
    -

    -uint8, uint16, uint32, uint64, sint32 -

    -
    -

    -Fixed-length vectors -

    -
    -

    -Fixed-length vectors have a data type and a fixed octet size given in square brackets -

    -
    -

    -uint8 Coordinates[2]; -

    -

    -// two uint8 values -

    -

    -uint32 Coordinates[8]; -

    -

    -// two uint32 values -

    -
    -

    -Variable-length vectors with fixed-length length encoding -

    -
    -

    -The number in angle brackets gives the maximum number of octets. Depending on the maximum size, the first 1 byte, 2 bytes, 4 bytes or 8 bytes encode the actual field length -

    -
    -

    -uint8 AsciiChar; -

    -

    -AsciiChar Name<2^8‑1>; -

    -

    -// "abc" encoded as -

    -

    -// 0x03, 0x61, 0x62, 0x63 -

    -

    -AsciiChar LongName<2^16‑1>; -

    -

    -// "abc" encoded as -

    -

    -// 0x00, 0x03, 0x61, 0x62, 0x63 -

    -
    -

    -Variable-length vectors with variable-length length encoding -

    -
    -

    -<var> indicates variable-length encoding. The length itself is encoded with a number of "1" bits according to the additional number of octets used to encode the length, followed by a "0" bit and the actual length value. The maximum length shall be 256 - 1, i.e. at most seven "1" bits followed by a "0" bit shall be used for the variable-length length encoding. The length of variable-length vectors with variable-length length encoding shall be encoded as positive integer using the minimum number of bits necessary - - -

    -
    -

    -uint8 AsciiChar; -

    -

    -AsciiChar Name<var>; -

    -

    -

    -// encoding examples: (the bits with // grey background represent the
    // length encoding of the vector's
    // length, X the first of the // vector's following payload bits)
    -

    -

    -// Vector length 5:
    // Bits: 00000101 XXXXXXXX XXXXXXXX - -
    -

    -

    -// Vector length 123:
    // Bits: 01111011 XXXXXXXX XXXXXXXX - -
    -

    -

    -// Vector length 388:
    // Bits: 10000001 10000100 XXXXXXXX - -
    -

    -
    -

    -Opaque fields -

    -
    -

    -Opaque fields are blocks of data whose content interpretation is not further specified -

    -
    -

    -opaque fieldname[n]; -

    -

    -opaque fieldname<n>; -

    -

    -opaque fieldname<var>; -

    -
    -

    -Enumerations -

    -
    -

    -Enumerations are list of labels with a unique value for each label, and optionally a maximum value (which then determines length of encoding) -

    -
    -

    -enum {de(0), fr(1), it(2)} Country; -

    -

    -enum {de(0), fr(1), it(2), (2^8‑1)} Country; -

    -

    -// both variants encoding in one -

    -

    -// octet -

    -

    -enum {de(0), fr(1), it(2), (2^16‑1)} Country; -

    -

    -// Encoding in two octets -

    -
    -

    -Constructed types -

    -
    -

    -Constructed types contain other types -

    -
    -

    -struct { -

    -

    - -Name name; -

    -

    - -Country country; -

    -

    -} Person; -

    -
    -

    -Case statements -

    -
    -

    -Case statements are used inside constructed types to change the contents of the constructed type depending on the value of the variable given in brackets -

    -
    -

    -struct { -

    -

    - -Name name; -

    -

    - -Country country; -

    -

    - -select(country) { -

    -

    - -case de: -

    -

    - - -uint8 age; -

    -

    - -case fr: -

    -

    - - -AsciiChar given_name<2^8‑1>; -

    -

    - -} -

    -

    -} Person; -

    -
    -

    -External data -

    -
    -

    -This is external data that has impact on a struct, e.g. in a select statement. It shall be described from where the external data is obtained -

    -
    -

    -struct { -

    -

    - -Name name; -

    -

    - -extern Country country; -

    -

    - -select(country) { -

    -

    - -case de: -

    -

    - - -uint8 age; -

    -

    - -case fr: -

    -

    - - -AsciiChar given_name<2^8‑1>; -

    -

    - -} -

    -

    -} Person; -

    -
    -

    -

    -

    - -4.2Specification of basic format elements - -

    -

    - -4.2.1 -IntX - - -

    -

    -int_x IntX; -

    -

    -

    -This data type encodes an integer of variable length. The length of this integer is encoded by a number of 1 bits followed by a 0 bit, where the number of 1 bits is equal to the number of additional octets used to encode the integer besides those used (partially) to encode the length. The encoding of the length shall use at most 7 bits set to 1. -

    -

    -EXAMPLE:00001010 encodes the integer 10, while 10001000 10001000 encodes the integer 2 184. The bits encoding the length of the element are coloured with a grey background. -

    -

    -NOTE:This definition is similar to the definition of PSID in IEEE 1609.3-2010 [i.4], clause 8.1.3, but allows bigger values of the encoded integer. -

    -

    - -4.2.2PublicKeyAlgorithm - -

    -

    -enum { -

    -

    - -ecdsa_nistp256_with_sha256(0), -

    -

    - -ecies_nistp256(1), -

    -

    - -reserved(240..255), -

    -

    - -(2^8-1) -

    -

    -} PublicKeyAlgorithm; -

    -

    -

    -This enumeration lists supported algorithms based on public key cryptography. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. -

    -

    -NOTE:This definition is similar to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.16, but ecdsa_nistp224_with_sha224 is not supported by the present document. As a consequence, the numbering of identical elements (e.g. ecies_nistp256) differs. - - - - -

    -

    - -4.2.3 -SymmetricAlgorithm - - -

    -

    -enum { -

    -

    - -aes_128_ccm (0), -

    -

    - -reserved (240..255), -

    -

    - -(2^8-1) -

    -

    -} SymmetricAlgorithm; -

    -

    -

    -This enumeration lists supported algorithms based on symmetric key cryptography. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. The algorithm aes_128_ccm denotes the symmetric key cryptography algorithm AES-CCM as specified in NIST SP 800-38C [4]. - - -

    -

    -NOTE:Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.23. -

    -

    - -4.2.4PublicKey - -

    -

    -struct { -

    -

    - -PublicKeyAlgorithmalgorithm; -

    -

    - -select(algorithm) { -

    -

    - -case ecdsa_nistp256_with_sha256: -

    -

    - - -EccPoint -public_key; -

    -

    - -case ecies_nistp256: -

    -

    - - -SymmetricAlgorithmsupported_symm_alg; -

    -

    - - -EccPoint -public_key; -

    -

    - -unknown: -

    -

    - - -opaque - -other_key<var>; -

    -

    - -} -

    -

    -} PublicKey; -

    -

    -

    -This structure defines a wrapper for public keys by specifying the used algorithm and - depending on the value of algorithm - the necessary data fields: - - -

    -
      -

    • -ecdsa_nistp256_with_sha256: the specific details regarding ECC contained in an EccPoint structure shall be given. -The EccPoint used in a PublicKey shall not have EccPointType x_coordinate_only. - - - - - - - - -
    • -

      -

    • -ecies_nistp256: the specific details regarding ECC contained in an EccPoint structure and the symmetric key algorithm contained in a SymmetricAlgorithm structure shall be given. -The EccPoint used in a PublicKey shall not have EccPointType x_coordinate_only. - - - - - - - - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing opaque data shall be given. -
    • -

      -
    -

    -NOTE:Except naming of included types, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.31. -

    -

    - -4.2.5 -EccPoint - - -

    -

    -struct { -

    -

    - -extern PublicKeyAlgorithmalgorithm; -

    -

    - -extern uint8 - - -field_size; -

    -

    - -EccPointType - - type; -

    -

    - -opaque - - - - -x[field_size]; -

    -

    - -select(type) { -

    -

    - -case x_coordinate_only: -

    -

    - -case compressed_lsb_y_0: -

    -

    - -case compressed_lsb_y_1: -

    -

    - - - - - - - - -; -

    -

    - -case uncompressed: -

    -

    - - -opaque - - - -y[field_size]; -

    -

    - -unknown: -

    -

    - - -opaque - - - -data<var>; -

    -

    - -} -

    -

    -} EccPoint; -

    -

    -

    -This structure defines a public key based on elliptic curve cryptography according to IEEE 1363-2000 [1], clause 5.5.6. An EccPoint encodes a coordinate on a two dimensional elliptic curve. The x coordinate of this point shall be encoded in x as an unsigned integer. Depending on the key type, the y coordinate shall be encoded case-specific: - - - - - - -

    -
      -

    • -x_coordinate_only: only the x coordinate is encoded, no additional data shall be given. - -
    • -

      -

    • -compressed_lsb_y_0: the point is compressed and y's least significant bit is zero, no additional data shall be given. - - - -
    • -

      -

    • -compressed_lsb_y_1: the point is compressed and y's least significant bit is one, no additional data shall be given. - - - -
    • -

      -

    • -uncompressed: the y coordinate is encoded in the field y as an unsigned integer. The y coordinate contained in a vector of length field_size containing opaque data shall be given. - - - - - - - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing opaque data shall be given. - - - -
    • -

      -
    -

    -The uint8 field_size defining the lengths of the vectors containing the raw keys shall be derived from the given algorithm and the mapping as defined in table 2. The necessary algorithm shall be given as an external link to the parameter -pk_encryption - specified in the structure -RecipientInfo -. - - - - -

    -

    - - - - - - - - - - - -
    -

    -Table : Derivation of field sizes
    depending on the used algorithm
    -
    -

    -
    -

    -PublicKeyAlgorithm value -

    -
    -

    -Length in octets -

    -
    -

    -ecdsa_nistp256_with_sha256 -

    -
    -

    -32 -

    -
    -

    -ecies_nistp256 -

    -
    -

    -32 -

    -
    -

    -

    -

    -NOTE:Except inclusion of all remaining elements of the enumeration EccPointType that previously matched to case uncompressed and inclusion of case unknown, this definition is identical to the EccPublicKey in IEEE 1609.2 Draft D12 [i.2], clause 6.2.18. - - - - -

    -

    - -4.2.6EccPointType - -

    -

    -enum { -

    -

    - -x_coordinate_only(0), -

    -

    - -compressed_lsb_y_0(2), -

    -

    - -compressed_lsb_y_1(3), -

    -

    - -uncompressed(4), -

    -

    - -(2^8-1) -

    -

    -} EccPointType; -

    -

    -

    -This enumeration lists supported ECC point types. -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.19. -

    -

    - -4.2.7 -EncryptionParameters - - -

    -

    -struct { -

    -

    - -SymmetricAlgorithm -symm_algorithm; -

    -

    - -select(symm_algorithm) { -

    -

    - -case aes_128_ccm: -

    -

    - - -opaque - -nonce[12]; -

    -

    - -unknown: -

    -

    - - -opaque - -params<var>; -

    -

    - -} -

    -

    -} EncryptionParameters; -

    -

    -

    -This structure holds basic parameters and additional data required for encryption and decryption of data using different symmetric encryption algorithms. In case of aes_128_ccm a 12 octet nonce shall be given. The parameter Tlen according to NIST SP 800-38C [4] shall be set to Tlen = 128 (bits) and no associated data shall be given. In other cases the data shall be given as a variable-length vector containing opaque data. It is out of scope of this definition how resulting ciphertexts are transported. Typically, a ciphertext should be put into a -Payload - data structure marked as encrypted using the -PayloadType -. - - - - - - - - - - - -

    -

    -NOTE:This structure is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -4.2.8 -Signature - - -

    -

    -struct { -

    -

    - -PublicKeyAlgorithmalgorithm; -

    -

    - -select(algorithm) { -

    -

    - -case ecdsa_nistp256_with_sha256: -

    -

    - - -EcdsaSignatureecdsa_signature; -

    -

    - -unknown: -

    -

    - - -opaque - -signature<var>; -

    -

    - -} -

    -

    -} Signature; -

    -

    -

    -This structure defines a container that encapsulates signatures based on public key cryptography. Depending on the value of algorithm, different data structures define the algorithm-specific details: - - -

    -
      -

    • -ecdsa_nistp256_with_sha256: the signature contained in an -EcdsaSignature - structure shall be given. - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing the signature as opaque data shall be given. - - - -
    • -

      -
    -

    -The data in this structure can be used to verify a data structure's integrity. In conjunction with a matching -SignerInfo - structure, the data structure's authenticity can also be verified. -

    -

    -It is necessary to note the following points: -

    -
      -

    • -Clause 5.6 defines which parts of a -SecuredMessage - data structure are covered by a signature. -
    • -

      -

    • -The length of the security_field<var> variable length vector in the -SecuredMessage - containing the Signature field shall be calculated before creating the signature using the length of the signature. - - - - -
    • -

      -

    • -Before calculating the actual signature, the length field of the surrounding variable length vector -TrailerField - - shall be calculated using the value of field_size, since this length field is part of the signed content. - - - - -
    • -

      -
    -

    -NOTE:Except naming and full inclusion (not marked as extern) of the enumeration PublicKeyAlgorithm, this definition is identical to the one in IEEE.1609.2 Draft D12 [i.2], clause 6.2.15. - - - - -

    -

    - -4.2.9 -EcdsaSignature - - -

    -

    -struct { -

    -

    - -extern PublicKeyAlgorithmalgorithm; -

    -

    - -extern uint8 - - -field_size; -

    -

    - -EccPoint - - - R; -

    -

    - -opaque - - - - -s[field_size]; -

    -

    -} EcdsaSignature; -

    -

    -

    -This structure defines the details needed to describe an ECDSA based signature. This field's length field_size is derived from the applied ECDSA algorithm using the mapping as specified in table 2. The extern link that specifies the algorithm points to the algorithm defined in the surrounding -Signature - structure. R contains the x coordinate of the elliptic curve point resulting from multiplying the generator element by the ephemeral private key. The EccPointType of R shall be set to either compressed_lsb_y_0, compressed_lsb_y_1 or x_coordinate_only. - - - - - - - - - - - - -

    -

    -NOTE 1:Except naming of included type PublicKeyAlgorithm, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.17. - - -

    -

    -NOTE 2:It is possible to add extra information by transferring the complete point R in a compressed form instead of only the x coordinate. This extra information may then be used for a faster signature verification algorithm as outlined in "Accelerated verification of ECDSA signatures" [i.6]. -

    -

    - -4.2.10 -SignerInfo - - -

    -

    -struct { -

    -

    - -SignerInfoType type; -

    -

    - -select(type){ -

    -

    - -case self: -

    -

    - - - - - - - -; -

    -

    - -case certificate_digest_with_sha256: -

    -

    - - -HashedId8 - -digest; -

    -

    - -case certificate: -

    -

    - - -Certificate - -certificate; -

    -

    - -case certificate_chain: -

    -

    - - -Certificate - -certificates<var>; -

    -

    - -case certificate_digest_with_other_algorithm: -

    -

    - - -PublicKeyAlgorithmalgorithm; -

    -

    - - -HashedId8 - -digest; -

    -

    - -unknown: -

    -

    - - -opaque - - -info<var>; -

    -

    - -} -

    -

    -} SignerInfo; -

    -

    -

    -This structure defines how to give information about the signer of a message. The included cryptographic identity can be used in conjunction with the structure -Signature - to verify a message's authenticity. Depending on the value of type, the -SignerInfo -'s data fields shall contain the following entries: - - -

    -
      -

    • -self: the data is self-signed. Therefore, no additional data shall be given. - -
    • -

      -

    • -certificate_digest_with_sha256: an 8 octet digest of the relevant certificate contained in a -HashedId8 - structure shall be given. - -
    • -

      -

    • -certificate: the relevant certificate itself contained in a -Certificate - structure shall be given. - -
    • -

      -

    • -certificate_chain: a complete certificate chain contained in a variable-length vector of type -Certificate - shall be given. The last element of the chain shall contain the certificate used to sign the message, the next to last element shall contain the certificate of the CA that signed the last certificate and so on. The first element of the chain needs not be a root certificate. - -
    • -

      -

    • -certificate_digest_with_other_algorithm: an 8 octet digest contained in a -HashedId8 - structure and the corresponding public key algorithm contained in a PublicKeyAlgorithm structure shall be given. - - - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing information as opaque data shall be given. - - - -
    • -

      -
    -

    -NOTE:Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.4. -

    -

    - -4.2.11 -SignerInfoType - - -

    -

    -enum { -

    -

    - -self(0), -

    -

    - -certificate_digest_with_sha256(1), -

    -

    - -certificate(2), -

    -

    - -certificate_chain(3), -

    -

    - -certificate_digest_with_other_algorithm(4), -

    -

    - -reserved(240..255), -

    -

    - -(2^8-1) -

    -

    -} SignerInfoType; -

    -

    -

    -This enumeration lists methods to describe a message's signer. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. -

    -

    -NOTE:This definition is similar to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.5, but naming and certificate_digest_with_ecdsap224 is not supported by the present document. As a consequence, the numbering of identical elements (e.g. certificate_chain) differs. - - - - -

    -

    - -4.2.12 -HashedId8 - - -

    -

    -opaqueHashedId8[8]; -

    -

    -

    -This value is used to identify data such as a certificate. It shall be calculated by first computing the SHA‑256 hash of the input data, and then taking the least significant eight bytes from the hash output. -

    -

    -A canonical encoding for the EccPoint R contained in the signature field of a Certificate shall be used when calculating the SHA-256 hash from a Certificate. This canonical encoding shall temporarily replace the value of the EccPointType of the point R of the Certificate with x_coordinate_only for the hash computation. - - - - - - - - - - - - - - - - -

    -

    -NOTE 1:Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.6. -

    -

    -NOTE 2:The canonical encoding is used to remove the possibility of manipulating the certificate in a way that results in different HashedId8 identifiers for the same certificate by changing the EccPointType. Implementations that do not use the fast verification according to "Accelerated verification of ECDSA signatures" [i.6] cannot detect this manipulation. - - - - -

    -

    - -4.2.13 -HashedId3 - - -

    -

    -opaqueHashedId3[3]; -

    -

    -

    -This value is used to give an indication on an identifier, where real identification is not required. This can be used to request a certificate from other surrounding stations. It shall be calculated by first computing the SHA‑256 hash of the input data, and then taking the least significant three bytes from the hash output. If a corresponding -HashedId8 - value is available, it can be calculated by truncating the longer HashedId8 to the least significant three bytes. - - -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -4.2.14 -Time32 - - -

    -

    -uint32Time32; -

    -

    -

    -Time32 is an unsigned 32-bit integer, encoded in big-endian format, giving the number of International Atomic Time (TAI) seconds since 00:00:00 UTC, 01 January 2004. - -

    -

    -NOTE 1:The period of 2 -32 - seconds lasts about 136 years that is until 2140. -

    -

    -NOTE 2:This definition is identical to the one in IEEE 1609.2 Draft D17 [i.3], clause 6.3.31. -

    -

    - -4.2.15 -Time64 - - -

    -

    -uint64Time64; -

    -

    -

    -Time64 is a 64-bit unsigned integer, encoded in big-endian format, giving the number of International Atomic Time (TAI) microseconds since 00:00:00 UTC, 01 January 2004. - -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D17 [i.3], clause 6.2.12. -

    -

    - -4.2.16 -Time64WithStandardDeviation - - -

    -

    -struct { -

    -

    - -Time64time; -

    -

    - -uint8log_std_dev; -

    -

    -} Time64WithStandardDeviation; - -

    -

    -

    -This structure defines how to encode time along with the standard deviation of time values. log_std_dev values 0 to 254 represent the rounded up value of the log to the base 1,134666 of the implementation's estimate of the standard deviation in units of nanoseconds. Values greater than 1,134666 - - - - -254 - nanoseconds are represented by the value 254, i.e. a day or longer. If the standard deviation is unknown, value 255 shall be used. -

    -

    -NOTE 1:This definition is identical to the one in IEEE 1609.2 Draft D17 [i.3], clause 6.2.11. -

    -

    -NOTE 2:This definition is currently unused in the security profiles in clause 7. -

    -

    - -4.2.17 -Duration - - -

    -

    -uint16Duration; -

    -

    -

    -This uint16 encodes the duration of a time span (e.g. a certificate's validity). The first three bits shall encode the units as given in table 3. The remaining 13 bits shall be treated as an integer encoded. - - -

    -

    -NOTE 1:Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.5. -

    -

    -NOTE 2:This definition is currently unused in the security profiles in clause 7. -

    -

    - - - - - - - - - - - - - - - - - - - -
    -

    -Table : Interpretation of duration unit bits - -

    -
    -

    -Bits -

    -
    -

    -Interpretation -

    -
    -

    -000 -

    -
    -

    -seconds -

    -
    -

    -001 -

    -
    -

    -minutes (60 seconds) -

    -
    -

    -010 -

    -
    -

    -hours (3 600 seconds) -

    -
    -

    -011 -

    -
    -

    -60 hour blocks (216 000 seconds) -

    -
    -

    -100 -

    -
    -

    -years (31 556 925 seconds) -

    -
    -

    -101, 110, 111 -

    -
    -

    -undefined -

    -
    -

    -

    -

    - -4.2.18 -TwoDLocation - - -

    -

    -struct { -

    -

    - -sint32latitude; -

    -

    - -sint32longitude; -

    -

    -} TwoDLocation; -

    -

    -

    -This structure defines how to specify a two dimensional location. It is used to define validity regions of a certificate. latitude and longitude encode a coordinate in tenths of micro degrees relative to the World Geodetic System (WGS)-84 datum as defined in NIMA Technical Report TR8350.2 [2]. - - - - -

    -

    -The permitted values of latitude range from ‑900 000 000 to +900 000 000. The value 900 000 001 shall indicate the latitude as not being available. - - -

    -

    -The permitted values of longitude range from ‑1 800 000 000 to +1 800 000 000. The value 1 800 000 001 shall indicate the longitude as not being available. - - -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.18. -

    -

    - -4.2.19 -ThreeDLocation - - -

    -

    -struct { -

    -

    - -sint32latitude; -

    -

    - -sint32longitude; -

    -

    - -opaqueelevation[2]; -

    -

    -} ThreeDLocation; -

    -

    -

    -This structure defines how to specify a three dimensional location. latitude and longitude encode coordinate in tenths of micro degrees relative to the World Geodetic System (WGS)-84 datum as defined in NIMA Technical
    Report TR8350.2 [2].
    -
    -
    -
    -
    -

    -

    -The permitted values of latitude range from ‑900 000 000 to +900 000 000. The value 900 000 001 shall indicate the latitude as not being available. - - -

    -

    -The permitted values of longitude range from ‑1 800 000 000 to +1 800 000 000. The value 1 800 000 001 shall indicate the longitude as not being available. - - -

    -

    -elevation shall contain the elevation relative to the WGS-84 ellipsoid in decimetres. The value is interpreted as an asymmetric signed integer with an encoding as follows: - -

    -
      -

    • -0x0000 to 0xEFFF: positive numbers with a range from 0 metres to +6 143,9 metres. All numbers above +6 143,9 are also represented by 0xEFFF. -
    • -

      -

    • -0xF001 to 0xFFFF: negative numbers with a range from ‑409,5 metres to ‑0,1 metres. All numbers below ‑409,5 are also represented by 0xF001. -
    • -

      -

    • -0xF000: an unknown elevation. -
    • -

      -
    -

    -EXAMPLES: 0x0000 = 0 metre -

    -

    -0x03E8 = 100 metres -

    -

    -0xF7D1 = ‑209,5 metres (0xF001 + 0x07D0 = ‑409,5 metres + 200 metres). -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.12. -

    -

    - -4.2.20 -GeographicRegion - - -

    -

    -struct { -

    -

    - -RegionType - - -region_type; -

    -

    - -select(region_type){ -

    -

    - -case circle: -

    -

    - - -CircularRegion -circular_region; -

    -

    - -case rectangle: -

    -

    - - -RectangularRegionrectangular_region<var>; -

    -

    - -case polygon: -

    -

    - - -PolygonalRegion -polygonal_region; -

    -

    - -case id: -

    -

    - - -IdentifiedRegionid_region; -

    -

    - -case none: - - - - -

    -

    - - - - - - - -; -

    -

    - -unknown: -

    -

    - - -opaque - - -other_region<var>; -

    -

    - -} -

    -

    -} GeographicRegion; -

    -

    -

    -This structure defines how to encode geographic regions. These regions can be used to limit the validity of certificates. -

    -

    -In case of rectangle, the region shall consist of a variable-length vector of rectangles that may be overlapping or disjoint. The variable-length vector shall not contain more than 6 rectangles. The region covered by the rectangles shall be continuous and shall not contain holes. - - -

    -

    -NOTE:Except inclusion of case id, this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.13. - - -

    -

    - -4.2.21 -RegionType - - -

    -

    -enum { -

    -

    - -none(0), -

    -

    - -circle(1), -

    -

    - -rectangle(2), -

    -

    - -polygon(3), -

    -

    - -id(4), -

    -

    - -reserved(240..255), -

    -

    - -(2^8-1) -

    -

    -} RegionType; -

    -

    -

    -This enumeration lists possible region types. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. -

    -

    -NOTE:This definition is similar to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.14, but the identifier numbering differs, the region ID id was added and from_issuer removed. - - - - -

    -

    - -4.2.22 -CircularRegion - - -

    -

    -struct { -

    -

    - -TwoDLocation center; -

    -

    - -uint16 radius; -

    -

    -} CircularRegion; -

    -

    -

    -This structure defines a circular region with radius given in metres and center at center. The region shall include all points on the reference ellipsoid's surface with a distance over surface of Earth equal to or less than the radius to the center point. For a location of type ThreeDLocation, i.e. the location contains an elevation component, the horizontal projection onto the reference ellipsoid is used to determine if the location lies within the circular region. - - - - - - -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.15. -

    -

    - -4.2.23 -RectangularRegion - - -

    -

    -struct { -

    -

    - -TwoDLocationnorthwest; -

    -

    - -TwoDLocationsoutheast; -

    -

    -} RectangularRegion; -

    -

    -

    -This structure defines a rectangular region by connecting the four points in the order (northwest.latitude, northwest.longitude), (northwest.longitude, southeast.longitude), (southeast.longitude, southeast.longitude), and (southeast.longitude, northwest.longitude). If two consecutive points P and Q define a line of constant latitude or longitude from P to Q, the left side of the line is defined as being outside of the polygon and the line itself and the right side of the line to be inside the rectangular region. A rectangular region is only valid if the location northwest is north of the location southeast. For a location of type ThreeDLocation, i.e. the location contains an elevation component, the horizontal projection onto the reference ellipsoid is used to determine if the location lies within the rectangular region. - - - - -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.16. -

    -

    - -4.2.24 -PolygonalRegion - - -

    -

    -TwoDLocationPolygonalRegion<var>; -

    -

    -

    -This variable-length vector describes a region by enumerating points on the region's boundary. If two consecutively specified points P and Q define a line of constant bearing from P to Q, the left side of the line is defined as being outside of the polygon and the line itself and the right side of the line to be inside the polygon. The points shall be linked to each other, with the last point linked to the first. No intersections shall occur and at least 3 and no more than 12 points shall be given. The specified region shall be continuous and shall not contain holes. For a location of type ThreeDLocation, i.e. the location contains an elevation component, the horizontal projection onto the reference ellipsoid is used to determine if the location lies within the polygonal region. - - -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.17. -

    -

    - -4.2.25 -IdentifiedRegion - - -

    -

    -struct { -

    -

    - -RegionDictionaryregion_dictionary; -

    -

    - -uint16 - - -region_identifier; -

    -

    - -IntX - - -local_region; -

    -

    -} IdentifiedRegion; -

    -

    -

    -This structure defines a predefined geographic region determined by the region dictionary region_dictionary and the region identifier region_identifier. local_region may optionally specify a more detailed region within the region. If the whole region is meant, local_region shall be set to 0. The details of local_region are unspecified. - - - - - - - - - - - -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -4.2.26RegionDictionary - -

    -

    -enum { -

    -

    - -iso_3166_1(0), -

    -

    - -un_stats(1), -

    -

    - -(2^8-1) -

    -

    -} RegionDictionary; -

    -

    -

    -This enumeration lists dictionaries containing two-octet records of globally defined regions. The dictionary that corresponds to iso_3166_1 shall contain values that correspond to numeric country codes as defined in ISO 3166-1 [3]. The dictionary that corresponds to un_stats shall contain values as defined by the United Nations Statistics Division, which is a superset of ISO 3166-1 [3] including compositions of regions. - - - - -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -5Specification of security header - -

    -

    - -5.1 -SecuredMessage - - -

    -

    -struct { -

    -

    - -uint8 - -protocol_version; -

    -

    - -HeaderField -header_fields<var>; -

    -

    - -Payload - -payload_field; -

    -

    - -TrailerFieldtrailer_fields<var>; -

    -

    -} SecuredMessage; -

    -

    -

    -This structure defines how to encode a generic secured message: -

    -
      -

    • -protocol_version specifies the applied protocol version. For compliance with the present document, protocol version 2 shall be used. The protocol_version shall be increased, if the standard is changed in an incompatible way, i.e. the syntax is incompatible such that older implementations cannot parse the format or the semantic has been changed significantly. - - - - - -
    • -

      -

    • -header_fields is a variable-length vector that contains multiple information fields of interest to the security layer. If not defined otherwise in a message profile, the sequence of header fields shall be encoded in ascending numerical order of their type value. - -
    • -

      -

    • -payload_field contains the message's payload. Multiple payloads in one message are not allowed. - -
    • -

      -

    • -trailer_fields is a variable-length vector containing information after the payload, for example, necessary to verify the message's authenticity and integrity. If not defined otherwise in a message profile, the sequence of trailer fields shall be encoded in ascending numerical order of the type value. - -
    • -

      -
    -

    -Further information about how to fill these variable-length vectors is given via security profiles in clause 7. -

    -

    -NOTE 1:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    -NOTE 2:An example for a reason to increase the protocol_version is a change to the epoch in clause 4.2.15 and clause 4.2.16, which leads to incompatible messages. A counterexample would be an additional header field using the unknown case in clause 5.4. This header field can be ignored by old implementations, if the syntax is kept identical and the versions are compatible. Hence, the protocol_version should not be increased. - - - - - - -

    -

    - -5.2 -Payload - - -

    -

    -struct { -

    -

    - -PayloadType type; -

    -

    - -select (type) { -

    -

    - -case signed_external: - -

    -

    - - -; -

    -

    - -case unsecured: -

    -

    - -case signed: -

    -

    - -case encrypted: -

    -

    - -case signed_and_encrypted: - -

    -

    - -unknown: -

    -

    - - -opaquedata<var>; -

    -

    - -} -

    -

    -} Payload; -

    -

    -

    -This structure defines how to encode payload. In case of externally signed payload, no payload data shall be given as all data is external. In this case, the external data shall be included when calculating the signature, at the position where a non-external payload would be. In all other cases, the data shall be given as a variable-length vector containing opaque data. - - -

    -

    -NOTE 1:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    -NOTE 2:Payloads of type signed_external are needed to add a signature in a non-intrusive way to an existing protocol stack, e.g. for extending an IPv6 stack. - - -

    -

    - -5.3 -PayloadType - - -

    -

    -enum { -

    -

    - -unsecured(0), -

    -

    - -signed(1), -

    -

    - -encrypted(2), -

    -

    - -signed_external(3), -

    -

    - -signed_and_encrypted(4), -

    -

    - -(2^8-1) -

    -

    -} PayloadType; -

    -

    -

    -This enumeration lists the supported types of payloads. -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -5.4 -HeaderField - - -

    -

    -struct { -

    -

    - -HeaderFieldType type; -

    -

    - -select(type) { -

    -

    - -case generation_time: -

    -

    - - -Time64 - - - - - -generation_time; -

    -

    - -case generation_time_standard_deviation: -

    -

    - - -Time64WithStandardDeviation -generation_time_with_standard_deviation; -

    -

    - -case expiration: -

    -

    - - -Time32 - - - - - -expiry_time; -

    -

    - -case generation_location: -

    -

    - - -ThreeDLocation - - - -generation_location; -

    -

    - -case request_unrecognized_certificate: -

    -

    - - -HashedId3 - - - - -digests<var>; -

    -

    - -case its_aid: -

    -

    - - -IntX - - - - - -its_aid; -

    -

    - -case signer_info: -

    -

    - - -SignerInfo - - - - -signer; -

    -

    - -case encryption_parameters: -

    -

    - - -EncryptionParameters - -enc_params; -

    -

    - -case recipient_info: -

    -

    - - -RecipientInfo - - - -recipients<var>; -

    -

    - -unknown: -

    -

    - - -opaque - - - - - -other_header<var>; -

    -

    - -} -

    -

    -} HeaderField; -

    -

    -

    -This structure defines how to encode information of interest to the security layer. Its content depends on the value of type: - - -

    -
      -

    • -generation_time: a timestamp of type -Time64 -, which shall describe the point in time, when the contents of the security headers are fixed prior to the signing process. - -
    • -

      -

    • -generation_time_standard_deviation: a timestamp of type Time64WithStandardDeviation, which shall describe the point in time, when the contents of the security headers are fixed prior to the signing process. In addition to the timestamp, the confidence described by the standard deviation of the time value contained shall be given. - -
    • -

      -

    • -expiration: the point in time the validity of this message expires contained in a -Time32 - structure shall be given. - -
    • -

      -

    • -generation_location: the location where this message was created contained in a -ThreeDLocation - structure shall be given. - -
    • -

      -

    • -request_unrecognized_certificate: a request for certificates shall be given in case that a certificate from a peer has not been transmitted before. This request consists of a variable-length vector of 3 octet long certificate digests contained in a -HashedId3 - structure to identify the requested certificates. The request shall be used to request pseudonym certificates and authorization authority certificates. - -
    • -

      -

    • -its_aid: The ITS-AID of the application payload shall be given. The valid ITS-AIDs are specified according to ETSI TS 102 965 [7]. - -
    • -

      -
    -

    -Furthermore, the HeaderField structure defines cryptographic information that is required for single-pass processing of the payload: - - -

    -
      -

    • -signer_info: information about the message's signer contained in a -SignerInfo - structure shall be given. If present, the SignerInfo structure shall come first in the array of HeaderFields, unless this is explicitly overridden by the security profile. - - - -
    • -

      -

    • -encryption_parameters: additional parameters necessary for encryption purposes contained in an -EncryptionParameters - structure shall be given. - -
    • -

      -

    • -recipient_info: information specific for certain recipients (e.g. data encrypted with a recipients public key) contained in a variable-length vector of type -RecipientInfo - shall be given. Each recipient_info vector shall be preceeded by one encryption_parameters header field to determine the value of symm_key_len according to table 4. - - - - - - - -
    • -

      -
    -

    -For extensibility, the structure contains a variable field: -

    -
      -

    • -unknown: in all other cases, a variable-length vector containing opaque data shall be given. - - - -
    • -

      -
    -

    -NOTE 1:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    -NOTE 2:The generation_time_standard_deviation and the expiration header fields are currently unused in the security profiles in clause 7. - - - - -

    -

    - -5.5 -HeaderFieldType - - -

    -

    -enum { -

    -

    - -generation_time(0), -

    -

    - -generation_time_standard_deviation(1), -

    -

    - -expiration(2), -

    -

    - -generation_location(3), -

    -

    - -request_unrecognized_certificate(4), -

    -

    - -its_aid(5), -

    -

    - -signer_info(128), -

    -

    - -encryption_parameters(129), -

    -

    - -recipient_info(130), -

    -

    - -(2^8-1) -

    -

    -} HeaderFieldType; -

    -

    -

    -This enumeration lists the supported types of header fields. -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -5.6 - -TrailerField - -

    -

    -struct { -

    -

    - -TrailerFieldType - -type; -

    -

    - -select(type) { -

    -

    - -case signature: -

    -

    - - -Signature - - -signature; -

    -

    - -unkown: -

    -

    - - -opaque - - - -security_field<var>; -

    -

    - -} -

    -

    -} TrailerField; -

    -

    -

    -This structure defines how to encode information used by the security layer after processing the payload. A trailer field may contain data of the following cases: -

    -
      -

    • -signature: the signature of this message contained in a -Signature - structure shall be given. The signature is calculated over the hash of the encoding of all previous fields (version, header_fields field and the payload_field field), including the encoding of their length. Also the length of the trailer_fields field and the type of the signature trailer field shall be included in the hash.
      -
      If the payload_field field has type equal to signed_external, the data shall be included in the hash calculation immediately after the payload_field field, encoded as an opaque<var>, i.e. as if it was included.
      -
      If further trailer fields are included in a SecuredMessage, the signature structure shall include all fields in the sequence before, and exclude all fields in the sequence after the signature structure, if not otherwise defined via security profiles. - - - - - -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
    • -

      -
    -
      -

    • -If the payload_field field type does not contain the keyword "signed" (unsecured or encrypted), then the trailer_fields field of the SecuredMessage shall not include a -Signature -. - - - - - - - - - - - - - - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing opaque data shall be given. - - - -
    • -

      -
    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -5.7 -TrailerFieldType - - -

    -

    -enum { -

    -

    - -signature(1), -

    -

    - -(2^8-1) -

    -

    -} TrailerFieldType; -

    -

    -

    -This enumeration lists the supported types of trailer fields. -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -5.8 -RecipientInfo - - -

    -

    -struct { -

    -

    - -HashedId8 - - - - -cert_id; -

    -

    - PublicKeyAlgorithm - - - -pk_encryption; -

    -

    - select (pk_encryption) { -

    -

    - case ecies_nistp256: -

    -

    - EciesEncryptedKey - -enc_key; -

    -

    - -unknown: -

    -

    - - -opaque - - - - -enc_key<var>; -

    -

    - -} -

    -

    -} RecipientInfo; -

    -

    -

    -This structure contains information for the decryption of a message for a recipient. This information is used to distribute recipient specific data. cert_id determines the 8 octet identifier for the recipient's certificate. Depending on the value of pk_encryption, the following additional data shall be given: - - - - -

    -
      -

    • -ecies_nistp256: an encrypted key contained in an -EciesEncryptedKey - structure shall be given. - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing opaque data encoding an encrypted key shall be given. - - - -
    • -

      -
    -

    -NOTE:Except naming of included type PublicKeyAlgorithm and full inclusion of pk_encryption (not extern), this definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.24. - - - - - - -

    -

    - -5.9 -EciesEncryptedKey - - -

    -

    - struct { -

    -

    - -extern SymmetricAlgorithm -symm_alg; -

    -

    - -extern uint32 - - -symm_key_len; -

    -

    - -EccPoint - - - v; -

    -

    - -opaque - - - - -c[symm_key_len]; -

    -

    - -opaque - - - - -t[16]; -

    -

    -} EciesEncryptedKey; -

    -

    -

    -This structure defines how to transmit an ECIES-encrypted symmetric key as defined in IEEE
    Std 1363a‑2004 [i.1]. The -EccPoint - v contains the sender's ECC ephemeral key used for the Elliptic Curve Encryption Scheme. This ephemeral key v shall only be used once and for every encryption a new key shall be generated. The vector c contains the encrypted (AES) key. The vector t contains the authentication tag. The symm_key_len defines the length of vector c containing the encrypted (AES) key and shall be derived from the given algorithm symm_alg and the mapping as defined in table 4. The necessary algorithm shall be given as an external link to the parameter -symm_algorithm - specified in the structure -EncryptionParameters -. To ensure the external link to the -SymmetricAlgorithm - -symm_alg - can be resolved, this -EciesEncryptedKey - structure shall be preceded by an according -EncryptionParameters - structure. - - - - - - - - - - - - - - - -
    -

    -

    -Further parameters used for the encryption and decryption using ECIES shall be: -

    -
      -

    • -The parameters P -1 - and P -2 - shall be empty strings. -
    • -

      -

    • -ECSVDP-DHC shall be used as secret value derivation primitive. -
    • -

      -

    • -The stream cipher used shall be based on KDF2 using SHA-256. -
    • -

      -

    • -As MAC, MAC1 shall be used with SHA-256 and tBits = 128. -
    • -

      -

    • -The length of the key (input) to MAC1 shall be 256 bits. -
    • -

      -

    • -The encryption shall use non-DHAES mode. -
    • -

      -

    • -Octet strings shall be interpreted using LSB compressed representation or uncompressed representation for the ECC points. -
    • -

      -
    -

    - - - - - - - - - -
    -

    -Table : Derivation of symmetric key size depending on the used algorithm - -

    -
    -

    -SymmetricAlgorithm value -

    -
    -

    -Length in octets -

    -
    -

    -aes_128_ccm -

    -
    -

    -16 -

    -
    -

    -

    -

    -NOTE:This definition is identical to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.2.25. -

    -

    - -6Specification of certificate format - -

    -

    - -6.1 -Certificate - - -

    -

    -struct { -

    -

    - -uint8 - - - -version; -

    -

    - -SignerInfo - - -signer_info; -

    -

    - -SubjectInfo - - -subject_info; -

    -

    - -SubjectAttribute -subject_attributes<var>; -

    -

    - -ValidityRestriction -validity_restrictions<var>; -

    -

    - -Signature - - -signature; -

    -

    -} Certificate; -

    -

    -

    -This structure defines how to encode a certificate. -

    -
      -

    • -version specifies this certificate's version and shall be set to 2 for conformance with the present document. The version shall be increased, if the standard is changed in an incompatible way, i.e. the syntax is incompatible such that older implementations cannot parse the format or the semantic has been changed significantly. - - - - - -
    • -

      -

    • -Information on this certificate's signer is given signer_info field. The signer_info shall be of type self, certificate_digest_with_sha256, certificate_digest_with_other_algorithm, or reserved. - - - - - - - - - - -
    • -

      -

    • -subject_info specifies information on this certificate's subject. - -
    • -

      -

    • -Further information on the subject is given in the variable-length vector subject_attributes. The elements in the subject_attributes array shall be encoded in ascending numerical order of their type value, unless this is specifically overridden by a security profile. subject_attributes shall not contain two entries with the same type value. - - - - - - - - - - -
    • -

      -

    • -The variable-length vector validity_restrictions specifies restrictions regarding this certificate's validity. The elements in the validity_restrictions array shall be encoded in ascending numerical order of their type value, unless this is specifically overridden by a security profile. validity_restrictions shall not contain two entries with the same type value. Each certificate shall include at least one validity_restriction of type time_end, time_start_and_end, or time_start_and_duration. - - - - - - - - - - - - - - - - - - -
    • -

      -

    • -signature holds the signature of this certificate signed by the responsible CA. The signature shall be calculated over the encoding of all preceding fields, including all encoded lengths. If the subject_attributes field contains a field of type reconstruction_value, the signature field shall be omitted. The reconstruction_value may be used for implicit certificates using ECQV [i.5]. - - - - - - - - - -
    • -

      -
    -

    -NOTE 1:A certificate is considered valid if the current time is within the validity period specified in the certificate, the current region is within the validity region specified in the certificate, the type of the certificate is valid for the current type of communication, the signature, which covers all fields except the signature itself, is valid, and the certificate of the signer is valid as signer for the given certificate's type. If the certificate is self-signed, it is valid if it is stored as a trusted certificate. -

    -

    -NOTE 2:This definition differs substantially from the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.1. -

    -

    - -6.2 -SubjectInfo - - -

    -

    -struct { -

    -

    - -SubjectType -subject_type; -

    -

    - -opaque - -subject_name<2^8-1>; -

    -

    -} SubjectInfo; -

    -

    -

    -This structure defines how to encode information about a certificate's subject. It contains the type of information in subject_type and the information itself in the variable-length vector subject_name. The subject_name variable-length vector shall have a maximum length of 32 bytes. - - - - - - -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -6.3 -SubjectType - - -

    -

    -enum { -

    -

    - -enrollment_credential(0), -

    -

    - -authorization_ticket(1), -

    -

    - -authorization_authority(2), -

    -

    - -enrollment_authority(3), -

    -

    - -root_ca(4), -

    -

    - -crl_signer(5), -

    -

    - -(2^8-1) -

    -

    -} SubjectType; -

    -

    -

    -This enumeration lists the possible types of subjects: -

    -
      -

    • -Regular ITS stations shall use certificates containing a -SubjectInfo - of -SubjectType - enrollment_credential when communicating with Enrolment CAs. Such certificates shall not be accepted as signers of other certificates or in regular communication by other ITS-Stations. - - -
    • -

      -

    • -Regular ITS stations shall use certificates containing a -SubjectInfo - of -SubjectType - authorization_ticket when communicating with other ITS-Stations. Such certificates shall not be accepted as signers of other certificates. - - -
    • -

      -

    • -Authorization CAs, which sign authorization tickets (pseudonyms) for ITS stations, shall use the -SubjectType - authorization_authority. - - -
    • -

      -

    • -Enrolment CAs, which sign enrolment credentials (long term certificates) for ITS stations, shall use the -SubjectType - enrollment_authority. - - -
    • -

      -

    • -Root CAs, which sign certificates of other CAs, shall use the -SubjectType - root_ca. - - -
    • -

      -

    • -Certificate revocation list signers shall use -SubjectType - crl_signer. - - -
    • -

      -
    -

    -NOTE:This definition substantially differs from the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.3. -

    -

    - -6.4 -SubjectAttribute - - -

    -

    -struct { -

    -

    - -SubjectAttributeTypetype; -

    -

    - -select(type) { -

    -

    - -case verification_key: -

    -

    - -case encryption_key: - - -

    -

    - - -PublicKey - -key; -

    -

    - -case reconstruction_value: -

    -

    - - - -EccPoint - - -rv; -

    -

    - -case assurance_level: -

    -

    - - -SubjectAssuranceassurance_level; -

    -

    - -case its_aid_list: -

    -

    - - -IntX - - -its_aid_list<var>; -

    -

    - -case its_aid_ssp_list: -

    -

    - - -ItsAidSsp - -its_aid_ssp_list<var>; -

    -

    - -unknown: -

    -

    - - -opaque - - -other_attribute<var>; -

    -

    - -} -

    -

    -} SubjectAttribute; -

    -

    -

    -This structure defines how to encode a subject attribute. These attributes serve the purpose of specifying the technical details of a certificate's subject. Depending on the value of type, the following additional data shall be given: - - -

    -
      -

    • -verification_key and encryption_key: a public key contained in a PublicKey structure shall be given. - - - - - -
    • -

      -

    • -reconstruction_value: an ECC point contained in a -EccPoint - structure shall be given, which may be used for implicit certificates using ECQV [i.5]. - -
    • -

      -

    • -assurance_level: the assurance level for the subject contained in a -SubjectAssurance - structure shall be given. - -
    • -

      -

    • -its_aid_list: ITS-AIDs contained in a variable-length vector of type -IntX - shall be given. - -
    • -

      -

    • -its_aid_ssp_list: ITS-AIDs with associated SSPs contained in a variable-length vector of type -ItsAidSsp - shall be given. - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing opaque data shall be given. - - - -
    • -

      -
    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -6.5 -SubjectAttributeType - - -

    -

    -enum { -

    -

    - -verification_key(0), -

    -

    - -encryption_key(1), -

    -

    - -assurance_level(2), -

    -

    - -reconstruction_value(3), -

    -

    - -its_aid_list(32), -

    -

    - -its_aid_ssp_list(33), -

    -

    - -(2^8-1) -

    -

    -} SubjectAttributeType; -

    -

    -

    -This enumeration lists the possible types of subject attributes. -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -6.6 -SubjectAssurance - - -

    -

    -opaqueSubjectAssurance; -

    -

    -

    -This field contains the ITS‑S's assurance, which denotes the ITS‑S's security of both the platform and storage of secret keys as well as the confidence in this assessment. -

    -

    -This field shall be encoded as defined in table 5, where "A" denotes bit fields specifying an assurance level, "R" reserved bit fields and "C" bit fields specifying the confidence. -

    -

    -Table 5: Bitwise encoding of subject assurance -

    -

    - - - - - - - -
    -

    -Bit number -

    -
    -

    -7 -

    -
    -

    -6 -

    -
    -

    -5 -

    -
    -

    -4 -

    -
    -

    -3 -

    -
    -

    -2 -

    -
    -

    -1 -

    -
    -

    -0 -

    -
    -

    -Interpretation -

    -
    -

    -A -

    -
    -

    -A -

    -
    -

    -A -

    -
    -

    -R -

    -
    -

    -R -

    -
    -

    -R -

    -
    -

    -C -

    -
    -

    -C -

    -
    -

    -

    -

    -In table 5, bit number 0 denotes the least significant bit. Bit 7 to bit 5 denote the ITS-S's assurance levels, bit 4 to bit 2 are reserved for future use and bit 1 and bit 0 denote the confidence. -

    -

    -The specification of these assurance levels as well as the encoding of the confidence levels is outside the scope of the present document. The default (no assurance) shall be all bits set to 0. -

    -

    -NOTE 1:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    -NOTE 2:A process should be defined how to evaluate each implementation and how to assign a corresponding subject assurance according to the evaluation result(s). However, this process is out of scope of the present document. -

    -

    - -6.7 -ValidityRestriction - - -

    -

    -struct { -

    -

    - -ValidityRestrictionType type; -

    -

    - -select(type){ -

    -

    - -case time_end: -

    -

    - - -Time32 - - -end_validity; -

    -

    - -case time_start_and_end: -

    -

    - - -Time32 - - -start_validity; -

    -

    - - -Time32 - - -end_validity; -

    -

    - -case time_start_and_duration: -

    -

    - - -Time32 - - -start_validity; -

    -

    - - -Duration - -duration; -

    -

    - -case region: -

    -

    - - -GeographicRegionregion; -

    -

    - -unknown: -

    -

    - - -opaque - - -data<var>; -

    -

    - -} -

    -

    -} ValidityRestriction; -

    -

    -

    -This structure defines ways to restrict the validity of a certificate depending on the value of type: - - -

    -
      -

    • -time_end: the expiration date for the associated certificate contained in a -Time32 - structure shall be given. - -
    • -

      -

    • -time_start_and_end: the beginning of the validity contained in a -Time32 - structure and the expiration date contained in another -Time32 - structure shall be given. - -
    • -

      -

    • -time_start_and_duration: the beginning of the validity contained in a -Time32 - structure and the duration of validity contained in a -Duration - structure shall be given. - -
    • -

      -

    • -region: the region the certificate is valid in contained in a -GeographicRegion - structure shall be given. - -
    • -

      -

    • -unknown: in all other cases, a variable-length vector containing opaque data shall be given. - - - -
    • -

      -
    -

    -A valid certificate shall contain exactly one validity restriction of type time_end, time_start_and_end, or time_start_and_duration. - - - - - - -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -6.8 -ValidityRestrictionType - - -

    -

    -enum { -

    -

    - -time_end(0), -

    -

    - -time_start_and_end(1), -

    -

    - -time_start_and_duration(2), -

    -

    - -region(3), -

    -

    - -(2^8-1) -

    -

    -} ValidityRestrictionType; -

    -

    -

    -This enumeration lists the possible types of restrictions to a certificate's validity. -

    -

    -NOTE:This definition is not available in IEEE 1609.2 Draft D12 [i.2]. -

    -

    - -6.9 -ItsAidSsp - - -

    -

    -struct { -

    -

    - -IntX -its_aid; -

    -

    - -opaque -service_specific_permissions<var>; -

    -

    -} ItsAidSsp; -

    -

    -

    -This structure defines how to encode an ITS-AID with associated Service Specific Permissions (SSP). service_specific_permissions shall have a maximum length of 31 octets. The definition of SSPs is out of scope of the present document. - - -

    -

    -NOTE:This definition is similar to the one in IEEE 1609.2 Draft D12 [i.2], clause 6.3.24, but uses different naming, a slightly more flexible encoding of the ITS-AID. -

    -

    - -7Security profiles - -

    -

    - -7.1Security profile for CAMs - -

    -

    -This clause defines which fields shall be included in the SecuredMessage structure for Cooperative Awareness Messages (CAMs) as well as the scope of application of cryptographic features applied to the header. -

    -

    -These -HeaderField - elements shall be included in all CAMs. With the exception of signer_info, which is encoded first, all header_field elements shall be included in ascending order according to the numbering of the enumeration of the according type structure: - - - - -

    -
      -

    • -signer_info: this field shall contain exactly one field of the types certificate_digest_with_sha256, certificate_chain or certificate, according to the following rules: -
    • -

      -
    -
      -

    • -In the normal case, the signer_info field of type certificate_digest_with_sha256 shall be included. - - - - -
    • -

      -

    • -Instead of including a field of type certificate_digest_with_sha256, a signer_info field of type certificate shall be included one second after the last inclusion of a field of type certificate. - - - - - - - - -
    • -

      -

    • -If the ITS-S receives a CAM from a previously unknown certificate, it shall include a field of type certificate immediately in its next CAM, instead of including a field of type certificate_digest_with_sha256. In this case, the timer for the next inclusion of a field of type certificate shall be restarted. - - - - - - -
    • -

      -

    • -If an ITS-S receives a CAM whose security header includes a HeaderField of type request_unrecognized_certificate, then the ITS‑S shall evaluate the list of -HashedId3 - digests included in that field. If the ITS-S finds a -HashedId3 - of its own, currently used authorization ticket and not of the authorization authority in that list, it shall include a signer_info field of type certificate immediately in its next CAM, instead of including a signer_info field of type certificate_digest_with_sha256. If the ITS-S finds a -HashedId3 - of its own, currently used authorization authority in that list, it shall include a signer_info field of type certificate_chain containing the currently used authorization ticket and authorization authority certificate immediately in its next CAM, instead of including a signer_info field of type certificate_digest_with_sha256. - - - - - - - - - - - - - - - - - - - - -
    • -

      -
    -
      -

    • -generation_time: this field shall contain the current absolute time. The generation_time is valid, if it is in the validity period of the certificate referenced by the signer_info. - - - - - -
    • -

      -

    • -its_aid: this field shall encode the ITS-AID for CAMs according to ETSI TS 102 965 [7]. - -
    • -

      -
    -

    -The HeaderField element request_unrecognized_certificate shall be included if an ITS-S received CAMs from other ITS-Ss, which the ITS-S has never encountered before and which included only a signer_info field of type certificate_digest_with_sha256 instead of a signer_info HeaderField of type certificate. In this case, the signature of the received CAMs cannot be verified because the verification key is missing. The field digests<var> in the structure of request_unrecognized_certificate shall be filled with a list of -HashedId3 - elements of the missing ITS-S certificates. - - - - - - - - - - - - - - - - -

    -

    -NOTE 1: - -HashedId3 - elements can be formed by using the least significant three bytes of the corresponding HashedId8. - -

    -

    -None of the possible HeaderField cases shall be included more than once. All other HeaderField types defined in clause 5 shall not be used. Future HeaderField types may be included. Any other HeaderField types included shall not be used to determine the validity of the message. - - - - - - - - -

    -

    -A -Payload - element shall be included for all CAMs. This element shall be of type signed and contain the CAM payload. - - -

    -

    -These -TrailerField - elements shall be included in all CAMs: -

    -
      -

    • -signature: this field shall contain a signature calculated over these fields of the -SecuredMessage - data structure: - -
    • -

      -
    -
      -

    • -protocol_version. - -
    • -

      -

    • -The variable-length vector header_fields including its length. - - -
    • -

      -

    • -The complete payload_field field. - - -
    • -

      -

    • -The length of the variable-length vector trailer_fields and the type of the signature trailer field. - - - - -
    • -

      -
    -

    -CAMs shall not be encrypted. -

    -

    -NOTE 2:Table 6 illustrates which parts of a SecuredMessage are taken into account when generating the signature of a message. - - -

    -

    -Table 6: Example for the ECDSA signature generation for a SecuredMessage -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    -Element -

    -
    -

    -Description -

    -
    -

    -SecuredMessage -

    -
    -

    - 
    -

    - -uint8 protocol_version -

    -
    -

    -Covered by the signature -

    -
    -

    - -HeaderField header_fields<var> -

    -
    -

    - - -… -

    -
    -

    - -Payload payload_fields<var> -

    -
    -

    - - -… -

    -
    -

    - -TrailerField trailer_fields<var> -

    -
    -

    - - -TrailerFieldType type -

    -
    -

    - - - -PublicKeyAlgorithm algorithm -

    -
    -

    -Not covered by the signature -

    -
    -

    - - - -EcdsaSignature ecdsa_signature -

    -
    -

    - - - - -EccPoint R -

    -
    -

    - - - - - -EccPointType type -

    -
    -

    - - - - - -opaque x[32] -

    -
    -

    -ECDSA signature (r,s) -

    -
    -

    - - - - -opaque s[32] -

    -
    -

    -

    -

    - -7.2Security profile for DENMs - -

    -

    -This clause defines which fields shall always be included in the SecuredMessage structure for Decentralized Environmental Notification Messages (DENMs) as well as the scope of application of cryptographic features applied to the header. -

    -

    -These -HeaderField - elements shall be included in all DENMs. With the exception of signer_info, which is encoded first, all header_field elements shall be included in ascending order according to the numbering of the enumeration of the according type structure: - -

    -
      -

    • -signer_info: this field shall contain an element of type certificate. - - - -
    • -

      -

    • -generation_time: this field shall contain the current absolute time. The generation_time is valid, if it is in the validity period of the certificate referenced by the signer_info. - - - - - -
    • -

      -

    • -generation_location: this field shall contain the current location of the ITS-S at the point in time the contents of the security headers are fixed prior to the signing process. The generation_location is valid, either if there is no geographic validity restriction in the certificate referenced by the signer_info, or if it is inside the geographic validity restriction of this certificate. - - - - - -
    • -

      -

    • -its_aid: this field shall encode the ITS-AID for DENMs according to ETSI TS 102 965 [7]. - -
    • -

      -
    -

    -None of the possible HeaderField cases shall be included more than once. All other HeaderField types defined in clause 5 shall not be used. Future HeaderField types may be included. Any other HeaderField types included shall not be used to determine the validity of the message. - - - - - - - - -

    -

    -A -Payload - element shall be included for all DENMs. This element shall be of type signed and contain the DENM payload. - - -

    -

    -These -TrailerField - elements shall be included in all DENMs: -

    -
      -

    • -signature: this field shall contain a signature calculated over these fields of the -SecuredMessage - data structure: - -
    • -

      -
    -
      -

    • -protocol_version. - -
    • -

      -

    • -The variable-length vector header_fields including its length. - - -
    • -

      -

    • -The complete payload_field field. - - -
    • -

      -

    • -The length of the variable-length vector trailer_fields and the type of the signature trailer field. - - - - -
    • -

      -
    -

    -DENMs shall not be encrypted. -

    -

    - -7.3Generic security profile for other signed messages - -

    -

    -This clause defines which fields shall always be included in the SecuredMessage structure for other signed messages as well as the scope of application of cryptographic features applied to the header. -

    -

    -These -HeaderField - elements shall be included. With the exception of signer_info, which is encoded first, all header_field elements shall be included in ascending order according to the numbering of the enumeration of the according type structure: - - -

    -
      -

    • -signer_info: this field shall contain an element of type certificate. - - - -
    • -

      -

    • -generation_time: this field shall contain the current absolute time. The generation_time is valid, if it is in the validity period of the certificate referenced by the signer_info. - - - - - -
    • -

      -

    • -generation_location: this field shall contain the current location of the ITS-S at the point in time the contents of the security headers are fixed prior to the signing process. The generation_location is valid, either if there is no geographic validity restriction in the certificate referenced by the signer_info, or if it is inside the geographic validity restriction of this certificate. - - - - - -
    • -

      -

    • -its_aid: this field shall encode an ITS-AID according to ETSI TS 102 965 [7]. This field shall not encode an ITS-AID that is reserved for use with other security profiles. The present document covers the ITS-AIDs for CAM and DENM. - -
    • -

      -
    -

    -None of the possible HeaderField cases shall be included more than once. Additional HeaderField types are allowed. - - -

    -

    -A -Payload - element of type signed, signed_external or signed_and_encrypted shall be included. - - - - - - -

    -

    -These -TrailerField - elements shall be included: -

    -
      -

    • -signature: this field shall contain a signature calculated over these fields of the -SecuredMessage - data structure: - -
    • -

      -
    -
      -

    • -protocol_version. - -
    • -

      -

    • -The variable-length vector header_fields including its length. - - -
    • -

      -

    • -The complete payload_field field. If the payload is marked as external, its contents shall be included in the hash as well, at the position where a non-external payload would be. - - -
    • -

      -

    • -The length of the variable-length vector trailer_fields and the type of the signature trailer field. - - - - -
    • -

      -
    -

    - -7.4Profiles for certificates -

    -

    - -7.4.1Introduction - -

    -

    -Clause 7.4 defines which types of variable fields shall always be included in certificates. -

    -

    -The version field of a certificate shall be set according to clause 6.1. -

    -

    -The following SubjectAttribute elements shall be included: - - -

    -
      -

    • -verification_key: this field shall contain the public key of the key pair that is used to sign and verify message or certificate signatures. - -
    • -

      -

    • -assurance_level: this field shall contain the assurance level of the sender or certificate authority. A certificate shall contain an assurance level that is equal to or lower than the assurance level of the certificate referenced by the signer_info. If the assurance level is unknown for the certificate then the default assurance level 0 shall be used. - -
    • -

      -
    -

    -Exactly one of the following -ValidityRestriction - fields shall be included: -

    -
      -

    • -time_end: this field shall contain the end of validity of the certificate. - -
    • -

      -

    • -time_start_and_end: this field shall contain the validity period of the certificate. - -
    • -

      -

    • -time_start_and_duration: this field shall contain the validity period of the certificate. - -
    • -

      -
    -

    -The options time_start_and_end or time_start_and_duration should be preferred. If the signer_info is different from self, then the validity period defined by time_end, time_start_and_end or time_start_and duration shall be within the validity period of the certificate referenced by the signer_info. -

    -

    -A certificate shall contain a validity restriction of type region, if the certificate referenced by the signer_info contains a validity restriction of type region. Every certificate with a validity restriction of type region shall contain a region that is covered by the certificate referenced by the signer_info. For the field signer_info, exactly one of the following types shall be included: - - -

    -
      -

    • -certificate_digest_with_sha256 -
    • -

      -

    • -certificate_digest_with_other_algorithm -
    • -

      -

    • -self -
    • -

      -
    -

    -Apart from these fields, certificate contents may be extended depending on the purpose of the certificate. -

    -

    -All certificates shall contain a Signature field containing a signature calculated over these fields of the Certificate data structure: - - -

    -
      -

    • -The version - -
    • -

      -

    • -The signer_info - - -
    • -

      -

    • -The subject_info - -
    • -

      -

    • -The subject_attributes vector including its length - - -
    • -

      -

    • -The validity_restrictions vector including its length - - -
    • -

      -
    -

    -Every certificate containing an its_aid_list or its_aid_ssp_list subject attribute shall contain a subset of the permissions that are contained in the certificate referenced by the signer_info. An its_aid in an its_aid_list shall be interpreted as containing a superset of all possible service specific permissions of this its_aid. - - - - - - - - - - - - -

    -

    - -7.4.2Authorization tickets (pseudonymous certificates) - -

    -

    -This clause defines additional aspects of authorization tickets (i.e. pseudonymous certificates) as defined in ETSI TS 102 940 [6]. -

    -

    -For the field signer_info, exactly one of the following types shall be included: - - -

    -
      -

    • - -certificate_digest_with_sha256. -
    • -

      -
    -

    -The -SubjectInfo - field of the authorization ticket shall be set to these values: -

    -
      -

    • -subject_type: this field shall be set to authorization_ticket(1). - - - -
    • -

      -

    • - - -subject_name: this field shall be encoded as 0x00 (empty name field). - -
    • -

      -
    -

    - - -These SubjectAttribute elements shall be included in addition to those specified in clause 7.4.1 for all certificates: - -

    -
      -

    • - - -its_aid_ssp_list: this field shall contain a list of ITS-AIDs with associated Service Specific Permissions (SSP). - -For each ITS-AID only one ItsAidSsp shall be used. - -
    • -

      -
    -

    - - -As ValidityRestriction field restricting the time of validity, time_start_and_end shall be included. - -

    -

    - -7.4.3Enrolment credential (long-term certificates) - -

    -

    -This clause defines additional aspects of enrolment credentials (i.e. long-term certificates) as defined in ETSI TS 102 940 [6]. -

    -

    -For the field signer_info, exactly one of the following types shall be included: - - -

    -
      -

    • -certificate_digest_with_sha256. -
    • -

      -
    -

    -In the -SubjectInfo - field of the enrolment credential, subject_type shall be set to enrollment_credential(0). - - - - -

    -

    -These SubjectAttribute elements shall be included in addition to those specified in clause 7.4.1 for all certificates: - - -

    -
      -

    • -its_aid_ssp_list: this field shall contain a list of ITS-AIDs with associated Service Specific Permissions (SSP). For each ITS-AID only one ItsAidSsp shall be used. - - - -
    • -

      -
    -

    -As -ValidityRestriction - field restricting the time of validity, time_start_and_end shall be included. - - -

    -

    -NOTE:The its_aid_ssp_list is used for enrolment credentials to enforce that an ITS-S cannot expand its own service specific permissions in authorization tickets through manipulation of requests to the CA. - - -

    -

    - -7.4.4Certificate authority certificates - -

    -

    -This clause defines additional aspects of certificate authority certificates. -

    -

    -The following -SignerInfo - fields shall be included: -

    -
      -

    • -For root certificate authority certificates, the signer_info field shall be set to self. - - - - -
    • -

      -

    • - - -For other certificate authorities, the signer_info field shall be set to certificate_digest_with_sha256. -
    • -

      -
    -

    -In the -SubjectInfo - field of the CA certificate, subject_type shall be set to one of these types: - - -

    -
      -

    • - - -authorization_authority, for authorization authorities, i.e. certificate authorities issuing authorization tickets. -
    • -

      -

    • -enrollment_authority, for enrolment authorities, i.e. certificate authorities issuing enrolment credentials. - -
    • -

      -

    • -root_ca, for root certificate authorities. - -
    • -

      -
    -

    -These SubjectAttribute elements shall be included in addition to those specified in clause 7.4.1 for authorization authority and enrolment authority certificates: - - -

    -
      -

    • -its_aid_list: this field shall contain a list of ITS-AIDs. Each ITS-AID shall be unique in the its_aid_list. - - - -
    • -

      -
    -

    - - As - ValidityRestriction - field restricting the time of validity, time_start_and_end shall be included. -

    -

    -NOTE:The authorization and enrolment authority certificates contain an its_aid_list, because a CA should not be able to create certificates for ITS stations containing ITS-AIDs that the CA was not authorized to by the root CA. - - -

    -

    -� -

    - - -Annex A (informative):
    Data structure examples
    -
    -
    -

    - -A.1Example security envelope structure for CAM - -

    -

    -The following structure shown in table A.1 is an example security header for a CAM message. The header transports the generation time, identifies the payload as signed, and includes the hash of a certificate, that is, no full certificate is included in this case. Finally, an ECDSA NIST P-256 based signature is attached. -

    -

    -Table A.: An example signed header for CAM -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    -Element -

    -
    -

    -Value -

    -
    -

    -Description -

    -
    -

    -Length in octets -

    -
    -

    -SecuredMessage -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - -uint8 protocol_version -

    -
    -

    -0x02 -

    -
    -

    - 
    -

    -1 -

    -
    -

    - -HeaderField header_fields<var> -

    -
    -

    -0x15 -

    -
    -

    -length: 21 octets -

    -
    -

    -1 -

    -
    -

    - - -HeaderFieldType type -

    -
    -

    -0x80 -

    -
    -

    -signer_info -

    -
    -

    -1 -

    -
    -

    - - - -SignerInfoType signer_info -

    -
    -

    -0x01 -

    -
    -

    -certificate_digest_with_sha256 -

    -
    -

    -1 -

    -
    -

    - - - -HashedId8 digest -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -8 -

    -
    -

    - - -HeaderFieldType type -

    -
    -

    -0x00 -

    -
    -

    -generation_time -

    -
    -

    -1 -

    -
    -

    - - -Time64 generation_time -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -8 -

    -
    -

    - - -HeaderFieldType type -

    -
    -

    -0x05 -

    -
    -

    -its_aid -

    -
    -

    -1 -

    -
    -

    - - -IntX its_aid -

    -
    -

    -[…] -

    -
    -

    -ITS-AID for CAM -

    -
    -

    -1 -

    -
    -

    - -Payload payload_field -

    -
    -

    - 
    -

    -payload -

    -
    -

    - 
    -

    - - -PaylodType payload_type -

    -
    -

    -0x01 -

    -
    -

    -signed -

    -
    -

    -1 -

    -
    -

    - - -opaque data<var> -

    -
    -

    -0x00 -

    -
    -

    -length: 0 octets -

    -
    -

    -1 -

    -
    -

    - - - -[raw payload data] -

    -
    -

    - 
    -

    - 
    -

    -0 -

    -
    -

    - -TrailerField trailer_fields<var> -

    -
    -

    -0x43 -

    -
    -

    -length: 67 octets -

    -
    -

    -1 -

    -
    -

    - - -TrailerFieldType type -

    -
    -

    -0x01 -

    -
    -

    -signature -

    -
    -

    -1 -

    -
    -

    - - - -PublicKeyAlgorithm algorithm -

    -
    -

    -0x00 -

    -
    -

    -ecdsa_nistp256_with_sha_256 -

    -
    -

    -1 -

    -
    -

    - - - -EcdsaSignature ecdsa_signature -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - - - -EccPoint R -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - - - - -EccPointType type -

    -
    -

    -0x00 -

    -
    -

    -x_coordinate_only -

    -
    -

    -1 -

    -
    -

    - - - - - -opaque x[32] -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -32 -

    -
    -

    - - - - -opaque s[32] -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -32 -

    -
    -

    -The total size of the security header structure is 93 octets. -

    -
    -

    -

    -

    - -A.2Example structure of a certificate - -

    -

    -The following structure shown in table A.2 is an example of a certificate. -

    -

    -Table A.: An example structure of a certificate -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    -Element -

    -
    -

    -Value -

    -
    -

    -Description -

    -
    -

    -Length in octets -

    -
    -

    -Certificate -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - -uint8 version -

    -
    -

    -0x02 -

    -
    -

    - 
    -

    -1 -

    -
    -

    - -SignerInfo signer_info - - -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - -SignerInfoType type -

    -
    -

    -0x01 -

    -
    -

    -certificate_digest_with_sha256 -

    -
    -

    -1 -

    -
    -

    - - -HashedId8 digest -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -8 -

    -
    -

    - -SubjectInfo subject_info -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - -SubjectType type -

    -
    -

    -0x01 -

    -
    -

    -authorization_ticket -

    -
    -

    -1 -

    -
    -

    - - -opaque subject_name<var> -

    -
    -

    -0x00 -

    -
    -

    -length: 0 ( no name - - -

    -
    -

    -1 -

    -
    -

    - - - -[subject name] -

    -
    -

    - 
    -

    - 
    -

    -0 -

    -
    -

    - -SubjectAttribute subject_attributes<var> -

    -
    -

    -0x2b -

    -
    -

    -length: 43 -

    -
    -

    -1 -

    -
    -

    - - -SubjectAttributeType type -

    -
    -

    -0x00 -

    -
    -

    -verification_key -

    -
    -

    -1 -

    -
    -

    - - -PublicKey key -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - - -PublicKeyAlgorithm algorithm -

    -
    -

    -0x00 -

    -
    -

    -ecdsa_nistp256_with_sha256 -

    -
    -

    -1 -

    -
    -

    - - - -EccPoint public_key -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - - - -EccPointType type -

    -
    -

    -0x02 -

    -
    -

    -compressed_lsb_y_0 -

    -
    -

    -1 -

    -
    -

    - - - - -opaque x[32] -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -32 -

    -
    -

    - - -SubjectAttributeType type -

    -
    -

    -0x02 -

    -
    -

    -assurance_level -

    -
    -

    -1 -

    -
    -

    - - -SubjectAssurance assurance_level -

    -
    -

    -0x83 -

    -
    -

    -level_4_confidence_3 -

    -
    -

    -1 -

    -
    -

    - - -SubjectAttributeType type -

    -
    -

    -0x33 -

    -
    -

    -its_aid_ssp_list -

    -
    -

    -1 -

    -
    -

    - - - -ItsAidSsp its_aid_ssp_list<var> -

    -
    -

    -0x04 -

    -
    -

    -length: 4 octets -

    -
    -

    -1 -

    -
    -

    - - - - -IntX its_aid -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -1 -

    -
    -

    - - - - -opaque service_specific_permissions<var> -

    -
    -

    -0x02 -

    -
    -

    -length: 2 octets -

    -
    -

    -1 -

    -
    -

    - - - - - -[service specific permissions] -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -2 -

    -
    -

    - -ValidityRestriction validity_restrictions<var> -

    -
    -

    -0x09 -

    -
    -

    -length: 9 octets -

    -
    -

    -1 -

    -
    -

    - - -ValidityRestrictionType type -

    -
    -

    -0x01 -

    -
    -

    -time_start_and_end -

    -
    -

    -1 -

    -
    -

    - - -Time32 start_validity -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -4 -

    -
    -

    - - -Time32 end_validity -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -4 -

    -
    -

    - -Signature signature -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - -PublicKeyAlgorithm algorithm -

    -
    -

    -0x00 -

    -
    -

    -ecdsa_nistp256_with_sha256 -

    -
    -

    -1 -

    -
    -

    - - -EcdsaSignature ecdsa_signature -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - - -EccPoint R -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - - - - -EccPointType type -

    -
    -

    -0x00 -

    -
    -

    -x_coordinate_only -

    -
    -

    -1 -

    -
    -

    - - - - -opaque x[32] -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -32 -

    -
    -

    - - - -opaque s[32] -

    -
    -

    -[…] -

    -
    -

    - 
    -

    -32 -

    -
    -

    -The total size of this certificate is 132 octets. -

    -
    -

    -

    -

    -� -

    - - -Annex B (informative):
    Usage of ITS-AID and SSPs
    -
    -
    -

    -An incoming secured message should only be accepted by the receiver if the payload of the secured message is consistent with the ITS-AID and SSP in the certificate. This consistency should be checked in two ways: -

    -
      -

    1. -Within the security processing, the ITS-AID in the certificate can be checked for consistency with the its_aid field in the SecuredMessage format. - - -
    2. -

      -

    3. -At the point at which the data is processed (which may be in the receiving facilities layer or in the receiving application layer), the data can be checked for consistency with the ITS-AID and the SSP from the certificate. Architecturally, this check is carried out by the processing entity that processes the data payload of the SecuredMessage, not by the security processing services. This is because the security processing services cannot and should not be expected to be able to parse the data of all possible different applications and facilities. Thus, a full definition of a data exchange for applications or facilities that use signed messages should include a specification of the ITS-AID, a specification of the SSP, and a definition of what it means for the data itself to be consistent with the ITS-AID and SSP. -
    4. -

      -
    -

    -The use of ITS-AID and SSP therefore includes the following steps: -

    -
      -

    1. -At the design stage, the group defining a given data exchange determines whether the exchanges are to be signed with ETSI TS 103 097 certificates. If they are, the group reserves an ITS-AID and defines an SSP. -
    2. -

      -

    3. -When an ITS-Station is initialized with the ability to carry out a data exchange, it requests certificates with the appropriate ITS-AID and SSP. -
    4. -

      -

    5. -An Authorization Authority determines whether the ITS-Station is entitled to that ITS-AID and SSP, using methods outside the scope of the present document to make that determination. It issues the certificates to the ITS-S. -
    6. -

      -

    7. -The sending ITS-Station generates a message that is consistent with the ITS-AID and SSP, and uses the private key corresponding to the certificate to sign that message. -
    8. -

      -

    9. -On the receiving side, the security processing checks that the message was correctly cryptographically signed, is not a replay (if appropriate), etc. -
    10. -

      -

    11. -On the receiving side, the data processing entity (which may be an application or the facilities layer) uses the ITS-AID and SSP from the certificate to check that the data is consistent with those permissions. This means that the ITS-AID and SSP should be made available to the data processing entity, for example by passing them across an interface from the security processing, or by passing the entire certificate and letting the data processing entity extract the ITS-AID and SSP from the certificate, or by some other means. -
    12. -

      -
    -

    -NOTE 1:The ITS-AID and SSP are contained in the certificate, which is cryptographically authenticated and authorized by the Authorization Authority. Because of this cryptographic authentication, it is impossible for the certificate holder to change their permissions without causing cryptographic authentication to fail. -

    -

    -NOTE 2:The ETSI TS 103 097 certificate format allows a certificate to contain multiple (ITS-AID, SSP) pairs. In this case, the receiving side processing is expected to know which ITS-AID is to be used in conjunction with an incoming message. -

    -

    -One way to make the concept of SSP future proof is to add the version number of the corresponding facility to the SSP. -

    -

    -The interpretation of the SSP is specific for each facility. One possible way to implement it is to use a bit map to define which permissions a sender is authorized to use. -

    -

    -The bit value "1" then means that the sender is authorized to use the corresponding feature and consequently the bit value "0" means that the sender is not authorized to use it. -

    -

    -� -

    -

    - -History - -

    -

    - - - - - - - - - - - - - - - -
    -

    -Document history -

    -
    -

    -V1.1.1 -

    -
    -

    -April 2013 -

    -
    -

    -Publication -

    -
    -

    -V1.2.1 - - -

    -
    -

    -June 2015 -

    -
    -

    -Publication -

    -
    -

    - 
    -

    - 
    -

    - 
    -

    - 
    -

    - 
    -

    - 
    -

    - 
    -

    - 
    -

    - 
    -

    -

    -image1.jpg - - \ No newline at end of file diff --git a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p.xhtml b/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p.xhtml deleted file mode 100644 index c556956fd294adc6a43018fdf59fb52b87a71650..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Documents/ts_103097v010201p.xhtml_resources/ts_103097v010201p.xhtml +++ /dev/null @@ -1,11594 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ETSI TS 103 097 V1.1.21 - - -

    - - ETSI TS 103 097 - - V1.2.1 - (2015-06) - - -

    -

    - - Intelligent Transport Systems (ITS); -
    -
    -

    -

    - - Security; -
    -
    -

    -

    - Security header and certificate formats -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    - Technical Specification -

    -

    - ? -

    -

    - - Reference -
    -
    -

    -

    - RTS/ITS-00531 -

    -

    - - Keywords -
    -
    -

    -

    - ITS, privacy, protocol, security -

    -

    -

    - - ETSI -
    -
    -

    -

    - - 650 Route des Lucioles -
    -
    -

    -

    - F-06921 Sophia Antipolis Cedex - FRANCE -

    -

    -

    - - Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 -
    -
    -

    -

    -

    - - Siret N� 348 623 562 00017 - NAF 742 C -
    -
    -

    -

    - - Association � but non lucratif enregistr�e � la -
    -
    -

    -

    - - Sous-Pr�fecture de Grasse (06) N� 7803/88 -
    -
    -

    -

    -

    -

    -

    - - Important notice -
    -
    -

    -

    - - The present document can be downloaded from: -
    - -
    - http://www.etsi.org/standards-search -

    -

    - - The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. -
    -
    -

    -

    - - Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at - - - http://portal.etsi.org/tb/status/status.asp -

    -

    - - If you find errors in the present document, please send your comment to one of the following services: -
    -
    - - https://portal.etsi.org/People/CommiteeSupportStaff.aspx -

    -

    - - Copyright Notification -
    -
    -

    -

    - - No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI. -
    - The content of the PDF version shall not be modified without the written authorization of ETSI. -
    - The copyright and the foregoing restriction extend to reproduction in all media. -
    -

    -

    -

    - - � European Telecommunications Standards Institute 2015. -
    -
    -

    -

    - - All rights reserved. -
    -
    -

    -

    - DECT - TM - - , - PLUGTESTS - - TM - - , - UMTS - - TM - - and the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members. -
    - 3GPP -
    - TM - - and - LTE - - � are Trade Marks of ETSI registered for the benefit of its Members and -
    - of the 3GPP Organizational Partners. -
    -
    - GSM - - � and the GSM logo are Trade Marks registered and owned by the GSM Association. -
    -
    -
    -

    -

    - ? -

    -

    - Contents -

    -

    -

    - - Foreword - - 5 - 5 - -

    -

    - - Modal verbs terminology - - 5 - 5 - -

    -

    - - Introduction - - 5 - 5 - -

    -

    - - 1 - - Scope - - 6 - 6 - -

    -

    - - 2 - - References - - 6 - 6 - -

    -

    - - 2.1 - - Normative references - - 6 - 6 - -

    -

    - - 2.2 - - Informative references - - 6 - 6 - -

    -

    - - 3 - - Definitions and abbreviations - - 7 - 7 - -

    -

    - - 3.1 - - Definitions - - 7 - 7 - -

    -

    - - 3.2 - - Abbreviations - - 7 - 7 - -

    -

    - - 4 - - Basic format elements - - 7 - 7 - -

    -

    - - 4.1 - - Presentation Language - - 7 - 7 - -

    -

    - - 4.2 - - Specification of basic format elements - - 9 - 9 - -

    -

    - - 4.2.1 - - IntX - - 9 - 9 - -

    -

    - - 4.2.2 - - PublicKeyAlgorithm - - 9 - 9 - -

    -

    - - 4.2.3 - - SymmetricAlgorithm - - 9 - 9 - -

    -

    - - 4.2.4 - - PublicKey - - 9 - 9 - -

    -

    - - 4.2.5 - - EccPoint - - 10 - 10 - -

    -

    - - 4.2.6 - - EccPointType - - 11 - 11 - -

    -

    - - 4.2.7 - - EncryptionParameters - - 11 - 11 - -

    -

    - - 4.2.8 - - Signature - - 11 - 11 - -

    -

    - - 4.2.9 - - EcdsaSignature - - 12 - 12 - -

    -

    - - 4.2.10 - - SignerInfo - - 12 - 12 - -

    -

    - - 4.2.11 - - SignerInfoType - - 13 - 13 - -

    -

    - - 4.2.12 - - HashedId8 - - 13 - 13 - -

    -

    - - 4.2.13 - - HashedId3 - - 13 - 13 - -

    -

    - - 4.2.14 - - Time32 - - 14 - 14 - -

    -

    - - 4.2.15 - - Time64 - - 14 - 14 - -

    -

    - - 4.2.16 - - Time64WithStandardDeviation - - 14 - 14 - -

    -

    - - 4.2.17 - - Duration - - 14 - 14 - -

    -

    - - 4.2.18 - - TwoDLocation - - 15 - 15 - -

    -

    - - 4.2.19 - - ThreeDLocation - - 15 - 15 - -

    -

    - - 4.2.20 - - GeographicRegion - - 15 - 15 - -

    -

    - - 4.2.21 - - RegionType - - 16 - 16 - -

    -

    - - 4.2.22 - - CircularRegion - - 16 - 16 - -

    -

    - - 4.2.23 - - RectangularRegion - - 16 - 16 - -

    -

    - - 4.2.24 - - PolygonalRegion - - 17 - 17 - -

    -

    - - 4.2.25 - - IdentifiedRegion - - 17 - 17 - -

    -

    - - 4.2.26 - - RegionDictionary - - 17 - 17 - -

    -

    - - 5 - - Specification of security header - - 17 - 17 - -

    -

    - - 5.1 - - SecuredMessage - - 17 - 17 - -

    -

    - - 5.2 - - Payload - - 18 - 18 - -

    -

    - - 5.3 - - PayloadType - - 18 - 18 - -

    -

    - - 5.4 - - HeaderField - - 18 - 18 - -

    -

    - - 5.5 - - HeaderFieldType - - 20 - 20 - -

    -

    - - 5.6 - - TrailerField - - 20 - 20 - -

    -

    - - 5.7 - - TrailerFieldType - - 20 - 20 - -

    -

    - - 5.8 - - RecipientInfo - - 21 - 21 - -

    -

    - - 5.9 - - EciesEncryptedKey - - 21 - 21 - -

    -

    - - 6 - - Specification of certificate format - - 22 - 22 - -

    -

    - - 6.1 - - Certificate - - 22 - 22 - -

    -

    - - 6.2 - - SubjectInfo - - 23 - 23 - -

    -

    - - 6.3 - - SubjectType - - 23 - 23 - -

    -

    - - 6.4 - - SubjectAttribute - - 23 - 23 - -

    -

    - - 6.5 - - SubjectAttributeType - - 24 - 24 - -

    -

    - - 6.6 - - SubjectAssurance - - 24 - 24 - -

    -

    - - 6.7 - - ValidityRestriction - - 25 - 25 - -

    -

    - - 6.8 - - ValidityRestrictionType - - 25 - 25 - -

    -

    - - 6.9 - - ItsAidSsp - - 25 - 25 - -

    -

    - - 7 - - Security profiles - - 26 - 26 - -

    -

    - - 7.1 - - Security profile for CAMs - - 26 - 26 - -

    -

    - - 7.2 - - Security profile for DENMs - - 27 - 27 - -

    -

    - - 7.3 - - Generic security profile for other signed messages - - 28 - 28 - -

    -

    - - 7.4 - - Profiles for certificates - - 29 - 29 - -

    -

    - - 7.4.1 - - Introduction - - 29 - 29 - -

    -

    - - 7.4.2 - - Authorization tickets (pseudonymous certificates) - - 30 - 30 - -

    -

    - - 7.4.3 - - Enrolment credential (long-term certificates) - - 30 - 30 - -

    -

    - - 7.4.4 - - Certificate authority certificates - - 30 - 30 - -

    -

    - - Annex A (informative): - - Data structure examples - - 32 - 32 - -

    -

    - - A.1 - - Example security envelope structure for CAM - - 32 - 32 - -

    -

    - - A.2 - - Example structure of a certificate - - 33 - 33 - -

    -

    - - Annex B (informative): - - Usage of ITS-AID and SSPs - - 34 - 34 - -

    -

    - - History - - 35 - 35 - -

    -

    -

    - ? -

    -

    - - Intellectual Property Rights - -

    -

    - IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publicly available for - ETSI members and non-members - - , and can be found in ETSI SR 000 314: - - "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards" - - , which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web server ( - - - - - http://ipr.etsi.org - - ). -
    -
    -

    -

    - Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become, essential to the present document. -

    -

    - - Foreword - -

    -

    - - This Technical Specification (TS) has been produced by ETSI Technical Committee Intelligent Transport Systems (ITS). - -

    -

    - - Modal verbs terminology - -

    -

    - In the present document " - shall - ", " - shall not - ", " - should - ", " - should not - ", " - may - ", " - need not - ", " - will - ", " - will not - ", " - can - " and " - cannot - - " are to be interpreted as described in clause 3.2 of the - - - ETSI Drafting Rules - - (Verbal forms for the expression of provisions). -
    -
    -

    -

    - " - must - " and " - must not - " are - NOT - - allowed in ETSI deliverables except when used in direct citation. -
    -
    -

    -

    - - Introduction - -

    -

    - Security mechanisms for ITS consist of a number of parts. An important part for interoperability is a common format for data elements being transferred between ITS stations for security purposes. -

    -

    - The present document intends to provide such a format definition. A special focus is to include as much as possible from existing standards. At the same time, the major goal is simplicity and extensibility of data structures. -

    -

    - ? -

    -

    - - - 1 - - Scope - - -

    -

    - The present document specifies security header and certificate formats for Intelligent Transport Systems. These formats are defined specifically for securing G5 communication. -

    -

    - - - 2 - - References - - -

    -

    - - - 2.1 - - Normative references - - -

    -

    - References are either specific (identified by date of publication and/or edition number or version number) or non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies. -

    -

    - - Referenced documents which are not found to be publicly available in the expected location might be found at - - - http://docbox.etsi.org/Reference - - . -
    -
    -

    -

    - - NOTE: - - While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity. -
    -
    -

    -

    - The following referenced documents are necessary for the application of the present document. -

    -

    - - [] - - IEEE� 1363-2000: "IEEE Standard Specifications For Public Key Cryptography". - -

    -

    - - [] - - NIMA Technical Report TR8350.2: "Department of Defense World Geodetic System 1984. Its Definition and Relationships with Local Geodetic Systems". - -

    -

    - - [] - - ISO 3166-1: "Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes". - -

    -

    - - [] - - NIST SP 800-38C: "Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality". - -

    -

    - - [] - - IETF RFC 2246: "The TLS Protocol Version 1.0". - -

    -

    - - [] - - ETSI TS 102 940: "Intelligent Transport Systems (ITS); Security; ITS communications security architecture and security management". - -

    -

    - - [] - - ETSI TS 102 965 (V1.2.1): "Intelligent Transport Systems (ITS); Application Object Identifier (ITS-AID); Registration". - -

    -

    - - - 2.2 - - Informative references - - -

    -

    - References are either specific (identified by date of publication and/or edition number or version number) or non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies. -

    -

    - - NOTE: - - While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity. -
    -
    -

    -

    - The following referenced documents are not necessary for the application of the present document but they assist the user with regard to a particular subject area. -

    -

    - - [ - i. - ] - - IEEE� 1363a-2004: "Standard Specifications For Public Key Cryptography - Amendment 1: Additional Techniques". - -

    -

    - - [ - i. - ] - - IEEE� 1609.2-2012 (draft D12): "Wireless Access in Vehicular Environments - Security Services for Applications and Management Messages". - -

    -

    - - [ - i. - ] - - IEEE� 1609.2-2012 (draft D17): "Wireless Access in Vehicular Environments - Security Services for Applications and Management Messages". - -

    -

    - - [ - i. - ] - - IEEE� 1609.3-2010: "Wireless Access in Vehicular Environments (WAVE) - Networking Services". - -

    -

    - - [ - i. - ] - - Standards for Efficient Cryptography 4 (SEC 4): "Elliptic Curve Qu-Vanstone Implicit Certificate Scheme (ECQV)". - -

    -

    - - [ - i. - ] - - Antipa A., R. Gallant, and S. Vanstone: "Accelerated verification of ECDSA signatures", Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11-12, 2005: Springer, 2005, pp. 307-318. - -

    -

    - - - 3 - - Definitions and abbreviations - - -

    -

    - - - 3.1 - - Definitions - - - -

    -

    - For the purposes of the present document, the following terms and definitions apply: -

    -

    - enumeration: - set of values with distinct meaning -

    -

    - - - 3.2 - - Abbreviations - - -

    -

    - For the purposes of the present document, the following abbreviations apply: -

    -

    - - AES - - Advanced Encryption Standard - -

    -

    - - CA - - Certificate Authority - -

    -

    - - CAM - - Cooperative Awareness Message - -

    -

    - - CRL - - Certificate Revocation List - -

    -

    - - DENM - - Decentralized Environmental Notification Message - -

    -

    - - DHAES - - Diffie-Hellman: An Encryption Scheme - -

    -

    - - ECC - - Elliptic Curve Cryptography - -

    -

    - - ECDSA - - Elliptic Curve Digital Signature Algorithm - -

    -

    - ECIES - - - - Elliptic Curve Integrated Encryption Scheme -

    -

    - - ECQV - - Elliptic Curve Qu-Vanstone - -

    -

    - - NOTE: - - Implicit Certificate Scheme. - -

    -

    - - G5 - - 5,9 GHz radio communications - -

    -

    - - ITS - - Intelligent Transport Systems - -

    -

    - - ITS-AID - - ITS Application ID - -

    -

    - - ITS-S - - Intelligent Transport Systems Station - -

    -

    - - LSB - - Least Significant Bit - -

    -

    - - NIMA - - National Imagery and Mapping Agency - -

    -

    - - NIST SP - - National Institute of Standards and Technology, Special Publication - -

    -

    - - PSID - - Provider Service Identifier - -

    -

    - - NOTE: - - It is a synonym for ITS-AID. - -

    -

    - - SSP - - Service Specific Permissions - -

    -

    - - TAI - - Temps Atomique International (International Atomic Time) - -

    -

    - - TLS - - Transport Layer Security - -

    -

    - - UTC - - Universal Time Coordinated - -

    -

    - - WGS - - World Geodetic System - -

    -

    - - - 4 - - Basic format elements - - -

    -

    - - - 4.1 - - Presentation Language - - -

    -

    - - The presentation language is derived from the Internet Engineering Task Force (IETF) RFC 2246 (TLS) [ - 5 - ] and from IEEE 1609.2-2012 [ - i.2 - ] (draft D12) and is described in table - 1 - . The encoding of multi-byte elements of the presentation language shall always use network byte order, i.e. big endian byte order, if applicable. - -

    -

    - - NOTE: - - The presentation language is not formally defined. Parsing tools based on this notation cannot be guaranteed to be consistent or complete. - -

    -

    - - Table : - Presentation language - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Element -

    -
    -

    - Description -

    -
    -

    - Example(s) -

    -
    -

    - Variable names -

    -
    -

    - Variable names are given in lower case -

    -
    -

    - variable_name -

    -
    -

    - Basic data types -

    -
    -

    - Basic data types are given in lower case -

    -
    -

    - uint8, uint16, uint32, uint64 -

    -
    -

    - Composed data types -

    -
    -

    - Composed data types are given with at least the first letter in upper case -

    -
    -

    - MyDataType -

    -
    -

    - Comments -

    -
    -

    - Comments start with the "//" indicator -

    -
    -

    - // This is a comment -

    -
    -

    - Numbers -

    -
    -

    - Numbers are given as signed or unsigned big-endian octets -

    -
    -

    - uint8, uint16, uint32, uint64, sint32 -

    -
    -

    - Fixed-length vectors -

    -
    -

    - Fixed-length vectors have a data type and a fixed octet size given in square brackets -

    -
    -

    - uint8 Coordinates[2]; -

    -

    - // two uint8 values -

    -

    - uint32 Coordinates[8]; -

    -

    - // two uint32 values -

    -
    -

    - Variable-length vectors with fixed-length length encoding -

    -
    -

    - The number in angle brackets gives the maximum number of octets. Depending on the maximum size, the first 1 byte, 2 bytes, 4 bytes or 8 bytes encode the actual field length -

    -
    -

    - uint8 AsciiChar; -

    -

    - AsciiChar Name<2^8-1>; -

    -

    - // "abc" encoded as -

    -

    - // 0x03, 0x61, 0x62, 0x63 -

    -

    - AsciiChar LongName<2^16-1>; -

    -

    - // "abc" encoded as -

    -

    - // 0x00, 0x03, 0x61, 0x62, 0x63 -

    -
    -

    - Variable-length vectors with variable-length length encoding -

    -
    -

    - - <var> indicates variable-length encoding. The length itself is encoded with a number of "1" bits according to the additional number of octets used to encode the length, followed by a "0" bit and the actual length value. The maximum length shall be 2 - - 56 - - 1, i.e. at most seven "1" bits followed by a "0" bit shall be used for the variable-length length encoding. The length of variable-length vectors with variable-length length encoding shall be encoded as positive integer using the minimum number of bits necessary - - -

    -
    -

    - uint8 AsciiChar; -

    -

    - AsciiChar Name<var>; -

    -

    -

    - - // encoding examples: (the bits with // grey background represent the -
    - // length encoding of the vector's -
    - // length, X the first of the // vector's following payload bits) -
    -

    -

    - - // Vector length 5: -
    - // Bits: - - 0 - 0000101 XXXXXXXX XXXXXXXX - -
    -

    -

    - - // Vector length 123: -
    - // Bits: - - 0 - 1111011 XXXXXXXX XXXXXXXX - -
    -

    -

    - - // Vector length 388: -
    - // Bits: - - 10 - 000001 10000100 XXXXXXXX - -
    -

    -
    -

    - Opaque fields -

    -
    -

    - Opaque fields are blocks of data whose content interpretation is not further specified -

    -
    -

    - opaque fieldname[n]; -

    -

    - opaque fieldname<n>; -

    -

    - opaque fieldname<var>; -

    -
    -

    - Enumerations -

    -
    -

    - Enumerations are list of labels with a unique value for each label, and optionally a maximum value (which then determines length of encoding) -

    -
    -

    - enum {de(0), fr(1), it(2)} Country; -

    -

    - enum {de(0), fr(1), it(2), (2^8-1)} Country; -

    -

    - // both variants encoding in one -

    -

    - // octet -

    -

    - enum {de(0), fr(1), it(2), (2^16-1)} Country; -

    -

    - // Encoding in two octets -

    -
    -

    - Constructed types -

    -
    -

    - Constructed types contain other types -

    -
    -

    - struct { -

    -

    - - - Name name; - -

    -

    - - - Country country; - -

    -

    - } Person; -

    -
    -

    - Case statements -

    -
    -

    - Case statements are used inside constructed types to change the contents of the constructed type depending on the value of the variable given in brackets -

    -
    -

    - struct { -

    -

    - - - Name name; - -

    -

    - - - Country country; - -

    -

    - - - select(country) { - -

    -

    - - - case de: - -

    -

    - - - - uint8 age; - -

    -

    - - - case fr: - -

    -

    - - - - AsciiChar given_name<2^8-1>; - -

    -

    - - - } - -

    -

    - } Person; -

    -
    -

    - External data -

    -
    -

    - This is external data that has impact on a struct, e.g. in a select statement. It shall be described from where the external data is obtained -

    -
    -

    - struct { -

    -

    - - - Name name; - -

    -

    - - - extern Country country; - -

    -

    - - - select(country) { - -

    -

    - - - case de: - -

    -

    - - - - uint8 age; - -

    -

    - - - case fr: - -

    -

    - - - - AsciiChar given_name<2^8-1>; - -

    -

    - - - } - -

    -

    - } Person; -

    -
    -

    -

    -

    - - - 4.2 - - Specification of basic format elements - - -

    -

    - - - 4.2.1 - - IntX - - -

    -

    - - int_x - - IntX; - -

    -

    -

    - This data type encodes an integer of variable length. The length of this integer is encoded by a number of 1 bits followed by a 0 bit, where the number of 1 bits is equal to the number of additional octets used to encode the integer besides those used (partially) to encode the length. The encoding of the length shall use at most 7 bits set to 1. -

    -

    - - EXAMPLE: - - 00001010 encodes the integer 10, while 10001000 10001000 encodes the integer 2 184. The bits encoding the length of the element are coloured with a grey background. - -

    -

    - - NOTE: - - This definition is similar to the definition of PSID in IEEE 1609.3-2010 [ - i.4 - ], clause 8.1.3, but allows bigger values of the encoded integer. - -

    -

    - - - 4.2.2 - - PublicKeyAlgorithm - - -

    -

    - enum { -

    -

    - - - ecdsa_nistp256_with_sha256(0), - -

    -

    - - - ecies_nistp256(1), - -

    -

    - - - reserved(240..255), - -

    -

    - - - (2^8-1) - -

    -

    - } PublicKeyAlgorithm; -

    -

    -

    - This enumeration lists supported algorithms based on public key cryptography. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. -

    -

    - - NOTE: - - This definition is similar to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.16, but - - ecdsa_nistp224_with_sha224 - - is not supported by the present document. As a consequence, the numbering of identical elements (e.g. - - ecies_nistp256 - ) differs. - - - - -

    -

    - - - 4.2.3 - - SymmetricAlgorithm - - -

    -

    - enum { -

    -

    - - - aes_128_ccm (0), - -

    -

    - - - reserved (240..255), - -

    -

    - - - (2^8-1) - -

    -

    - } SymmetricAlgorithm; -

    -

    -

    - - This enumeration lists supported algorithms based on symmetric key cryptography. Values in the range of 240 to 255 shall not be used as they are reserved for internal testing purposes. The algorithm - - aes_128_ccm - - denotes the symmetric key cryptography algorithm AES-CCM as specified in NIST SP 800-38C [ - 4 - ]. - - - -

    -

    - - NOTE: - - Except naming, this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.23. - -

    -

    - - - 4.2.4 - - PublicKey - - -

    -

    - struct { -

    -

    - - - PublicKeyAlgorithm - - algorithm; - -

    -

    - - - select(algorithm) { - -

    -

    - - - case ecdsa_nistp256_with_sha256: - -

    -

    - - - - EccPoint - - - public_key; - -

    -

    - - - case ecies_nistp256: - -

    -

    - - - - SymmetricAlgorithm - - supported_symm_alg; - -

    -

    - - - - EccPoint - - - public_key; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - other_key<var>; - -

    -

    - - - } - -

    -

    - } PublicKey; -

    -

    -

    - - This structure defines a wrapper for public keys by specifying the used algorithm and - depending on the value of - - algorithm - - the necessary data fields: - - -

    - -

    - - NOTE: - - Except naming of included types, this definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.31. - -

    -

    - - - 4.2.5 - - EccPoint - - -

    -

    - struct { -

    -

    - - - extern PublicKeyAlgorithm - - algorithm; - -

    -

    - - - extern uint8 - - - - - field_size; - -

    -

    - - - EccPointType - - - - type; - -

    -

    - - - opaque - - - - - - - x[field_size]; - -

    -

    - - - select(type) { - -

    -

    - - - case x_coordinate_only: - -

    -

    - - - case compressed_lsb_y_0: - -

    -

    - - - case compressed_lsb_y_1: - -

    -

    - - - - - - - - - - ; - -

    -

    - - - case uncompressed: - -

    -

    - - - - opaque - - - - - - y[field_size]; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - - data<var>; - -

    -

    - - - } - -

    -

    - } EccPoint; -

    -

    -

    - - This structure defines a public key based on elliptic curve cryptography according to IEEE 1363-2000 [ - 1 - ], clause 5.5.6. An - - EccPoint - - encodes a coordinate on a two dimensional elliptic curve. The x coordinate of this point shall be encoded in - - x - - as an unsigned integer. Depending on the key type, the - - y - coordinate shall be encoded case-specific: - - - - - - -

    -
      -

      -

    • - - x_coordinate_only - : only the x coordinate is encoded, no additional data shall be given. - -
    • -

      -

      -

    • - - compressed_lsb_y_0 - - : the point is compressed and - - y - 's least significant bit is zero, no additional data shall be given. - - - -
    • -

      -

      -

    • - - compressed_lsb_y_1 - - : the point is compressed and - - y - 's least significant bit is one, no additional data shall be given. - - - -
    • -

      -

      -

    • - - uncompressed - - : the y coordinate is encoded in the field - - y - - as an unsigned integer. The y coordinate contained in a vector of length - - field_size - - containing - - opaque - data shall be given. - - - - - - - -
    • -

      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing - - opaque - data shall be given. - - - -
    • -

      -
    -

    - - The - - uint8 - - - field_size - - defining the lengths of the vectors containing the raw keys shall be derived from the given algorithm and the mapping as defined in table - 2 - . The necessary algorithm shall be given as an external link to the parameter - - pk_encryption - - specified in the structure - - RecipientInfo - - . - - - - - -

    -

    - - - - - - - - - - - - - - - - - - -
    -

    - - Table - - : - Derivation of field sizes -
    - depending on the used algorithm -
    -
    -

    -
    -

    - PublicKeyAlgorithm value -

    -
    -

    - Length in octets -

    -
    -

    - ecdsa_nistp256_with_sha256 -

    -
    -

    - 32 -

    -
    -

    - ecies_nistp256 -

    -
    -

    - 32 -

    -
    -

    -

    -

    - - NOTE: - - Except inclusion of all remaining elements of the enumeration EccPointType that previously matched to case - - uncompressed - - and inclusion of case - - unknown - - , this definition is identical to the EccPublicKey in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.18. - - - - - -

    -

    - - - 4.2.6 - - EccPointType - - -

    -

    - enum { -

    -

    - - - x_coordinate_only(0), - -

    -

    - - - compressed_lsb_y_0(2), - -

    -

    - - - compressed_lsb_y_1(3), - -

    -

    - - - uncompressed(4), - -

    -

    - - - (2^8-1) - -

    -

    - } EccPointType; -

    -

    -

    - This enumeration lists supported ECC point types. -

    -

    - - NOTE: - - This definition is identical to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.2.19. - -

    -

    - - - 4.2.7 - - EncryptionParameters - - -

    -

    - struct { -

    -

    - - - SymmetricAlgorithm - - symm_algorithm - ; - -

    -

    - - - select(symm_algorithm) { - -

    -

    - - - case aes_128_ccm: - -

    -

    - - - - opaque - - - - nonce[12]; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - params<var>; - -

    -

    - - - } - -

    -

    - } EncryptionParameters; -

    -

    -

    - - This structure holds basic parameters and additional data required for encryption and decryption of data using different symmetric encryption algorithms. In case of - - aes_128_ccm - - a 12 octet nonce shall be given. The parameter - - Tlen - - according to NIST SP 800-38C [ - 4 - ] shall be set to - - Tlen - - = 128 (bits) and no associated data shall be given. In other cases the data shall be given as a variable-length vector containing - - opaque - - data. It is out of scope of this definition how resulting ciphertexts are transported. Typically, a ciphertext should be put into a - - Payload - - data structure marked as - - - encrypted - - using the - - PayloadType - - . - - - - - - - - - - - - -

    -

    - - NOTE: - - This structure is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 4.2.8 - - Signature - - -

    -

    - struct { -

    -

    - - - PublicKeyAlgorithm - - algorithm; - -

    -

    - - - select(algorithm) { - -

    -

    - - - case ecdsa_nistp256_with_sha256: - -

    -

    - - - - EcdsaSignature - - ecdsa_signature; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - signature<var>; - -

    -

    - - - } - -

    -

    - } Signature; -

    -

    -

    - - This structure defines a container that encapsulates signatures based on public key cryptography. Depending on the value of - - algorithm - , different data structures define the algorithm-specific details: - - -

    -
      -

      -

    • - - ecdsa_nistp256_with_sha256 - - : the signature contained in an - - EcdsaSignature - - structure shall be given. - - -
    • -

      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing the signature as - - opaque - data shall be given. - - - -
    • -

      -
    -

    - - The data in this structure can be used to verify a data structure's integrity. In conjunction with a matching - - SignerInfo - - structure, the data structure's authenticity can also be verified. - -

    -

    - It is necessary to note the following points: -

    -
      -

      -

    • - - Clause - 5.6 - defines which parts of a - - SecuredMessage - - data structure are covered by a signature. - -
    • -

      -

      -

    • - - The length of the - - security_field<var> - - variable length vector in the - - SecuredMessage - - containing the - - Signature - field shall be calculated before creating the signature using the length of the signature. - - - - -
    • -

      -

      -

    • - - Before calculating the actual signature, the length field of the surrounding variable length vector - - TrailerField - - - - shall be calculated using the value of - - field_size - , since this length field is part of the signed content. - - - - -
    • -

      -
    -

    - - NOTE: - - Except naming and full inclusion (not marked as - - extern - - ) of the enumeration - - PublicKeyAlgorithm - - , this definition is identical to the one in IEEE.1609.2 Draft D12 [ - i.2 - ], clause 6.2.15. - - - - - -

    -

    - - - 4.2.9 - - EcdsaSignature - - -

    -

    - struct { -

    -

    - - - extern PublicKeyAlgorithm - - algorithm; - -

    -

    - - - extern uint8 - - - - - field_size; - -

    -

    - - - EccPoint - - - - - R; - -

    -

    - - - opaque - - - - - - - s[field_size]; - -

    -

    - } EcdsaSignature; -

    -

    -

    -

    - - NOTE 1: - - - - A certificate is considered valid if the current time is within the validity period specified in the certificate, the current region is within the validity region specified in the certificate, the type of the certificate is valid for the current type of communication, the signature, which covers all fields except the signature itself, is valid, and the certificate of the signer is valid as signer for the given certificate's type. If the certificate is self-signed, it is valid if it is stored as a trusted certificate. - - -

    -

    - - NOTE 2: - - This definition differs substantially from the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.1. - -

    -

    - - - 6.2 - - SubjectInfo - - -

    -

    - struct { -

    -

    - - - SubjectType - - - subject_type; - -

    -

    - - - opaque - - - - subject_name<2^8-1>; - -

    -

    - } SubjectInfo; -

    -

    -

    - - This structure defines how to encode information about a certificate's subject. It contains the type of information in - - subject_type - - and the information itself in the variable-length vector - - subject_name - - . - - - The - - - subject_name - - variable-length vector shall have a maximum length of 32 bytes. - - - - - - - -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 6.3 - - SubjectType - - -

    -

    - enum { -

    -

    - - - enrollment_credential(0), - -

    -

    - - - authorization_ticket(1), - -

    -

    - - - authorization_authority(2), - -

    -

    - - - enrollment_authority(3), - -

    -

    - - - root_ca(4), - -

    -

    - - - crl_signer(5), - -

    -

    - - - (2^8-1) - -

    -

    - } SubjectType; -

    -

    -

    - This enumeration lists the possible types of subjects: -

    - -

    - - NOTE: - - This definition substantially differs from the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.3. - -

    -

    - - - 6.4 - - SubjectAttribute - - -

    -

    - struct { -

    -

    - - - SubjectAttributeType - - type; - -

    -

    - - - select(type) { - -

    -

    - - - case verification_key: - -

    -

    - - - case encryption_key: - - - -

    -

    - - - - PublicKey - - - - key; - -

    -

    - - - case reconstruction_value: - -

    -

    - - - - EccPoint - - - - rv; - -

    -

    - - - case assurance_level: - -

    -

    - - - - SubjectAssurance - - assurance_level; - -

    -

    - - - case its_aid_list: - -

    -

    - - - - IntX - - - - - its_aid_list<var>; - -

    -

    - - - case its_aid_ssp_list: - -

    -

    - - - - ItsAidSsp - - - - its_aid_ssp_list<var>; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - other_attribute<var>; - -

    -

    - - - } - -

    -

    - } SubjectAttribute; -

    -

    -

    - - This structure defines how to encode a subject attribute. These attributes serve the purpose of specifying the technical details of a certificate's subject. Depending on the value of - - type - , the following additional data shall be given: - - -

    -
      -

      -

    • - - verification_key - - and - - encryption_key - - : a public key contained in a - - PublicKey - structure shall be given. - - - - - -
    • -

      -

      -

    • - - reconstruction_value - - : an ECC point contained in a - - EccPoint - - structure shall be given, which may be used for implicit certificates using ECQV [ - i.5 - ]. - - -
    • -

      -

      -

    • - - assurance_level - - : the assurance level for the subject contained in a - - SubjectAssurance - - structure shall be given. - - -
    • -

      -

      -

    • - - its_aid_list - - : ITS-AIDs contained in a variable-length vector of type - - IntX - - shall be given. - - -
    • -

      -

      -

    • - - its_aid_ssp_list - - : ITS-AIDs with associated SSPs contained in a variable-length vector of type - - ItsAidSsp - - shall be given. - - -
    • -

      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing - - opaque - data shall be given. - - - -
    • -

      -
    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 6.5 - - SubjectAttributeType - - -

    -

    - enum { -

    -

    - - - verification_key(0), - -

    -

    - - - encryption_key(1), - -

    -

    - - - assurance_level(2), - -

    -

    - - - reconstruction_value(3), - -

    -

    - - - its_aid_list(32), - -

    -

    - - - its_aid_ssp_list(33), - -

    -

    - - - (2^8-1) - -

    -

    - } SubjectAttributeType; -

    -

    -

    - This enumeration lists the possible types of subject attributes. -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 6.6 - - SubjectAssurance - - -

    -

    - - opaque - - SubjectAssurance; - -

    -

    -

    - This field contains the ITS-S's assurance, which denotes the ITS-S's security of both the platform and storage of secret keys as well as the confidence in this assessment. -

    -

    - - This field shall be encoded as defined in table - 5 - , where "A" denotes bit fields specifying an assurance level, "R" reserved bit fields and "C" bit fields specifying the confidence. - -

    -

    - - Table - 5 - : Bitwise encoding of subject assurance - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Bit number -

    -
    -

    - 7 -

    -
    -

    - 6 -

    -
    -

    - 5 -

    -
    -

    - 4 -

    -
    -

    - 3 -

    -
    -

    - 2 -

    -
    -

    - 1 -

    -
    -

    - 0 -

    -
    -

    - Interpretation -

    -
    -

    - A -

    -
    -

    - A -

    -
    -

    - A -

    -
    -

    - R -

    -
    -

    - R -

    -
    -

    - R -

    -
    -

    - C -

    -
    -

    - C -

    -
    -

    -

    -

    - - In table - 5 - , bit number 0 denotes the least significant bit. Bit 7 to bit 5 denote the ITS-S's assurance levels, bit 4 to bit 2 are reserved for future use and bit 1 and bit 0 denote the confidence. - -

    -

    - The specification of these assurance levels as well as the encoding of the confidence levels is outside the scope of the present document. The default (no assurance) shall be all bits set to 0. -

    -

    - - NOTE 1: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - NOTE 2: - - A process should be defined how to evaluate each implementation and how to assign a corresponding subject assurance according to the evaluation result(s). However, this process is out of scope of the present document. - -

    -

    - - - 6.7 - - ValidityRestriction - - -

    -

    - struct { -

    -

    - - - ValidityRestrictionType type; - -

    -

    - - - select(type){ - -

    -

    - - - case time_end: - -

    -

    - - - - Time32 - - - - - end_validity; - -

    -

    - - - case time_start_and_end: - -

    -

    - - - - Time32 - - - - - start_validity; - -

    -

    - - - - Time32 - - - - - end_validity; - -

    -

    - - - case time_start_and_duration: - -

    -

    - - - - Time32 - - - - - start_validity; - -

    -

    - - - - Duration - - - - duration; - -

    -

    - - - case region: - -

    -

    - - - - GeographicRegion - - region; - -

    -

    - - - unknown: - -

    -

    - - - - opaque - - - - - data<var>; - -

    -

    - - - } - -

    -

    - } ValidityRestriction; -

    -

    -

    - - This structure defines ways to restrict the validity of a certificate depending on the value of - - type - : - - -

    -
      -

      -

    • - - time_end - - : the expiration date for the associated certificate contained in a - - Time32 - - structure shall be given. - - -
    • -

      -

      -

    • - - time_start_and_end - - : the beginning of the validity contained in a - - Time32 - - structure and the expiration date contained in another - - Time32 - - structure shall be given. - - -
    • -

      -

      -

    • - - time_start_and_duration - - : the beginning of the validity contained in a - - Time32 - - structure and the duration of validity contained in a - - Duration - - structure shall be given. - - -
    • -

      -

      -

    • - - region - - : the region the certificate is valid in contained in a - - GeographicRegion - - structure shall be given. - - -
    • -

      -

      -

    • - - unknown - - : in all other cases, a variable-length vector containing - - opaque - data shall be given. - - - -
    • -

      -
    -

    - - - - A valid certificate shall contain exactly one validity restriction of type - - - time_end - - , - - time_start_and_end - - , or - - time_start_and_duration - - . - - - - - - - -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 6.8 - - ValidityRestrictionType - - -

    -

    - enum { -

    -

    - - - time_end(0), - -

    -

    - - - time_start_and_end(1), - -

    -

    - - - time_start_and_duration(2), - -

    -

    - - - region(3), - -

    -

    - - - (2^8-1) - -

    -

    - } ValidityRestrictionType; -

    -

    -

    - This enumeration lists the possible types of restrictions to a certificate's validity. -

    -

    - - NOTE: - - This definition is not available in IEEE 1609.2 Draft D12 [ - i.2 - ]. - -

    -

    - - - 6.9 - - ItsAidSsp - - -

    -

    - struct { -

    -

    - - - IntX - - - its_aid; - -

    -

    - - - opaque - - - service_specific_permissions<var>; - -

    -

    - - } - ItsAidSsp - ; - -

    -

    -

    - - This structure defines how to encode an ITS-AID with associated Service Specific Permissions (SSP). - - - - service_specific_permissions - - - shall have a maximum length of 31 octets. - The definition of SSPs is out of scope of the present document. - - - -

    -

    - - NOTE: - - This definition is similar to the one in IEEE 1609.2 Draft D12 [ - i.2 - ], clause 6.3.24, but uses different naming, a slightly more flexible encoding of the ITS-AID. - -

    -

    - - - 7 - - Security profiles - - -

    -

    - - - 7.1 - - - - Security profile for CAMs - - - -

    -

    - This clause defines which fields shall be included in the SecuredMessage structure for Cooperative Awareness Messages (CAMs) as well as the scope of application of cryptographic features applied to the header. -

    -

    - - - - These - - - - HeaderField - - - elements shall be included in all CAMs. - - - With the exception of - - - signer_info - - , which is encoded first, all - - header_field - - elements shall be included in ascending order according to the numbering of the enumeration of the according type structure - : - - - - - -

    - - - -

    - - The - - HeaderField - - element - - request_unrecognized_certificate - - shall be included if an ITS-S received CAMs from other ITS-Ss, which the ITS-S has never encountered before and which included only a - - signer_info - - field of type - - certificate_digest_with_sha256 - - instead of a - - signer_info - - HeaderField of type - - certificate - - . In this case, the signature of the received CAMs cannot be verified because the verification key is missing. - - The field - - - digests<var> - - in the structure of - - request_unrecognized_certificate - - shall be filled with a list of - - - - HashedId3 - - - - elements of the missing ITS-S certificates. - - - - - - - - - - - - - - - - - -

    -

    - - NOTE 1: - - - HashedId3 - - elements can be formed by using the least significant three bytes of the corresponding - HashedId8. - -

    -

    - - - None of the possible - - - HeaderField - - cases shall be included more than once - . - - All other - - - HeaderField - - types defined in clause 5 shall not be used - . Future - - HeaderField - - types may be included. - - Any other - - - HeaderField - - types included shall not be used to determine the validity of the message. - - - - - - - - - -

    -

    - - - A - - - - Payload - - - element shall be included for all CAMs. This element shall be of type - - signed - - and contain the CAM payload. - - - -

    -

    - - - These - - - - TrailerField - - - elements shall be included in all CAMs - : - -

    - -
      -

      -

    • - - protocol_version - - . - - -
    • -

      -

      -

    • - - The variable-length vector - - header_fields - - including its length. - - - -
    • -

      -

      -

    • - - The complete - - payload_field - - field. - - - -
    • -

      -

      -

    • - - The length of the variable-length vector - - trailer_fields - - and the type of the - - signature - - trailer field. - - - - - -
    • -

      -
    -

    - - - CAMs shall not be encrypted. - - -

    -

    - - NOTE 2: - - Table - 6 - illustrates which parts of a - - SecuredMessage - are taken into account when generating the signature of a message. - - -

    -

    - - Table - 6 - : Example for the ECDSA signature generation for a SecuredMessage - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Element -

    -
    -

    - Description -

    -
    -

    - SecuredMessage -

    -
    -

    -

    -

    - - - uint8 protocol_version - -

    -
    -

    - Covered by the signature -

    -
    -

    - - - HeaderField header_fields<var> - -

    -
    -

    - - - - � - -

    -
    -

    - - - Payload payload_fields<var> - -

    -
    -

    - - - - � - -

    -
    -

    - - - TrailerField trailer_fields<var> - -

    -
    -

    - - - - TrailerFieldType type - -

    -
    -

    - - - - - PublicKeyAlgorithm algorithm - -

    -
    -

    - Not covered by the signature -

    -
    -

    - - - - - EcdsaSignature ecdsa_signature - -

    -
    -

    - - - - - - EccPoint R - -

    -
    -

    - - - - - - - EccPointType type - -

    -
    -

    - - - - - - - opaque x[32] - -

    -
    -

    - ECDSA signature (r,s) -

    -
    -

    - - - - - - opaque s[32] - -

    -
    -

    -

    -

    - - - 7.2 - - - Security profile for DENMs - - - -

    -

    - This clause defines which fields shall always be included in the SecuredMessage structure for Decentralized Environmental Notification Messages (DENMs) as well as the scope of application of cryptographic features applied to the header. -

    -

    - - - These - - - - HeaderField - - - elements shall be included in all DENMs. - - With the exception of signer_info, which is encoded first, all - - header_field - - elements shall be included in ascending order according to the numbering of the enumeration of the according type structure: - - -

    - -

    - - - None of the possible - - - HeaderField - - cases shall be included more than once. - - All other - - - HeaderField - - types defined in clause 5 shall not be used. - Future - - HeaderField - - types may be included. - - Any other - - - HeaderField - - types included shall not be used to determine the validity of the message. - - - - - - - - - -

    -

    - - - A - - - - Payload - - - element shall be included for all DENMs. This element shall be of type - - signed - - and contain the DENM payload. - - - -

    -

    - - - These - - - - TrailerField - - - elements shall be included in all DENMs: - -

    - -
      -

      -

    • - - protocol_version - - . - - -
    • -

      -

      -

    • - - The variable-length vector - - header_fields - - including its length. - - - -
    • -

      -

      -

    • - - The complete - - payload_field - - field. - - - -
    • -

      -

      -

    • - - The length of the variable-length vector - - trailer_fields - - and the type of the - - signature - - trailer field. - - - - - -
    • -

      -
    -

    - - - DENMs shall not be encrypted. - - -

    -

    - - - - 7.3 - - - Generic security profile for other signed messages - - -

    -

    - This clause defines which fields shall always be included in the SecuredMessage structure for other signed messages as well as the scope of application of cryptographic features applied to the header. -

    -

    - - - - These - - - - - HeaderField - - - - elements shall be included. - - With the exception of signer_info, which is encoded first, all - - - header_field - - elements shall be included in ascending order according to the numbering of the enumeration of the according type structure - : - - - -

    - -

    - - - - None of the possible - - - HeaderField - - cases shall be included more than once - . - - Additional HeaderField types are allowed. - - - - -

    -

    - - - A - - - - Payload - - - element of type - - signed - - , - - signed_external - - or - - signed_and_encrypted - - shall be included. - - - - - - - -

    -

    - - - These - - - - TrailerField - - - elements shall be included: - -

    - -
      -

      -

    • - - protocol_version - - . - - -
    • -

      -

      -

    • - - The variable-length vector - - header_fields - - including its length. - - - -
    • -

      -

      -

    • - - The complete - - payload_field - - field. If the payload is marked as external, its contents shall be included in the hash as well, at the position where a non-external payload would be. - - - -
    • -

      -

      -

    • - - The length of the variable-length vector - - trailer_fields - - and the type of the - - signature - trailer field. - - - - -
    • -

      -
    -

    - - 7. - 4 - - - Profiles for certificates - - -

    -

    - - - 7.4.1 - - Introduction - - -

    -

    - Clause 7.4 defines which types of variable fields shall always be included in certificates. -

    -

    - - - The - - version - field of a certificate shall be set according to clause 6.1. - -

    -

    - - - - The following - - - SubjectAttribute - - elements shall be included: - - - -

    - -

    - - - - - - Exactly one of the following - - - - - - ValidityRestriction - - - - - fields shall be included: - - -

    -
      -

      -

    • - - - time_end - - - - : this field shall contain the end of validity of the certificate. - - - -
    • -

      -

      -

    • - - - time_start_and_end - - - - : this field shall contain the validity period of the certificate. - - - -
    • -

      -

      -

    • - - - time_start_and_duration - - - - : this field shall contain the validity period of the certificate. - - - -
    • -

      -
    -

    - - The options - time_start_and_end - or - time_start_and_duration - should be preferred. - - - If the - signer_info - is different from - self - , then the validity period defined by - time_end - , - time_start_and_end - or - time_start_and duration - shall be within the validity period of the certificate referenced by the - signer_info - . - - -

    -

    - - - - A certificate shall contain a validity restriction of type - region - , if the certificate referenced by the - signer_info - contains a validity restriction of type - region - . - - - - Every certificate with a validity restriction of type - region - shall contain a region that is covered by the certificate referenced by the - signer_info - . - - - - For the field - signer_info - , exactly one of the following types shall be included: - - -

    -
      -

      -

    • - - certificate_digest_with_sha256 - -
    • -

      -

      -

    • - - certificate_digest_with_other_algorithm - -
    • -

      -

      -

    • - - self - -
    • -

      -
    -

    - Apart from these fields, certificate contents may be extended depending on the purpose of the certificate. -

    -

    - - - All certificates shall contain a - Signature - field - - - containing a signature calculated over these fields of the - - - Certificate - - data structure: - - - - - - -

    - -
      -

      -

    • - - - The - - version - - - - -
    • -

      -

      -

    • - - - The - - signer_info - - - - - - - - -
    • -

      -

      -

    • - - - The - - subject_info - - - - -
    • -

      -

      -

    • - - - The - - subject_attributes - - vector including its length - - - - - - -
    • -

      -

      -

    • - - - The - - validity_restrictions - - vector including its length - - - -
    • -

      -
    -

    - - Every certificate containing an - - its_aid_list - - or - - its_aid_ssp_list - - subject attribute shall contain a subset of the permissions that are contained in the certificate referenced by the - - signer_info - - . An - - its_aid - - in an - - its_aid_list - - shall be interpreted as containing a superset of all possible service specific permissions of this - - its_aid - . - - - - - - - - - - - - -

    -

    - - - 7.4.2 - - - - Authorization tickets (pseudonymous certificates) - - - -

    -

    - - This clause defines additional aspects of authorization tickets (i.e. pseudonymous certificates) as defined in ETSI TS 102 940 [ - 6 - ]. - -

    -

    - - - - For the field - - - signer_info - - , exactly one of the following types shall be included: - - - -

    -
      -

      -

    • - - certificate_digest_with_sha256 - . - -
    • -

      -
    -

    - - The - - SubjectInfo - - field of the authorization ticket shall be set to these values: - -

    - -

    - - - - These - SubjectAttribute - elements shall be included in addition to those specified in clause - 7.4.1 - for all certificates: - - -

    - -

    - - - - As - - ValidityRestriction - - field restricting the time of validity, - time_start_and_end - shall be included. - - -

    -

    - - - 7.4.3 - - Enrolment credential (long-term certificates) - - -

    -

    - - This clause defines additional aspects of enrolment credentials (i.e. long-term certificates) as defined in ETSI TS 102 940 [ - 6 - ]. - -

    -

    - - For the field - - signer_info - , exactly one of the following types shall be included: - - -

    -
      -

      -

    • - certificate_digest_with_sha256. -
    • -

      -
    -

    - - In the - - SubjectInfo - - field of the enrolment credential, - - subject_type - - shall be set to - - enrollment_credential(0 - ). - - - - -

    -

    - - These - - SubjectAttribute - - elements shall be included in addition to those specified in clause - 7. - 4.1 for all certificates: - - - -

    -
      -

      -

    • - - its_aid_ssp_list - - : this field shall contain a list of ITS-AIDs with associated Service Specific Permissions (SSP). For each ITS-AID only one - - ItsAidSsp - shall be used. - - - -
    • -

      -
    -

    - - As - - ValidityRestriction - - field restricting the time of validity, - - time_start_and_end - shall be included. - - -

    -

    - - NOTE: - - The - - its_aid_ssp_list - is used for enrolment credentials to enforce that an ITS-S cannot expand its own service specific permissions in authorization tickets through manipulation of requests to the CA. - - -

    -

    - - - 7.4.4 - - - - Certificate authority certificates - - - -

    -

    - This clause defines additional aspects of certificate authority certificates. -

    -

    - - The following - - SignerInfo - - fields shall be included: - -

    - -

    - - In the - - SubjectInfo - - field of the CA certificate, - - subject_type - shall be set to one of these types: - - -

    - -

    - - - - These - - - SubjectAttribute - - elements shall be included in addition to those specified in clause - - 7. - - 4.1 for authorization authority and enrolment authority certificates - : - - - -

    - -

    - - - - As - - ValidityRestriction - - field restricting the time of validity, - time_start_and_end - shall be included. - - -

    -

    - - NOTE: - - The authorization and enrolment authority certificates contain an - - its_aid_list - , because a CA should not be able to create certificates for ITS stations containing ITS-AIDs that the CA was not authorized to by the root CA. - - -

    -

    - ? -

    - - - - Annex A (informative): -
    - Data structure examples -
    -
    -
    -

    - - - A.1 - - Example security envelope structure for CAM - - -

    -

    - - The following structure shown in table - A.1 - is an example security header for a CAM message. The header transports the generation time, identifies the payload as signed, and includes the hash of a certificate, that is, no full certificate is included in this case. Finally, an ECDSA NIST P-256 based signature is attached. - -

    -

    - - Table - A. - : An example signed header for CAM - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Element -

    -
    -

    - Value -

    -
    -

    - Description -

    -
    -

    - Length in octets -

    -
    -

    - SecuredMessage -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - uint8 protocol_version - -

    -
    -

    - 0x02 -

    -
    -

    -

    -

    - 1 -

    -
    -

    - - - HeaderField header_fields<var> - -

    -
    -

    - 0x15 -

    -
    -

    - length: 21 octets -

    -
    -

    - 1 -

    -
    -

    - - - - HeaderFieldType type - -

    -
    -

    - 0x80 -

    -
    -

    - signer_info -

    -
    -

    - 1 -

    -
    -

    - - - - - SignerInfoType signer_info - -

    -
    -

    - 0x01 -

    -
    -

    - certificate_digest_with_sha256 -

    -
    -

    - 1 -

    -
    -

    - - - - - HashedId8 digest - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 8 -

    -
    -

    - - - - HeaderFieldType type - -

    -
    -

    - 0x00 -

    -
    -

    - generation_time -

    -
    -

    - 1 -

    -
    -

    - - - - Time64 generation_time - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 8 -

    -
    -

    - - - - HeaderFieldType type - -

    -
    -

    - 0x05 -

    -
    -

    - its_aid -

    -
    -

    - 1 -

    -
    -

    - - - - IntX its_aid - -

    -
    -

    - [�] -

    -
    -

    - ITS-AID for CAM -

    -
    -

    - 1 -

    -
    -

    - - - Payload payload_field - -

    -
    -

    -

    -

    - payload -

    -
    -

    -

    -

    - - - - PaylodType payload_type - -

    -
    -

    - 0x01 -

    -
    -

    - signed -

    -
    -

    - 1 -

    -
    -

    - - - - opaque data<var> - -

    -
    -

    - 0x00 -

    -
    -

    - length: 0 octets -

    -
    -

    - 1 -

    -
    -

    - - - - - [raw payload data] - -

    -
    -

    -

    -

    -

    -

    - 0 -

    -
    -

    - - - TrailerField trailer_fields<var> - -

    -
    -

    - 0x43 -

    -
    -

    - length: 67 octets -

    -
    -

    - 1 -

    -
    -

    - - - - TrailerFieldType type - -

    -
    -

    - 0x01 -

    -
    -

    - signature -

    -
    -

    - 1 -

    -
    -

    - - - - - PublicKeyAlgorithm algorithm - -

    -
    -

    - 0x00 -

    -
    -

    - ecdsa_nistp256_with_sha_256 -

    -
    -

    - 1 -

    -
    -

    - - - - - EcdsaSignature ecdsa_signature - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - - - EccPoint R - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - - - - EccPointType type - -

    -
    -

    - 0x00 -

    -
    -

    - x_coordinate_only -

    -
    -

    - 1 -

    -
    -

    - - - - - - - opaque x[32] - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 32 -

    -
    -

    - - - - - - opaque s[32] - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 32 -

    -
    -

    - The total size of the security header structure is 93 octets. -

    -
    -

    -

    -

    - - - A.2 - - Example structure of a certificate - - -

    -

    - - The following structure shown in table - A.2 - is an example of a certificate. - -

    -

    - - Table - A. - : An example structure of a certificate - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Element -

    -
    -

    - Value -

    -
    -

    - Description -

    -
    -

    - Length in octets -

    -
    -

    - Certificate -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - uint8 version - -

    -
    -

    - 0x02 -

    -
    -

    -

    -

    - 1 -

    -
    -

    - - - Signe - - rInfo si - gner_info - - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - SignerInfoType type - -

    -
    -

    - 0x01 -

    -
    -

    - certificate_digest_with_sha256 -

    -
    -

    - 1 -

    -
    -

    - - - - HashedId8 digest - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 8 -

    -
    -

    - - - SubjectInfo subject_info - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - SubjectType type - -

    -
    -

    - 0x01 -

    -
    -

    - authorization_ticket -

    -
    -

    - 1 -

    -
    -

    - - - - opaque subject_name<var> - -

    -
    -

    - 0x00 -

    -
    -

    - - length: 0 - - ( - no name - - -

    -
    -

    - 1 -

    -
    -

    - - - - - [subject name] - -

    -
    -

    -

    -

    -

    -

    - 0 -

    -
    -

    - - - SubjectAttribute subject_attributes<var> - -

    -
    -

    - 0x2b -

    -
    -

    - length: 43 -

    -
    -

    - 1 -

    -
    -

    - - - - SubjectAttributeType type - -

    -
    -

    - 0x00 -

    -
    -

    - verification_key -

    -
    -

    - 1 -

    -
    -

    - - - - PublicKey key - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - - PublicKeyAlgorithm algorithm - -

    -
    -

    - 0x00 -

    -
    -

    - ecdsa_nistp256_with_sha256 -

    -
    -

    - 1 -

    -
    -

    - - - - - EccPoint public_key - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - - - EccPointType type - -

    -
    -

    - 0x02 -

    -
    -

    - compressed_lsb_y_0 -

    -
    -

    - 1 -

    -
    -

    - - - - - - opaque x[32] - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 32 -

    -
    -

    - - - - SubjectAttributeType type - -

    -
    -

    - 0x02 -

    -
    -

    - assurance_level -

    -
    -

    - 1 -

    -
    -

    - - - - SubjectAssurance assurance_level - -

    -
    -

    - 0x83 -

    -
    -

    - level_4_confidence_3 -

    -
    -

    - 1 -

    -
    -

    - - - - SubjectAttributeType type - -

    -
    -

    - 0x33 -

    -
    -

    - its_aid_ssp_list -

    -
    -

    - 1 -

    -
    -

    - - - - - ItsAidSsp its_aid_ssp_list<var> - -

    -
    -

    - 0x04 -

    -
    -

    - length: 4 octets -

    -
    -

    - 1 -

    -
    -

    - - - - - - IntX its_aid - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 1 -

    -
    -

    - - - - - - opaque service_specific_permissions<var> - -

    -
    -

    - 0x02 -

    -
    -

    - length: 2 octets -

    -
    -

    - 1 -

    -
    -

    - - - - - - - [service specific permissions] - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 2 -

    -
    -

    - - - ValidityRestriction validity_restrictions<var> - -

    -
    -

    - 0x09 -

    -
    -

    - length: 9 octets -

    -
    -

    - 1 -

    -
    -

    - - - - ValidityRestrictionType type - -

    -
    -

    - 0x01 -

    -
    -

    - time_start_and_end -

    -
    -

    - 1 -

    -
    -

    - - - - Time32 start_validity - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 4 -

    -
    -

    - - - - Time32 end_validity - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 4 -

    -
    -

    - - - Signature signature - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - PublicKeyAlgorithm algorithm - -

    -
    -

    - 0x00 -

    -
    -

    - ecdsa_nistp256_with_sha256 -

    -
    -

    - 1 -

    -
    -

    - - - - EcdsaSignature ecdsa_signature - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - - EccPoint R - -

    -
    -

    -

    -

    -

    -

    -

    -

    - - - - - - EccPointType type - -

    -
    -

    - 0x00 -

    -
    -

    - x_coordinate_only -

    -
    -

    - 1 -

    -
    -

    - - - - - - opaque x[32] - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 32 -

    -
    -

    - - - - - opaque s[32] - -

    -
    -

    - [�] -

    -
    -

    -

    -

    - 32 -

    -
    -

    - The total size of this certificate is 132 octets. -

    -
    -

    -

    -

    - ? -

    - - - - Annex B (informative): -
    - Usage of ITS-AID and SSPs -
    -
    -
    -

    - An incoming secured message should only be accepted by the receiver if the payload of the secured message is consistent with the ITS-AID and SSP in the certificate. This consistency should be checked in two ways: -

    -
      -

      -

    1. - - Within the security processing, the ITS-AID in the certificate can be checked for consistency with the - - its_aid - field in the SecuredMessage format. - - -
    2. -

      -

      -

    3. - At the point at which the data is processed (which may be in the receiving facilities layer or in the receiving application layer), the data can be checked for consistency with the ITS-AID and the SSP from the certificate. Architecturally, this check is carried out by the processing entity that processes the data payload of the SecuredMessage, not by the security processing services. This is because the security processing services cannot and should not be expected to be able to parse the data of all possible different applications and facilities. Thus, a full definition of a data exchange for applications or facilities that use signed messages should include a specification of the ITS-AID, a specification of the SSP, and a definition of what it means for the data itself to be consistent with the ITS-AID and SSP. -
    4. -

      -
    -

    - The use of ITS-AID and SSP therefore includes the following steps: -

    -
      -

      -

    1. - At the design stage, the group defining a given data exchange determines whether the exchanges are to be signed with ETSI TS 103 097 certificates. If they are, the group reserves an ITS-AID and defines an SSP. -
    2. -

      -

      -

    3. - When an ITS-Station is initialized with the ability to carry out a data exchange, it requests certificates with the appropriate ITS-AID and SSP. -
    4. -

      -

      -

    5. - An Authorization Authority determines whether the ITS-Station is entitled to that ITS-AID and SSP, using methods outside the scope of the present document to make that determination. It issues the certificates to the ITS-S. -
    6. -

      -

      -

    7. - The sending ITS-Station generates a message that is consistent with the ITS-AID and SSP, and uses the private key corresponding to the certificate to sign that message. -
    8. -

      -

      -

    9. - On the receiving side, the security processing checks that the message was correctly cryptographically signed, is not a replay (if appropriate), etc. -
    10. -

      -

      -

    11. - On the receiving side, the data processing entity (which may be an application or the facilities layer) uses the ITS-AID and SSP from the certificate to check that the data is consistent with those permissions. This means that the ITS-AID and SSP should be made available to the data processing entity, for example by passing them across an interface from the security processing, or by passing the entire certificate and letting the data processing entity extract the ITS-AID and SSP from the certificate, or by some other means. -
    12. -

      -
    -

    - - NOTE 1: - - The ITS-AID and SSP are contained in the certificate, which is cryptographically authenticated and authorized by the Authorization Authority. Because of this cryptographic authentication, it is impossible for the certificate holder to change their permissions without causing cryptographic authentication to fail. - -

    -

    - - NOTE 2: - - The ETSI TS 103 097 certificate format allows a certificate to contain multiple (ITS-AID, SSP) pairs. In this case, the receiving side processing is expected to know which ITS-AID is to be used in conjunction with an incoming message. - -

    -

    - One way to make the concept of SSP future proof is to add the version number of the corresponding facility to the SSP. -

    -

    - The interpretation of the SSP is specific for each facility. One possible way to implement it is to use a bit map to define which permissions a sender is authorized to use. -

    -

    - The bit value "1" then means that the sender is authorized to use the corresponding feature and consequently the bit value "0" means that the sender is not authorized to use it. -

    -

    - ? -

    -

    - - History - -

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Document history -

    -
    -

    - V1.1.1 -

    -
    -

    - April 2013 -

    -
    -

    - Publication -

    -
    -

    - - V1.2 - - . - 1 - - -

    -
    -

    - June 2015 -

    -
    -

    - Publication -

    -
    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    - image1.jpg - - \ No newline at end of file diff --git a/requality/TS103096/root/Reports.json b/requality/TS103096/root/Reports.json deleted file mode 100644 index 93ff7b8009ae7b63a18aaab28e752ed4cceb12da..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Reports.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "attributes": {"_type": { - "key": "_type", - "type": "STRING", - "value": "ReportFolder" - }}, - "uuid": "a0e940c4-596f-4a62-b15f-6f591eaaeaac" -} \ No newline at end of file diff --git a/requality/TS103096/root/Reports/TPs.json b/requality/TS103096/root/Reports/TPs.json deleted file mode 100644 index 19061c4b8b054781503098f9dd70db33031c69d0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Reports/TPs.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "891254f1-584d-43a1-a725-a2321671c07c", - "type": "STRING", - "value": "ReportFolder" - }}, - "uuid": "891254f1-584d-43a1-a725-a2321671c07c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Reports/TPs/AllTestPurposes.json b/requality/TS103096/root/Reports/TPs/AllTestPurposes.json deleted file mode 100644 index c3b0bebc83280cd29a61cf17f010fcb6746fb5cc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Reports/TPs/AllTestPurposes.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "_root_requiremnt_qid": { - "isGenerated": false, - "key": "_root_requiremnt_qid", - "origin": "85900cfa-7722-47ca-873f-22692e87aebc", - "type": "STRING", - "value": "/Requirements/SEC_ITSS" - }, - "_template_id": { - "isGenerated": false, - "key": "_template_id", - "origin": "85900cfa-7722-47ca-873f-22692e87aebc", - "type": "STRING", - "value": "com.unitesk.requality.reports.tps" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "85900cfa-7722-47ca-873f-22692e87aebc", - "type": "STRING", - "value": "ReportSettings" - }, - "showTPStatus": { - "isGenerated": false, - "key": "showTPStatus", - "origin": "85900cfa-7722-47ca-873f-22692e87aebc", - "type": "STRING", - "value": "false" - }, - "startLevel": { - "isGenerated": false, - "key": "startLevel", - "origin": "85900cfa-7722-47ca-873f-22692e87aebc", - "type": "INT", - "value": 1 - }, - "startPrefix": { - "isGenerated": false, - "key": "startPrefix", - "origin": "85900cfa-7722-47ca-873f-22692e87aebc", - "type": "STRING", - "value": "5" - } - }, - "uuid": "85900cfa-7722-47ca-873f-22692e87aebc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Reports/TPs/TestPurposes.json b/requality/TS103096/root/Reports/TPs/TestPurposes.json deleted file mode 100644 index 5cf2eff42f41851f3781aa1de3590bae116635b4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Reports/TPs/TestPurposes.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "_root_requiremnt_qid": { - "isGenerated": false, - "key": "_root_requiremnt_qid", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "STRING", - "value": "/Requirements/SEC_ITSS" - }, - "_template_id": { - "isGenerated": false, - "key": "_template_id", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "STRING", - "value": "com.unitesk.requality.reports.tps" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "STRING", - "value": "ReportSettings" - }, - "maxTPStatus": { - "isGenerated": false, - "key": "maxTPStatus", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "STRING", - "value": "complete" - }, - "showTPStatus": { - "isGenerated": false, - "key": "showTPStatus", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "STRING", - "value": "true" - }, - "startLevel": { - "isGenerated": false, - "key": "startLevel", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "INT", - "value": 1 - }, - "startPrefix": { - "isGenerated": false, - "key": "startPrefix", - "origin": "93b1afa4-7003-4bd8-bd45-ea23bb30d129", - "type": "STRING", - "value": "5" - } - }, - "uuid": "93b1afa4-7003-4bd8-bd45-ea23bb30d129" -} \ No newline at end of file diff --git a/requality/TS103096/root/Reports/TestPurposes.json b/requality/TS103096/root/Reports/TestPurposes.json deleted file mode 100644 index 8e13355fce637090c3e1ef36952182386cda0c1e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Reports/TestPurposes.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2147483648", - "origin": "9563fe00-659a-4b16-ba8b-c4129a9f7146", - "type": "STRING", - "value": "2147483648" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "ReportFolder", - "origin": "9563fe00-659a-4b16-ba8b-c4129a9f7146", - "type": "STRING", - "value": "ReportFolder" - } - }, - "uuid": "9563fe00-659a-4b16-ba8b-c4129a9f7146" -} \ No newline at end of file diff --git a/requality/TS103096/root/Reports/TestPurposes/AllTestPurposes.json b/requality/TS103096/root/Reports/TestPurposes/AllTestPurposes.json deleted file mode 100644 index 9469ac09b71513ca66daf64a6204d65511f032de..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Reports/TestPurposes/AllTestPurposes.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "1" - }, - "_root_requiremnt_qid": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_root_requiremnt_qid", - "newvalue": "/Requirements/SEC_ITSS", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "/Requirements/SEC_ITSS" - }, - "_template_id": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_template_id", - "newvalue": "com.unitesk.requality.reports.tps", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "com.unitesk.requality.reports.tps" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "ReportSettings", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "ReportSettings" - }, - "maxTPStatus": { - "availability": "LOCAL", - "isGenerated": false, - "key": "maxTPStatus", - "newvalue": "verified", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "verified" - }, - "showTPStatus": { - "availability": "LOCAL", - "isGenerated": false, - "key": "showTPStatus", - "newvalue": "false", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "false" - }, - "startLevel": { - "availability": "LOCAL", - "isGenerated": false, - "key": "startLevel", - "newvalue": 1, - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "INT", - "value": 1 - }, - "startPrefix": { - "availability": "LOCAL", - "isGenerated": false, - "key": "startPrefix", - "newvalue": "5", - "origin": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151", - "type": "STRING", - "value": "5" - } - }, - "uuid": "6dc43fe5-8a98-4f80-b24c-0e7e25bd8151" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements.json b/requality/TS103096/root/Requirements.json deleted file mode 100644 index 015131ac6cc15c68b3c68fc3ff96730499c43ef8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_generators": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_generators", - "origin": "d2db3776-99f5-4120-a973-733f17032df1", - "type": "LIST", - "value": [] - }, - "_transferStatus": { - "isGenerated": false, - "key": "_transferStatus", - "origin": "d2db3776-99f5-4120-a973-733f17032df1", - "type": "STRING", - "value": "FAILED" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d2db3776-99f5-4120-a973-733f17032df1", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "d2db3776-99f5-4120-a973-733f17032df1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS.json b/requality/TS103096/root/Requirements/SEC_ITSS.json deleted file mode 100644 index 61be3f2dc7d05709b44e7135983987eed76e21cb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "PICS_GN_SECURITY": { - "isGenerated": false, - "key": "PICS_GN_SECURITY", - "origin": "6ba5c537-fff0-4c40-ae46-6c2cb8868cbc", - "type": "STRING", - "value": "true" - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6ba5c537-fff0-4c40-ae46-6c2cb8868cbc", - "type": "STRING", - "value": "ITS-S Security" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6ba5c537-fff0-4c40-ae46-6c2cb8868cbc", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "6ba5c537-fff0-4c40-ae46-6c2cb8868cbc", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "6ba5c537-fff0-4c40-ae46-6c2cb8868cbc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/01.json b/requality/TS103096/root/Requirements/SEC_ITSS/01.json deleted file mode 100644 index d9bb0495f112040b3bf1d6f09a6f6bdd0c9908e2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/01.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "3d5b13ba-1f24-41f0-8597-0d42d1a5db45", - "type": "STRING", - "value": "1. Overview" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3d5b13ba-1f24-41f0-8597-0d42d1a5db45", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "3d5b13ba-1f24-41f0-8597-0d42d1a5db45" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV.json deleted file mode 100644 index 58a740b2f03fed000f5f1894164cd84ab708725e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "93dc7631-4d29-4fc9-85a9-677a400a69ca", - "type": "STRING", - "value": "3. Receiver behaviour" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "93dc7631-4d29-4fc9-85a9-677a400a69ca", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "93dc7631-4d29-4fc9-85a9-677a400a69ca" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM.json deleted file mode 100644 index 12ad3c1b0bad04ddcef098583623e178e4378961..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a88198eb-4c31-4982-bb36-15fd8a07ac1c", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e1308a28-bfa6-40e1-b39e-f1b64d00509d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a88198eb-4c31-4982-bb36-15fd8a07ac1c", - "type": "STRING", - "value": "CAM Profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a88198eb-4c31-4982-bb36-15fd8a07ac1c", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a88198eb-4c31-4982-bb36-15fd8a07ac1c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01.json deleted file mode 100644 index 96af1a1195204724d54824f2f70c5984e685840a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "52e12556-2217-4781-bf6b-2cb11c7e1578", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e1308a28-bfa6-40e1-b39e-f1b64d00509d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "52e12556-2217-4781-bf6b-2cb11c7e1578", - "type": "STRING", - "value": "01. Check that IUT accepts well-formed Secured CAM" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "52e12556-2217-4781-bf6b-2cb11c7e1578", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "52e12556-2217-4781-bf6b-2cb11c7e1578", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "52e12556-2217-4781-bf6b-2cb11c7e1578" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_01_BV.json deleted file mode 100644 index 53b3714801aafd01ef3556037c14c9b7adfbc634..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "f9d66f08-1f63-4cad-87e1-a3a696d53497", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_CAM_01\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f9d66f08-1f63-4cad-87e1-a3a696d53497", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f9d66f08-1f63-4cad-87e1-a3a696d53497", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured CAM containing certificate in signer_info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f9d66f08-1f63-4cad-87e1-a3a696d53497", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_A_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_CAM'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tcontaining CAM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tcontaining signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f9d66f08-1f63-4cad-87e1-a3a696d53497", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f9d66f08-1f63-4cad-87e1-a3a696d53497", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f9d66f08-1f63-4cad-87e1-a3a696d53497" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_02_BV.json deleted file mode 100644 index 7a10c5ee7acbfde1e78e30e1a8f67f9dd9980398..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "ac77bf19-5e6f-4c6a-808f-a6724433e87b", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_CAM_02\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ac77bf19-5e6f-4c6a-808f-a6724433e87b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ac77bf19-5e6f-4c6a-808f-a6724433e87b", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured CAM containing certificate digest of the known certificate in signer_info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ac77bf19-5e6f-4c6a-808f-a6724433e87b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\n\tand the IUT already received a Secured message containing certificate (CERT_TS_A_AT)\r\n\t\tcontaining subject_info.subject_type\r\n\t\t\tindicating 'authorization_ticket'\r\n\t\tand containing subject_attributes['verification key'] (KEY)\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\treferencing to certificate (CERT_TS_A_AT)\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_CAM'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tcontaining CAM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tcontaining signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ac77bf19-5e6f-4c6a-808f-a6724433e87b", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ac77bf19-5e6f-4c6a-808f-a6724433e87b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ac77bf19-5e6f-4c6a-808f-a6724433e87b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_03_BV.json deleted file mode 100644 index f45504edd97c0a6d36e30e01571e0dc4fdbdbe39..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_01/TP_SEC_ITSS_RCV_CAM_01_03_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "eee5a353-8185-499e-8537-fe9576d69742", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_CAM_03\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "eee5a353-8185-499e-8537-fe9576d69742", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "eee5a353-8185-499e-8537-fe9576d69742", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured CAM containing certificate chain in signer_info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "eee5a353-8185-499e-8537-fe9576d69742", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\t\tand containing certificates\r\n\t\t\t\t\t\tcontaining certificates[0] (CERT_TS_A_AA)\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'authorization_authority'\r\n\t\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY_TS_AA)\r\n\t\t\t\t\t\tand containing certificates[1] (CERT_TS_A_AT)\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\t\treferencing to the CERT_TS_A_AA\r\n\t\t\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\t\t\tverifiable using KEY_TS_AA\r\n\t\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY_TS_AT)\r\n\t\t\tand containing header_fields [1] \r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_CAM'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tcontaining CAM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY_TC_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "eee5a353-8185-499e-8537-fe9576d69742", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "eee5a353-8185-499e-8537-fe9576d69742", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "eee5a353-8185-499e-8537-fe9576d69742" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02.json deleted file mode 100644 index d61d99cdc06539a74b659b9cf36b19342a800f5a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "061fcc4d-d166-4b69-9041-d7271b83c4cc", - "type": "STRING", - "value": "Check that ITS-S discards a Secured CAM containing protocol version unequal to 2" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "061fcc4d-d166-4b69-9041-d7271b83c4cc", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "061fcc4d-d166-4b69-9041-d7271b83c4cc", - "type": "STRING", - "value": "02. Check the message protocol version" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "061fcc4d-d166-4b69-9041-d7271b83c4cc", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "061fcc4d-d166-4b69-9041-d7271b83c4cc", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "061fcc4d-d166-4b69-9041-d7271b83c4cc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_01_BO.json deleted file mode 100644 index bb0b2b0348852abc38bb6edcc23ac3bab8231ecc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "92a01858-9318-471b-a180-64e9b778053e", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "92a01858-9318-471b-a180-64e9b778053e", - "type": "STRING", - "value": "Check that IUT discards a Secured CAM containing protocol version set to a value less than 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "92a01858-9318-471b-a180-64e9b778053e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating 1\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "92a01858-9318-471b-a180-64e9b778053e", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "92a01858-9318-471b-a180-64e9b778053e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "92a01858-9318-471b-a180-64e9b778053e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_02_BO.json deleted file mode 100644 index 24357ede9930a5aa30a686e0d8a419a73805fcbf..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_02/TP_SEC_ITSS_RCV_CAM_02_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "413adb35-bfb6-4891-a614-283c4235684a", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "413adb35-bfb6-4891-a614-283c4235684a", - "type": "STRING", - "value": "Check that IUT discards a Secured CAM containing protocol version set to a value greater than 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "413adb35-bfb6-4891-a614-283c4235684a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating 3\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "413adb35-bfb6-4891-a614-283c4235684a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "413adb35-bfb6-4891-a614-283c4235684a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "413adb35-bfb6-4891-a614-283c4235684a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04.json deleted file mode 100644 index 8f6854f994ddc45fae5515834f62f1b044048a92..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "86c7a2a5-a614-4062-8ea8-a5370f5cfcb2", - "type": "STRING", - "value": "Check that the IUT discards Secured CAM containing wrong elements of the header fields\r\nCheck that optinal header fields are allowed" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "86c7a2a5-a614-4062-8ea8-a5370f5cfcb2", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/0bf26c42-7a43-4f6b-8bbf-3f61249999e4", - "/Documents/ts_103097v010201p.xhtml/07ea39bb-bbcf-444f-aa00-f63bdaabc1e1", - "/Documents/ts_103097v010201p.xhtml/c3f4369c-b117-4656-8932-603e7787cbc4", - "/Documents/ts_103097v010201p.xhtml/42e1c2c7-4b3f-4b5f-b9b7-39181507295d", - "/Documents/ts_103097v010201p.xhtml/5d1ff90b-ad9c-416c-900b-030397b6b6ee" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "86c7a2a5-a614-4062-8ea8-a5370f5cfcb2", - "type": "STRING", - "value": "04. Check header fields" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "86c7a2a5-a614-4062-8ea8-a5370f5cfcb2", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "86c7a2a5-a614-4062-8ea8-a5370f5cfcb2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_01_BO.json deleted file mode 100644 index 5153ceab71a7e51b9e05a44c76783a569b2ae88e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d027a0e6-8a56-4bbf-8039-7cf43dfac24c", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d027a0e6-8a56-4bbf-8039-7cf43dfac24c", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains more than header field 'signer_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d027a0e6-8a56-4bbf-8039-7cf43dfac24c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d027a0e6-8a56-4bbf-8039-7cf43dfac24c", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d027a0e6-8a56-4bbf-8039-7cf43dfac24c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d027a0e6-8a56-4bbf-8039-7cf43dfac24c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_02_BO.json deleted file mode 100644 index 2fd64767f46148a3cc1a19ba90de3c2db990b0f0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b836d7bd-1c67-4179-8321-68e132a473cc", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b836d7bd-1c67-4179-8321-68e132a473cc", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields does not contain the header 'signer_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b836d7bd-1c67-4179-8321-68e132a473cc", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b836d7bd-1c67-4179-8321-68e132a473cc", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b836d7bd-1c67-4179-8321-68e132a473cc", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b836d7bd-1c67-4179-8321-68e132a473cc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_03_BO.json deleted file mode 100644 index e2ded8abb92b90d090663a10e2145dc231445d4b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_03_BO.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "22fcb348-8869-4895-b9be-6bb7d3e15eb6", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "22fcb348-8869-4895-b9be-6bb7d3e15eb6", - "type": "STRING", - "value": "Check that IUT is able to receive a secured CAM where the header fields 'signer_info' is not encoded first\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "22fcb348-8869-4895-b9be-6bb7d3e15eb6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\n\tand the IUT is sending CAMs\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage\r\n" - }, - "_generators": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_generators", - "origin": "22fcb348-8869-4895-b9be-6bb7d3e15eb6", - "type": "LIST", - "value": [] - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "22fcb348-8869-4895-b9be-6bb7d3e15eb6", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "22fcb348-8869-4895-b9be-6bb7d3e15eb6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "22fcb348-8869-4895-b9be-6bb7d3e15eb6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_04_BO.json deleted file mode 100644 index b9b522a0007c58f6c5f48fac15654d392ad9fc2b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "444fbe17-0b99-4963-b1f1-4b6cba035ca4", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "444fbe17-0b99-4963-b1f1-4b6cba035ca4", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains more than one header field 'generation_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "444fbe17-0b99-4963-b1f1-4b6cba035ca4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "444fbe17-0b99-4963-b1f1-4b6cba035ca4", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "444fbe17-0b99-4963-b1f1-4b6cba035ca4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "444fbe17-0b99-4963-b1f1-4b6cba035ca4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_05_BO.json deleted file mode 100644 index 2a3ac975b568ce82e65dcff85013e819f36af012..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e0c8271c-e7b9-4b97-b565-3854f4d624eb", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e0c8271c-e7b9-4b97-b565-3854f4d624eb", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields does not contain the header field 'generation_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e0c8271c-e7b9-4b97-b565-3854f4d624eb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e0c8271c-e7b9-4b97-b565-3854f4d624eb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e0c8271c-e7b9-4b97-b565-3854f4d624eb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e0c8271c-e7b9-4b97-b565-3854f4d624eb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06_BO.json deleted file mode 100644 index 9206db973f1a376b012555bd921c989d93ef7536..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "08345dd8-5633-408b-bbcc-c1f415fc0085", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "08345dd8-5633-408b-bbcc-c1f415fc0085", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contain more than one element of header field 'its_aid'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "08345dd8-5633-408b-bbcc-c1f415fc0085", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_CAM'\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "08345dd8-5633-408b-bbcc-c1f415fc0085", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "08345dd8-5633-408b-bbcc-c1f415fc0085", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "08345dd8-5633-408b-bbcc-c1f415fc0085" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06a_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06a_BO.json deleted file mode 100644 index d95c685b7c2091af4e3aeb3931f29f7cca025835..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_06a_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c27d9a0b-f883-41a5-9d74-7d0ef10a6c5e", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c27d9a0b-f883-41a5-9d74-7d0ef10a6c5e", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields does not contain the header field 'its_aid'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c27d9a0b-f883-41a5-9d74-7d0ef10a6c5e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c27d9a0b-f883-41a5-9d74-7d0ef10a6c5e", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c27d9a0b-f883-41a5-9d74-7d0ef10a6c5e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c27d9a0b-f883-41a5-9d74-7d0ef10a6c5e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_07_BO.json deleted file mode 100644 index 46eee45dafd453dc28859967baabadfcde72b05b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "74d41ce0-1519-4a2b-8e38-babf1c911b16", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "74d41ce0-1519-4a2b-8e38-babf1c911b16", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header fields are not in the ascending order according to the numbering of the enumeration." - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "74d41ce0-1519-4a2b-8e38-babf1c911b16", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "74d41ce0-1519-4a2b-8e38-babf1c911b16", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "74d41ce0-1519-4a2b-8e38-babf1c911b16", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "74d41ce0-1519-4a2b-8e38-babf1c911b16" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_08_BO.json deleted file mode 100644 index 73ec906fec00f49153aac545f8beaac9b9f03652..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_08_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094", - "type": "STRING", - "value": "This test purpose is deprecated for v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing the header field 'generation_time_standard_deviation'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating GEN_TIME inside the validity period of the signer certificate\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time_with_standard_deviation'\r\n\t\t\t\tand containing generation_time_with_standard_deviation\r\n\t\t\t\t\tindicating GEN_TIME inside the validity period of the signer certificate\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7bfe3fb5-15f2-4a23-b934-ae5226fb2094" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_10_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_10_BO.json deleted file mode 100644 index 518bc647dc882ccd0bb55e7eda2bcfd1e794263f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_10_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "9db3064d-4914-4492-b7ac-4cfe8594c30c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9db3064d-4914-4492-b7ac-4cfe8594c30c", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing the header field 'expiry_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "9db3064d-4914-4492-b7ac-4cfe8594c30c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'expiration'\r\n\t\t\t\tand containing expiry_time\r\n\t\t\t\t\tindicating CURRENT_TIME + 1h\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "9db3064d-4914-4492-b7ac-4cfe8594c30c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9db3064d-4914-4492-b7ac-4cfe8594c30c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "9db3064d-4914-4492-b7ac-4cfe8594c30c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_11_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_11_BO.json deleted file mode 100644 index 256333c0cb39b4fad6508e7be3ae9d6139295824..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_11_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "005d34eb-77e7-4904-9c9c-56a715ecef95", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "005d34eb-77e7-4904-9c9c-56a715ecef95", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing the header field 'generation_location'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "005d34eb-77e7-4904-9c9c-56a715ecef95", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating certificate\r\n\t\t\t\t\tand containing certificate (CERT_TS_B_AT)\r\n\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region (X_CERT_REGION)\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position outside of the validity restriction of X_CERT_REGION\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "005d34eb-77e7-4904-9c9c-56a715ecef95", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "005d34eb-77e7-4904-9c9c-56a715ecef95", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "005d34eb-77e7-4904-9c9c-56a715ecef95" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_12_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_12_BV.json deleted file mode 100644 index 5fe0f4b91c87c1844791568e5525791d57ba8114..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_12_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ab3ccc23-1082-43c7-8083-79207534ae29", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ab3ccc23-1082-43c7-8083-79207534ae29", - "type": "STRING", - "value": "Check that IUT accepts the Secured CAM containing additional non-standard HeaderField" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ab3ccc23-1082-43c7-8083-79207534ae29", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating non-standard header field type (1000)\r\n\t\t\t\tand containing other_header\r\n\t\t\t\t\tindicating non-empty data\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT accepts the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ab3ccc23-1082-43c7-8083-79207534ae29", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ab3ccc23-1082-43c7-8083-79207534ae29", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ab3ccc23-1082-43c7-8083-79207534ae29" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_13_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_13_BO.json deleted file mode 100644 index 1d34613083fd3a9300b939696402675e31e7c55b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_04/TP_SEC_ITSS_RCV_CAM_04_13_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6f16e5f0-e514-4b57-b249-4f46e70e6669", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6f16e5f0-e514-4b57-b249-4f46e70e6669", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing the header field 'encryption_parameter' and 'recipient_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6f16e5f0-e514-4b57-b249-4f46e70e6669", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state with CERT_IUT_A_AT\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'encryption_parameters'\r\n\t\t\t\tand containing enc_params\r\n\t\t\t\t\tcontaining symm_algorithm\r\n\t\t\t\t\t\tindicating 'aes_128_ccm'\r\n\t\t\t\t\tand containing nonce\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'recipient_info'\r\n\t\t\t\tand containing recipients\r\n\t\t\t\t\tcontaining recipients[0]\r\n\t\t\t\t\t\tcontaining cert_id\r\n\t\t\t\t\t\t\treferencing to CERT_IUT_A_AT\r\n\t\t\t\t\t\tand containing pk_encryption\r\n\t\t\t\t\t\t\tindicating 'ecies_nistp256'\r\n\t\t\t\t\t\tand containing enc_key\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6f16e5f0-e514-4b57-b249-4f46e70e6669", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6f16e5f0-e514-4b57-b249-4f46e70e6669", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6f16e5f0-e514-4b57-b249-4f46e70e6669" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05.json deleted file mode 100644 index ac252eff2c9f3f197d388775732a9581d33ce224..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7e23f23e-d634-4da2-9068-7ab97115cb8a", - "type": "STRING", - "value": "Check that the IUT discards Secured CAM containing other types of signer_info then certificate_digest_with_ecdsap256, certificate_chain or certificate." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7e23f23e-d634-4da2-9068-7ab97115cb8a", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/a5f4f412-efbc-4a6d-a05d-4170914778ea"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7e23f23e-d634-4da2-9068-7ab97115cb8a", - "type": "STRING", - "value": "05. Check signer info" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7e23f23e-d634-4da2-9068-7ab97115cb8a", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7e23f23e-d634-4da2-9068-7ab97115cb8a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_01_BO.json deleted file mode 100644 index 182d2e34697712fd4d59b11b368acc20dc16908e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5881e4b8-96d2-4424-99f1-7e27a8245221", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5881e4b8-96d2-4424-99f1-7e27a8245221", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains a signer of type 'self'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5881e4b8-96d2-4424-99f1-7e27a8245221", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'self'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5881e4b8-96d2-4424-99f1-7e27a8245221", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5881e4b8-96d2-4424-99f1-7e27a8245221", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5881e4b8-96d2-4424-99f1-7e27a8245221" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_02_BO.json deleted file mode 100644 index 76564047cf2aef44c1e9c36a7f2a2273af891a10..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "df8044af-078f-4da3-833c-7e9ab8060567", - "type": "STRING", - "value": "This test purpose is deprecated for v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "df8044af-078f-4da3-833c-7e9ab8060567", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "df8044af-078f-4da3-833c-7e9ab8060567", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains a signer of type certificate_digest_with_other_algorithm" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "df8044af-078f-4da3-833c-7e9ab8060567", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_02)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate_digest_with_other_algorithm'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "df8044af-078f-4da3-833c-7e9ab8060567", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "df8044af-078f-4da3-833c-7e9ab8060567", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "df8044af-078f-4da3-833c-7e9ab8060567" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_03_BO.json deleted file mode 100644 index aa037abf788eeb6652393f5af150db35e35f49e6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "14265998-11d5-47dc-90dd-360be81197bf", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "14265998-11d5-47dc-90dd-360be81197bf", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains a signer of type certificate_chain and the chain is empty" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "14265998-11d5-47dc-90dd-360be81197bf", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_03)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\t\tand containing certificates\r\n\t\t\t\t\t\tindicating length = 0\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "14265998-11d5-47dc-90dd-360be81197bf", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "14265998-11d5-47dc-90dd-360be81197bf", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "14265998-11d5-47dc-90dd-360be81197bf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_04_BO.json deleted file mode 100644 index 1fb5a4c77af00bececb1903503096c537aa47b67..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b9d41271-a8d6-4c47-ab61-b717f0475b1b", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b9d41271-a8d6-4c47-ab61-b717f0475b1b", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains a signer of type certificate_chain and the chain contains only one certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b9d41271-a8d6-4c47-ab61-b717f0475b1b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_03))\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\t\tand containing certificates\r\n\t\t\t\t\t\tindicating length = 1\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b9d41271-a8d6-4c47-ab61-b717f0475b1b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b9d41271-a8d6-4c47-ab61-b717f0475b1b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b9d41271-a8d6-4c47-ab61-b717f0475b1b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_04_BO/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_04_BO/Comment 01.json deleted file mode 100644 index 980a727430e0aab1c3d60c4bfcaa6f7cb6202b89..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_04_BO/Comment 01.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "attributes": { - "_author": { - "key": "_author", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "key": "_description", - "type": "STRING", - "value": "I'm not sure that IUT has to discard this message if the certificate is good" - }, - "_index": { - "key": "_index", - "type": "STRING", - "value": "1" - }, - "_type": { - "key": "_type", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "1a9c256d-de24-4ff7-a3d3-9c14cd7194d4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_05_BO.json deleted file mode 100644 index 9ce2ccdd6a28ee99003ec2f5e36494c1c30966c2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_05/TP_SEC_ITSS_RCV_CAM_05_05_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "a43ae45b-30bb-49b3-b7da-63b52e2a721a", - "type": "STRING", - "value": "Values to be used as X_UNKNOWN_SIGNERINFO_TYPE are 5, 239, 240 and 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a43ae45b-30bb-49b3-b7da-63b52e2a721a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a43ae45b-30bb-49b3-b7da-63b52e2a721a", - "type": "STRING", - "value": "Check that IUT discards a secured CAM if the header_fields contains a signer info of unknown or reserved type" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a43ae45b-30bb-49b3-b7da-63b52e2a721a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_02)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating X_UNKNOWN_SIGNERINFO_TYPE\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a43ae45b-30bb-49b3-b7da-63b52e2a721a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a43ae45b-30bb-49b3-b7da-63b52e2a721a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a43ae45b-30bb-49b3-b7da-63b52e2a721a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06.json deleted file mode 100644 index 863509c4f382012bb6698345d81aebeacfef7944..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c00b6297-8b7a-487b-a79e-802be7b9bddc", - "type": "STRING", - "value": "Check the acceptance of SecuredMessage containing HeaderField generation_time" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c00b6297-8b7a-487b-a79e-802be7b9bddc", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df", - "/Documents/ts_103097v010201p.xhtml/5d915e97-a60c-4999-8820-e69c5f87128c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "c00b6297-8b7a-487b-a79e-802be7b9bddc", - "type": "STRING", - "value": "06. Check generation time" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c00b6297-8b7a-487b-a79e-802be7b9bddc", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c00b6297-8b7a-487b-a79e-802be7b9bddc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_01_BO.json deleted file mode 100644 index d1079b05b4ab832e29e2e4d975fbe7975a5be1ff..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c1ae125d-0a71-40b0-bc5f-1f6acf5b522b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c1ae125d-0a71-40b0-bc5f-1f6acf5b522b", - "type": "STRING", - "value": "Check that IUT discards message containing generation_time before the certificate validity period" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c1ae125d-0a71-40b0-bc5f-1f6acf5b522b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_06_01_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME < START_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c1ae125d-0a71-40b0-bc5f-1f6acf5b522b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c1ae125d-0a71-40b0-bc5f-1f6acf5b522b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c1ae125d-0a71-40b0-bc5f-1f6acf5b522b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_02_BO.json deleted file mode 100644 index a3f427fb70d59b87a9e16d7d63c3f0c7ba9dd8df..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "31bfef9c-2a93-48a0-894e-bc6ada29dfb3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "31bfef9c-2a93-48a0-894e-bc6ada29dfb3", - "type": "STRING", - "value": "Check that IUT discards message containing generation_time after the certificate validity period" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "31bfef9c-2a93-48a0-894e-bc6ada29dfb3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_06_02_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME > END_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "31bfef9c-2a93-48a0-894e-bc6ada29dfb3", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "31bfef9c-2a93-48a0-894e-bc6ada29dfb3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "31bfef9c-2a93-48a0-894e-bc6ada29dfb3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_03_BO.json deleted file mode 100644 index 14931baa9c63db72ba1ee870589ce772c9e85fa6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_03_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "STRING", - "value": "Check that IUT discards Secured CAM if the generation_time is more than 5 minute in the past (C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME ( CURRENT_TIME - 302sec )\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3", - "type": "BOOL", - "value": true - } - }, - "uuid": "222f2aee-af6d-4405-87b2-b5f82ca7ebd3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_04_BO.json deleted file mode 100644 index a337e529d329a5f5aba499ccc4758b08fbdcbb7d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_06/TP_SEC_ITSS_RCV_CAM_06_04_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "STRING", - "value": "Check that IUT discards Secured CAM if the generation_time is more than 5 minute in the future(C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME ( CURRENT_TIME + 302sec )\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "06d7f150-22c9-453a-b19f-cc651c4de59b", - "type": "BOOL", - "value": true - } - }, - "uuid": "06d7f150-22c9-453a-b19f-cc651c4de59b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07.json deleted file mode 100644 index 3661ee8cf7be18863b8d13873d93f9c370a83248..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b4e3715a-9ab8-451e-879a-1b67591e15b0", - "type": "STRING", - "value": "Check the acceptance of message type" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b4e3715a-9ab8-451e-879a-1b67591e15b0", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/ea754a75-9530-4fd0-ae34-bf241af669ad"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "b4e3715a-9ab8-451e-879a-1b67591e15b0", - "type": "STRING", - "value": "07. Check its_aid" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b4e3715a-9ab8-451e-879a-1b67591e15b0", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b4e3715a-9ab8-451e-879a-1b67591e15b0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_01_BO.json deleted file mode 100644 index 9b88bb0d6a37ac877d6ea0961f49e95f807c71ed..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b79fe188-aaed-4b28-ad98-71ecc12b495a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b79fe188-aaed-4b28-ad98-71ecc12b495a", - "type": "STRING", - "value": "Check that IUT discards secured CAM when its_aid value is defined but not the AID_CAM" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b79fe188-aaed-4b28-ad98-71ecc12b495a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tcontaining CAM payload\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b79fe188-aaed-4b28-ad98-71ecc12b495a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b79fe188-aaed-4b28-ad98-71ecc12b495a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b79fe188-aaed-4b28-ad98-71ecc12b495a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_02_BO.json deleted file mode 100644 index a28745560245d39132f51a957d0101e1a5e23848..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_07/TP_SEC_ITSS_RCV_CAM_07_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8c61cd80-18be-455e-8545-45cf1a1cd93f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8c61cd80-18be-455e-8545-45cf1a1cd93f", - "type": "STRING", - "value": "Check that IUT discards secured CAM when its_aid value is undefined" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8c61cd80-18be-455e-8545-45cf1a1cd93f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_UNDEFINED'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tcontaining CAM payload\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8c61cd80-18be-455e-8545-45cf1a1cd93f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8c61cd80-18be-455e-8545-45cf1a1cd93f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8c61cd80-18be-455e-8545-45cf1a1cd93f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09.json deleted file mode 100644 index b06811faa1c50aac1d28ceb7b390f4830ba10ab6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8deea1a5-3222-4877-8f1b-c6a4ec301ba0", - "type": "STRING", - "value": "Check the acceptance of payloads of Secured CAM\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8deea1a5-3222-4877-8f1b-c6a4ec301ba0", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/464098d6-4402-43a2-a11b-e6c0ebb97df7", - "/Documents/ts_103097v010201p.xhtml/3f1cd606-cf67-4db0-ac19-64fc7452d17a" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "8deea1a5-3222-4877-8f1b-c6a4ec301ba0", - "type": "STRING", - "value": "09. Check payload" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8deea1a5-3222-4877-8f1b-c6a4ec301ba0", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8deea1a5-3222-4877-8f1b-c6a4ec301ba0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_02_BO.json deleted file mode 100644 index a92eda3a93f574abb7ce39b84e14a1095439d7f8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "81dd1aa6-6722-4d73-876f-4f9c8366f9df", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "81dd1aa6-6722-4d73-876f-4f9c8366f9df", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing empty payload of type 'signed'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "81dd1aa6-6722-4d73-876f-4f9c8366f9df", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "81dd1aa6-6722-4d73-876f-4f9c8366f9df", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "81dd1aa6-6722-4d73-876f-4f9c8366f9df", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "81dd1aa6-6722-4d73-876f-4f9c8366f9df" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_03_BO.json deleted file mode 100644 index 647f7107cd57310ae58e182c16f0523ef9713193..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0f95a9d6-c674-4cd7-a0ec-6604f60c0a54", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0f95a9d6-c674-4cd7-a0ec-6604f60c0a54", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing non-empty payload of type 'unsecured'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0f95a9d6-c674-4cd7-a0ec-6604f60c0a54", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'unsecured'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0f95a9d6-c674-4cd7-a0ec-6604f60c0a54", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0f95a9d6-c674-4cd7-a0ec-6604f60c0a54", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0f95a9d6-c674-4cd7-a0ec-6604f60c0a54" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_04_BO.json deleted file mode 100644 index a2aa05f3df78c9c8e35c1b5a40f5024b6fca8119..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b5fb4846-64df-4fdb-9349-94b1f3f78bc1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b5fb4846-64df-4fdb-9349-94b1f3f78bc1", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing non-empty payload of type 'encrypted'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b5fb4846-64df-4fdb-9349-94b1f3f78bc1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'encrypted'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b5fb4846-64df-4fdb-9349-94b1f3f78bc1", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b5fb4846-64df-4fdb-9349-94b1f3f78bc1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b5fb4846-64df-4fdb-9349-94b1f3f78bc1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_05_BO.json deleted file mode 100644 index c467567bd4770aad27db4b2ddc6a91c20135d329..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d1c5c8f7-716f-4b6b-b0b3-01eee5cd0936", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d1c5c8f7-716f-4b6b-b0b3-01eee5cd0936", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing non-empty payload of type 'signed_external'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d1c5c8f7-716f-4b6b-b0b3-01eee5cd0936", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed_external'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d1c5c8f7-716f-4b6b-b0b3-01eee5cd0936", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d1c5c8f7-716f-4b6b-b0b3-01eee5cd0936", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d1c5c8f7-716f-4b6b-b0b3-01eee5cd0936" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_06_BO.json deleted file mode 100644 index 8386e19f189af2740f87b6c524bd7d26a6da551c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "29a262b6-9405-45a2-9c46-f7ade8035499", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "29a262b6-9405-45a2-9c46-f7ade8035499", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing non-empty payload of type 'signed_and_encrypted'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "29a262b6-9405-45a2-9c46-f7ade8035499", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed_and_encrypted'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "29a262b6-9405-45a2-9c46-f7ade8035499", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "29a262b6-9405-45a2-9c46-f7ade8035499", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "29a262b6-9405-45a2-9c46-f7ade8035499" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_07_BO.json deleted file mode 100644 index 7f7e4e4583185d5b7d43f71cf652ffb1ac709546..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_09/TP_SEC_ITSS_RCV_CAM_09_07_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "f8bec651-ae18-4536-858a-3fddb97ec79a", - "type": "STRING", - "value": "Proposed values to be used as X_UNKNOWN_PAYLOAD_TYPE are 5 and 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f8bec651-ae18-4536-858a-3fddb97ec79a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f8bec651-ae18-4536-858a-3fddb97ec79a", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing non-empty payload of unknown type" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f8bec651-ae18-4536-858a-3fddb97ec79a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating X_UNKNOWN_PAYLOAD_TYPE\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f8bec651-ae18-4536-858a-3fddb97ec79a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f8bec651-ae18-4536-858a-3fddb97ec79a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f8bec651-ae18-4536-858a-3fddb97ec79a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10.json deleted file mode 100644 index ecafe87a56b163dd899e0faa724038e24a889f81..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d24b7f9d-ee0f-4614-ac07-5898ae0f661f", - "type": "STRING", - "value": "Check that the IUT discards Secured CAMs with wrong payloads\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "d24b7f9d-ee0f-4614-ac07-5898ae0f661f", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/191a229d-de15-4b5a-874c-682846c5d70c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "d24b7f9d-ee0f-4614-ac07-5898ae0f661f", - "type": "STRING", - "value": "10. Check presence of trailer field" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d24b7f9d-ee0f-4614-ac07-5898ae0f661f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "d24b7f9d-ee0f-4614-ac07-5898ae0f661f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10/TP_SEC_ITSS_RCV_CAM_10_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10/TP_SEC_ITSS_RCV_CAM_10_01_BO.json deleted file mode 100644 index 186f2b3f3dec77dc7d76b0b5570e7d743b1a7796..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10/TP_SEC_ITSS_RCV_CAM_10_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a73376ab-8dd8-4455-9eb4-77bee0ae9afb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a73376ab-8dd8-4455-9eb4-77bee0ae9afb", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM if the message does not contain the trailer field of type 'signature'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a73376ab-8dd8-4455-9eb4-77bee0ae9afb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tnot containing any instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a73376ab-8dd8-4455-9eb4-77bee0ae9afb", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a73376ab-8dd8-4455-9eb4-77bee0ae9afb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a73376ab-8dd8-4455-9eb4-77bee0ae9afb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10/TP_SEC_ITSS_RCV_CAM_10_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10/TP_SEC_ITSS_RCV_CAM_10_02_BO.json deleted file mode 100644 index 73fb7a2f62098cb71bcccf6f6c1380ef4215ef1c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_10/TP_SEC_ITSS_RCV_CAM_10_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "60eb204c-3d70-446b-aacb-d2e67855afb5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "60eb204c-3d70-446b-aacb-d2e67855afb5", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing more than one instance of TrailerField of type 'signature'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "60eb204c-3d70-446b-aacb-d2e67855afb5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\tand containing trailer_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "60eb204c-3d70-446b-aacb-d2e67855afb5", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "60eb204c-3d70-446b-aacb-d2e67855afb5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "60eb204c-3d70-446b-aacb-d2e67855afb5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11.json deleted file mode 100644 index 3648b10b6e100f15762924fb24980b0d6c8f0f83..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "64442e91-7734-430b-bc99-08ab477e6430", - "type": "STRING", - "value": "Check that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "64442e91-7734-430b-bc99-08ab477e6430", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787", - "/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "64442e91-7734-430b-bc99-08ab477e6430", - "type": "STRING", - "value": "11. Check signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "64442e91-7734-430b-bc99-08ab477e6430", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "64442e91-7734-430b-bc99-08ab477e6430" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_01_BO.json deleted file mode 100644 index 21db126730bc6ca269a26b611bbb637fb4eabfc3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "68af795e-610e-46a3-b784-1f58f7d02a26", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "68af795e-610e-46a3-b784-1f58f7d02a26", - "type": "STRING", - "value": "Check that the IUT discards Secured message containing signature that is not verified using the verification key from the certificate contained in the message's signer info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "68af795e-610e-46a3-b784-1f58f7d02a26", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining subject_attributes['verification key']\r\n\t\t\t\t\t\tcontaining key (KEY)\r\n\t\t\tand containing trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\t\tand containing signature\r\n\t\t\t\t\tNOT verifiable using KEY\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "68af795e-610e-46a3-b784-1f58f7d02a26", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "68af795e-610e-46a3-b784-1f58f7d02a26", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "68af795e-610e-46a3-b784-1f58f7d02a26" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_02_BO.json deleted file mode 100644 index 6c989fb412c1a216c80c1c0b928822067ef09dd6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5ddc4133-c20f-428d-8b81-34d50b38cc68", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5ddc4133-c20f-428d-8b81-34d50b38cc68", - "type": "STRING", - "value": "Check that the IUT discards Secured message containing signature that is not verified using the verification key from the certificate, referenced by the digest contained in the message's signer info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5ddc4133-c20f-428d-8b81-34d50b38cc68", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_02)\r\n\t\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\t\tcontaining digest\r\n\t\t\t\t\treferencing to the certificate (CERT_TS_A_AT)\r\n\t\t\t\t\t\tcontaining subject_attributes['verification key']\r\n\t\t\t\t\t\t\tcontaining key (KEY)\r\n\t\t\tand containing trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\t\tand containing signature\r\n\t\t\t\t\tNOT verifiable using KEY\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5ddc4133-c20f-428d-8b81-34d50b38cc68", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5ddc4133-c20f-428d-8b81-34d50b38cc68", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5ddc4133-c20f-428d-8b81-34d50b38cc68" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_03_BO.json deleted file mode 100644 index e7427127c5dbb4bcabeca3cfc708f8a774b781ca..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_11/TP_SEC_ITSS_RCV_CAM_11_03_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "Values to be provided as X_RESERVED_PK_ALGORYTHM are: 240, 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM if the message contains trailer field of type 'signature' with reserved public key algorythms" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tcontaining an instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature.algorithm\r\n\t\t\t\t\t\tindicating X_RESERVED_PK_ALGORYTHM\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12.json deleted file mode 100644 index d826b8d37a16ff283618c36198bf2e9b28e0b4ed..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "ee20c58e-6003-4cd5-9055-27e2d44d6fbe", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/2ea232e9-8999-4b23-a946-ac27ce63836a"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ee20c58e-6003-4cd5-9055-27e2d44d6fbe", - "type": "STRING", - "value": "12. Check signing certificate type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ee20c58e-6003-4cd5-9055-27e2d44d6fbe", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "ee20c58e-6003-4cd5-9055-27e2d44d6fbe", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "ee20c58e-6003-4cd5-9055-27e2d44d6fbe" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_01_BO.json deleted file mode 100644 index 9d6b5b01ccbd6e41a0b5bc6fc27ac91d7f5378cd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8342db23-4873-4ec5-a5f8-4ab61fa3e65f", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8342db23-4873-4ec5-a5f8-4ab61fa3e65f", - "type": "STRING", - "value": "Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'enrolment_credential'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8342db23-4873-4ec5-a5f8-4ab61fa3e65f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_EC)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'enrolment_credentials'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8342db23-4873-4ec5-a5f8-4ab61fa3e65f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8342db23-4873-4ec5-a5f8-4ab61fa3e65f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8342db23-4873-4ec5-a5f8-4ab61fa3e65f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_02_BO.json deleted file mode 100644 index eae6155837c9205214c09dfcdf69485cc5f26946..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "4e238aca-d665-4cd8-940a-09f6b95e5c48", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4e238aca-d665-4cd8-940a-09f6b95e5c48", - "type": "STRING", - "value": "Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'authorization_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "4e238aca-d665-4cd8-940a-09f6b95e5c48", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_AA)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_authority'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "4e238aca-d665-4cd8-940a-09f6b95e5c48", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4e238aca-d665-4cd8-940a-09f6b95e5c48", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4e238aca-d665-4cd8-940a-09f6b95e5c48" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_03_BO.json deleted file mode 100644 index 84eb11dbdd36d1ac3f4d4f43000ace158cb40066..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "922feaf7-611b-4abf-bd4f-5f5b36fc53c9", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "922feaf7-611b-4abf-bd4f-5f5b36fc53c9", - "type": "STRING", - "value": "Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'enrolment_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "922feaf7-611b-4abf-bd4f-5f5b36fc53c9", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_EA)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'enrolment_authority'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "922feaf7-611b-4abf-bd4f-5f5b36fc53c9", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "922feaf7-611b-4abf-bd4f-5f5b36fc53c9", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "922feaf7-611b-4abf-bd4f-5f5b36fc53c9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_04_BO.json deleted file mode 100644 index 56e13be9650db0a24cb010189e1ed898d99f663a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_12/TP_SEC_ITSS_RCV_CAM_12_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e3d9ce7a-332a-40c8-8cb0-9dc4e8ce53cf", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e3d9ce7a-332a-40c8-8cb0-9dc4e8ce53cf", - "type": "STRING", - "value": "Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'root_ca'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e3d9ce7a-332a-40c8-8cb0-9dc4e8ce53cf", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields ['signer_info'] \r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_ROOT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'root_ca'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e3d9ce7a-332a-40c8-8cb0-9dc4e8ce53cf", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e3d9ce7a-332a-40c8-8cb0-9dc4e8ce53cf", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e3d9ce7a-332a-40c8-8cb0-9dc4e8ce53cf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13.json deleted file mode 100644 index 8cfa8e3c3b6015555fcde0b35c77e796288a3dc2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "cc346379-7ca3-4f8a-ada2-1e06d8dd452e", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "cc346379-7ca3-4f8a-ada2-1e06d8dd452e", - "type": "STRING", - "value": "13. Check certificate validity" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cc346379-7ca3-4f8a-ada2-1e06d8dd452e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "cc346379-7ca3-4f8a-ada2-1e06d8dd452e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_01_BO.json deleted file mode 100644 index ee44eb65f3d4bea94eb6d6b96ff87273d3c327d1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a78e481e-fa19-4ba4-a671-305837d7b014", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a78e481e-fa19-4ba4-a671-305837d7b014", - "type": "STRING", - "value": "Check that IUT discards secured CAM signed with the not yet valid certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a78e481e-fa19-4ba4-a671-305837d7b014", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is before the time validity period of CERT_TS_MSG_13_01_BO_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_01_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT > CURRENT_TIME\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT > START_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a78e481e-fa19-4ba4-a671-305837d7b014", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a78e481e-fa19-4ba4-a671-305837d7b014", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a78e481e-fa19-4ba4-a671-305837d7b014" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_02_BO.json deleted file mode 100644 index b39304c76cbddd7c4d3e67c3b6800dd023399d7f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "23f874bc-503d-47fd-90ff-0f0bfd7e00fa", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "23f874bc-503d-47fd-90ff-0f0bfd7e00fa", - "type": "STRING", - "value": "Check that IUT discards secured CAM signed with the expired certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "23f874bc-503d-47fd-90ff-0f0bfd7e00fa", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is before the time validity period of CERT_TS_MSG_13_02_BO_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_02_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT < CURRENT_TIME\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT < CURRENT_TIME\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "23f874bc-503d-47fd-90ff-0f0bfd7e00fa", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "23f874bc-503d-47fd-90ff-0f0bfd7e00fa", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "23f874bc-503d-47fd-90ff-0f0bfd7e00fa" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_03_BO.json deleted file mode 100644 index 7f9ea9f8d0ed3f36dd28ab32813c971441e8e10a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d81c7b83-48cf-493b-8863-0e2d2aa796b8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d81c7b83-48cf-493b-8863-0e2d2aa796b8", - "type": "STRING", - "value": "Check that IUT discards secured CAM when IUT location is outside the circular validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d81c7b83-48cf-493b-8863-0e2d2aa796b8", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_03_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_03_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d81c7b83-48cf-493b-8863-0e2d2aa796b8", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d81c7b83-48cf-493b-8863-0e2d2aa796b8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d81c7b83-48cf-493b-8863-0e2d2aa796b8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_04_BO.json deleted file mode 100644 index 487ebcde4fb60f94f6c59da202fc51ea1451d578..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e7c7c76a-bc51-4580-a360-67fd938a1012", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e7c7c76a-bc51-4580-a360-67fd938a1012", - "type": "STRING", - "value": "Check that IUT discards secured CAM when IUT location is outside the rectangular validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e7c7c76a-bc51-4580-a360-67fd938a1012", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_04_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_04_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e7c7c76a-bc51-4580-a360-67fd938a1012", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e7c7c76a-bc51-4580-a360-67fd938a1012", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e7c7c76a-bc51-4580-a360-67fd938a1012" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_05_BO.json deleted file mode 100644 index 37035978faf1bd2b0aa902a9bdb81ead1934abd6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "07442db5-1043-4544-ab52-d3a89d7260e2", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "07442db5-1043-4544-ab52-d3a89d7260e2", - "type": "STRING", - "value": "Check that IUT discards secured CAM when IUT location is outside the polygonal validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "07442db5-1043-4544-ab52-d3a89d7260e2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_05_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_05_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "07442db5-1043-4544-ab52-d3a89d7260e2", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "07442db5-1043-4544-ab52-d3a89d7260e2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "07442db5-1043-4544-ab52-d3a89d7260e2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_06_BO.json deleted file mode 100644 index 7d25fd9340e69ac689ec650dc92ac878222d6a67..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CAM/SEC_ITSS_RCV_CAM_13/TP_SEC_ITSS_RCV_CAM_13_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "03a6797e-0265-4ed6-8885-2c7ede6fcff1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "03a6797e-0265-4ed6-8885-2c7ede6fcff1", - "type": "STRING", - "value": "Check that IUT discards secured CAM when IUT location is outside the identified validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "03a6797e-0265-4ed6-8885-2c7ede6fcff1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_06_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_CAM_01)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_06_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "03a6797e-0265-4ed6-8885-2c7ede6fcff1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "03a6797e-0265-4ed6-8885-2c7ede6fcff1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "03a6797e-0265-4ed6-8885-2c7ede6fcff1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT.json deleted file mode 100644 index 2cef674a4ae90c87635e5574a5bf89d011f58db9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2e88f94e-3fc6-4468-8f22-a4b9f5109648", - "type": "STRING", - "value": "Profiles for certificates" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2e88f94e-3fc6-4468-8f22-a4b9f5109648", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2e88f94e-3fc6-4468-8f22-a4b9f5109648" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01.json deleted file mode 100644 index 052bfaa651ecf00cea67c898e93fb0848dcfb097..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "795ce224-604e-4598-89be-96d0b650984e", - "type": "STRING", - "value": "Check that the IUT discards certificate with wrong version" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "795ce224-604e-4598-89be-96d0b650984e", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/783519e9-a067-4deb-b103-46fa94db39bf", - "/Documents/ts_103097v010201p.xhtml/1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "795ce224-604e-4598-89be-96d0b650984e", - "type": "STRING", - "value": "01. Check that certificate version is 2" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "795ce224-604e-4598-89be-96d0b650984e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "795ce224-604e-4598-89be-96d0b650984e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_01_BO.json deleted file mode 100644 index b3140bad852791acef22f3f3c848a3f991a96183..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b70cf7c0-2875-4199-9f5c-707fdd2ccc6a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b70cf7c0-2875-4199-9f5c-707fdd2ccc6a", - "type": "STRING", - "value": "Check that IUT discards the AT certificate with version 3" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b70cf7c0-2875-4199-9f5c-707fdd2ccc6a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_01_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_01_01_BO_AT)\r\n\t\t\t\t\tcontaining version\r\n\t\t\t\t\t\tindicating '3'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b70cf7c0-2875-4199-9f5c-707fdd2ccc6a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b70cf7c0-2875-4199-9f5c-707fdd2ccc6a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b70cf7c0-2875-4199-9f5c-707fdd2ccc6a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_02_BO.json deleted file mode 100644 index da46276b5804c53bfda1649d1483bed5df6a8302..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fc7e5b29-e3d8-4223-8150-8150575487b2", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fc7e5b29-e3d8-4223-8150-8150575487b2", - "type": "STRING", - "value": "Check that IUT discards the AT certificate with version 1" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fc7e5b29-e3d8-4223-8150-8150575487b2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_01_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_01_02_BO_AT)\r\n\t\t\t\t\tcontaining version\r\n\t\t\t\t\t\tindicating '1'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fc7e5b29-e3d8-4223-8150-8150575487b2", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fc7e5b29-e3d8-4223-8150-8150575487b2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fc7e5b29-e3d8-4223-8150-8150575487b2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_03_BO.json deleted file mode 100644 index 322e1c98cf02f6b228471ddf7c58e04f32b7d408..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "39577806-b4d5-4ebb-b580-afbdd2e46d4c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "39577806-b4d5-4ebb-b580-afbdd2e46d4c", - "type": "STRING", - "value": "Check that IUT discards the AA certificate with version 3" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "39577806-b4d5-4ebb-b580-afbdd2e46d4c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_01_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates[0] (CERT_TS_01_03_BO_AA)\r\n\t\t\t\t\tcontaining version\r\n\t\t\t\t\t\tindicating '3'\r\n\t\t\t\tand containing certificates[1] (CERT_TS_01_03_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.type\r\n\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_01_03_BO_AA\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "39577806-b4d5-4ebb-b580-afbdd2e46d4c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "39577806-b4d5-4ebb-b580-afbdd2e46d4c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "39577806-b4d5-4ebb-b580-afbdd2e46d4c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_04_BO.json deleted file mode 100644 index 15011c6c45843d98259f7522a7b4cdcfd87452d3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_01/TP_SEC_ITSS_RCV_CERT_01_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "87b7706c-614a-4718-8cde-b5329b51c69f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "87b7706c-614a-4718-8cde-b5329b51c69f", - "type": "STRING", - "value": "Check that IUT discards the AA certificate with version 1" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "87b7706c-614a-4718-8cde-b5329b51c69f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_01_04_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates[0] (CERT_TS_01_04_BO_AA)\r\n\t\t\t\t\tcontaining version\r\n\t\t\t\t\t\tindicating '1'\r\n\t\t\t\tand containing certificates[1] (CERT_TS_01_04_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_01_04_BO_AA\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "87b7706c-614a-4718-8cde-b5329b51c69f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "87b7706c-614a-4718-8cde-b5329b51c69f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "87b7706c-614a-4718-8cde-b5329b51c69f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02.json deleted file mode 100644 index bf1bae321ca6aae668bcb7cc98258e6ff3b69996..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9005e079-442a-4f8f-a8ff-4d2e994c46a4", - "type": "STRING", - "value": "Enrolment process is out of scope of this test suite. " - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9005e079-442a-4f8f-a8ff-4d2e994c46a4", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/b9e76387-9dee-4b5f-a3d8-ab512d88e8a6"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9005e079-442a-4f8f-a8ff-4d2e994c46a4", - "type": "STRING", - "value": "02. Check that enrolment certificate is not used for sign other certificates" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9005e079-442a-4f8f-a8ff-4d2e994c46a4", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "9005e079-442a-4f8f-a8ff-4d2e994c46a4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_01_BO.json deleted file mode 100644 index cfd867bc33c2553642529b76e16c521f40b1148f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "94e45a78-fbf4-46ae-a725-110dd3f23c59", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "94e45a78-fbf4-46ae-a725-110dd3f23c59", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the authorization ticket certificate contains the subject type 'enrolment_credential'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "94e45a78-fbf4-46ae-a725-110dd3f23c59", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_02_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_02_01_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.type\r\n\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate (CERT_TS_A_EC)\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'enrolment_credential'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "94e45a78-fbf4-46ae-a725-110dd3f23c59", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "94e45a78-fbf4-46ae-a725-110dd3f23c59", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "94e45a78-fbf4-46ae-a725-110dd3f23c59" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_02_BO.json deleted file mode 100644 index 5ab836ebe26612bc10de16aef6f354d2b27a7779..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fd600457-a262-4b97-b5ab-f94b184acc7d", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fd600457-a262-4b97-b5ab-f94b184acc7d", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the authorization authority certificate contains the subject type 'enrolment_credential'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fd600457-a262-4b97-b5ab-f94b184acc7d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_02_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates[0] (CERT_TS_02_02_BO_AA)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate CERT_TS_A_EC\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'enrolment_credential'\r\n\t\t\t\tand containing certificates[1] (CERT_TS_02_02_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_02_02_BO_AA\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fd600457-a262-4b97-b5ab-f94b184acc7d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fd600457-a262-4b97-b5ab-f94b184acc7d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fd600457-a262-4b97-b5ab-f94b184acc7d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_03_BO.json deleted file mode 100644 index 825366dbb27d109267eb7221d9571e78e738f819..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8b2a4a0e-f9c7-4c78-be50-677543e523d7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8b2a4a0e-f9c7-4c78-be50-677543e523d7", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the authorization ticket certificate contains the subject type 'enrolment_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8b2a4a0e-f9c7-4c78-be50-677543e523d7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_02_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_02_03_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.type\r\n\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate (CERT_TS_A_EA)\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'enrolment_authority'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8b2a4a0e-f9c7-4c78-be50-677543e523d7", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8b2a4a0e-f9c7-4c78-be50-677543e523d7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8b2a4a0e-f9c7-4c78-be50-677543e523d7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_04_BO.json deleted file mode 100644 index 60f24cb1c7d937b22535c1264114e18dc7e5b664..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_02/TP_SEC_ITSS_RCV_CERT_02_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0d66cb73-2da0-4c2c-96d2-f19ba8f5dd69", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0d66cb73-2da0-4c2c-96d2-f19ba8f5dd69", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the authorization authority certificate contains the subject type 'enrolment_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0d66cb73-2da0-4c2c-96d2-f19ba8f5dd69", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_02_04_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates[0] (CERT_TS_02_04_BO_AA)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate CERT_TS_A_EA\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'enrolment_authority'\r\n\t\t\t\tand containing certificates[1] (CERT_TS_02_04_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_02_04_BO_AA\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0d66cb73-2da0-4c2c-96d2-f19ba8f5dd69", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0d66cb73-2da0-4c2c-96d2-f19ba8f5dd69", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0d66cb73-2da0-4c2c-96d2-f19ba8f5dd69" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03.json deleted file mode 100644 index 957fbb3dfd170fd09835eb8d768031a3067c325b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7ecea428-3d22-4419-84fb-8d47c1e5d9d0", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/57f67514-1422-48ef-b36e-262137eb7251"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7ecea428-3d22-4419-84fb-8d47c1e5d9d0", - "type": "STRING", - "value": "03. Check that authorization ticket certificate is not used for sign other certificates" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7ecea428-3d22-4419-84fb-8d47c1e5d9d0", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "7ecea428-3d22-4419-84fb-8d47c1e5d9d0", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "7ecea428-3d22-4419-84fb-8d47c1e5d9d0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03/TP_SEC_ITSS_RCV_CERT_03_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03/TP_SEC_ITSS_RCV_CERT_03_01_BO.json deleted file mode 100644 index 1b44c25965b4b5ae6990cdd9f30aa7ec4b70940a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03/TP_SEC_ITSS_RCV_CERT_03_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "55cddc35-25a0-4631-bce3-188808cf4369", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "55cddc35-25a0-4631-bce3-188808cf4369", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the authorization ticket certificate contains the subject type 'authorization_ticket'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "55cddc35-25a0-4631-bce3-188808cf4369", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_03_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining certificate (CERT_TS_03_01_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to CERT_TS_03_BO_CA\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\tthen\r\n\t\tthe IUT discards the message\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "55cddc35-25a0-4631-bce3-188808cf4369", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "55cddc35-25a0-4631-bce3-188808cf4369", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "55cddc35-25a0-4631-bce3-188808cf4369" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03/TP_SEC_ITSS_RCV_CERT_03_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03/TP_SEC_ITSS_RCV_CERT_03_02_BO.json deleted file mode 100644 index 6bb62f0d10a653bec1dff3679c458c3cffc24766..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_03/TP_SEC_ITSS_RCV_CERT_03_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d9a365a9-0007-4a38-b7de-b3a985557359", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d9a365a9-0007-4a38-b7de-b3a985557359", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the authorization authority certificate contains the subject type 'authorization_ticket'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d9a365a9-0007-4a38-b7de-b3a985557359", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_03_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates[0] (CERT_TS_03_02_BO_AA)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_03_BO_CA\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\tand containing certificates[1] (CERT_TS_03_02_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to CERT_TS_03_02_BO_AA\r\n\tthen\r\n\t\tthe IUT discards the message\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d9a365a9-0007-4a38-b7de-b3a985557359", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d9a365a9-0007-4a38-b7de-b3a985557359", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d9a365a9-0007-4a38-b7de-b3a985557359" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04.json deleted file mode 100644 index fe7764ef3cabe2e754080a784ab4cdf9389118ae..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a00fb3d0-b4a0-47b8-b4c8-d47a7ad7696f", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/afc8e021-8c93-4ae6-8138-3020574e57b5"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a00fb3d0-b4a0-47b8-b4c8-d47a7ad7696f", - "type": "STRING", - "value": "04. Check that AA certificate signed with other AA certificate is not accepted" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a00fb3d0-b4a0-47b8-b4c8-d47a7ad7696f", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "a00fb3d0-b4a0-47b8-b4c8-d47a7ad7696f", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "a00fb3d0-b4a0-47b8-b4c8-d47a7ad7696f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO.json deleted file mode 100644 index 6f7dfddd3a0b988a2416e70296d06daf0ebdbb27..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d6d1d8a3-95ac-466d-a61a-ce439da70b65", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d6d1d8a3-95ac-466d-a61a-ce439da70b65", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the issuer certificate of the AA certificate contains the subject type 'authorization_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d6d1d8a3-95ac-466d-a61a-ce439da70b65", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_04_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates[0] (CERT_TS_04_01_BO_AA)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_A_AA\r\n\t\t\t\tand containing certificates[1] (CERT_TS_04_01_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to CERT_TS_04_01_BO_AA\r\n\tthen\r\n\t\tthe IUT discards the message\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d6d1d8a3-95ac-466d-a61a-ce439da70b65", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d6d1d8a3-95ac-466d-a61a-ce439da70b65", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d6d1d8a3-95ac-466d-a61a-ce439da70b65" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO/Comment 01.json deleted file mode 100644 index 919b1a07fb2c4d96b0e6fc4f4afc9298b33e34b7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_04/TP_SEC_ITSS_RCV_CERT_04_01_BO/Comment 01.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "dcf079d8-9e1e-487a-8fbb-3123a728087a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dcf079d8-9e1e-487a-8fbb-3123a728087a", - "type": "STRING", - "value": "This is wrong probably!" - }, - "_index": { - "isGenerated": false, - "key": "_index", - "origin": "dcf079d8-9e1e-487a-8fbb-3123a728087a", - "type": "STRING", - "value": "1" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dcf079d8-9e1e-487a-8fbb-3123a728087a", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "dcf079d8-9e1e-487a-8fbb-3123a728087a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05.json deleted file mode 100644 index 965bb5a62d3eaaf2714b5be66e454448c71c4cc2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a8c9f807-d8f0-4397-9cf6-4e0fba6d1c67", - "type": "STRING", - "value": "Check that the IUT discards certificate with invalid signature" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a8c9f807-d8f0-4397-9cf6-4e0fba6d1c67", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/8f464e0c-426a-4372-8f2f-acbf3dd444c5", - "/Documents/ts_103097v010201p.xhtml/c68a4e76-9564-42d2-934a-a889713923b8" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a8c9f807-d8f0-4397-9cf6-4e0fba6d1c67", - "type": "STRING", - "value": "05. Check the certificate signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a8c9f807-d8f0-4397-9cf6-4e0fba6d1c67", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a8c9f807-d8f0-4397-9cf6-4e0fba6d1c67" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05/TP_SEC_ITSS_RCV_CERT_05_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05/TP_SEC_ITSS_RCV_CERT_05_01_BO.json deleted file mode 100644 index ab8131003f4699c1823ecf47248b6577c40a1865..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05/TP_SEC_ITSS_RCV_CERT_05_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6d8b5818-4c80-4839-8dbd-915c08f92258", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6d8b5818-4c80-4839-8dbd-915c08f92258", - "type": "STRING", - "value": "Check that IUT discards the message when signing AT certificate has an invalid signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6d8b5818-4c80-4839-8dbd-915c08f92258", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_A_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_A_AA\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tNOT verifiable with CERT_TS_A_AA.subject_attributes['verification_key'].key\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6d8b5818-4c80-4839-8dbd-915c08f92258", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6d8b5818-4c80-4839-8dbd-915c08f92258", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6d8b5818-4c80-4839-8dbd-915c08f92258" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05/TP_SEC_ITSS_RCV_CERT_05_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05/TP_SEC_ITSS_RCV_CERT_05_02_BO.json deleted file mode 100644 index 56ec463267ae1716e759deefe40c8281d14b6684..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_05/TP_SEC_ITSS_RCV_CERT_05_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e74cda34-b16a-4b0a-9012-43ba66829a50", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e74cda34-b16a-4b0a-9012-43ba66829a50", - "type": "STRING", - "value": "Check that IUT discards the message when the issuing AA certificate of the signing AT certificate has an invalid signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e74cda34-b16a-4b0a-9012-43ba66829a50", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates[0] (CERT_TS_A_AA)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_ROOT\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tNOT verifiable with CERT_ROOT.subject_attributes['verification_key'].key\r\n\t\t\t\tand containing certificates[1] (CERT_TS_A_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_A_AA\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e74cda34-b16a-4b0a-9012-43ba66829a50", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e74cda34-b16a-4b0a-9012-43ba66829a50", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e74cda34-b16a-4b0a-9012-43ba66829a50" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06.json deleted file mode 100644 index 33797ee5ad1c87dfcdb6e153ea3fda6209c4d01f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "attributes": { - "PICS_USE_CIRCULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_CIRCULAR_REGION", - "origin": "40eba84f-fd0f-4692-ba28-b317bfe68c6e", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "40eba84f-fd0f-4692-ba28-b317bfe68c6e", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "40eba84f-fd0f-4692-ba28-b317bfe68c6e", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9", - "/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "40eba84f-fd0f-4692-ba28-b317bfe68c6e", - "type": "STRING", - "value": "06. Check circular region of subordinate certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "40eba84f-fd0f-4692-ba28-b317bfe68c6e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "40eba84f-fd0f-4692-ba28-b317bfe68c6e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_01_BV.json deleted file mode 100644 index 8230651abdf935c624f6020d20d5bd532079357e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "bae323f3-be36-4b2c-a8ff-79b3e83f57aa", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bae323f3-be36-4b2c-a8ff-79b3e83f57aa", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the same circular region validity restriction as its issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "bae323f3-be36-4b2c-a8ff-79b3e83f57aa", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_01_BV_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_06_01_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tcontaining circular_region\r\n\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_B_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "bae323f3-be36-4b2c-a8ff-79b3e83f57aa", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bae323f3-be36-4b2c-a8ff-79b3e83f57aa", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "bae323f3-be36-4b2c-a8ff-79b3e83f57aa" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_02_BV.json deleted file mode 100644 index a7b3b066396c50dfff4e69f8b5e645746b9b51d1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "4e8775a2-cc08-4938-bb8f-881b3114dd2d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4e8775a2-cc08-4938-bb8f-881b3114dd2d", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the circular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "4e8775a2-cc08-4938-bb8f-881b3114dd2d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_02_BV_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage \r\n\t\tcontaining header_fields ['signer_info'] \r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_06_02_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_B_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering CURCULAR_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "4e8775a2-cc08-4938-bb8f-881b3114dd2d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4e8775a2-cc08-4938-bb8f-881b3114dd2d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4e8775a2-cc08-4938-bb8f-881b3114dd2d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_03_BV.json deleted file mode 100644 index 746934bf6a00e99f6c310f463506ace75a1e9e8d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_03_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the rectangular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_03_BV_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_06_03_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_C_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangular'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tindicating RECT_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering CURCULAR_REGION_AT\r\n\t then\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_04_BV.json deleted file mode 100644 index 893901f5f02eaab7b4a59e455822b034c86ca49a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_04_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a47eec98-d692-422c-9a24-1b8a71610767", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a47eec98-d692-422c-9a24-1b8a71610767", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the polygonal region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a47eec98-d692-422c-9a24-1b8a71610767", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_04_BV_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_06_04_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_D_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering CURCULAR_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a47eec98-d692-422c-9a24-1b8a71610767", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a47eec98-d692-422c-9a24-1b8a71610767", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a47eec98-d692-422c-9a24-1b8a71610767" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_05_BV.json deleted file mode 100644 index 14e82061b259bb234b561e0879c8fd3ab74a8d96..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_05_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "de2c9389-ce3f-4c97-80b1-6bb0762d0729", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "de2c9389-ce3f-4c97-80b1-6bb0762d0729", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the identified region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "de2c9389-ce3f-4c97-80b1-6bb0762d0729", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_05_BV_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_06_05_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_E_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tand containing region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\t\t\t\t\tfully covering CURCULAR_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "de2c9389-ce3f-4c97-80b1-6bb0762d0729", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "de2c9389-ce3f-4c97-80b1-6bb0762d0729", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "de2c9389-ce3f-4c97-80b1-6bb0762d0729" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_06_BO.json deleted file mode 100644 index 27f2f28bbaf68f30dd937cc65b1efcd417ce41f4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e7da8ae9-1dba-40a2-a4cb-ad7c4f3d68c6", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e7da8ae9-1dba-40a2-a4cb-ad7c4f3d68c6", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message does not contain the region validity restriction but its issuing certificate contains the circular region validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e7da8ae9-1dba-40a2-a4cb-ad7c4f3d68c6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_06_BO_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_06_06_BO_AT)\r\n\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_B_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e7da8ae9-1dba-40a2-a4cb-ad7c4f3d68c6", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e7da8ae9-1dba-40a2-a4cb-ad7c4f3d68c6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e7da8ae9-1dba-40a2-a4cb-ad7c4f3d68c6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_07_BO.json deleted file mode 100644 index 41b4aa34a72c2e22496b41e26560aff94a9b5bef..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "216e1422-1bc4-4b99-a63c-63afc0e26521", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "216e1422-1bc4-4b99-a63c-63afc0e26521", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains circular region validity restriction which is outside of the circular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "216e1422-1bc4-4b99-a63c-63afc0e26521", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_07_BO_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_06_07_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_06_07_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA_OUTSIDE\r\n\t\t\t\t\t\t\t\t\t\tnot including CURCULAR_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "216e1422-1bc4-4b99-a63c-63afc0e26521", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "216e1422-1bc4-4b99-a63c-63afc0e26521", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "216e1422-1bc4-4b99-a63c-63afc0e26521" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_08_BO.json deleted file mode 100644 index bcc9f1e0b738dd60f8246950558772c199e8a943..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_06/TP_SEC_ITSS_RCV_CERT_06_08_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "24a65506-8fa9-4835-9513-b6c05f66852b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "24a65506-8fa9-4835-9513-b6c05f66852b", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains circular region validity restriction which is not fully covered by the the circular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "24a65506-8fa9-4835-9513-b6c05f66852b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_06_08_BO_AT\r\n\tand the IUT current location is inside the CURCULAR_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_06_08_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_06_08_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA_INTERSECT\r\n\t\t\t\t\t\t\t\t\t\tincluding partially CURCULAR_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "24a65506-8fa9-4835-9513-b6c05f66852b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "24a65506-8fa9-4835-9513-b6c05f66852b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "24a65506-8fa9-4835-9513-b6c05f66852b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07.json deleted file mode 100644 index 9285b9c68da894aad49647b39dfa07ac3db0680d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "attributes": { - "PICS_USE_RECTANGULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_RECTANGULAR_REGION", - "origin": "e2057955-7a09-484a-ae5a-e7f034f29ec8", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e2057955-7a09-484a-ae5a-e7f034f29ec8", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "e2057955-7a09-484a-ae5a-e7f034f29ec8", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9", - "/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "e2057955-7a09-484a-ae5a-e7f034f29ec8", - "type": "STRING", - "value": "07. Check rectangular region of subordinate certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e2057955-7a09-484a-ae5a-e7f034f29ec8", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "e2057955-7a09-484a-ae5a-e7f034f29ec8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_01_BV.json deleted file mode 100644 index 75164dc57e22a2aea3e55468216b3173a773dacd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the same rectangular region validity restriction as its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_01_BV_AT\r\n\tand the IUT current location is inside the RECT_REGION_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_07_01_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AA\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_C_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangular'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tindicating RECT_REGION_AA\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "31a45b1a-dfc1-4711-a450-f9b3003351db" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_02_BV.json deleted file mode 100644 index c1b5a8ea62a277dbcc1be4f33db93618dc06ba7e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the rectangular region validity restriction which is fully inside in the circular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "31a45b1a-dfc1-4711-a450-f9b3003351db", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_02_BV_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_07_02_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_B_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering the RECT_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a8d686e8-49c9-4d1b-9bf1-c220f7492cad", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "31a45b1a-dfc1-4711-a450-f9b3003351db" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_03_BV.json deleted file mode 100644 index 304bc3f206bb4ff48918e1f5f4e47a5113538dc1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_03_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "37db409a-d958-4970-80ef-088e908ae516", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "37db409a-d958-4970-80ef-088e908ae516", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the validity restriction with rectangular region which is fully inside in the rectangular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "37db409a-d958-4970-80ef-088e908ae516", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_03_BV_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_07_03_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_C_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangular'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tindicating RECT_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering RECT_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "37db409a-d958-4970-80ef-088e908ae516", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "37db409a-d958-4970-80ef-088e908ae516", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "37db409a-d958-4970-80ef-088e908ae516" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_04_BV.json deleted file mode 100644 index 5fbc232f37fa642c9daf443a1a09b5b196a60010..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_04_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "40fdc126-7f32-4add-b923-21986ac332e7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "40fdc126-7f32-4add-b923-21986ac332e7", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the rectangular region validity restriction which is fully inside in the polygonal region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "40fdc126-7f32-4add-b923-21986ac332e7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_04_BV_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_07_04_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tcontaining rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AT\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_D_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tcontaining polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering RECT_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "40fdc126-7f32-4add-b923-21986ac332e7", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "40fdc126-7f32-4add-b923-21986ac332e7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "40fdc126-7f32-4add-b923-21986ac332e7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_05_BV.json deleted file mode 100644 index bd43901bcce759356d1fe388a75bdf6be8ff2968..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_05_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0c29c4e0-6d87-47d0-8511-55a5c082bea9", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0c29c4e0-6d87-47d0-8511-55a5c082bea9", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the rectangular region validity restriction which is fully inside in the identified region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0c29c4e0-6d87-47d0-8511-55a5c082bea9", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_05_BV_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that \r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_07_05_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_E_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1' (0)\r\n\t\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\t\t\t\t\tfully covering RECT_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0c29c4e0-6d87-47d0-8511-55a5c082bea9", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0c29c4e0-6d87-47d0-8511-55a5c082bea9", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0c29c4e0-6d87-47d0-8511-55a5c082bea9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_06_BO.json deleted file mode 100644 index 3578385a8205066c7589493421e1955f7a72c1ae..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0697e0ae-a0c6-42be-bbd5-63c4216f2312", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0697e0ae-a0c6-42be-bbd5-63c4216f2312", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message does not contain the region validity restriction but its issuing certificate contains the rectangular region validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0697e0ae-a0c6-42be-bbd5-63c4216f2312", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_06_BO_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_07_06_BO_AT)\r\n\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_C_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangular'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0697e0ae-a0c6-42be-bbd5-63c4216f2312", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0697e0ae-a0c6-42be-bbd5-63c4216f2312", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0697e0ae-a0c6-42be-bbd5-63c4216f2312" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_07_BO.json deleted file mode 100644 index e10a7a6cebf6f5cd598cdcbcb2344b1dfeb881dc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ca8d4272-e1ac-4c3c-ab42-2ac2fea77929", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ca8d4272-e1ac-4c3c-ab42-2ac2fea77929", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains rectangular region validity restriction which is outside of the rectangular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ca8d4272-e1ac-4c3c-ab42-2ac2fea77929", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_07_BO_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that \r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_07_07_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_07_07_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tindicating RECT_REGION_AA_OUTSIDE\r\n\t\t\t\t\t\t\t\t\t\tnot including RECT_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ca8d4272-e1ac-4c3c-ab42-2ac2fea77929", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ca8d4272-e1ac-4c3c-ab42-2ac2fea77929", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ca8d4272-e1ac-4c3c-ab42-2ac2fea77929" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_08_BO.json deleted file mode 100644 index 2eee4ece96c0703919e5d7ebcb98655a17d5ea5b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_07/TP_SEC_ITSS_RCV_CERT_07_08_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fbdf1fdb-5f59-4931-b644-1120fb36abce", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fbdf1fdb-5f59-4931-b644-1120fb36abce", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains rectangular region validity restriction which is not fully covered by the the rectangular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fbdf1fdb-5f59-4931-b644-1120fb36abce", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_07_08_BO_AT\r\n\tand the IUT current location is inside the RECT_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_07_08_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\tindicating RECT_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_07_08_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tindicating RECT_REGION_AA_INTERSECT\r\n\t\t\t\t\t\t\t\t\t\tincluding partialy RECT_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fbdf1fdb-5f59-4931-b644-1120fb36abce", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fbdf1fdb-5f59-4931-b644-1120fb36abce", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fbdf1fdb-5f59-4931-b644-1120fb36abce" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08.json deleted file mode 100644 index 2e4ae7903de132d790e1c1cd019dfc53306b22f4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "attributes": { - "PICS_USE_POLYGONAL_REGION": { - "isGenerated": false, - "key": "PICS_USE_POLYGONAL_REGION", - "origin": "eda56708-128a-44e0-8d6b-abf9727642b2", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "eda56708-128a-44e0-8d6b-abf9727642b2", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "eda56708-128a-44e0-8d6b-abf9727642b2", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9", - "/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "eda56708-128a-44e0-8d6b-abf9727642b2", - "type": "STRING", - "value": "08. Check polygonal region of subordinate certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "eda56708-128a-44e0-8d6b-abf9727642b2", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "eda56708-128a-44e0-8d6b-abf9727642b2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_01_BV.json deleted file mode 100644 index 947d1cc7340fd9626fa469774bffb056f10d1eb1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cc410d64-d480-4e2a-8ec2-029a25f508a1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cc410d64-d480-4e2a-8ec2-029a25f508a1", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the same polygonal region validity restriction as its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cc410d64-d480-4e2a-8ec2-029a25f508a1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_01_BV_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_01_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AA\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_D_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cc410d64-d480-4e2a-8ec2-029a25f508a1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cc410d64-d480-4e2a-8ec2-029a25f508a1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cc410d64-d480-4e2a-8ec2-029a25f508a1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_02_BV.json deleted file mode 100644 index 9f1ee50a37729447a8e6682e7e8c581a44b27ee4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ecd95b67-e700-4b56-b707-28d90fddb11a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ecd95b67-e700-4b56-b707-28d90fddb11a", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the polygonal region validity restriction which is fully inside in the circular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ecd95b67-e700-4b56-b707-28d90fddb11a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_02_BV_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_02_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_B_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating CURCULAR_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully including POLYGON_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ecd95b67-e700-4b56-b707-28d90fddb11a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ecd95b67-e700-4b56-b707-28d90fddb11a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ecd95b67-e700-4b56-b707-28d90fddb11a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_03_BV.json deleted file mode 100644 index b74889693da17e9ef47a1c818e61e7b371512604..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_03_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f8a76fa9-afbf-4c1c-85b4-30a671a095d9", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f8a76fa9-afbf-4c1c-85b4-30a671a095d9", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the polygonal region validity restriction which is fully inside in the rectangular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f8a76fa9-afbf-4c1c-85b4-30a671a095d9", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_03_BV_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_03_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_C_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangular'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tindicating RECT_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering POLYGON_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f8a76fa9-afbf-4c1c-85b4-30a671a095d9", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f8a76fa9-afbf-4c1c-85b4-30a671a095d9", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f8a76fa9-afbf-4c1c-85b4-30a671a095d9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_04_BV.json deleted file mode 100644 index 156b554b9554a2e5ad9f71fa5273b6f1536dd759..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_04_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6a0d40e5-3776-4b8f-8f3f-bf3e654ea8c4", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6a0d40e5-3776-4b8f-8f3f-bf3e654ea8c4", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the polygonal region validity restriction which is fully inside in the polygonal region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6a0d40e5-3776-4b8f-8f3f-bf3e654ea8c4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_04_BV_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_04_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_D_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully including POLYGON_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6a0d40e5-3776-4b8f-8f3f-bf3e654ea8c4", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6a0d40e5-3776-4b8f-8f3f-bf3e654ea8c4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6a0d40e5-3776-4b8f-8f3f-bf3e654ea8c4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_05_BV.json deleted file mode 100644 index c4d70d3cdc29116899c431b430b36697461d0ba8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_05_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fd053bc3-cb56-4d0e-afc7-c399eeb93d91", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fd053bc3-cb56-4d0e-afc7-c399eeb93d91", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the polygonal region validity restriction which is fully inside in the identified region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fd053bc3-cb56-4d0e-afc7-c399eeb93d91", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_04_BV_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_05_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_E_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1' (0)\r\n\t\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\t\t\t\t\tfully including POLYGON_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fd053bc3-cb56-4d0e-afc7-c399eeb93d91", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fd053bc3-cb56-4d0e-afc7-c399eeb93d91", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fd053bc3-cb56-4d0e-afc7-c399eeb93d91" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_06_BO.json deleted file mode 100644 index 9cb6fd468520be466ff97a21c3c182dd23487f38..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d23516d5-decc-4282-ac27-6ef816a6cf22", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d23516d5-decc-4282-ac27-6ef816a6cf22", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message does not contain the region validity restriction but its issuing certificate contains the polygonal region validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d23516d5-decc-4282-ac27-6ef816a6cf22", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_06_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_06_BO_AT)\r\n\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_D_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\tthen\r\n\t\tthe IUT discards the message\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d23516d5-decc-4282-ac27-6ef816a6cf22", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d23516d5-decc-4282-ac27-6ef816a6cf22", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d23516d5-decc-4282-ac27-6ef816a6cf22" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_07_BO.json deleted file mode 100644 index b035d2849ff78d7782c11b1464de0a4ab1995bb0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "86dd0c53-d9fb-493c-83f9-34485afb9b0f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "86dd0c53-d9fb-493c-83f9-34485afb9b0f", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains polygonal region validity restriction containing less than 3 points\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "86dd0c53-d9fb-493c-83f9-34485afb9b0f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_07_BO_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_07_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region (POLYGON_REGION_08_04_BO)\r\n\t\t\t\t\t\t\tindicating length = 2\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_D_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA\r\n\t\t\t\t\t\t\t\t\t\tfully covering all points of POLYGON_REGION_08_04_BO\r\n\t then\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "86dd0c53-d9fb-493c-83f9-34485afb9b0f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "86dd0c53-d9fb-493c-83f9-34485afb9b0f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "86dd0c53-d9fb-493c-83f9-34485afb9b0f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_08_BO.json deleted file mode 100644 index 9052dcd094c8457379587431d50e74f7c3078664..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_08_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "143db238-29d8-4805-ba87-609984dd7c72", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "143db238-29d8-4805-ba87-609984dd7c72", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains polygonal region validity restriction which is outside of the polygonal region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "143db238-29d8-4805-ba87-609984dd7c72", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_08_BO_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_08_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_08_08_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA_OUTSIDE\r\n\t\t\t\t\t\t\t\t\t\tnot including POLYGON_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "143db238-29d8-4805-ba87-609984dd7c72", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "143db238-29d8-4805-ba87-609984dd7c72", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "143db238-29d8-4805-ba87-609984dd7c72" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_09_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_09_BO.json deleted file mode 100644 index 67228f13da6beda92657c120d892b99532eda414..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_08/TP_SEC_ITSS_RCV_CERT_08_09_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "18b9f2c3-9500-47a3-a62f-330d3c319beb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "18b9f2c3-9500-47a3-a62f-330d3c319beb", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message contains polygonal region validity restriction which is not fully covered by the the polygonal region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "18b9f2c3-9500-47a3-a62f-330d3c319beb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_08_09_BO_AT\r\n\tand the IUT current location is inside the POLYGON_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_08_09_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating POLYGON_REGION_AT\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_08_09_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating POLYGON_REGION_AA_INTERSECT\r\n\t\t\t\t\t\t\t\t\t\tincluding partialy POLYGON_REGION_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "18b9f2c3-9500-47a3-a62f-330d3c319beb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "18b9f2c3-9500-47a3-a62f-330d3c319beb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "18b9f2c3-9500-47a3-a62f-330d3c319beb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09.json deleted file mode 100644 index 416db2b0da1f6d02420b53023b65eee2e7aeb0b4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "attributes": { - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "2a113f34-70ce-4f33-89a9-5436f1f6a4ce", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2a113f34-70ce-4f33-89a9-5436f1f6a4ce", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2a113f34-70ce-4f33-89a9-5436f1f6a4ce", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9", - "/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c", - "/Documents/ts_103097v010201p.xhtml/60585f95-c23b-4663-a422-c5a12c7b17ab" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2a113f34-70ce-4f33-89a9-5436f1f6a4ce", - "type": "STRING", - "value": "09. Check identified region of subordinate certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2a113f34-70ce-4f33-89a9-5436f1f6a4ce", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2a113f34-70ce-4f33-89a9-5436f1f6a4ce" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_01_BV.json deleted file mode 100644 index f294e03c44fa59a436978d62ca5927dc8454a86d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "17fbdce7-b53f-4ad0-a39a-9dcd8385d15d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "17fbdce7-b53f-4ad0-a39a-9dcd8385d15d", - "type": "STRING", - "value": "Check that the IUT accepts a message when its signing certificate contains the identified region validity restriction with the same identified region as the issuing certificate and without local area definition \r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "17fbdce7-b53f-4ad0-a39a-9dcd8385d15d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_01_BV_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_01_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_E_AA\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\tindicating 0\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "17fbdce7-b53f-4ad0-a39a-9dcd8385d15d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "17fbdce7-b53f-4ad0-a39a-9dcd8385d15d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "17fbdce7-b53f-4ad0-a39a-9dcd8385d15d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_02_BV.json deleted file mode 100644 index f435129a20405a01ac5ac9f497967362251d385e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PIC_ID_REGION_LOCAL": { - "isGenerated": false, - "key": "PIC_ID_REGION_LOCAL", - "origin": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847", - "type": "STRING", - "value": "Check that the IUT accepts a message when its signing certificate contains the identified region validity restriction with the same identified region as the issuing certificate and with local area definition \r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_02_BV_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_02_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating ID_LOCAL_REGION_1\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_E_AA\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\tindicating 0\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c52a9a0d-29b3-4720-b3d4-b6c587f4f847" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_03_BV.json deleted file mode 100644 index e8beafdf218a25a8d5196347c623109c2a2a8156..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_03_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cb63a6e9-d542-4416-915d-8d0f41e9d4bd", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cb63a6e9-d542-4416-915d-8d0f41e9d4bd", - "type": "STRING", - "value": "Check that the IUT accepts a message when its signing certificate contains the identified region validity restriction fully containing in the circular validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cb63a6e9-d542-4416-915d-8d0f41e9d4bd", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_03_BV_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_03_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_09_03_BV_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tfully covering ID_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cb63a6e9-d542-4416-915d-8d0f41e9d4bd", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cb63a6e9-d542-4416-915d-8d0f41e9d4bd", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cb63a6e9-d542-4416-915d-8d0f41e9d4bd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_04_BV.json deleted file mode 100644 index 627f80c9a97d330f25c12c15815cac397aac3e30..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_04_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e9b46370-5fb9-4c15-93b7-833e1e829239", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e9b46370-5fb9-4c15-93b7-833e1e829239", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the polygonal region validity restriction which is fully inside in the rectangular region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e9b46370-5fb9-4c15-93b7-833e1e829239", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_03_BV_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_04_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_09_04_BV_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangular'\r\n\t\t\t\t\t\t\t\tcontaining rectangular_region[0]\r\n\t\t\t\t\t\t\t\t\tfully covering ID_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e9b46370-5fb9-4c15-93b7-833e1e829239", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e9b46370-5fb9-4c15-93b7-833e1e829239", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e9b46370-5fb9-4c15-93b7-833e1e829239" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_05_BV.json deleted file mode 100644 index cf60f613fe5e9bd51a58c6f3c1ae97c4ec566e2f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_05_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0bb1e546-4fd1-4285-be90-918a29abc503", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0bb1e546-4fd1-4285-be90-918a29abc503", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of this message contains the polygonal region validity restriction which is fully inside in the polygonal region validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0bb1e546-4fd1-4285-be90-918a29abc503", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_05_BV_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_05_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a certificate CERT_TS_09_05_BV_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tfully covering ID_REGION_AT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0bb1e546-4fd1-4285-be90-918a29abc503", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0bb1e546-4fd1-4285-be90-918a29abc503", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0bb1e546-4fd1-4285-be90-918a29abc503" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_06_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_06_BV.json deleted file mode 100644 index 9f4ad6a9fa738080008e0b32f578be64c76607e1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_06_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PIC_SUPPORT_UNSTATS_REGIONS_TREE": { - "isGenerated": false, - "key": "PIC_SUPPORT_UNSTATS_REGIONS_TREE", - "origin": "5a72fefc-399b-4f4c-a1fc-99291a4993e7", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5a72fefc-399b-4f4c-a1fc-99291a4993e7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5a72fefc-399b-4f4c-a1fc-99291a4993e7", - "type": "STRING", - "value": "Check that the IUT accepts a message when the signing certificate of the message contains the identified region validity restriction with the identified region which is fully covered by the identified region of the validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5a72fefc-399b-4f4c-a1fc-99291a4993e7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_06_BV_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_06_BV_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'un_stats'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_09_06_BV_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'un_stats'\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_REGION_AA_UNSTATS\r\n\t\t\t\t\t\t\t\t\t\t\twhich includes ID_REGION_AT\r\n\t\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\t\tindicating 0\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5a72fefc-399b-4f4c-a1fc-99291a4993e7", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5a72fefc-399b-4f4c-a1fc-99291a4993e7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5a72fefc-399b-4f4c-a1fc-99291a4993e7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_07_BO.json deleted file mode 100644 index bb4b564bf1c117931e2c12cd471f14a25628a480..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7622345b-6151-4b29-bcf9-e46b8400637c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7622345b-6151-4b29-bcf9-e46b8400637c", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate of this message does not contain the region validity restriction but its issuing certificate contains the identified region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7622345b-6151-4b29-bcf9-e46b8400637c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_07_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_07_BO_AT)\r\n\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to the certificate CERT_TS_E_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7622345b-6151-4b29-bcf9-e46b8400637c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7622345b-6151-4b29-bcf9-e46b8400637c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7622345b-6151-4b29-bcf9-e46b8400637c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_08_BO.json deleted file mode 100644 index ea8f13664c9b6e65d6c603de5924aa96cdddeae1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_08_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PIC_SUPPORT_ID_REGION_LOCAL": { - "isGenerated": false, - "key": "PIC_SUPPORT_ID_REGION_LOCAL", - "origin": "fce1005b-fc33-4fae-bda4-9da80d3eebe1", - "type": "STRING", - "value": "" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fce1005b-fc33-4fae-bda4-9da80d3eebe1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fce1005b-fc33-4fae-bda4-9da80d3eebe1", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing certificate and its issuing certificate are both containing the identified region validity restrictions with the same region id but different local regions\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fce1005b-fc33-4fae-bda4-9da80d3eebe1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_08_BO_AT\r\n\tand the IUT current location is inside the ID_REGION_AA, local region 1\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_08_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tcontaining region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AA\r\n\t\t\t\t\t\t\tcontaining local_region\r\n\t\t\t\t\t\t\t\tindicating ID_LOCAL_REGION_1\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_09_08_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tcontaining id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\t\tcontaining region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_REGION_AA\r\n\t\t\t\t\t\t\t\t\tcontaining local_region\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_LOCAL_REGION_2\r\n\t\t\t\t\t\t\t\t\t\t\tnot equal to ID_LOCAL_REGION_1\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fce1005b-fc33-4fae-bda4-9da80d3eebe1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fce1005b-fc33-4fae-bda4-9da80d3eebe1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fce1005b-fc33-4fae-bda4-9da80d3eebe1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_09_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_09_BO.json deleted file mode 100644 index c620b9fa6b2670843611691cb0cb6b9070c9811a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_09_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "2b3b16a1-c1e1-4636-9c9e-68a834b024f9", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2b3b16a1-c1e1-4636-9c9e-68a834b024f9", - "type": "STRING", - "value": "Check that the IUT discards a message when the identified region of the validity restriction of its signing certificate is different and not fully covered by the one in the issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "2b3b16a1-c1e1-4636-9c9e-68a834b024f9", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_09_BO_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_09_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AT\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_09_09_BO_AA\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating ID_REGION_AA_OTHER\r\n\t\t\t\t\t\t\t\t\t\t\tother than ID_REGION_AT\r\n\t\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\t\tindicating 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "2b3b16a1-c1e1-4636-9c9e-68a834b024f9", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2b3b16a1-c1e1-4636-9c9e-68a834b024f9", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "2b3b16a1-c1e1-4636-9c9e-68a834b024f9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_10_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_10_BO.json deleted file mode 100644 index 0acea38d8b2631fd1ec3e08d535a4ad07b30257a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_10_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b52e829c-487f-4223-86e2-23da44e893d8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b52e829c-487f-4223-86e2-23da44e893d8", - "type": "STRING", - "value": "Check that the IUT discards a message when the identified region validity restriction of its signing certificate contains unknown area code\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b52e829c-487f-4223-86e2-23da44e893d8", - "type": "STRING", - "value": "with \r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_10_BO_AT\r\n\tand the IUT current location is inside the ID_REGION_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_10_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_UNKNOWN\r\n\t\t\t\t\t\t\t\t\tnot existing in ISO 3166-1\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_A_AA\r\n\t\t\t\t\t\t\tnot containing validity_restrictions['region']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b52e829c-487f-4223-86e2-23da44e893d8", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b52e829c-487f-4223-86e2-23da44e893d8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b52e829c-487f-4223-86e2-23da44e893d8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_11_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_11_BO.json deleted file mode 100644 index 0932317afefce345eb32ce2dfe5e6fa44718ee2b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_09/TP_SEC_ITSS_RCV_CERT_09_11_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "799a16a6-d213-4ef0-ab37-b6f54d2d92da", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "799a16a6-d213-4ef0-ab37-b6f54d2d92da", - "type": "STRING", - "value": "Check that the IUT discards a message when the validity restriction of its signing certificate contains the identified region of type iso-3166-1 but region code is from the UN-Stats dictionary \r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "799a16a6-d213-4ef0-ab37-b6f54d2d92da", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_09_11_BO_AT\r\n\tand the IUT current location is inside the ID_REGION_AA_UNSTATS\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_09_11_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\tindicating ID_REGION_AA_UNSTATS\r\n\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\tindicating 0\r\n\t\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\t\treferencing to a CERT_TS_A_AA\r\n\t\t\t\t\t\t\tnot containing validity_restrictions['region']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "799a16a6-d213-4ef0-ab37-b6f54d2d92da", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "799a16a6-d213-4ef0-ab37-b6f54d2d92da", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "799a16a6-d213-4ef0-ab37-b6f54d2d92da" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10.json deleted file mode 100644 index 0f5f8dffc3abeccadf195e5d2e5f0ba61de9d729..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "237d1272-7e47-41d7-9117-70820c439002", - "type": "STRING", - "value": "10. Check time validity restrictions" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "237d1272-7e47-41d7-9117-70820c439002", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "237d1272-7e47-41d7-9117-70820c439002" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01.json deleted file mode 100644 index ad34fbaab92228a80561be1a2d3ad26edc54e367..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5c0e7ec6-fab0-4299-84f8-612b18313663", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "5c0e7ec6-fab0-4299-84f8-612b18313663", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/c3923a06-7523-4d02-b1e2-54db898f3d76"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5c0e7ec6-fab0-4299-84f8-612b18313663", - "type": "STRING", - "value": "01. Check time validity restriction presence" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5c0e7ec6-fab0-4299-84f8-612b18313663", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "5c0e7ec6-fab0-4299-84f8-612b18313663" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_01_BO.json deleted file mode 100644 index a2f3f61ca6320a95c8f6c27a28d13b76f636ef47..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_01_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "84f05154-becf-44fe-aadf-43ea38971df1", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "84f05154-becf-44fe-aadf-43ea38971df1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "84f05154-becf-44fe-aadf-43ea38971df1", - "type": "STRING", - "value": "Check that the IUT discards a message when its signing certificate does not contain the time validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "84f05154-becf-44fe-aadf-43ea38971df1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_10_01_BO_AT)\r\n\t\t\t\t\tnot containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\tand not containing validity_restrictions['time_end']\r\n\t\t\t\t\tand not containing validity_restrictions['time_start_and_duration']\r\n\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "84f05154-becf-44fe-aadf-43ea38971df1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "84f05154-becf-44fe-aadf-43ea38971df1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "84f05154-becf-44fe-aadf-43ea38971df1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_02_BO.json deleted file mode 100644 index fc74faf003c59538f0df118e036d093184abbc73..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_01/TP_SEC_ITSS_RCV_CERT_10_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "13f67959-7085-4001-9269-e2934f2be7cd", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "13f67959-7085-4001-9269-e2934f2be7cd", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "13f67959-7085-4001-9269-e2934f2be7cd", - "type": "STRING", - "value": "Check that the IUT discards a message when the issuing certificate of the message signing certificate does not contain the time validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "13f67959-7085-4001-9269-e2934f2be7cd", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tcontaining certificate (CERT_TS_10_02_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to CERT_TS_10_02_BO_AA\r\n\t\t\t\t\t\tnot containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tand not containing validity_restrictions['time_end']\r\n\t\t\t\t\t\tand not containing validity_restrictions['time_start_and_duration']\r\n\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "13f67959-7085-4001-9269-e2934f2be7cd", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "13f67959-7085-4001-9269-e2934f2be7cd", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "13f67959-7085-4001-9269-e2934f2be7cd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02.json deleted file mode 100644 index e4180f716539f55e6b03930aabeceede59f476eb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ee7830c2-e961-4226-b4de-9eb5dbe74431", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "ee7830c2-e961-4226-b4de-9eb5dbe74431", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/36a05750-9fac-494a-adcc-c36a9b0b39c1", - "/Documents/ts_103097v010201p.xhtml/e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ee7830c2-e961-4226-b4de-9eb5dbe74431", - "type": "STRING", - "value": "02. Check AT certificate time validity restriction presence" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ee7830c2-e961-4226-b4de-9eb5dbe74431", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "ee7830c2-e961-4226-b4de-9eb5dbe74431" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_03_BO.json deleted file mode 100644 index 1474572c6e64c450629b8933dc653826e770dfcb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "dafe208b-2d75-4911-ab78-03f980ced45d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dafe208b-2d75-4911-ab78-03f980ced45d", - "type": "STRING", - "value": "Check that the IUT discards a message when its signing certificate contains 'time_end' validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "dafe208b-2d75-4911-ab78-03f980ced45d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is less then time_end validity restricyion of CERT_TS_10_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_10_03_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "dafe208b-2d75-4911-ab78-03f980ced45d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dafe208b-2d75-4911-ab78-03f980ced45d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "dafe208b-2d75-4911-ab78-03f980ced45d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_04_BO.json deleted file mode 100644 index 464dffdf0e1cf3ed45a5333a6b9aca712cee6e6d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_04_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "57749696-4673-421a-9dc8-819a4d9d304c", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "57749696-4673-421a-9dc8-819a4d9d304c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "57749696-4673-421a-9dc8-819a4d9d304c", - "type": "STRING", - "value": "Check that the IUT discards a message when its signing certificate contains 'time_start_and_duration' validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "57749696-4673-421a-9dc8-819a4d9d304c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_10_04_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate (CERT_TS_10_04_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_duration']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "57749696-4673-421a-9dc8-819a4d9d304c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "57749696-4673-421a-9dc8-819a4d9d304c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "57749696-4673-421a-9dc8-819a4d9d304c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_05_BO.json deleted file mode 100644 index 1da596c8a5236f16f76aee983cf785925dc80e27..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "97dd60ed-d138-4211-b28d-f34e4117fe28", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "97dd60ed-d138-4211-b28d-f34e4117fe28", - "type": "STRING", - "value": "Check that the IUT discards a message when the issuing certificate of the message signing certificate contains 'time_end' validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "97dd60ed-d138-4211-b28d-f34e4117fe28", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is less then time_end validity restricyion of CERT_TS_10_05_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tcontaining certificate (CERT_TS_10_05_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to CERT_TS_10_05_BO_AA\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "97dd60ed-d138-4211-b28d-f34e4117fe28", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "97dd60ed-d138-4211-b28d-f34e4117fe28", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "97dd60ed-d138-4211-b28d-f34e4117fe28" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_06_BO.json deleted file mode 100644 index 063ce8df6c7f4154e06131f53e31255573fc5766..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_10/SEC_ITSS_RCV_CERT_10_02/TP_SEC_ITSS_RCV_CERT_10_06_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185", - "type": "STRING", - "value": "Check that the IUT discards a message when its signing certificate contains 'time_start_and_duration' validity restriction\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is less then time_end validity restricyion of CERT_TS_10_06_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tcontaining certificate (CERT_TS_10_06_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to CERT_TS_10_06_BO_AA\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_duration']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7daf8289-bc85-45f6-bcec-ccb1a4e9c185" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11.json deleted file mode 100644 index 1bf0c3e5e95c27e1814df3e3835f5b1816634e98..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "72ea145a-4e6d-4a28-9ff4-74f47e356dc5", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "72ea145a-4e6d-4a28-9ff4-74f47e356dc5", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/99a86360-2aa2-4fad-82d3-015c9fa9345d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "72ea145a-4e6d-4a28-9ff4-74f47e356dc5", - "type": "STRING", - "value": "11. Check time validity restriction conforming to the issuing certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "72ea145a-4e6d-4a28-9ff4-74f47e356dc5", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "72ea145a-4e6d-4a28-9ff4-74f47e356dc5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_01_BO.json deleted file mode 100644 index 399f26be95d61c0c4f8fa4ad0033569f3d0362b7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "28b60013-6c65-4a16-9ff2-81d5e8af32ed", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "28b60013-6c65-4a16-9ff2-81d5e8af32ed", - "type": "STRING", - "value": "Check that the IUT discards a message when the validity period of the signing certificate ends after the validity period of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "28b60013-6c65-4a16-9ff2-81d5e8af32ed", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_11_01_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to CERT_TS_A_AA\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating START_VALIDITY_AA\r\n\t\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\t\tindicating END_VALIDITY_AA\r\n\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\tindicating START_VALIDITY_AA\r\n\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\tindicating END_VALIDITY_AA + 1d\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "28b60013-6c65-4a16-9ff2-81d5e8af32ed", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "28b60013-6c65-4a16-9ff2-81d5e8af32ed", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "28b60013-6c65-4a16-9ff2-81d5e8af32ed" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_02_BO.json deleted file mode 100644 index a6e4fa2c8b24c8449bff189ffda387eeb65067df..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f2bc3f6f-ec6f-40dd-a163-ad4e21efa2ab", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f2bc3f6f-ec6f-40dd-a163-ad4e21efa2ab", - "type": "STRING", - "value": "Check that the IUT discards a message when the validity period of its signing certificate starts before the validity period of the issuing certificate \r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f2bc3f6f-ec6f-40dd-a163-ad4e21efa2ab", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_11_02_BO_AT)\r\n\t\t\tcontaining signer_info.digest\r\n\t\t\t\treferencing to CERT_TS_A_AA\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AA\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AA\r\n\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\tcontaining start_validity\r\n\t\t\t\t\tindicating START_VALIDITY_AA - 1d\r\n\t\t\t\tand containing end_validity\r\n\t\t\t\t\tindicating END_VALIDITY_AA\r\n\tthen\r\n\t\tthe IUT discards the message\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f2bc3f6f-ec6f-40dd-a163-ad4e21efa2ab", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f2bc3f6f-ec6f-40dd-a163-ad4e21efa2ab", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f2bc3f6f-ec6f-40dd-a163-ad4e21efa2ab" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_03_BO.json deleted file mode 100644 index f4272a886ef618e682853df50b64166bd658b4b5..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "1d798f87-f769-4b5e-87f6-2d8dc77baa61", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1d798f87-f769-4b5e-87f6-2d8dc77baa61", - "type": "STRING", - "value": "Check that the IUT discards a message when the issuing certificate of signing certificate is expired but the signing certificate is not expired yet.\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "1d798f87-f769-4b5e-87f6-2d8dc77baa61", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_11_03_BO_AT)\r\n\t\t\tcontaining signer_info.digest\r\n\t\t\t\treferencing to CERT_TS_11_03_BO_AA\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AA - 365d\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AA - 1d\r\n\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\tcontaining start_validity\r\n\t\t\t\t\tindicating START_VALIDITY_AA - 365d\r\n\t\t\t\tand containing end_validity\r\n\t\t\t\t\tindicating END_VALIDITY_AA\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "1d798f87-f769-4b5e-87f6-2d8dc77baa61", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1d798f87-f769-4b5e-87f6-2d8dc77baa61", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "1d798f87-f769-4b5e-87f6-2d8dc77baa61" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_04_BO.json deleted file mode 100644 index 5463532a32ba9cd8592f45baca33a139ea304750..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_11/TP_SEC_ITSS_RCV_CERT_11_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a1fbc14c-b512-459a-875b-6b4067ded30f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a1fbc14c-b512-459a-875b-6b4067ded30f", - "type": "STRING", - "value": "Check that the IUT discards a message when the validity period of the signing certificate is after the validity period of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a1fbc14c-b512-459a-875b-6b4067ded30f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_11_04_BO_AT)\r\n\t\t\tcontaining signer_info.digest\r\n\t\t\t\treferencing to CERT_TS_11_04_BO_AA\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AA\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AA + 365d\r\n\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\tcontaining start_validity\r\n\t\t\t\t\tindicating START_VALIDITY_AA\r\n\t\t\t\tand containing end_validity\r\n\t\t\t\t\tindicating END_VALIDITY_AA +365d\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a1fbc14c-b512-459a-875b-6b4067ded30f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a1fbc14c-b512-459a-875b-6b4067ded30f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a1fbc14c-b512-459a-875b-6b4067ded30f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12.json deleted file mode 100644 index 5c64d47e7fd16432472c72a4140f099cadc392a8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "39408838-7f8d-467f-a38b-2f6de227952f", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "39408838-7f8d-467f-a38b-2f6de227952f", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/e2949dcb-7e0a-4104-92df-2c29945c7486", - "/Documents/ts_103097v010201p.xhtml/8a319e13-50a8-4e29-a775-30d3853d05f0" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "39408838-7f8d-467f-a38b-2f6de227952f", - "type": "STRING", - "value": "12. Check AID-SSP subject attribute presence and value" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "39408838-7f8d-467f-a38b-2f6de227952f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "39408838-7f8d-467f-a38b-2f6de227952f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_01_BO.json deleted file mode 100644 index a743b6ae8c815f0d297d24623843522cfc158487..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "daeddac9-d04b-487c-800a-9e204968a80e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "daeddac9-d04b-487c-800a-9e204968a80e", - "type": "STRING", - "value": "Check that the IUT discards a message when its signing certificate does not contain the SSP-AID subject attribute\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "daeddac9-d04b-487c-800a-9e204968a80e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_12_01_BO_AT\r\nensure that \r\n\twhen the IUT is receiving a SecuredMessage \r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_12_01_BO_AT)\r\n\t\t\t\t\tnot containing subject_attributes['its_aid_ssp_list']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "daeddac9-d04b-487c-800a-9e204968a80e", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "daeddac9-d04b-487c-800a-9e204968a80e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "daeddac9-d04b-487c-800a-9e204968a80e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_02_BO.json deleted file mode 100644 index 20917a5ca443bf83a50388b1220a8d4335dff892..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "bf91278c-506d-4a9e-a67c-6f8cac7c5f77", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bf91278c-506d-4a9e-a67c-6f8cac7c5f77", - "type": "STRING", - "value": "Check that the IUT discards a Secured CAM when its signing certificate does not contain a record with AID_CAM in the its_aid_ssp_list subject attribute " - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "bf91278c-506d-4a9e-a67c-6f8cac7c5f77", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_12_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_01)\r\n\t\tcontaining header_fields ['its_aid']\r\n\t\t\tcontaining its_aid\r\n\t\t\t\tindicating 'AID_CAM'\r\n\t\tand containing header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_12_02_BO_AT)\r\n\t\t\t\t\tcontaining subject_attributes['its_aid_ssp_list']\r\n\t\t\t\t\t\tnot containing an item\r\n\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\tindicating 'AID_CAM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "bf91278c-506d-4a9e-a67c-6f8cac7c5f77", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bf91278c-506d-4a9e-a67c-6f8cac7c5f77", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "bf91278c-506d-4a9e-a67c-6f8cac7c5f77" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_03_BO.json deleted file mode 100644 index 237276b17ea2fe2caec6c874743c5b5e1728506a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "41294566-8787-4cd9-8e86-4fa788f38613", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "41294566-8787-4cd9-8e86-4fa788f38613", - "type": "STRING", - "value": "Check that the IUT discards a Secured DENM when its signing certificate does not contain a record with AID_DENM in the its_aid_ssp_list subject attribute\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "41294566-8787-4cd9-8e86-4fa788f38613", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_12_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured DENM (MSG_SEC_RCV_DENM_A)\r\n\t\tcontaining header_fields ['its_aid']\r\n\t\t\tcontaining its_aid\r\n\t\t\t\tindicating 'AID_DENM'\r\n\t\tand containing header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_12_03_BO_AT)\r\n\t\t\t\t\tcontaining subject_attributes['its_aid_ssp_list']\r\n\t\t\t\t\t\tnot containing an item\r\n\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "41294566-8787-4cd9-8e86-4fa788f38613", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "41294566-8787-4cd9-8e86-4fa788f38613", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "41294566-8787-4cd9-8e86-4fa788f38613" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_04_BO.json deleted file mode 100644 index 1f304d4b4929f01fc51bdd6eb8a4fb86fe0bb58a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_12/TP_SEC_ITSS_RCV_CERT_12_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d47e018d-ae91-4640-a3c5-3cb143b5d292", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d47e018d-ae91-4640-a3c5-3cb143b5d292", - "type": "STRING", - "value": "Check that the IUT discards a Secured CAM when its signing certificate contains two records with AID_CAM in the its_aid_ssp_list subject attribute\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d47e018d-ae91-4640-a3c5-3cb143b5d292", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_12_04_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_01)\r\n\t\tcontaining header_fields ['its_aid']\r\n\t\t\tcontaining its_aid\r\n\t\t\t\tindicating 'AID_CAM'\r\n\t\tand containing header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_12_04_BO_AT)\r\n\t\t\t\t\tcontaining subject_attributes['its_aid_ssp_list']\r\n\t\t\t\t\t\tcontaining item [0].its_aid\r\n\t\t\t\t\t\t\tindicating 'AID_CAM'\r\n\t\t\t\t\t\tand containing item [1].its_aid\r\n\t\t\t\t\t\t\tindicating 'AID_CAM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d47e018d-ae91-4640-a3c5-3cb143b5d292", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d47e018d-ae91-4640-a3c5-3cb143b5d292", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d47e018d-ae91-4640-a3c5-3cb143b5d292" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13.json deleted file mode 100644 index 84fa1b1197588abf552e43e1b5396b33a1296491..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "653ff300-7362-4acf-88f0-8fa11888cc51", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "653ff300-7362-4acf-88f0-8fa11888cc51", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/71f5a0ef-5322-4268-8b01-1335de1d68d1"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "653ff300-7362-4acf-88f0-8fa11888cc51", - "type": "STRING", - "value": "13. Check AID-SSP subject attribute value conforming to the issuing certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "653ff300-7362-4acf-88f0-8fa11888cc51", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "653ff300-7362-4acf-88f0-8fa11888cc51" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_01_BO.json deleted file mode 100644 index 34401598dabc5b62c10180733387aa155432e88a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5f117a44-fc62-47ed-becf-122a99cf7739", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5f117a44-fc62-47ed-becf-122a99cf7739", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing AT certificate contains a CAM AID-SSP record whereas the issuing AA certificate does not contain the record with AID_CAM" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5f117a44-fc62-47ed-becf-122a99cf7739", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_13_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_01)\r\n\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_13_01_BO_AT)\r\n\t\t\tcontaining signer_info.digest\r\n\t\t\t\treferencing to CERT_TS_13_01_BO_AA\r\n\t\t\t\t\tcontaining subject_attributes['its_aid_list']\r\n\t\t\t\t\t\tnot containing 'AID_CAM'\r\n\t\t\tand containing subject_attributes['its_aid_ssp_list']\r\n\t\t\t\tcontaining a record\r\n\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\tindicating 'AID_CAM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5f117a44-fc62-47ed-becf-122a99cf7739", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5f117a44-fc62-47ed-becf-122a99cf7739", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5f117a44-fc62-47ed-becf-122a99cf7739" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_02_BO.json deleted file mode 100644 index 34612bbe99095884253c1d9431479c09382eb927..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "63083cc3-f6f7-447b-9220-6dba00166544", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "63083cc3-f6f7-447b-9220-6dba00166544", - "type": "STRING", - "value": "Check that the IUT discards a message when the signing AT certificate contains a DENM AID-SSP record whereas the issuing AA certificate does not contain the AID record with AID_DENM" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "63083cc3-f6f7-447b-9220-6dba00166544", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_13_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured DENM (MSG_SEC_RCV_DENM_A)\r\n\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_13_02_BO_AT)\r\n\t\t\tcontaining signer_info.digest\r\n\t\t\t\treferencing to CERT_TS_13_02_BO_AA\r\n\t\t\t\t\tcontaining subject_attributes['its_aid_list']\r\n\t\t\t\t\t\tnot containing 'AID_DENM'\r\n\t\t\tand containing subject_attributes['its_aid_ssp_list']\r\n\t\t\t\tcontaining a record\r\n\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "63083cc3-f6f7-447b-9220-6dba00166544", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "63083cc3-f6f7-447b-9220-6dba00166544", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "63083cc3-f6f7-447b-9220-6dba00166544" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_03_BO.json deleted file mode 100644 index c382c338f8c233b8717f0f808fa94b1df807a5f1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_13/TP_SEC_ITSS_RCV_CERT_13_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "bc1541fa-804f-4847-8640-6386d1f8607b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bc1541fa-804f-4847-8640-6386d1f8607b", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the AA certificate does not contain a subject_attribute of type its_aid_list" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "bc1541fa-804f-4847-8640-6386d1f8607b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_13_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_01)\r\n\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_13_03_BO_AT)\r\n\t\t\tcontaining signer_info.digest\r\n\t\t\t\treferencing to CERT_TS_13_03_BO_AA\r\n\t\t\t\t\tnot containing subject_attributes['its_aid_list']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "bc1541fa-804f-4847-8640-6386d1f8607b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bc1541fa-804f-4847-8640-6386d1f8607b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "bc1541fa-804f-4847-8640-6386d1f8607b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14.json deleted file mode 100644 index 22487e95aa7dacdfc1fcb915e5434d6c65006249..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b09c0264-673b-4cfc-bd64-e7dcf6ef91c9", - "type": "STRING", - "value": "Check that the IUT discards certificate with wrong signer info type" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b09c0264-673b-4cfc-bd64-e7dcf6ef91c9", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/076915cc-c9b3-460d-8ba4-388037396737"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "b09c0264-673b-4cfc-bd64-e7dcf6ef91c9", - "type": "STRING", - "value": "14. Check the authorization ticket certificate signer info" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b09c0264-673b-4cfc-bd64-e7dcf6ef91c9", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b09c0264-673b-4cfc-bd64-e7dcf6ef91c9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_01_BO.json deleted file mode 100644 index 8d58e9fadc2dd593c905a923c13166dacfad9d7d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "bc0af35f-e297-4c88-9d0e-39762d807b05", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bc0af35f-e297-4c88-9d0e-39762d807b05", - "type": "STRING", - "value": "Check that IUT discards the AT certificate with signer info of type 'certificate'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "bc0af35f-e297-4c88-9d0e-39762d807b05", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_14_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_14_01_BO_AT)\r\n\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\t\tindicating CERT_TS_AA_A\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "bc0af35f-e297-4c88-9d0e-39762d807b05", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bc0af35f-e297-4c88-9d0e-39762d807b05", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "bc0af35f-e297-4c88-9d0e-39762d807b05" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_02_BO.json deleted file mode 100644 index c114c75d0ec39b4f452d4d68ee176563411bfa9e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a0879c7f-6e90-475c-959e-5458e44063f5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a0879c7f-6e90-475c-959e-5458e44063f5", - "type": "STRING", - "value": "Check that IUT discards the AT certificate with signer info of type 'certificate_chain'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a0879c7f-6e90-475c-959e-5458e44063f5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_14_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_14_02_BO_AT)\r\n\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\t\t\tand containing certificates[0]\r\n\t\t\t\t\t\t\tindicating certificate (CERT_TEST_ROOT)\r\n\t\t\t\t\t\tand containing certificates[1]\r\n\t\t\t\t\t\t\tindicating certificate (CERT_TS_AA_A)\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a0879c7f-6e90-475c-959e-5458e44063f5", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a0879c7f-6e90-475c-959e-5458e44063f5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a0879c7f-6e90-475c-959e-5458e44063f5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_03_BO.json deleted file mode 100644 index b3e072b4d1c85e709697261a35ee0f02423baeb3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_14/TP_SEC_ITSS_RCV_CERT_14_03_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "8cd830f6-c52d-47f3-91d6-4fc97e016be8", - "type": "STRING", - "value": "This test purpose is deprecated for v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8cd830f6-c52d-47f3-91d6-4fc97e016be8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8cd830f6-c52d-47f3-91d6-4fc97e016be8", - "type": "STRING", - "value": "Check that IUT discards the AT certificate with signer info of type 'certificate_digest_with_other_algorithm'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8cd830f6-c52d-47f3-91d6-4fc97e016be8", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_14_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_14_03_BO_AT)\r\n\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\tindicating 'certificate_digest_with_other_algorithm'\r\n\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\treferencing CERT_TS_AA_A\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8cd830f6-c52d-47f3-91d6-4fc97e016be8", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8cd830f6-c52d-47f3-91d6-4fc97e016be8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8cd830f6-c52d-47f3-91d6-4fc97e016be8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15.json deleted file mode 100644 index 9d53aaaaf43025c6407d3f3f28874dbabd167fa0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "36879fa4-e1d1-422b-8e7d-affef4bed85c", - "type": "STRING", - "value": "Check that the IUT discards certificate with wrong signer info type" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "36879fa4-e1d1-422b-8e7d-affef4bed85c", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/21450aa2-5444-4b7f-999a-4a385c833eec"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "36879fa4-e1d1-422b-8e7d-affef4bed85c", - "type": "STRING", - "value": "15. Check the authorization authority certificate signer info" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "36879fa4-e1d1-422b-8e7d-affef4bed85c", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "36879fa4-e1d1-422b-8e7d-affef4bed85c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_01_BO.json deleted file mode 100644 index 72796d24d36bf07a9650d129e8a3d01f90c344fe..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fcc33761-e8d1-4380-9bc1-2f39f15300fb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fcc33761-e8d1-4380-9bc1-2f39f15300fb", - "type": "STRING", - "value": "Check that IUT discards the AA certificate with signer info of type 'certificate'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fcc33761-e8d1-4380-9bc1-2f39f15300fb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_15_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_15_01_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate (CERT_TS_15_01_BO_AA)\r\n\t\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\t\t\t\tindicating CERT_TEST_ROOT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fcc33761-e8d1-4380-9bc1-2f39f15300fb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fcc33761-e8d1-4380-9bc1-2f39f15300fb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fcc33761-e8d1-4380-9bc1-2f39f15300fb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_02_BO.json deleted file mode 100644 index a3f5c3dee57660672fc71b207be805f6f23393e9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "03b77eb3-ccac-45d2-ae21-37a883a512ca", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "03b77eb3-ccac-45d2-ae21-37a883a512ca", - "type": "STRING", - "value": "Check that IUT discards the AA certificate with signer info of type 'certificate_chain'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "03b77eb3-ccac-45d2-ae21-37a883a512ca", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_15_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_15_02_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate (CERT_TS_15_02_BO_AA)\r\n\t\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\t\t\t\t\tand containing certificates[0]\r\n\t\t\t\t\t\t\t\t\tindicating certificate (CERT_ROOT)\r\n\t\t\t\t\t\t\t\tand containing certificates[1]\r\n\t\t\t\t\t\t\t\t\tindicating certificate (CERT_TS_15_02_BO_CA)\r\n\t\t\t\t\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\t\t\t\t\t\tand containing digest \r\n\t\t\t\t\t\t\t\t\t\t\t\treferencing to CERT_TEST_ROOT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "03b77eb3-ccac-45d2-ae21-37a883a512ca", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "03b77eb3-ccac-45d2-ae21-37a883a512ca", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "03b77eb3-ccac-45d2-ae21-37a883a512ca" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_03_BO.json deleted file mode 100644 index f48b6e375cfaf64e47cca93b45dfb010ef91ac7c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_15/TP_SEC_ITSS_RCV_CERT_15_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "04b0b149-835f-44b7-b647-52cf25b8066f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "04b0b149-835f-44b7-b647-52cf25b8066f", - "type": "STRING", - "value": "Check that IUT discards the AA certificate with signer info of type 'certificate_digest_with_other_algorithm'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "04b0b149-835f-44b7-b647-52cf25b8066f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_15_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_15_03_BO_AT)\r\n\t\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\t\treferencing to certificate (CERT_TS_15_03_BO_AA)\r\n\t\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_other_algorithm'\r\n\t\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\t\treferencing CERT_TEST_ROOT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "04b0b149-835f-44b7-b647-52cf25b8066f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "04b0b149-835f-44b7-b647-52cf25b8066f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "04b0b149-835f-44b7-b647-52cf25b8066f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16.json deleted file mode 100644 index cd9504c1de35123dc2028d965d0fea24c7da48c6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a6c51220-c65d-4085-9d97-17bf34b12e37", - "type": "STRING", - "value": "Check that the IUT discards certificate with wrong signer info type" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a6c51220-c65d-4085-9d97-17bf34b12e37", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e9618613-82ad-42fa-88b3-2f6924c0165c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a6c51220-c65d-4085-9d97-17bf34b12e37", - "type": "STRING", - "value": "16. Check the subject_name of the AT certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a6c51220-c65d-4085-9d97-17bf34b12e37", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a6c51220-c65d-4085-9d97-17bf34b12e37" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16/TP_SEC_ITSS_RCV_CERT_16_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16/TP_SEC_ITSS_RCV_CERT_16_01_BO.json deleted file mode 100644 index 3d324e2b96cdc6bf81d7fdb496dd30f4c66d7eed..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_16/TP_SEC_ITSS_RCV_CERT_16_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c0f9be49-30be-4271-b9d5-983a7b394f71", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c0f9be49-30be-4271-b9d5-983a7b394f71", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the subject_name of the AT certificate is not an empty name field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c0f9be49-30be-4271-b9d5-983a7b394f71", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_16_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a SecuredMessage\r\n\t\tcontaining header_fields ['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate (CERT_TS_14_01_BO_AT)\r\n\t\t\t\t\tcontaining subject_info.subject_name\r\n\t\t\t\t\t\tindicating non-empty string ('Invalid name')\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c0f9be49-30be-4271-b9d5-983a7b394f71", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c0f9be49-30be-4271-b9d5-983a7b394f71", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c0f9be49-30be-4271-b9d5-983a7b394f71" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17.json deleted file mode 100644 index 83b95ee51b686b49b49a252db6f8da6ae7d257af..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1a9b2317-d1e1-48b0-bbd3-4791b2dd0b47", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "1a9b2317-d1e1-48b0-bbd3-4791b2dd0b47", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9", - "/Documents/ts_103097v010201p.xhtml/0c378b8d-b7f5-4102-92db-50cd3f458166", - "/Documents/ts_103097v010201p.xhtml/a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "1a9b2317-d1e1-48b0-bbd3-4791b2dd0b47", - "type": "STRING", - "value": "17. Check certificate assurance level presence and values" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1a9b2317-d1e1-48b0-bbd3-4791b2dd0b47", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "1a9b2317-d1e1-48b0-bbd3-4791b2dd0b47" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_01_BO.json deleted file mode 100644 index e813b27ff9cbc2c03a984f70a2c726394e5438ac..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "79e9caaa-f763-489e-8f0c-481ac9f05c48", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "79e9caaa-f763-489e-8f0c-481ac9f05c48", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the subject attribute of type assurance_level is missing in the AT certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "79e9caaa-f763-489e-8f0c-481ac9f05c48", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_17_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_1)\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tand containing certificate (CERT_TS_17_01_BO_AT)\r\n\t\t\t\tnot containing subject_attributes['assurance_level']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "79e9caaa-f763-489e-8f0c-481ac9f05c48", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "79e9caaa-f763-489e-8f0c-481ac9f05c48", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "79e9caaa-f763-489e-8f0c-481ac9f05c48" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_02_BO.json deleted file mode 100644 index 448ab01aae704065c1cc5fcfdd6a9d5fb5f5dbd8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "da7099cb-1861-42b5-a5b3-caaa3e31fcd1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "da7099cb-1861-42b5-a5b3-caaa3e31fcd1", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the subject attribute of type assurance_level is missing in the AA certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "da7099cb-1861-42b5-a5b3-caaa3e31fcd1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_17_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_1)\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tand containing certificate (CERT_TS_17_02_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to certificate (CERT_TS_17_02_BO_AA)\r\n\t\t\t\t\t\tnot containing subject_attributes['assurance_level']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "da7099cb-1861-42b5-a5b3-caaa3e31fcd1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "da7099cb-1861-42b5-a5b3-caaa3e31fcd1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "da7099cb-1861-42b5-a5b3-caaa3e31fcd1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_03_BO.json deleted file mode 100644 index 648f8f0760bf901b2f567ea66736c9c432f1662a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "441ae9e8-065b-48b2-ba0c-0602ab862aaf", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "441ae9e8-065b-48b2-ba0c-0602ab862aaf", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the assurance level of issuing certificate is less then assurance level of subordinate certificate." - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "441ae9e8-065b-48b2-ba0c-0602ab862aaf", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_17_03_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_1)\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tand containing certificate (CERT_TS_17_03_BO_AT)\r\n\t\t\t\tcontaining subject_attributes['assurance_level']\r\n\t\t\t\t\tcontaining assurance_level\r\n\t\t\t\t\t\tindicating 0x80 (assurance level=4, confidence=0)\r\n\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\treferencing to certificate (CERT_TS_A_AA)\r\n\t\t\t\t\t\tcontaining subject_attributes['assurance_level']\r\n\t\t\t\t\t\t\tcontaining assurance_level\r\n\t\t\t\t\t\t\t\tindicating 0x60 (assurance level=3, confidence=0)\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "441ae9e8-065b-48b2-ba0c-0602ab862aaf", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "441ae9e8-065b-48b2-ba0c-0602ab862aaf", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "441ae9e8-065b-48b2-ba0c-0602ab862aaf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_04_BO.json deleted file mode 100644 index ce64f0dc363400e51f09cc42bf1e4675d91ec976..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_17/TP_SEC_ITSS_RCV_CERT_17_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "775bd18a-b322-430f-ae77-ffc478a5c855", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "775bd18a-b322-430f-ae77-ffc478a5c855", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the assurance level of issuing certificate is equal to the assurance level of the subordinate certificate but the confidence of subject assurance of issuing certificate is less then the confidence of the subordinate certificate." - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "775bd18a-b322-430f-ae77-ffc478a5c855", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_17_04_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_1)\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tand containing certificate (CERT_TS_17_04_BO_AT)\r\n\t\t\t\tcontaining subject_attributes['assurance_level']\r\n\t\t\t\t\tcontaining assurance_level\r\n\t\t\t\t\t\tindicating 0x61 (assurance level=3, confidence=1)\r\n\t\t\t\tand containing signer_info.digest\r\n\t\t\t\t\treferencing to certificate (CERT_TS_A_AA)\r\n\t\t\t\t\t\tcontaining subject_attributes['assurance_level']\r\n\t\t\t\t\t\t\tcontaining assurance_level\r\n\t\t\t\t\t\t\t\tindicating 0x60 (assurance level=3, confidence=0)\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "775bd18a-b322-430f-ae77-ffc478a5c855", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "775bd18a-b322-430f-ae77-ffc478a5c855", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "775bd18a-b322-430f-ae77-ffc478a5c855" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18.json deleted file mode 100644 index de8246235381358b91995d0c1023c79604c23084..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6caedf7a-035f-4a92-8c1f-b8ab48fcb2f6", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6caedf7a-035f-4a92-8c1f-b8ab48fcb2f6", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/31d476e6-b809-400a-a06b-25bb659cc453"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6caedf7a-035f-4a92-8c1f-b8ab48fcb2f6", - "type": "STRING", - "value": "18. Check certificate verification key presence" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6caedf7a-035f-4a92-8c1f-b8ab48fcb2f6", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6caedf7a-035f-4a92-8c1f-b8ab48fcb2f6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_01_BO.json deleted file mode 100644 index cf2aabc7df7dd6ef1d3c59758379d6790da78c0b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "aa07df4f-bc36-4762-a154-3d54825afd60", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "aa07df4f-bc36-4762-a154-3d54825afd60", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the subject attribute of type verification_key is missing in the AT certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "aa07df4f-bc36-4762-a154-3d54825afd60", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_18_01_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_1)\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tand containing certificate (CERT_TS_18_01_BO_AT)\r\n\t\t\t\tnot containing subject_attributes['verification_key']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "aa07df4f-bc36-4762-a154-3d54825afd60", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "aa07df4f-bc36-4762-a154-3d54825afd60", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "aa07df4f-bc36-4762-a154-3d54825afd60" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_02_BO.json deleted file mode 100644 index f15e8a528c135f4e766c0d310a877f09f1c8681f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_18/TP_SEC_ITSS_RCV_CERT_18_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5476ddea-a380-44d5-8cad-32f1d8e42955", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5476ddea-a380-44d5-8cad-32f1d8e42955", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the subject attribute of type verification_key is missing in the AA certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5476ddea-a380-44d5-8cad-32f1d8e42955", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_18_02_BO_AT\r\nensure that\r\n\twhen the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_1)\r\n\t\tcontaining header_fields ['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate'\r\n\t\t\tand containing certificate (CERT_TS_18_02_BO_AT)\r\n\t\t\t\tcontaining signer_info.digest\r\n\t\t\t\t\treferencing to certificate (CERT_TS_18_02_BO_AA)\r\n\t\t\t\t\t\tnot containing subject_attributes['verification_key']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5476ddea-a380-44d5-8cad-32f1d8e42955", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5476ddea-a380-44d5-8cad-32f1d8e42955", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5476ddea-a380-44d5-8cad-32f1d8e42955" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19.json deleted file mode 100644 index a19f265d51bf4e1f3ebd01c5cbc0064c00845cdc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "75f26799-607c-4445-86f6-89431a03e88a", - "type": "STRING", - "value": "\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "75f26799-607c-4445-86f6-89431a03e88a", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/f328e6ac-eb81-4136-9747-28296db4885d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "75f26799-607c-4445-86f6-89431a03e88a", - "type": "STRING", - "value": "19. Check invalid region type in validity restriction of certificates" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "75f26799-607c-4445-86f6-89431a03e88a", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "75f26799-607c-4445-86f6-89431a03e88a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19/TP_SEC_ITSS_RCV_CERT_19_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19/TP_SEC_ITSS_RCV_CERT_19_01_BO.json deleted file mode 100644 index def8781bfa2f152c4b2c585c5c4d797c13df8204..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_CERT/SEC_ITSS_RCV_CERT_19/TP_SEC_ITSS_RCV_CERT_19_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ceadc003-68ba-4479-8165-17af891640ca", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ceadc003-68ba-4479-8165-17af891640ca", - "type": "STRING", - "value": "Check that IUT discards a SecuredMessage if the reserved region type has been used in region validity restriction of the AT certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ceadc003-68ba-4479-8165-17af891640ca", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info'].signer.certificate (CERT_TS_19_01_BO_AT)\r\n\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\tindicating 240\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ceadc003-68ba-4479-8165-17af891640ca", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ceadc003-68ba-4479-8165-17af891640ca", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ceadc003-68ba-4479-8165-17af891640ca" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM.json deleted file mode 100644 index bae35d6690cf4c80970818d3022cff6303c3072c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "579a4b1a-db3b-4ed7-9ffe-9399f039431b", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/fd2e4af3-d17f-4622-a387-1c5bdbc338c2"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "579a4b1a-db3b-4ed7-9ffe-9399f039431b", - "type": "STRING", - "value": "DENM Profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "579a4b1a-db3b-4ed7-9ffe-9399f039431b", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "579a4b1a-db3b-4ed7-9ffe-9399f039431b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01.json deleted file mode 100644 index 0878e3a1ae6571ed2a005aae5dba70ac28cc1acd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6e7f2fbc-2a82-4a8d-af20-4818cafabbd0", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/fd2e4af3-d17f-4622-a387-1c5bdbc338c2"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6e7f2fbc-2a82-4a8d-af20-4818cafabbd0", - "type": "STRING", - "value": "01. Check that IUT accepts well-formed Secured DENM" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6e7f2fbc-2a82-4a8d-af20-4818cafabbd0", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6e7f2fbc-2a82-4a8d-af20-4818cafabbd0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_01_BV.json deleted file mode 100644 index bf89e35163f81043b2f1c079292e96102477be51..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "673a7e75-6b3a-467e-9a1d-43df58b157c8", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_DENM_A\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "673a7e75-6b3a-467e-9a1d-43df58b157c8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "673a7e75-6b3a-467e-9a1d-43df58b157c8", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured DENM signed with the certificate without region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "673a7e75-6b3a-467e-9a1d-43df58b157c8", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_A_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key']\r\n\t\t\t\t\t\t\tcontaining key (KEY)\r\n\t\t\t\t\t\tand not containing validity_restrictions['region']\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tand containing DENM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "673a7e75-6b3a-467e-9a1d-43df58b157c8", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "673a7e75-6b3a-467e-9a1d-43df58b157c8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "673a7e75-6b3a-467e-9a1d-43df58b157c8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_02_BV.json deleted file mode 100644 index cd83270d5a59362dd68d0bca3e222f1f045bb5eb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "e3f945b5-7f82-4aea-b44f-ff764eae3453", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_DENM_B\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e3f945b5-7f82-4aea-b44f-ff764eae3453", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e3f945b5-7f82-4aea-b44f-ff764eae3453", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured DENM signed with the certificate with a circular region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e3f945b5-7f82-4aea-b44f-ff764eae3453", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_B_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_B_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_B_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand not containing any other header_fields\r\n\t\t\tand containing payload_fields\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tand containing DENM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e3f945b5-7f82-4aea-b44f-ff764eae3453", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e3f945b5-7f82-4aea-b44f-ff764eae3453", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e3f945b5-7f82-4aea-b44f-ff764eae3453" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_03_BV.json deleted file mode 100644 index 9ab7434a21e4c4c1c9387fc5f97795ec80e171e1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_03_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "589bfd90-5e66-4f74-a434-c9f54acc4a7e", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_DENM_C\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "589bfd90-5e66-4f74-a434-c9f54acc4a7e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "589bfd90-5e66-4f74-a434-c9f54acc4a7e", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured DENM signed with the certificate with a rectangular region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "589bfd90-5e66-4f74-a434-c9f54acc4a7e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_C_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_C_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_C_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\t\t\tindicating REGIONS\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand not containing any other header_fields\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tand containing DENM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "589bfd90-5e66-4f74-a434-c9f54acc4a7e", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "589bfd90-5e66-4f74-a434-c9f54acc4a7e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "589bfd90-5e66-4f74-a434-c9f54acc4a7e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_04_BV.json deleted file mode 100644 index 8c74731e5a3328efd81c3c28f55c29450cbea9a9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_04_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "f702ee4b-c417-4bdc-976c-5071749f76c5", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_DENM_D\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f702ee4b-c417-4bdc-976c-5071749f76c5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f702ee4b-c417-4bdc-976c-5071749f76c5", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured DENM signed with the certificate with a polygonal region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f702ee4b-c417-4bdc-976c-5071749f76c5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_D_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_D_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_D_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand not containing any other header_fields\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tand containing DENM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f702ee4b-c417-4bdc-976c-5071749f76c5", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f702ee4b-c417-4bdc-976c-5071749f76c5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f702ee4b-c417-4bdc-976c-5071749f76c5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_05_BV.json deleted file mode 100644 index df6b5b161b2fa6fd0369653d523142ab59d0d615..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_01/TP_SEC_ITSS_RCV_DENM_01_05_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "049358bc-e0eb-46e8-925e-d794fb54bf73", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_DENM_E\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "049358bc-e0eb-46e8-925e-d794fb54bf73", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "049358bc-e0eb-46e8-925e-d794fb54bf73", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured DENM signed with the certificate with a identified region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "049358bc-e0eb-46e8-925e-d794fb54bf73", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_E_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_E_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_E_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\t\t\t\t\tand containing identified_region\r\n\t\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand not containing any other header_fields\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\t\t\tand containing DENM payload\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "049358bc-e0eb-46e8-925e-d794fb54bf73", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "049358bc-e0eb-46e8-925e-d794fb54bf73", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "049358bc-e0eb-46e8-925e-d794fb54bf73" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02.json deleted file mode 100644 index 36808ce6c5456a65a5f8c0efe918dd1b15803eea..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9c26c7a6-660b-4a80-97a3-ec6901030dc6", - "type": "STRING", - "value": "Check that ITS-S discards a Secured DENM containing protocol version unequal to 2" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9c26c7a6-660b-4a80-97a3-ec6901030dc6", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9c26c7a6-660b-4a80-97a3-ec6901030dc6", - "type": "STRING", - "value": "02. Check the message protocol version" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9c26c7a6-660b-4a80-97a3-ec6901030dc6", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "9c26c7a6-660b-4a80-97a3-ec6901030dc6", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "9c26c7a6-660b-4a80-97a3-ec6901030dc6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_01_BO.json deleted file mode 100644 index 44d2742b2a15a788acdcde54491a3a8f284d3c5f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "73ae3c75-df9b-4fdd-9dd9-c89a9cf18ce7", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "73ae3c75-df9b-4fdd-9dd9-c89a9cf18ce7", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM containing protocol version set to a value less than 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "73ae3c75-df9b-4fdd-9dd9-c89a9cf18ce7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating 1\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "73ae3c75-df9b-4fdd-9dd9-c89a9cf18ce7", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "73ae3c75-df9b-4fdd-9dd9-c89a9cf18ce7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "73ae3c75-df9b-4fdd-9dd9-c89a9cf18ce7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_02_BO.json deleted file mode 100644 index 09c192d886497184cadeeb7591a8029894ce7635..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_02/TP_SEC_ITSS_RCV_DENM_02_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "801210f4-259c-4f76-9bb9-0afe11b1db6d", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "801210f4-259c-4f76-9bb9-0afe11b1db6d", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM containing protocol version set to a value greater than 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "801210f4-259c-4f76-9bb9-0afe11b1db6d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating 3\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "801210f4-259c-4f76-9bb9-0afe11b1db6d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "801210f4-259c-4f76-9bb9-0afe11b1db6d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "801210f4-259c-4f76-9bb9-0afe11b1db6d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04.json deleted file mode 100644 index 3dd0943f1eda1c835aa9d878a71932d6996ad0dd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a115fcd3-46c3-494a-af0f-581cd67bdc97", - "type": "STRING", - "value": "Check that the IUT discards Secured DENM containing wrong elements of the header fields\r\nCheck that optinal header fields are allowed" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a115fcd3-46c3-494a-af0f-581cd67bdc97", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/322e2d54-6950-4e35-856e-87281b4b3aa6", - "/Documents/ts_103097v010201p.xhtml/6694e8a1-e064-4703-a0d5-c44221f8cfb4", - "/Documents/ts_103097v010201p.xhtml/cdc87f4d-d678-4dab-83bf-eff2d82483d8", - "/Documents/ts_103097v010201p.xhtml/6c62596c-7b03-4d58-8b8a-d91ebad153f1" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a115fcd3-46c3-494a-af0f-581cd67bdc97", - "type": "STRING", - "value": "04. Check header fields" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a115fcd3-46c3-494a-af0f-581cd67bdc97", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a115fcd3-46c3-494a-af0f-581cd67bdc97" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_01_BO.json deleted file mode 100644 index 04818715a9c3e1bf377432c8520b78e055cb0e4c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6496964d-c6e2-4d8c-ace1-e5d8ba73d533", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6496964d-c6e2-4d8c-ace1-e5d8ba73d533", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message contains more than one header field of type 'signer_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6496964d-c6e2-4d8c-ace1-e5d8ba73d533", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6496964d-c6e2-4d8c-ace1-e5d8ba73d533", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6496964d-c6e2-4d8c-ace1-e5d8ba73d533", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6496964d-c6e2-4d8c-ace1-e5d8ba73d533" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_02_BO.json deleted file mode 100644 index 2cf3ca4306aebf746ba64c973bdec5a690da3a4e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "47fe4522-948e-4cdb-a038-9e12e83c152f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "47fe4522-948e-4cdb-a038-9e12e83c152f", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message does not contain the header field of type 'signer_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "47fe4522-948e-4cdb-a038-9e12e83c152f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "47fe4522-948e-4cdb-a038-9e12e83c152f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "47fe4522-948e-4cdb-a038-9e12e83c152f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "47fe4522-948e-4cdb-a038-9e12e83c152f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_03_BO.json deleted file mode 100644 index 585b62fc08fcb4fcba7dbafe94d146f333aa5891..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "55c51db3-b6dd-4880-a985-eda9446fd3f5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "55c51db3-b6dd-4880-a985-eda9446fd3f5", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM if the signer_info header field is not encoded first.\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "55c51db3-b6dd-4880-a985-eda9446fd3f5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "55c51db3-b6dd-4880-a985-eda9446fd3f5", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "55c51db3-b6dd-4880-a985-eda9446fd3f5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "55c51db3-b6dd-4880-a985-eda9446fd3f5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_04_BO.json deleted file mode 100644 index 1d01d3c87e8f16e5314cada044cb1714e42ba5bc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ca815f35-dc97-4334-8f0d-5582ecaa859e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ca815f35-dc97-4334-8f0d-5582ecaa859e", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message contains more than one header field of type 'generation_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ca815f35-dc97-4334-8f0d-5582ecaa859e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tcontaining header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ca815f35-dc97-4334-8f0d-5582ecaa859e", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ca815f35-dc97-4334-8f0d-5582ecaa859e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ca815f35-dc97-4334-8f0d-5582ecaa859e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_05_BO.json deleted file mode 100644 index 8d4bc37ec67050c7290ff63be1d8b71e825c4afe..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "1ca6f24c-1935-44a1-8da2-a30660256c37", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1ca6f24c-1935-44a1-8da2-a30660256c37", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message does not contain the header field of type 'generation_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "1ca6f24c-1935-44a1-8da2-a30660256c37", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tcontaining header_fields[1].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "1ca6f24c-1935-44a1-8da2-a30660256c37", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1ca6f24c-1935-44a1-8da2-a30660256c37", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "1ca6f24c-1935-44a1-8da2-a30660256c37" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06_BO.json deleted file mode 100644 index d1d7aac8f5e66dd846c60287146b2bd47bcaff5a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b3f7bcd9-ca79-4131-888a-21fdca0b4321", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b3f7bcd9-ca79-4131-888a-21fdca0b4321", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message contains more than one header field of type 'its_aid'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b3f7bcd9-ca79-4131-888a-21fdca0b4321", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b3f7bcd9-ca79-4131-888a-21fdca0b4321", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b3f7bcd9-ca79-4131-888a-21fdca0b4321", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b3f7bcd9-ca79-4131-888a-21fdca0b4321" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06a_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06a_BO.json deleted file mode 100644 index e867e0f7f317eee3990ec4b1a22a6c34f20a7dfc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_06a_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a87163ba-c26a-4d22-a442-3ccf4beb5889", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a87163ba-c26a-4d22-a442-3ccf4beb5889", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message does not contain the header field of type 'its_aid'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a87163ba-c26a-4d22-a442-3ccf4beb5889", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a87163ba-c26a-4d22-a442-3ccf4beb5889", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a87163ba-c26a-4d22-a442-3ccf4beb5889", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a87163ba-c26a-4d22-a442-3ccf4beb5889" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_07_BO.json deleted file mode 100644 index 213175f3dcef2c54b860c559cc23895812d58efb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b23b2526-1d92-464d-b25e-6cae02ed048a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b23b2526-1d92-464d-b25e-6cae02ed048a", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message contains more than one header field of type 'generation_location'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b23b2526-1d92-464d-b25e-6cae02ed048a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating X_LOCATION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating X_LOCATION\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b23b2526-1d92-464d-b25e-6cae02ed048a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b23b2526-1d92-464d-b25e-6cae02ed048a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b23b2526-1d92-464d-b25e-6cae02ed048a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_08_BO.json deleted file mode 100644 index bfc353e4f538e758e76ef50c614d6b1929b86d02..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_08_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "2a7859c7-a4cd-4d55-8316-926abc36bca7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2a7859c7-a4cd-4d55-8316-926abc36bca7", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the message does not contain the header field of type 'generation_location'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "2a7859c7-a4cd-4d55-8316-926abc36bca7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tcontaining header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "2a7859c7-a4cd-4d55-8316-926abc36bca7", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2a7859c7-a4cd-4d55-8316-926abc36bca7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "2a7859c7-a4cd-4d55-8316-926abc36bca7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_09_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_09_BO.json deleted file mode 100644 index 4e405caf3247c199488f3694949a02dc5d7bc5b1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_09_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ca7cdfc0-36e3-43d9-989d-b487cfb35fac", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ca7cdfc0-36e3-43d9-989d-b487cfb35fac", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the header fields are not in the ascending order according to the numbering of the enumeration." - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ca7cdfc0-36e3-43d9-989d-b487cfb35fac", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ca7cdfc0-36e3-43d9-989d-b487cfb35fac", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ca7cdfc0-36e3-43d9-989d-b487cfb35fac", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ca7cdfc0-36e3-43d9-989d-b487cfb35fac" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_10_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_10_BO.json deleted file mode 100644 index 1b3a9dfcdbbf1f9b06f4718dfcf97f2d20d916c8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_10_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740", - "type": "STRING", - "value": "This test purpose is deprecated for v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM containing header field of type 'generation_time_standard_deviation'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time_standard_deviation'\r\n\t\t\t\tand containing generation_time_with_standard_deviation\r\n\t\t\t\t\tcontaining time\r\n\t\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\t\t\tand containing log_std_dev \r\n\t\t\t\t\t\tindicating 255\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "dbc9ade9-a0ed-4fb2-a7ff-22221c5f2740" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_11_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_11_BO.json deleted file mode 100644 index 91344757d680c586b34c98e19bb59a2bbb4d44dc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_11_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0890bb28-d7d5-44c5-818a-ec422d2c5403", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0890bb28-d7d5-44c5-818a-ec422d2c5403", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing the header fields of type 'expiry_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0890bb28-d7d5-44c5-818a-ec422d2c5403", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'expiration'\r\n\t\t\t\tand containing expiry_time\r\n\t\t\t\t\tindicating CURRENT_TIME + 1 h \r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0890bb28-d7d5-44c5-818a-ec422d2c5403", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0890bb28-d7d5-44c5-818a-ec422d2c5403", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0890bb28-d7d5-44c5-818a-ec422d2c5403" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_12_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_12_BV.json deleted file mode 100644 index ea0250c5a90d97a46ea9a73cd2690e8c9ac92eec..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_12_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ac8f470e-dde8-4c4a-9d88-ace56ac37351", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ac8f470e-dde8-4c4a-9d88-ace56ac37351", - "type": "STRING", - "value": "Check that IUT accepts the Secured DENM containing additional non-standard HeaderField" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ac8f470e-dde8-4c4a-9d88-ace56ac37351", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating non-standard header field type (1000)\r\n\t\t\t\tand containing other_header\r\n\t\t\t\t\tindicating non-empty data\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT accepts the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ac8f470e-dde8-4c4a-9d88-ace56ac37351", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ac8f470e-dde8-4c4a-9d88-ace56ac37351", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ac8f470e-dde8-4c4a-9d88-ace56ac37351" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_13_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_13_BO.json deleted file mode 100644 index d1dc006797cf72d9ccfe735b2a10200182a7a62e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_13_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7ac4d551-f114-4f5b-8f3e-dca782bae0a1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7ac4d551-f114-4f5b-8f3e-dca782bae0a1", - "type": "STRING", - "value": "Check that IUT discards the Secured CAM containing the header field 'encryption_parameter' and 'recipient_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7ac4d551-f114-4f5b-8f3e-dca782bae0a1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state with CERT_IUT_A_AT\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'encryption_parameters'\r\n\t\t\t\tand containing enc_params\r\n\t\t\t\t\tcontaining symm_algorithm\r\n\t\t\t\t\t\tindicating 'aes_128_ccm'\r\n\t\t\t\t\tand containing nonce\r\n\t\t\tand containing header_fields[5]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'recipient_info'\r\n\t\t\t\tand containing recipients\r\n\t\t\t\t\tcontaining recipients[0]\r\n\t\t\t\t\t\tcontaining cert_id\r\n\t\t\t\t\t\t\treferencing to CERT_IUT_A_AT\r\n\t\t\t\t\t\tand containing pk_encryption\r\n\t\t\t\t\t\t\tindicating 'ecies_nistp256'\r\n\t\t\t\t\t\tand containing enc_key\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7ac4d551-f114-4f5b-8f3e-dca782bae0a1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7ac4d551-f114-4f5b-8f3e-dca782bae0a1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7ac4d551-f114-4f5b-8f3e-dca782bae0a1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_14_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_14_BO.json deleted file mode 100644 index aa879ba741df1d0da4fe3d6b9f9b928e53535ad0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_04/TP_SEC_ITSS_RCV_DENM_04_14_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "03d4c17d-06a9-4689-84b6-d345eaac2f6c", - "type": "STRING", - "value": "X_IUT_AT_CERT - Any valid AT certificate has been used to authorize IUT" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "03d4c17d-06a9-4689-84b6-d345eaac2f6c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "03d4c17d-06a9-4689-84b6-d345eaac2f6c", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing the header fields of type 'request_unrecognized_certificate'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "03d4c17d-06a9-4689-84b6-d345eaac2f6c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state with X_IUT_AT_CERT\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'request_unrecognized_certificate'\r\n\t\t\t\tand containing digests[0]\r\n\t\t\t\t\tindicating the digest of X_IUT_AT_CERT\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "03d4c17d-06a9-4689-84b6-d345eaac2f6c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "03d4c17d-06a9-4689-84b6-d345eaac2f6c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "03d4c17d-06a9-4689-84b6-d345eaac2f6c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05.json deleted file mode 100644 index 403b563c5a431ddad5a0216d4c77b1adc04557e7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7e85c6dc-25b0-465d-a0aa-763923a3868f", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/6e73abdf-644e-40f0-ac1c-9b8dccb30af0"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7e85c6dc-25b0-465d-a0aa-763923a3868f", - "type": "STRING", - "value": "05. Check signer info" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7e85c6dc-25b0-465d-a0aa-763923a3868f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7e85c6dc-25b0-465d-a0aa-763923a3868f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_01_BO.json deleted file mode 100644 index be14f73d4a09a7f809a168b0bb8ad390779f4544..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0919b581-1e46-4214-9d1d-f745d4552277", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0919b581-1e46-4214-9d1d-f745d4552277", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the header_fields contains a signer of type 'self'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0919b581-1e46-4214-9d1d-f745d4552277", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'self'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0919b581-1e46-4214-9d1d-f745d4552277", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0919b581-1e46-4214-9d1d-f745d4552277", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0919b581-1e46-4214-9d1d-f745d4552277" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_02_BO.json deleted file mode 100644 index 17ca4a316628976e65e25d0428502b6806510b75..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "6bf58fa2-696d-4990-a568-b87811ba65e4", - "type": "STRING", - "value": "This test purpose is deprecated for v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6bf58fa2-696d-4990-a568-b87811ba65e4", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6bf58fa2-696d-4990-a568-b87811ba65e4", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the header_fields contains a signer of type 'certificate_digest_with_other_algorithm'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6bf58fa2-696d-4990-a568-b87811ba65e4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate_digest_with_other_algorithm'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6bf58fa2-696d-4990-a568-b87811ba65e4", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6bf58fa2-696d-4990-a568-b87811ba65e4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6bf58fa2-696d-4990-a568-b87811ba65e4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_03_BO.json deleted file mode 100644 index 2fb1c957a1b27a0615ecaa25bbddcc4feab7d657..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f3c36dec-2276-4340-a4cb-97d29deb5b90", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f3c36dec-2276-4340-a4cb-97d29deb5b90", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the header_fields contains a signer of type certificate_chain" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f3c36dec-2276-4340-a4cb-97d29deb5b90", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f3c36dec-2276-4340-a4cb-97d29deb5b90", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f3c36dec-2276-4340-a4cb-97d29deb5b90", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f3c36dec-2276-4340-a4cb-97d29deb5b90" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_04_BO.json deleted file mode 100644 index 5b4aabb0bf012d06f23a8c55eeb7304b31627bd5..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_05/TP_SEC_ITSS_RCV_DENM_05_04_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb", - "type": "STRING", - "value": "Values to be used as X_UNKNOWN_SIGNERINFO_TYPE are 5, 239, 240 and 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb", - "type": "STRING", - "value": "Check that IUT discards a secured DENM if the header_fields contains a signer info of unknown or reserved type" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating X_UNKNOWN_SIGNERINFO_TYPE\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b7fda35a-fd4a-4aa3-aae8-2af30522d3bb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06.json deleted file mode 100644 index c2d9d99893442860975d6bed6505e301373a9234..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6d3383b2-7a28-4f4f-aa42-00796d53a8a9", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df", - "/Documents/ts_103097v010201p.xhtml/d6ce51f8-7d7e-46fd-b53a-b4c920152e62", - "/Documents/ts_103097v010201p.xhtml/b6e04816-8080-4afe-bf78-8aa8aa77f430" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6d3383b2-7a28-4f4f-aa42-00796d53a8a9", - "type": "STRING", - "value": "06. Check generation time" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6d3383b2-7a28-4f4f-aa42-00796d53a8a9", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6d3383b2-7a28-4f4f-aa42-00796d53a8a9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_01_BO.json deleted file mode 100644 index 2803c930adfcc0d211f7a2ca368ecd2c5353d481..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cf64603c-91ea-40c5-a3cd-0e5cef5404c5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cf64603c-91ea-40c5-a3cd-0e5cef5404c5", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM containing generation_time before the certificate validity period" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cf64603c-91ea-40c5-a3cd-0e5cef5404c5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\t\tcontaining certificate (CERT_TS_MSG_06_01_BO_AT)\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME < START_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cf64603c-91ea-40c5-a3cd-0e5cef5404c5", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cf64603c-91ea-40c5-a3cd-0e5cef5404c5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cf64603c-91ea-40c5-a3cd-0e5cef5404c5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_02_BO.json deleted file mode 100644 index 3b7520a7a21c83da8953d597df3ec61fb911639f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b2c5b3ac-20d3-44d3-92b0-0d29e21a7c05", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b2c5b3ac-20d3-44d3-92b0-0d29e21a7c05", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM containing generation_time after the certificate validity period" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b2c5b3ac-20d3-44d3-92b0-0d29e21a7c05", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\t\tcontaining certificate (CERT_TS_MSG_06_02_BO_AT)\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME > END_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b2c5b3ac-20d3-44d3-92b0-0d29e21a7c05", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b2c5b3ac-20d3-44d3-92b0-0d29e21a7c05", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b2c5b3ac-20d3-44d3-92b0-0d29e21a7c05" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_03_BO.json deleted file mode 100644 index dbed087e80b50af086fde179419c49e52f624ddc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_03_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the generation_time is more than 10 minute in the past (C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME - 11min\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "693c1179-2a22-419a-8df8-717bab22c489", - "type": "BOOL", - "value": true - } - }, - "uuid": "693c1179-2a22-419a-8df8-717bab22c489" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_04_BO.json deleted file mode 100644 index eba076da2093172e2a109c87f3356ce171bb379a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_06/TP_SEC_ITSS_RCV_DENM_06_04_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the generation_time is more than 10 minute in the future(C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME + 11min\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "cda821c0-4e62-4745-acb1-65b5a425b74f", - "type": "BOOL", - "value": true - } - }, - "uuid": "cda821c0-4e62-4745-acb1-65b5a425b74f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07.json deleted file mode 100644 index 6ec3ea41bd6dea36b5636d781f595f8ff642c8b3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "4350edd1-8e33-4f1c-a1f2-ace2f64354d1", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/43a47e59-9bb0-46ab-bcb3-2f373b450e48"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "4350edd1-8e33-4f1c-a1f2-ace2f64354d1", - "type": "STRING", - "value": "07. Check its_aid" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4350edd1-8e33-4f1c-a1f2-ace2f64354d1", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "4350edd1-8e33-4f1c-a1f2-ace2f64354d1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_01_BO.json deleted file mode 100644 index 4e720c8de0c778cf6b83726659ce64db8c0f2ef3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "426eb761-b34c-46a6-b700-00f28a1f1ffa", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "426eb761-b34c-46a6-b700-00f28a1f1ffa", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM when its_aid value is not AID_DENM" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "426eb761-b34c-46a6-b700-00f28a1f1ffa", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_CAM'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tcontaining DENM payload\r\n\tthen\r\n\t\tthe IUT discards the DENM message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "426eb761-b34c-46a6-b700-00f28a1f1ffa", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "426eb761-b34c-46a6-b700-00f28a1f1ffa", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "426eb761-b34c-46a6-b700-00f28a1f1ffa" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_02_BO.json deleted file mode 100644 index acc89fc0a49a21e5cb228238a0266661a2980ccc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_07/TP_SEC_ITSS_RCV_DENM_07_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d7f00f93-6965-476e-b1b8-8a27f64402d3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d7f00f93-6965-476e-b1b8-8a27f64402d3", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM when its_aid value is undefined" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d7f00f93-6965-476e-b1b8-8a27f64402d3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_UNDEFINED'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tcontaining DENM payload\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d7f00f93-6965-476e-b1b8-8a27f64402d3", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d7f00f93-6965-476e-b1b8-8a27f64402d3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d7f00f93-6965-476e-b1b8-8a27f64402d3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08.json deleted file mode 100644 index 56dc7b5e9394cf3a17297c08b31d207a305b90d4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "15901c9b-8d33-4cd5-8a7e-2ff5ec7c97a4", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/24846e25-0161-4426-9e87-27ac10525fa0", - "/Documents/ts_103097v010201p.xhtml/eadacd7d-8386-4c76-8f38-0be53ce96210" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "15901c9b-8d33-4cd5-8a7e-2ff5ec7c97a4", - "type": "STRING", - "value": "08. Check generation location" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "15901c9b-8d33-4cd5-8a7e-2ff5ec7c97a4", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "15901c9b-8d33-4cd5-8a7e-2ff5ec7c97a4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_01_BO.json deleted file mode 100644 index 6c3b12a94fd42baad6ea9a5d6da0ffdc329243ee..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_01_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_CIRCULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_CIRCULAR_REGION", - "origin": "563f7839-7533-4571-97a4-c0772d8e9c29", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "563f7839-7533-4571-97a4-c0772d8e9c29", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "563f7839-7533-4571-97a4-c0772d8e9c29", - "type": "STRING", - "value": "Check that IUT discards Secured DENM if the HeaderField generation_location is outside of the circular validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "563f7839-7533-4571-97a4-c0772d8e9c29", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tand containing header_fields ['signer_info'].type\r\n\t\t\t\tindicating certificate \r\n\t\t\tand containing header_fields ['signer_info'].certificate (CERT_TS_AT_B)\r\n\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value outside of the REGION\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "563f7839-7533-4571-97a4-c0772d8e9c29", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "563f7839-7533-4571-97a4-c0772d8e9c29", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "563f7839-7533-4571-97a4-c0772d8e9c29" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_02_BO.json deleted file mode 100644 index 5ae59f2cd8195065d5e506302f2ce08cf09ce144..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_RECTANGULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_RECTANGULAR_REGION", - "origin": "be0b7b37-8d10-471d-9e71-06c8a6e691cb", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "be0b7b37-8d10-471d-9e71-06c8a6e691cb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "be0b7b37-8d10-471d-9e71-06c8a6e691cb", - "type": "STRING", - "value": "Check that IUT discards Secured DENM if the HeaderField generation_location is outside of the rectangular validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "be0b7b37-8d10-471d-9e71-06c8a6e691cb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info'].type\r\n\t\t\t\tindicating certificate\r\n\t\t\tand containing header_fields ['signer_info'].certificate (CERT_TS_AT_C)\r\n\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value outside of the REGION\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "be0b7b37-8d10-471d-9e71-06c8a6e691cb", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "be0b7b37-8d10-471d-9e71-06c8a6e691cb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "be0b7b37-8d10-471d-9e71-06c8a6e691cb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_03_BO.json deleted file mode 100644 index 26f3845f9a3ecacc123bef97806e8cc1fd78cf4e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_03_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_POLYGONAL_REGION": { - "isGenerated": false, - "key": "PICS_USE_POLYGONAL_REGION", - "origin": "d143f80d-dbd2-46af-a900-12b3bbead04a", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d143f80d-dbd2-46af-a900-12b3bbead04a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d143f80d-dbd2-46af-a900-12b3bbead04a", - "type": "STRING", - "value": "Check that IUT discards Secured DENM if the HeaderField generation_location is outside of the polygonal validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d143f80d-dbd2-46af-a900-12b3bbead04a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info'].type\r\n\t\t\t\tindicating certificate\r\n\t\t\tand containing header_fields ['signer_info'].certificate (CERT_TS_AT_D)\r\n\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value outside of the REGION\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d143f80d-dbd2-46af-a900-12b3bbead04a", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d143f80d-dbd2-46af-a900-12b3bbead04a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d143f80d-dbd2-46af-a900-12b3bbead04a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_04_BO.json deleted file mode 100644 index 178f1b773151483343d786ffaab76a0ff1330fb1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_04_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe", - "type": "STRING", - "value": "Check that IUT discards Secured DENM if the HeaderField generation_location is outside of the identified validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info'].type\r\n\t\t\t\tindicating certificate\r\n\t\t\tand containing header_fields ['signer_info'].certificate (CERT_TS_AT_E)\r\n\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\t\t\tand and containing identified_region\r\n\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value outside of the REGION\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4f94e645-ce9e-4b8d-9e33-ffd7332ec3fe" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_05_BV.json deleted file mode 100644 index 54d316a82827d162e9cd8c443bf4deabd9189590..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_05_BV.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "STRING", - "value": "Check that IUT accepts a Secured DENM if the distance between the current position of IUT and the value of optional HeaderField generation_location is 29.9 km (C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating position in 29.9 km from the current position of IUT\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "b4732a45-3e9a-4f91-9b31-c1c45169a845", - "type": "BOOL", - "value": true - } - }, - "uuid": "b4732a45-3e9a-4f91-9b31-c1c45169a845" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_06_BO.json deleted file mode 100644 index 9edebed1f1c0509bc09cd3d933b30850fcc2ae08..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_08/TP_SEC_ITSS_RCV_DENM_08_06_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "STRING", - "value": "Check that IUT discards Secured DENM if the distance between the current position of IUT and the value of optional HeaderField generation_location is more than 30 km" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating position in 31 km from the current position of IUT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "efda77e6-78f5-48f3-ad89-105b5dc8abec", - "type": "BOOL", - "value": true - } - }, - "uuid": "efda77e6-78f5-48f3-ad89-105b5dc8abec" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09.json deleted file mode 100644 index be658927ad70664991b4a6c47cc297ceff4ba336..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "13c840f6-0cc4-4bcd-8ffe-757952190d26", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/61b388f4-8bad-4b8a-9684-eae475708a7a", - "/Documents/ts_103097v010201p.xhtml/25a3bac6-9684-45fa-8d7f-410041a80dbb" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "13c840f6-0cc4-4bcd-8ffe-757952190d26", - "type": "STRING", - "value": "09. Check Payload" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "13c840f6-0cc4-4bcd-8ffe-757952190d26", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "13c840f6-0cc4-4bcd-8ffe-757952190d26" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_02_BO.json deleted file mode 100644 index 4230825645b0640a142803b2467bbdb1a2653ed7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c251719f-96f6-47da-9d56-cf42c55e378a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c251719f-96f6-47da-9d56-cf42c55e378a", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing empty payload of type 'signed'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c251719f-96f6-47da-9d56-cf42c55e378a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c251719f-96f6-47da-9d56-cf42c55e378a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c251719f-96f6-47da-9d56-cf42c55e378a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c251719f-96f6-47da-9d56-cf42c55e378a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_03_BO.json deleted file mode 100644 index cbfc6eb76b51e7e0ea3b79bdaa6b342bcabb2101..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cad70b23-3c6e-4acb-88e8-667a7c91840c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cad70b23-3c6e-4acb-88e8-667a7c91840c", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing payload of type 'unsecured'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cad70b23-3c6e-4acb-88e8-667a7c91840c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'unsecured'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cad70b23-3c6e-4acb-88e8-667a7c91840c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cad70b23-3c6e-4acb-88e8-667a7c91840c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cad70b23-3c6e-4acb-88e8-667a7c91840c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_04_BO.json deleted file mode 100644 index 987cb0f264feffc91c83b8f210fdda1f0d329dad..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6a9ae2f4-af9f-476c-b164-62ed5397b5e7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6a9ae2f4-af9f-476c-b164-62ed5397b5e7", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing payload of type 'encrypted'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6a9ae2f4-af9f-476c-b164-62ed5397b5e7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'encrypted'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6a9ae2f4-af9f-476c-b164-62ed5397b5e7", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6a9ae2f4-af9f-476c-b164-62ed5397b5e7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6a9ae2f4-af9f-476c-b164-62ed5397b5e7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_05_BO.json deleted file mode 100644 index fddf954e7b07aa862073040444e995a0dbfa6f89..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8eb06e88-48fc-4ed8-9258-40fa7fd9cd17", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8eb06e88-48fc-4ed8-9258-40fa7fd9cd17", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing payload of type 'signed_external'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8eb06e88-48fc-4ed8-9258-40fa7fd9cd17", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed_external'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8eb06e88-48fc-4ed8-9258-40fa7fd9cd17", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8eb06e88-48fc-4ed8-9258-40fa7fd9cd17", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8eb06e88-48fc-4ed8-9258-40fa7fd9cd17" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_06_BO.json deleted file mode 100644 index 1d3f5097cedf12828e63350623a16a9dbdc481d8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_09/TP_SEC_ITSS_RCV_DENM_09_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "9182cb14-4b7e-444b-8d71-c918cfeba097", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9182cb14-4b7e-444b-8d71-c918cfeba097", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing exactly one non-empty payload of type 'signed_and_encrypted'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "9182cb14-4b7e-444b-8d71-c918cfeba097", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed_and_encrypted'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "9182cb14-4b7e-444b-8d71-c918cfeba097", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9182cb14-4b7e-444b-8d71-c918cfeba097", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "9182cb14-4b7e-444b-8d71-c918cfeba097" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10.json deleted file mode 100644 index e6b63134b47bdbb3bf1a5e810178edf14afd026d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "e2e13427-57a9-4bf5-aad5-febc6550bec4", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/c1d9965d-8c11-4b5b-af2b-42bba5482fd7"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "e2e13427-57a9-4bf5-aad5-febc6550bec4", - "type": "STRING", - "value": "10. Check presence of trailer field" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e2e13427-57a9-4bf5-aad5-febc6550bec4", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "e2e13427-57a9-4bf5-aad5-febc6550bec4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_01_BO.json deleted file mode 100644 index 905f5068293d1afe27f34c39556a75045aa51314..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8c6b3a50-fba3-41b7-abee-2386e63e2988", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8c6b3a50-fba3-41b7-abee-2386e63e2988", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM if the message does not contain the trailer field of type signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8c6b3a50-fba3-41b7-abee-2386e63e2988", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tnot containing trailer_fields['signature']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8c6b3a50-fba3-41b7-abee-2386e63e2988", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8c6b3a50-fba3-41b7-abee-2386e63e2988", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8c6b3a50-fba3-41b7-abee-2386e63e2988" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_02_BO.json deleted file mode 100644 index a382867c941198495d2d6663853740ce95aa6e97..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_10/TP_SEC_ITSS_RCV_DENM_10_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a217a61b-e263-40d6-b3e4-bf1608d776ee", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a217a61b-e263-40d6-b3e4-bf1608d776ee", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM containing more than one instance of TrailerField of type 'signature'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a217a61b-e263-40d6-b3e4-bf1608d776ee", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\tand containing trailer_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a217a61b-e263-40d6-b3e4-bf1608d776ee", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a217a61b-e263-40d6-b3e4-bf1608d776ee", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a217a61b-e263-40d6-b3e4-bf1608d776ee" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11.json deleted file mode 100644 index 8d755a3539b84ff498f75e219e865911cf2995e4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f52af1d2-3e20-43c9-ab8e-5a6f1681f64c", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/351c77d8-92de-4bb3-991e-a3b814285a8c", - "/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f52af1d2-3e20-43c9-ab8e-5a6f1681f64c", - "type": "STRING", - "value": "11. Check signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f52af1d2-3e20-43c9-ab8e-5a6f1681f64c", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f52af1d2-3e20-43c9-ab8e-5a6f1681f64c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_01_BO.json deleted file mode 100644 index 19166a2b96bca1642b66619004c3dacbb4591368..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f0bf5422-574f-4966-8375-66b1b068338c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f0bf5422-574f-4966-8375-66b1b068338c", - "type": "STRING", - "value": "Check that the IUT discards Secured DENM containing signature that is not verified using the verification key from the certificate contained in the message's signer info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f0bf5422-574f-4966-8375-66b1b068338c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_AT)\r\n\t\t\t\t\t\tcontaining subject_attributes['verification key']\r\n\t\t\t\t\t\t\tcontaining key (KEY)\r\n\t\t\tand containing trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\t\tcontaining signature\r\n\t\t\t\t\tNOT verifiable using KEY\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f0bf5422-574f-4966-8375-66b1b068338c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f0bf5422-574f-4966-8375-66b1b068338c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f0bf5422-574f-4966-8375-66b1b068338c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_02_BO.json deleted file mode 100644 index 278889a8ec2f762736ee1915354839f8576d8893..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_11/TP_SEC_ITSS_RCV_DENM_11_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "79586cc3-7220-499b-9ddb-96201f46ba7a", - "type": "STRING", - "value": "Values to be provided as X_RESERVED_PK_ALGORYTHM are: 240, 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c4b66a9a-d2f0-40f3-b88d-0bce48f24616", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "79586cc3-7220-499b-9ddb-96201f46ba7a", - "type": "STRING", - "value": "Check that IUT discards the Secured DENM if the message contains trailer field of type 'signature' with reserved public key algorythms" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "79586cc3-7220-499b-9ddb-96201f46ba7a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tcontaining an instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature.algorithm\r\n\t\t\t\t\t\tindicating X_RESERVED_PK_ALGORYTHM\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "79586cc3-7220-499b-9ddb-96201f46ba7a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "79586cc3-7220-499b-9ddb-96201f46ba7a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "79586cc3-7220-499b-9ddb-96201f46ba7a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12.json deleted file mode 100644 index a79f262afe98cfba40607da60ef197b7958ba45d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "63afb366-bc05-42a4-abcb-4e495424ded0", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/2ea232e9-8999-4b23-a946-ac27ce63836a"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "63afb366-bc05-42a4-abcb-4e495424ded0", - "type": "STRING", - "value": "12. Check signing certificate type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "63afb366-bc05-42a4-abcb-4e495424ded0", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "63afb366-bc05-42a4-abcb-4e495424ded0", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "63afb366-bc05-42a4-abcb-4e495424ded0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_01_BO.json deleted file mode 100644 index b92239600232e7647f9b69285ddbfa1a0fd7f75a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "55e54a0c-2daf-48c0-b64a-a23f10a455ba", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "55e54a0c-2daf-48c0-b64a-a23f10a455ba", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the signer certificate of the message contains the subject type 'enrolment_credential'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "55e54a0c-2daf-48c0-b64a-a23f10a455ba", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining signer.certificate (CERT_TS_EA_A)\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'enrolment_credentials'\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "55e54a0c-2daf-48c0-b64a-a23f10a455ba", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "55e54a0c-2daf-48c0-b64a-a23f10a455ba", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "55e54a0c-2daf-48c0-b64a-a23f10a455ba" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_02_BO.json deleted file mode 100644 index cb44e53faa4544f357e97ed8d49ad05c9a0c6a29..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e8f2fa85-4e90-4c97-9df5-dda85e4bbf92", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e8f2fa85-4e90-4c97-9df5-dda85e4bbf92", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the signer certificate of the message contains the subject type \"authorization_authority\"" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e8f2fa85-4e90-4c97-9df5-dda85e4bbf92", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining signer.certificate (CERT_TS_AA_A)\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_authority'\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_DENM'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e8f2fa85-4e90-4c97-9df5-dda85e4bbf92", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e8f2fa85-4e90-4c97-9df5-dda85e4bbf92", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e8f2fa85-4e90-4c97-9df5-dda85e4bbf92" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_03_BO.json deleted file mode 100644 index 5a45c350422d4dd13edda8eef333b5483aa399a0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "06bba6da-b152-4c91-910c-03103847eb36", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "06bba6da-b152-4c91-910c-03103847eb36", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the signer certificate of the message contains the subject type 'enrolment_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "06bba6da-b152-4c91-910c-03103847eb36", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_EA)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'enrolment_authority'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "06bba6da-b152-4c91-910c-03103847eb36", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "06bba6da-b152-4c91-910c-03103847eb36", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "06bba6da-b152-4c91-910c-03103847eb36" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_04_BO.json deleted file mode 100644 index 7a0f84e210dff72dd4c8f319720ff49268a0b3a9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_12/TP_SEC_ITSS_RCV_DENM_12_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b6da3bce-4ceb-4283-8ddd-30b489087505", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b6da3bce-4ceb-4283-8ddd-30b489087505", - "type": "STRING", - "value": "Check that IUT discards a Secured DENM if the signer certificate of the message contains the subject type 'root_ca'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b6da3bce-4ceb-4283-8ddd-30b489087505", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields ['signer_info'] \r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_ROOT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'root_ca'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b6da3bce-4ceb-4283-8ddd-30b489087505", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b6da3bce-4ceb-4283-8ddd-30b489087505", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b6da3bce-4ceb-4283-8ddd-30b489087505" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13.json deleted file mode 100644 index 369f07a8114a60959221f480685a05ddd01f3c78..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6dacd653-10f3-439f-a759-30e7fb7b855a", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6dacd653-10f3-439f-a759-30e7fb7b855a", - "type": "STRING", - "value": "13. Check certificate validity" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6dacd653-10f3-439f-a759-30e7fb7b855a", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6dacd653-10f3-439f-a759-30e7fb7b855a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_01_BO.json deleted file mode 100644 index 208ff4d541ded2f5db8bd4360b94ee46a26c7708..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "37487968-2b25-4d5d-9445-aeadcf5395b0", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "37487968-2b25-4d5d-9445-aeadcf5395b0", - "type": "STRING", - "value": "Check that IUT discards secured DENM signed with the not yet valid certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "37487968-2b25-4d5d-9445-aeadcf5395b0", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is before the time validity period of CERT_TS_MSG_13_01_BO_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_01_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT > CURRENT_TIME\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT > START_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "37487968-2b25-4d5d-9445-aeadcf5395b0", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "37487968-2b25-4d5d-9445-aeadcf5395b0", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "37487968-2b25-4d5d-9445-aeadcf5395b0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_02_BO.json deleted file mode 100644 index b6e6a41aa43899a9aac3824c1607dc482534f10e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e2db1188-8e29-47f7-9e8a-a7ddca8fcf5b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e2db1188-8e29-47f7-9e8a-a7ddca8fcf5b", - "type": "STRING", - "value": "Check that IUT discards secured DENM signed with the expired certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e2db1188-8e29-47f7-9e8a-a7ddca8fcf5b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is before the time validity period of CERT_TS_MSG_13_02_BO_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_02_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT < CURRENT_TIME\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT < CURRENT_TIME\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e2db1188-8e29-47f7-9e8a-a7ddca8fcf5b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e2db1188-8e29-47f7-9e8a-a7ddca8fcf5b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e2db1188-8e29-47f7-9e8a-a7ddca8fcf5b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_03_BO.json deleted file mode 100644 index c7e6ecba6c053134c08397a7ab3c63beda360a52..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "84f29ef2-ecfb-4e16-b606-d54148a3dc6c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "84f29ef2-ecfb-4e16-b606-d54148a3dc6c", - "type": "STRING", - "value": "Check that IUT discards secured DENM when IUT location is outside the circular validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "84f29ef2-ecfb-4e16-b606-d54148a3dc6c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_03_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_B)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_03_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "84f29ef2-ecfb-4e16-b606-d54148a3dc6c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "84f29ef2-ecfb-4e16-b606-d54148a3dc6c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "84f29ef2-ecfb-4e16-b606-d54148a3dc6c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_04_BO.json deleted file mode 100644 index 13d16e5d811000b6d80b3d61f35b73eabab2e589..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f33f4e46-7727-4b66-81d9-26731861f427", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f33f4e46-7727-4b66-81d9-26731861f427", - "type": "STRING", - "value": "Check that IUT discards secured DENM when IUT location is outside the rectangular validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f33f4e46-7727-4b66-81d9-26731861f427", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_04_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_C)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_04_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f33f4e46-7727-4b66-81d9-26731861f427", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f33f4e46-7727-4b66-81d9-26731861f427", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f33f4e46-7727-4b66-81d9-26731861f427" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_05_BO.json deleted file mode 100644 index 289c666295e5698d02b46a8d9bcdb9f42d8000a1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "62f9dc08-a3b3-4528-b91b-e4ecdb9feb9c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "62f9dc08-a3b3-4528-b91b-e4ecdb9feb9c", - "type": "STRING", - "value": "Check that IUT discards secured DENM when IUT location is outside the polygonal validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "62f9dc08-a3b3-4528-b91b-e4ecdb9feb9c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_05_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_D)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_05_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "62f9dc08-a3b3-4528-b91b-e4ecdb9feb9c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "62f9dc08-a3b3-4528-b91b-e4ecdb9feb9c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "62f9dc08-a3b3-4528-b91b-e4ecdb9feb9c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_06_BO.json deleted file mode 100644 index 65b3d7e626c101b3aa5d98df03e895ebe51464ff..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_DENM/SEC_ITSS_RCV_DENM_13/TP_SEC_ITSS_RCV_DENM_13_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d7ebbddd-8f4b-410f-8bb8-25ce81af80f0", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d7ebbddd-8f4b-410f-8bb8-25ce81af80f0", - "type": "STRING", - "value": "Check that IUT discards secured DENM when IUT location is outside the identified validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d7ebbddd-8f4b-410f-8bb8-25ce81af80f0", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_06_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_E)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_06_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d7ebbddd-8f4b-410f-8bb8-25ce81af80f0", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d7ebbddd-8f4b-410f-8bb8-25ce81af80f0", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d7ebbddd-8f4b-410f-8bb8-25ce81af80f0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG.json deleted file mode 100644 index 3fb4e108f04a821d3ab9c8c3cc79f10f7d28a7ef..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "fad8a90a-7f48-4169-a694-973d61d97a02", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/9e56d5a0-75dc-4481-afe9-202dd280af93"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "fad8a90a-7f48-4169-a694-973d61d97a02", - "type": "STRING", - "value": "Generic Signed Message Profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fad8a90a-7f48-4169-a694-973d61d97a02", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "fad8a90a-7f48-4169-a694-973d61d97a02" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01.json deleted file mode 100644 index ea96a3220871b4702b1bd752990f0f4ebc7f1d26..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "59a4623a-c77e-49ca-9e4e-9043481fa8cd", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/9e56d5a0-75dc-4481-afe9-202dd280af93"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "59a4623a-c77e-49ca-9e4e-9043481fa8cd", - "type": "STRING", - "value": "01. Check that IUT accepts well-formed GN Beacon message" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "59a4623a-c77e-49ca-9e4e-9043481fa8cd", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "59a4623a-c77e-49ca-9e4e-9043481fa8cd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_01_BV.json deleted file mode 100644 index f0791d9dd06123e5c64fd8340f00a295502bd262..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "1bbfe951-cfdc-4366-8547-9692404c0ce2", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_GENMSG_A\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "1bbfe951-cfdc-4366-8547-9692404c0ce2", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1bbfe951-cfdc-4366-8547-9692404c0ce2", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Beacon signed with the certificate without region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "1bbfe951-cfdc-4366-8547-9692404c0ce2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_A_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tindicating CERT_TS_AT_TIME_VALIDITY\r\n\t\t\t\t\t\tand not containing validity_restrictions['region']\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\t\t\t\tinside CERT_TS_AT_TIME_VALIDITY\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "1bbfe951-cfdc-4366-8547-9692404c0ce2", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1bbfe951-cfdc-4366-8547-9692404c0ce2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "1bbfe951-cfdc-4366-8547-9692404c0ce2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_02_BV.json deleted file mode 100644 index 3c38159849f9762dd018407ee36133da5bda82af..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "417e0235-b4c2-4381-9355-1386fd23c83b", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_GENMSG_B\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "417e0235-b4c2-4381-9355-1386fd23c83b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "417e0235-b4c2-4381-9355-1386fd23c83b", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Beacon signed with the certificate with a circular region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "417e0235-b4c2-4381-9355-1386fd23c83b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_B_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_B_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_B_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tindicating CERT_TS_AT_TIME_VALIDITY\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "417e0235-b4c2-4381-9355-1386fd23c83b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "417e0235-b4c2-4381-9355-1386fd23c83b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "417e0235-b4c2-4381-9355-1386fd23c83b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_03_BV.json deleted file mode 100644 index 86c167caf4937fdf08385486fc0afb708f4dbb82..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_03_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "0597c653-d390-4ea2-9897-0f6513f2e734", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_GENMSG_C\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0597c653-d390-4ea2-9897-0f6513f2e734", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0597c653-d390-4ea2-9897-0f6513f2e734", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Beacon signed with the certificate with a rectangular region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0597c653-d390-4ea2-9897-0f6513f2e734", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_C_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_C_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_C_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tindicating CERT_TS_AT_TIME_VALIDITY\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\t\t\tindicating REGIONS\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tcontaining signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0597c653-d390-4ea2-9897-0f6513f2e734", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0597c653-d390-4ea2-9897-0f6513f2e734", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0597c653-d390-4ea2-9897-0f6513f2e734" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_04_BV.json deleted file mode 100644 index 4aa09ef87b626ca127fbe18626cc95c97517efba..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_04_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "8d8d49b1-d333-46cc-b58e-715e657fb5be", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_GENMSG_D\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "8d8d49b1-d333-46cc-b58e-715e657fb5be", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8d8d49b1-d333-46cc-b58e-715e657fb5be", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Beacon signed with the certificate with a polygonal region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "8d8d49b1-d333-46cc-b58e-715e657fb5be", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_D_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_D_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_D_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tindicating CERT_TS_AT_TIME_VALIDITY\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "8d8d49b1-d333-46cc-b58e-715e657fb5be", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8d8d49b1-d333-46cc-b58e-715e657fb5be", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8d8d49b1-d333-46cc-b58e-715e657fb5be" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_05_BV.json deleted file mode 100644 index d962c3b914ddc95f480ecb187e5e3e6a7bd6d6d3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_01/TP_SEC_ITSS_RCV_GENMSG_01_05_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "78c9443e-e811-4b04-9b35-f99e7800b763", - "type": "STRING", - "value": "The message defined in this test purpose is used in the subsequent test purposes with the snippet name \u2018MSG_SEC_RCV_GENMSG_E\u2019. Only differences to this snippet are mentioned in subsequent test purposes." - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "78c9443e-e811-4b04-9b35-f99e7800b763", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "78c9443e-e811-4b04-9b35-f99e7800b763", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Beacon signed with the certificate with an identified region validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "78c9443e-e811-4b04-9b35-f99e7800b763", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_E_AT\r\n\tand the IUT current location is inside the region validity period of CERT_TS_E_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate (CERT_TS_E_AT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tindicating CERT_TS_AT_TIME_VALIDITY\r\n\t\t\t\t\t\tand containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\t\t\t\t\tand containing identified_region\r\n\t\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields [1]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tand containing generation_time\r\n\t\t\t\t\tindicating CURRENT_TIME\r\n\t\t\tand containing header_fields [2]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\tand containing generation_location\r\n\t\t\t\t\tindicating position inside the REGION\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tand containing its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "78c9443e-e811-4b04-9b35-f99e7800b763", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "78c9443e-e811-4b04-9b35-f99e7800b763", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "78c9443e-e811-4b04-9b35-f99e7800b763" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02.json deleted file mode 100644 index 9e3d0f757900b34362d7edc0d8ff487caf13137a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7f450356-63c4-41af-a0f3-a575142d2dd9", - "type": "STRING", - "value": "Check that ITS-S discards a Secured CAM containing protocol version unequal to 2" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7f450356-63c4-41af-a0f3-a575142d2dd9", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7f450356-63c4-41af-a0f3-a575142d2dd9", - "type": "STRING", - "value": "02. Check the message protocol version" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7f450356-63c4-41af-a0f3-a575142d2dd9", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "7f450356-63c4-41af-a0f3-a575142d2dd9", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "7f450356-63c4-41af-a0f3-a575142d2dd9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02/TP_SEC_ITSS_RCV_GENMSG_02_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02/TP_SEC_ITSS_RCV_GENMSG_02_01_BO.json deleted file mode 100644 index 0535b8a652626311158a19f22bcfe9810d538381..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02/TP_SEC_ITSS_RCV_GENMSG_02_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7652af20-1b73-4e8f-ab00-a3f2040edc5c", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7652af20-1b73-4e8f-ab00-a3f2040edc5c", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message containing protocol version set to a value less than 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7652af20-1b73-4e8f-ab00-a3f2040edc5c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating 1\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7652af20-1b73-4e8f-ab00-a3f2040edc5c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7652af20-1b73-4e8f-ab00-a3f2040edc5c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7652af20-1b73-4e8f-ab00-a3f2040edc5c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02/TP_SEC_ITSS_RCV_GENMSG_02_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02/TP_SEC_ITSS_RCV_GENMSG_02_02_BO.json deleted file mode 100644 index e2fa57c1f536fadedb33aa756f7e6814cc2e0210..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_02/TP_SEC_ITSS_RCV_GENMSG_02_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6d50930f-74ba-43a8-b618-aa2a9e017615", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6d50930f-74ba-43a8-b618-aa2a9e017615", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message containing protocol version set to a value greater than 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6d50930f-74ba-43a8-b618-aa2a9e017615", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating 3\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6d50930f-74ba-43a8-b618-aa2a9e017615", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6d50930f-74ba-43a8-b618-aa2a9e017615", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6d50930f-74ba-43a8-b618-aa2a9e017615" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04.json deleted file mode 100644 index bfb2a279e64b8eadbce2b1fb6d055ee44e8b8b99..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6062f0fd-4788-4309-8511-a8e98e95a07b", - "type": "STRING", - "value": "Check that the IUT discards Secured Message containing wrong elements of the header fields\r\nCheck that optinal header fields are allowed" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6062f0fd-4788-4309-8511-a8e98e95a07b", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/9f584669-0edc-4cd5-9e25-979e66b5e955", - "/Documents/ts_103097v010201p.xhtml/73eaa11c-13d1-4db7-840f-c17ed625c22b", - "/Documents/ts_103097v010201p.xhtml/3e04d28f-0401-4b5c-ba33-b47d0e63946b" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6062f0fd-4788-4309-8511-a8e98e95a07b", - "type": "STRING", - "value": "04. Check header fields" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6062f0fd-4788-4309-8511-a8e98e95a07b", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6062f0fd-4788-4309-8511-a8e98e95a07b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_01_BO.json deleted file mode 100644 index 261b6175ea707b2b15e91b2d2792553156a09738..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0070ed58-1633-4807-8ba1-7a637f17d49b", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0070ed58-1633-4807-8ba1-7a637f17d49b", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the header_fields contains more than one header field of type 'signer_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0070ed58-1633-4807-8ba1-7a637f17d49b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0070ed58-1633-4807-8ba1-7a637f17d49b", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0070ed58-1633-4807-8ba1-7a637f17d49b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0070ed58-1633-4807-8ba1-7a637f17d49b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_02_BO.json deleted file mode 100644 index e1a9effbbd9de30d4c6a5b4df798528a59d891d8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "10b36c34-9d42-4234-bb45-d5ca6ac4c008", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "10b36c34-9d42-4234-bb45-d5ca6ac4c008", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the header_fields does not contain the header field of type 'signer_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "10b36c34-9d42-4234-bb45-d5ca6ac4c008", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "10b36c34-9d42-4234-bb45-d5ca6ac4c008", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "10b36c34-9d42-4234-bb45-d5ca6ac4c008", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "10b36c34-9d42-4234-bb45-d5ca6ac4c008" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_03_BO.json deleted file mode 100644 index cab7e236c61fb93ae6230790a079ca3895faa64e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7af569bc-c4fb-48c0-9fb4-564ba9afaa20", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7af569bc-c4fb-48c0-9fb4-564ba9afaa20", - "type": "STRING", - "value": "Check that IUT is able to receive a secured GN Message if the signer_info header field is not encoded first.\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7af569bc-c4fb-48c0-9fb4-564ba9afaa20", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7af569bc-c4fb-48c0-9fb4-564ba9afaa20", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7af569bc-c4fb-48c0-9fb4-564ba9afaa20", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7af569bc-c4fb-48c0-9fb4-564ba9afaa20" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_04_BO.json deleted file mode 100644 index 7b4a59bbd268cb3acd09a92a20ff27a2787dd18b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "bc98f4b4-1895-4048-ae83-0b2e68cc70a7", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bc98f4b4-1895-4048-ae83-0b2e68cc70a7", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the message contains more than one header field of type 'generation_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "bc98f4b4-1895-4048-ae83-0b2e68cc70a7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tcontaining header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[4].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "bc98f4b4-1895-4048-ae83-0b2e68cc70a7", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bc98f4b4-1895-4048-ae83-0b2e68cc70a7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "bc98f4b4-1895-4048-ae83-0b2e68cc70a7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_05_BO.json deleted file mode 100644 index 01f4022cd7e091ed8111e1dc1e7b57450c413ea2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e709cb54-6ca0-4dad-9b97-c19c6df1e39e", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e709cb54-6ca0-4dad-9b97-c19c6df1e39e", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the message does not contain the header field of type 'generation_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e709cb54-6ca0-4dad-9b97-c19c6df1e39e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e709cb54-6ca0-4dad-9b97-c19c6df1e39e", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e709cb54-6ca0-4dad-9b97-c19c6df1e39e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e709cb54-6ca0-4dad-9b97-c19c6df1e39e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06_BO.json deleted file mode 100644 index 39d4e49854065277483d4df162980ad7952a3035..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "9364d5a5-ba04-4770-bb1d-2d91b00f79ac", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9364d5a5-ba04-4770-bb1d-2d91b00f79ac", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message if the message contains more than one header field of type 'its_aid'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "9364d5a5-ba04-4770-bb1d-2d91b00f79ac", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'its_aid'\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "9364d5a5-ba04-4770-bb1d-2d91b00f79ac", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9364d5a5-ba04-4770-bb1d-2d91b00f79ac", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "9364d5a5-ba04-4770-bb1d-2d91b00f79ac" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06a_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06a_BO.json deleted file mode 100644 index 64a1a4f550ab328d77813b4c0a2fcd32fa31a86b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_06a_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b4449644-6ad1-43f7-836c-c935234e17fc", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b4449644-6ad1-43f7-836c-c935234e17fc", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the message does not contain the header field of type 'its_aid'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b4449644-6ad1-43f7-836c-c935234e17fc", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b4449644-6ad1-43f7-836c-c935234e17fc", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b4449644-6ad1-43f7-836c-c935234e17fc", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b4449644-6ad1-43f7-836c-c935234e17fc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_07_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_07_BO.json deleted file mode 100644 index e8854f3439070cff4457f0b094c2e21909242306..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_07_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e7051db7-6d81-4fbd-86ef-4f42795cfc24", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e7051db7-6d81-4fbd-86ef-4f42795cfc24", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the message contains more than one header field of type 'generation_location'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e7051db7-6d81-4fbd-86ef-4f42795cfc24", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e7051db7-6d81-4fbd-86ef-4f42795cfc24", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e7051db7-6d81-4fbd-86ef-4f42795cfc24", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e7051db7-6d81-4fbd-86ef-4f42795cfc24" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_08_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_08_BO.json deleted file mode 100644 index 087cd3c27c4fd58d163da04986276d94c24ec742..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_08_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "af580e86-24de-4ec3-be41-ed2c5173f8c3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "af580e86-24de-4ec3-be41-ed2c5173f8c3", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message if the header_fields contains no element of header field of type 'generation_location'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "af580e86-24de-4ec3-be41-ed2c5173f8c3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "af580e86-24de-4ec3-be41-ed2c5173f8c3", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "af580e86-24de-4ec3-be41-ed2c5173f8c3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "af580e86-24de-4ec3-be41-ed2c5173f8c3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_09_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_09_BO.json deleted file mode 100644 index ade9cc0ac0d4297eaa9e9b4706bd84e0a71eab41..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_09_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f99b1bbd-2b27-43df-9ec5-3a20ef38e64f", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f99b1bbd-2b27-43df-9ec5-3a20ef38e64f", - "type": "STRING", - "value": "Check that IUT is able to receive a Secured GN Beacon if the header fields are not in the ascending order according to the numbering of the enumeration." - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f99b1bbd-2b27-43df-9ec5-3a20ef38e64f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\tthen\r\n\t\tthe IUT discards the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f99b1bbd-2b27-43df-9ec5-3a20ef38e64f", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f99b1bbd-2b27-43df-9ec5-3a20ef38e64f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f99b1bbd-2b27-43df-9ec5-3a20ef38e64f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_11_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_11_BV.json deleted file mode 100644 index 80fcb29f778827ca9d6e72ebcdc358d79174238e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_11_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "50e40de8-863b-4d13-9880-eb0e569ba198", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "50e40de8-863b-4d13-9880-eb0e569ba198", - "type": "STRING", - "value": "Check that IUT accepts a GN Secured Message containing optional header field of type 'expiry_time'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "50e40de8-863b-4d13-9880-eb0e569ba198", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tindicating CERT_TS_A_AT\r\n\t\t\tand containing header_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'generation_time'\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating TIME_1 inside the validity period of CERT_TS_A_AT\r\n\t\t\tand containing header_fields[2]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'expiration'\r\n\t\t\t\tcontaining expiry_time\r\n\t\t\t\t\tindicating TIME_2 (TIME_2 > CURRENT_TIME)\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "50e40de8-863b-4d13-9880-eb0e569ba198", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "50e40de8-863b-4d13-9880-eb0e569ba198", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "50e40de8-863b-4d13-9880-eb0e569ba198" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_12_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_12_BV.json deleted file mode 100644 index e5db39885b627c410f215ceb27b7d3370e3b555d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_12_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d58ae440-68a5-4925-871e-f85cf32d875a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d58ae440-68a5-4925-871e-f85cf32d875a", - "type": "STRING", - "value": "Check that IUT accepts the Secured GN Message containing additional non-standard HeaderField" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d58ae440-68a5-4925-871e-f85cf32d875a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating non-standard header field type (1000)\r\n\t\t\t\tand containing other_header\r\n\t\t\t\t\tindicating non-empty data\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT accepts the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d58ae440-68a5-4925-871e-f85cf32d875a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d58ae440-68a5-4925-871e-f85cf32d875a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d58ae440-68a5-4925-871e-f85cf32d875a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_13_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_13_BV.json deleted file mode 100644 index 03a88dc5b7d5b670cc99bee8565b7c56b5b46b97..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_04/TP_SEC_ITSS_RCV_GENMSG_04_13_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "56116baa-7cc7-48b2-8b89-27cc02a1ec19", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "56116baa-7cc7-48b2-8b89-27cc02a1ec19", - "type": "STRING", - "value": "Check that ITS-S accepts a Secured GN Message containing header fields 'encryption_parameters' and 'recipient_info'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "56116baa-7cc7-48b2-8b89-27cc02a1ec19", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state with CERT_IUT_A_AT\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields[0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields[1].type\r\n\t\t\t\tindicating 'generation_time'\r\n\t\t\tand containing header_fields[2].type\r\n\t\t\t\tindicating 'generation_location'\r\n\t\t\tand containing header_fields[3].type\r\n\t\t\t\tindicating 'its_aid'\r\n\t\t\tand containing header_fields[4]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'encryption_parameters'\r\n\t\t\t\tand containing enc_params\r\n\t\t\t\t\tcontaining symm_algorithm\r\n\t\t\t\t\t\tindicating 'aes_128_ccm'\r\n\t\t\t\t\tand containing nonce\r\n\t\t\tand containing header_fields[5]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'recipient_info'\r\n\t\t\t\tand containing recipients\r\n\t\t\t\t\tcontaining recipients[0]\r\n\t\t\t\t\t\tcontaining cert_id\r\n\t\t\t\t\t\t\treferencing to CERT_IUT_A_AT\r\n\t\t\t\t\t\tand containing pk_encryption\r\n\t\t\t\t\t\t\tindicating 'ecies_nistp256'\r\n\t\t\t\t\t\tand containing enc_key\r\n\t\t\tand not containing other header fields\r\n\tthen\r\n\t\tthe IUT accepts the SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "56116baa-7cc7-48b2-8b89-27cc02a1ec19", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "56116baa-7cc7-48b2-8b89-27cc02a1ec19", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "56116baa-7cc7-48b2-8b89-27cc02a1ec19" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05.json deleted file mode 100644 index 561b5794961db6be814a0ccc2a822b37ef1be017..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "460995d8-8679-4bf0-93a0-5a368d778d47", - "type": "STRING", - "value": "Check that the IUT discards Secured GN Beacon containing other types of signer_info then certificate." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "460995d8-8679-4bf0-93a0-5a368d778d47", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/f86c287a-9f57-4735-938f-3cc4807a6d53"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "460995d8-8679-4bf0-93a0-5a368d778d47", - "type": "STRING", - "value": "05. Check signer info" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "460995d8-8679-4bf0-93a0-5a368d778d47", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "460995d8-8679-4bf0-93a0-5a368d778d47" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_01_BO.json deleted file mode 100644 index 1b6a5a435fb13b4b618a7520f0db55314afe55fe..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e51d9458-f91d-446b-93c8-1ccf0879bb99", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e51d9458-f91d-446b-93c8-1ccf0879bb99", - "type": "STRING", - "value": "Check that IUT discards a secured GN Beacon if the header_fields contains a signer of type 'self'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e51d9458-f91d-446b-93c8-1ccf0879bb99", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'self'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e51d9458-f91d-446b-93c8-1ccf0879bb99", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e51d9458-f91d-446b-93c8-1ccf0879bb99", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e51d9458-f91d-446b-93c8-1ccf0879bb99" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_02_BO.json deleted file mode 100644 index 0515c65021f9dcbdc7a1495a80f69e52ca64360b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d", - "type": "STRING", - "value": "This test purpose is deprecated for v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d", - "type": "STRING", - "value": "Check that IUT discards a secured GN Beacon if the header_fields contains a signer of type 'certificate_digest_with_other_algorithm'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate_digest_with_other_algorithm'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "73bc6d5b-4fbc-4720-b0e3-b2c41b24526d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_03_BO.json deleted file mode 100644 index 5964e72396388f8a8afedcc7f61473e15d2b2210..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d977a378-5775-470c-b43a-d3dd41698de2", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d977a378-5775-470c-b43a-d3dd41698de2", - "type": "STRING", - "value": "Check that IUT discards a secured GN Beacon if the header_fields contains a signer of type 'certificate_chain'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d977a378-5775-470c-b43a-d3dd41698de2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d977a378-5775-470c-b43a-d3dd41698de2", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d977a378-5775-470c-b43a-d3dd41698de2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d977a378-5775-470c-b43a-d3dd41698de2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_04_BO.json deleted file mode 100644 index 8d83f5c308e0aaa8bf352d2ad552c544b5e79fcc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_05/TP_SEC_ITSS_RCV_GENMSG_05_04_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "0b2d7828-4f92-4088-b117-7707f38e8601", - "type": "STRING", - "value": "Values to be used as X_UNKNOWN_SIGNERINFO_TYPE are 5, 239, 240 and 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0b2d7828-4f92-4088-b117-7707f38e8601", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0b2d7828-4f92-4088-b117-7707f38e8601", - "type": "STRING", - "value": "Check that IUT discards a Secured Messageif the header_fields contains a signer info of unknown or reserved type" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0b2d7828-4f92-4088-b117-7707f38e8601", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer.type\r\n\t\t\t\t\tindicating X_UNKNOWN_SIGNERINFO_TYPE\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0b2d7828-4f92-4088-b117-7707f38e8601", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0b2d7828-4f92-4088-b117-7707f38e8601", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0b2d7828-4f92-4088-b117-7707f38e8601" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06.json deleted file mode 100644 index 4bba3cea915650a00c65dae16c36723bcc1a9e14..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a109dbf9-abde-414d-8d84-d4d5065d999b", - "type": "STRING", - "value": "Check the acceptance of Secured GN Message containing HeaderField generation_time" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a109dbf9-abde-414d-8d84-d4d5065d999b", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df", - "/Documents/ts_103097v010201p.xhtml/b31b89ad-2b2a-4bc8-a16f-9c2918b931c9", - "/Documents/ts_103097v010201p.xhtml/56cf21c7-baf9-4b70-932f-326b22b242a8" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a109dbf9-abde-414d-8d84-d4d5065d999b", - "type": "STRING", - "value": "06. Check generation time" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a109dbf9-abde-414d-8d84-d4d5065d999b", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a109dbf9-abde-414d-8d84-d4d5065d999b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_01_BO.json deleted file mode 100644 index 4a3375241f0d520481bc159f283a2b43b5ce5b28..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "719534f3-397e-4839-b4f4-176719750095", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "719534f3-397e-4839-b4f4-176719750095", - "type": "STRING", - "value": "Check that IUT discards a secured GN Message containing generation_time before the message signing certificate validity period" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "719534f3-397e-4839-b4f4-176719750095", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\t\tcontaining certificate (CERT_TS_MSG_06_01_BO_AT)\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME < START_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "719534f3-397e-4839-b4f4-176719750095", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "719534f3-397e-4839-b4f4-176719750095", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "719534f3-397e-4839-b4f4-176719750095" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_02_BO.json deleted file mode 100644 index fa1fee842dd51e6e20af9f94ee883c687e63965b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b3b2a723-792c-4681-b577-1722d57de333", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b3b2a723-792c-4681-b577-1722d57de333", - "type": "STRING", - "value": "Check that IUT discards the secured GN Message containing generation_time after the message signing certificate validity period" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b3b2a723-792c-4681-b577-1722d57de333", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\t\tcontaining certificate (CERT_TS_MSG_06_02_BO_AT)\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME > END_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b3b2a723-792c-4681-b577-1722d57de333", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b3b2a723-792c-4681-b577-1722d57de333", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b3b2a723-792c-4681-b577-1722d57de333" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_03_BO.json deleted file mode 100644 index 25c8d932c7fde62c79ac82944f47bcfe02118b9e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_03_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the generation_time is more than 10 minute in the past (C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating TIME_1 (TIME_1 < CUR_TIME - 10min)\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "eee51fa0-86be-4813-9864-d196e6a26bec", - "type": "BOOL", - "value": true - } - }, - "uuid": "eee51fa0-86be-4813-9864-d196e6a26bec" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_04_BO.json deleted file mode 100644 index 7bc9d6c2ef74395932d9bda6a65ff3693dc6d3f1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_06/TP_SEC_ITSS_RCV_GENMSG_06_04_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the generation_time is more than 10 minute in the future(C2C only)" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating TIME_1 (TIME_1 > CUR_TIME + 10min)\r\n\tthen\r\n\t\tthe IUT discards a SecuredMessage" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "38d0903f-c3e9-413c-88f0-cc88ad438c7d", - "type": "BOOL", - "value": true - } - }, - "uuid": "38d0903f-c3e9-413c-88f0-cc88ad438c7d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07.json deleted file mode 100644 index b205700543e95185f77cdd9da4f9f37ff6610d5f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "791a593a-e44a-4324-9f56-54a5507f9dd1", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/2db5985a-487f-42be-856c-8eca1ccd20b9"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "791a593a-e44a-4324-9f56-54a5507f9dd1", - "type": "STRING", - "value": "07. Check its_aid" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "791a593a-e44a-4324-9f56-54a5507f9dd1", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "791a593a-e44a-4324-9f56-54a5507f9dd1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07/TP_SEC_ITSS_RCV_GENMSG_07_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07/TP_SEC_ITSS_RCV_GENMSG_07_01_BO.json deleted file mode 100644 index 4228b8e8b67923d8f859548a491a7270a61a3020..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_07/TP_SEC_ITSS_RCV_GENMSG_07_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ba41e97f-0b08-464b-80cd-ea10e8776c31", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ba41e97f-0b08-464b-80cd-ea10e8776c31", - "type": "STRING", - "value": "Check that IUT discards SecuredMessage when its_aid value is undefined" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ba41e97f-0b08-464b-80cd-ea10e8776c31", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_UNDEFINED'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ba41e97f-0b08-464b-80cd-ea10e8776c31", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ba41e97f-0b08-464b-80cd-ea10e8776c31", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ba41e97f-0b08-464b-80cd-ea10e8776c31" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08.json deleted file mode 100644 index 046ef12d8b342213929c3a210e973dc0c8f110eb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f9270a42-6276-4d74-a053-e8d7630259c8", - "type": "STRING", - "value": "Check the acceptance of Secured GN Message containing HeaderField generation_location" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f9270a42-6276-4d74-a053-e8d7630259c8", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/8d8ff631-c7f2-4672-9842-a920332238d1", - "/Documents/ts_103097v010201p.xhtml/1867819d-7fb8-4abe-848a-218944594c15" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f9270a42-6276-4d74-a053-e8d7630259c8", - "type": "STRING", - "value": "08. Check generation location" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f9270a42-6276-4d74-a053-e8d7630259c8", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f9270a42-6276-4d74-a053-e8d7630259c8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_01_BO.json deleted file mode 100644 index 5d3536d273ed6407cdfe61342db899822b034747..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_01_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_CIRCULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_CIRCULAR_REGION", - "origin": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the HeaderField generation_location is outside of the circular validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_B_AT\r\n\tand the IUT current location is inside the validiti region of CERT_TS_B_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_B)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining certificate (CERT_TS_B_AT)\r\n\t\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tindicating location outside of the REGION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "2eaf4f16-9ebe-43c0-8242-6eb30b2de1fb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_02_BO.json deleted file mode 100644 index 9b959450455e6cd97fd2ac0b101b2cc1ce09eab7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_RECTANGULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_RECTANGULAR_REGION", - "origin": "f3a8574f-6ee3-4085-b808-75e7e23e3d66", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f3a8574f-6ee3-4085-b808-75e7e23e3d66", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f3a8574f-6ee3-4085-b808-75e7e23e3d66", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the HeaderField generation_location is outside of the rectangular validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f3a8574f-6ee3-4085-b808-75e7e23e3d66", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_C_AT\r\n\tand the IUT current location is inside the validiti region of CERT_TS_C_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_C)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining certificate (CERT_TS_C_AT)\r\n\t\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tindicating locatoin outside of the REGION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f3a8574f-6ee3-4085-b808-75e7e23e3d66", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f3a8574f-6ee3-4085-b808-75e7e23e3d66", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f3a8574f-6ee3-4085-b808-75e7e23e3d66" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_03_BO.json deleted file mode 100644 index cc0041ac16ee1929f454af5cfd5479434fd5ed83..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_03_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_POLYGONAL_REGION": { - "isGenerated": false, - "key": "PICS_USE_POLYGONAL_REGION", - "origin": "e801fff6-a32e-4650-b0bd-e19416256129", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e801fff6-a32e-4650-b0bd-e19416256129", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e801fff6-a32e-4650-b0bd-e19416256129", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the optional HeaderField generation_location is outside of the polygonal validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e801fff6-a32e-4650-b0bd-e19416256129", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_D_AT\r\n\tand the IUT current location is inside the validiti region of CERT_TS_D_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_D)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining certificate (CERT_TS_D_AT)\r\n\t\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tindicating location outside of the REGION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e801fff6-a32e-4650-b0bd-e19416256129", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e801fff6-a32e-4650-b0bd-e19416256129", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e801fff6-a32e-4650-b0bd-e19416256129" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_04_BO.json deleted file mode 100644 index 2a2a0e9a9c61ad073b69e62a98b259b522076152..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_04_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "2001d819-13a1-46a3-b612-0d0b8fc142f2", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "2001d819-13a1-46a3-b612-0d0b8fc142f2", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2001d819-13a1-46a3-b612-0d0b8fc142f2", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the optional HeaderField generation_location is outside of the identified validity region of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "2001d819-13a1-46a3-b612-0d0b8fc142f2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_E_AT\r\n\tand the IUT current location is inside the validiti region of CERT_TS_E_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_E)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining certificate (CERT_TS_E_AT)\r\n\t\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\t\t\t\tand containing identified_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\t\tindicating location outside of the REGION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "2001d819-13a1-46a3-b612-0d0b8fc142f2", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2001d819-13a1-46a3-b612-0d0b8fc142f2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "2001d819-13a1-46a3-b612-0d0b8fc142f2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_05_BV.json deleted file mode 100644 index 29b25df155d4bf20205608eee5deb8c51bf2b7d9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_05_BV.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "STRING", - "value": "Check that IUT accepts Secured GN Message if the distance between the current position of IUT and the value of optional HeaderField generation_location is 29.9 km" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating position in 29.9 km from the current position of IUT\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_BEACON'\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "73fbb432-ae92-45ac-b0c3-3a558234d62d", - "type": "BOOL", - "value": true - } - }, - "uuid": "73fbb432-ae92-45ac-b0c3-3a558234d62d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_06_BO.json deleted file mode 100644 index e8a0ae15d74e0f1a95b68c57e2c5a8002d7d6a38..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_08/TP_SEC_ITSS_RCV_GENMSG_08_06_BO.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "attributes": { - "PICS_C2C": { - "isGenerated": false, - "key": "PICS_C2C", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "STRING", - "value": "Check that IUT discards Secured GN Message if the distance between the current position of IUT and the value of optional HeaderField generation_location is more than 30 km" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage\r\n\t\t\tcontaining header_fields ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating position in 31 km from the current position of IUT\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\t\tindicating 'AID_BEACON'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "STRING", - "value": "TestPurpose" - }, - "excluded": { - "isGenerated": false, - "key": "excluded", - "origin": "52eb2828-5ddc-4b72-95c0-e720aa4aa929", - "type": "BOOL", - "value": true - } - }, - "uuid": "52eb2828-5ddc-4b72-95c0-e720aa4aa929" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09.json deleted file mode 100644 index 544040d87262b349f6f763024f68df9f58de71f6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2ec51847-a022-4719-b614-8f24ed5952f0", - "type": "STRING", - "value": "Check the acceptance of payloads of Secured GN Message\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2ec51847-a022-4719-b614-8f24ed5952f0", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/327f9109-fdf6-4271-ad73-dde8a50590b7"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2ec51847-a022-4719-b614-8f24ed5952f0", - "type": "STRING", - "value": "09. Check Payload" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2ec51847-a022-4719-b614-8f24ed5952f0", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2ec51847-a022-4719-b614-8f24ed5952f0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_02_BO.json deleted file mode 100644 index 27e725ffcd331f028644ad0f9a955f13bd9dfa13..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ba3f9bb4-561c-4974-9d16-16e6f763fe65", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ba3f9bb4-561c-4974-9d16-16e6f763fe65", - "type": "STRING", - "value": "Check that IUT discards the Secured GN Message containing empty payload of type 'signed'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ba3f9bb4-561c-4974-9d16-16e6f763fe65", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ba3f9bb4-561c-4974-9d16-16e6f763fe65", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ba3f9bb4-561c-4974-9d16-16e6f763fe65", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ba3f9bb4-561c-4974-9d16-16e6f763fe65" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_03_BO.json deleted file mode 100644 index 5fcfc0e98523749e2d3a2f7814e0fc157817a457..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e81185be-ce40-4b95-8c99-1a3f2e283217", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e81185be-ce40-4b95-8c99-1a3f2e283217", - "type": "STRING", - "value": "Check that IUT discards the Secured GN Message containing payload element of type 'unsecured'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e81185be-ce40-4b95-8c99-1a3f2e283217", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'unsecured'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e81185be-ce40-4b95-8c99-1a3f2e283217", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e81185be-ce40-4b95-8c99-1a3f2e283217", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e81185be-ce40-4b95-8c99-1a3f2e283217" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_04_BO.json deleted file mode 100644 index 499bbab1e903f070f6361cddbbed4cbf986e886b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7b3d3595-ec50-4d13-86dd-01a985380d2a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7b3d3595-ec50-4d13-86dd-01a985380d2a", - "type": "STRING", - "value": "Check that IUT discards the Secured GN Message containing payload element of type 'encrypted'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7b3d3595-ec50-4d13-86dd-01a985380d2a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'encrypted'\r\n\t\t\t\tand containing data\r\n\t\t\t\t\tindicating length > 0\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7b3d3595-ec50-4d13-86dd-01a985380d2a", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7b3d3595-ec50-4d13-86dd-01a985380d2a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7b3d3595-ec50-4d13-86dd-01a985380d2a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_05_BV.json deleted file mode 100644 index 65b6a69d608af49c544e9d6afd7ac82842ed2603..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_05_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "85dc10e3-9cb1-4d48-ba81-fdc0fa83c51d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "85dc10e3-9cb1-4d48-ba81-fdc0fa83c51d", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Message containing payload of type signed_external" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "85dc10e3-9cb1-4d48-ba81-fdc0fa83c51d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining payload_field \r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed_external'\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "85dc10e3-9cb1-4d48-ba81-fdc0fa83c51d", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "85dc10e3-9cb1-4d48-ba81-fdc0fa83c51d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "85dc10e3-9cb1-4d48-ba81-fdc0fa83c51d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_06_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_06_BV.json deleted file mode 100644 index 186ea19a54bee57958a65040be44c5a728a27378..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_09/TP_SEC_ITSS_RCV_GENMSG_09_06_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "371c3d62-199b-4fc6-9a89-7490fde8048e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "371c3d62-199b-4fc6-9a89-7490fde8048e", - "type": "STRING", - "value": "Check that IUT accepts a well-formed Secured GN Message containing payload of type signed_and_encrypted" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "371c3d62-199b-4fc6-9a89-7490fde8048e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining payload_field \r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed_and_encrypted'\r\n\tthen\r\n\t\tthe IUT accepts the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "371c3d62-199b-4fc6-9a89-7490fde8048e", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "371c3d62-199b-4fc6-9a89-7490fde8048e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "371c3d62-199b-4fc6-9a89-7490fde8048e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10.json deleted file mode 100644 index 0153269eb95254c500800892b3f1f5dd7b728838..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4d7af7dc-b85a-423e-8459-87b2ab70c790", - "type": "STRING", - "value": "Check that the IUT discards Secured GN Message with wrong payloads\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "4d7af7dc-b85a-423e-8459-87b2ab70c790", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/b92fccca-032f-4a3c-8b7d-89e0cd966e8d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "4d7af7dc-b85a-423e-8459-87b2ab70c790", - "type": "STRING", - "value": "10. Check presence of trailer field" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4d7af7dc-b85a-423e-8459-87b2ab70c790", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "4d7af7dc-b85a-423e-8459-87b2ab70c790" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10/TP_SEC_ITSS_RCV_GENMSG_10_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10/TP_SEC_ITSS_RCV_GENMSG_10_01_BO.json deleted file mode 100644 index dcfe756516110af6b584a6f28b377e103754ccc6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10/TP_SEC_ITSS_RCV_GENMSG_10_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a385953e-e7c1-4323-b128-ecd9b644f0fc", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a385953e-e7c1-4323-b128-ecd9b644f0fc", - "type": "STRING", - "value": "Check that IUT discards the Secured GN Message if the message does not contain the trailer field of type 'signature' " - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a385953e-e7c1-4323-b128-ecd9b644f0fc", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tnot containing trailer_fields['signature']\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a385953e-e7c1-4323-b128-ecd9b644f0fc", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a385953e-e7c1-4323-b128-ecd9b644f0fc", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a385953e-e7c1-4323-b128-ecd9b644f0fc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10/TP_SEC_ITSS_RCV_GENMSG_10_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10/TP_SEC_ITSS_RCV_GENMSG_10_02_BO.json deleted file mode 100644 index 5e4200d52319862ebd7839d4bebea6707e21b829..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_10/TP_SEC_ITSS_RCV_GENMSG_10_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "9ef947f9-9eb5-44c3-a9f7-5a298dbad34b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9ef947f9-9eb5-44c3-a9f7-5a298dbad34b", - "type": "STRING", - "value": "Check that IUT discards the Secured GN Message containing more than one instance of TrailerField of type 'signature'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "9ef947f9-9eb5-44c3-a9f7-5a298dbad34b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_DENM_A)\r\n\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\tand containing trailer_fields[1]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "9ef947f9-9eb5-44c3-a9f7-5a298dbad34b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9ef947f9-9eb5-44c3-a9f7-5a298dbad34b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "9ef947f9-9eb5-44c3-a9f7-5a298dbad34b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11.json deleted file mode 100644 index 23a9e3d2458004d4dfb59eb27a39602711239dde..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4552604e-b6c6-4786-b2f8-cbc4d08e6c82", - "type": "STRING", - "value": "Check that the signature contained in the Secured GN Message is calculated over the right fields by cryptographically verifying the signature." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "4552604e-b6c6-4786-b2f8-cbc4d08e6c82", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/3545ac20-454c-4f8b-8447-af4d7d3eb03c", - "/Documents/ts_103097v010201p.xhtml/85b0a8d0-308b-43b2-b2b3-3dc2768ee188" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "4552604e-b6c6-4786-b2f8-cbc4d08e6c82", - "type": "STRING", - "value": "11. Check signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4552604e-b6c6-4786-b2f8-cbc4d08e6c82", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "4552604e-b6c6-4786-b2f8-cbc4d08e6c82" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_01_BO.json deleted file mode 100644 index 5be717384a4269b0d590c1be27783c434167586a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a12f656f-3a11-4840-ad76-31bfd5a60593", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a12f656f-3a11-4840-ad76-31bfd5a60593", - "type": "STRING", - "value": "Check that the IUT discards Secured GN Message containing signature that is not verified using the verification key from the certificate contained in the message's signer info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a12f656f-3a11-4840-ad76-31bfd5a60593", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_AT)\r\n\t\t\t\t\t\tcontaining subject_attributes['verification key']\r\n\t\t\t\t\t\t\tcontaining key (KEY)\r\n\t\t\tand containing trailer_fields[0]\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signature'\r\n\t\t\t\tcontaining signature\r\n\t\t\t\t\tNOT verifiable using KEY\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a12f656f-3a11-4840-ad76-31bfd5a60593", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a12f656f-3a11-4840-ad76-31bfd5a60593", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a12f656f-3a11-4840-ad76-31bfd5a60593" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_02_BO.json deleted file mode 100644 index 689700b5c4f44868aeb7fc6f22c1e0593ab43a7d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_11/TP_SEC_ITSS_RCV_GENMSG_11_02_BO.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "113b1538-f03c-4238-bb87-9bae85287be1", - "type": "STRING", - "value": "Values to be provided as X_RESERVED_PK_ALGORYTHM are: 240, 255" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "113b1538-f03c-4238-bb87-9bae85287be1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "113b1538-f03c-4238-bb87-9bae85287be1", - "type": "STRING", - "value": "Check that IUT discards the Secured Message if the message contains trailer field of type 'signature' with reserved public key algorythms" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "113b1538-f03c-4238-bb87-9bae85287be1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tcontaining an instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature.algorithm\r\n\t\t\t\t\t\tindicating X_RESERVED_PK_ALGORYTHM\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "113b1538-f03c-4238-bb87-9bae85287be1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "113b1538-f03c-4238-bb87-9bae85287be1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "113b1538-f03c-4238-bb87-9bae85287be1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12.json deleted file mode 100644 index db39b8eeef4517bbb19a07078c4f8938313d3b2d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "96ef49a9-c3e9-496e-bc0a-ec45a16824ca", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/2ea232e9-8999-4b23-a946-ac27ce63836a"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "96ef49a9-c3e9-496e-bc0a-ec45a16824ca", - "type": "STRING", - "value": "12. Check signing certificate type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "96ef49a9-c3e9-496e-bc0a-ec45a16824ca", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "96ef49a9-c3e9-496e-bc0a-ec45a16824ca", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "96ef49a9-c3e9-496e-bc0a-ec45a16824ca" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_01_BO.json deleted file mode 100644 index 358c87b10b386b2d98f772b6e81a793d2dde9601..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "1f2972c1-1f13-417c-8a29-3c1291afdc57", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1f2972c1-1f13-417c-8a29-3c1291afdc57", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message if the signer certificate of the message contains the subject type 'enrolment_credential'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "1f2972c1-1f13-417c-8a29-3c1291afdc57", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_EC)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'enrolment_credentials'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "1f2972c1-1f13-417c-8a29-3c1291afdc57", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1f2972c1-1f13-417c-8a29-3c1291afdc57", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "1f2972c1-1f13-417c-8a29-3c1291afdc57" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_02_BO.json deleted file mode 100644 index 66d88899af442cef587b44dee68e9b17bcdb154a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "58acbefe-47a8-422d-b349-ae560978bfab", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "58acbefe-47a8-422d-b349-ae560978bfab", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message if the signer certificate of the message contains the subject type 'authorization_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "58acbefe-47a8-422d-b349-ae560978bfab", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_AA)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_authority'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "58acbefe-47a8-422d-b349-ae560978bfab", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "58acbefe-47a8-422d-b349-ae560978bfab", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "58acbefe-47a8-422d-b349-ae560978bfab" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_03_BO.json deleted file mode 100644 index 9aa56458a4c961ad4bba00aadefc8fd973059f4e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "88ed4cbf-e13f-4bec-b570-1f684abb060c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "88ed4cbf-e13f-4bec-b570-1f684abb060c", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message if the signer certificate of the message contains the subject type 'enrolment_authority'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "88ed4cbf-e13f-4bec-b570-1f684abb060c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_A_EA)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'enrolment_authority'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "88ed4cbf-e13f-4bec-b570-1f684abb060c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "88ed4cbf-e13f-4bec-b570-1f684abb060c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "88ed4cbf-e13f-4bec-b570-1f684abb060c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_04_BO.json deleted file mode 100644 index e9076dcbf66e8a0df06ef12d13a84e2211357577..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_12/TP_SEC_ITSS_RCV_GENMSG_12_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "28054929-53d1-4b1b-b049-bc4ef957d951", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "28054929-53d1-4b1b-b049-bc4ef957d951", - "type": "STRING", - "value": "Check that IUT discards a Secured GN Message if the signer certificate of the message contains the subject type 'root_ca'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "28054929-53d1-4b1b-b049-bc4ef957d951", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the time validity period of CERT_TS_A_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields ['signer_info'] \r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate (CERT_TS_ROOT)\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'root_ca'\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "28054929-53d1-4b1b-b049-bc4ef957d951", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "28054929-53d1-4b1b-b049-bc4ef957d951", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "28054929-53d1-4b1b-b049-bc4ef957d951" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13.json deleted file mode 100644 index 1adf3b9eb23c7e18f0ceaf84dcc3d72b3a8382be..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "af6da4fe-4a7d-4ac1-b5b4-2834e35e2f21", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "af6da4fe-4a7d-4ac1-b5b4-2834e35e2f21", - "type": "STRING", - "value": "13. Check certificate validity" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "af6da4fe-4a7d-4ac1-b5b4-2834e35e2f21", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "af6da4fe-4a7d-4ac1-b5b4-2834e35e2f21" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_01_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_01_BO.json deleted file mode 100644 index f1c9403be95ec6f6aef4b85adbe440eddc5c40aa..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_01_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a5ced76f-5f6a-4b93-bf93-1c92f317d84b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a5ced76f-5f6a-4b93-bf93-1c92f317d84b", - "type": "STRING", - "value": "Check that IUT discards secured message signed with the not yet valid certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a5ced76f-5f6a-4b93-bf93-1c92f317d84b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is before the time validity period of CERT_TS_MSG_13_01_BO_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_01_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT > CURRENT_TIME\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT > START_VALIDITY_AT\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a5ced76f-5f6a-4b93-bf93-1c92f317d84b", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a5ced76f-5f6a-4b93-bf93-1c92f317d84b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a5ced76f-5f6a-4b93-bf93-1c92f317d84b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_02_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_02_BO.json deleted file mode 100644 index 93600556e1c4c5ba013c3b26b35c1167d1ea6e67..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_02_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "2a7cf745-274a-477e-aaba-a399e8575511", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2a7cf745-274a-477e-aaba-a399e8575511", - "type": "STRING", - "value": "Check that IUT discards secured message signed with the expired certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "2a7cf745-274a-477e-aaba-a399e8575511", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is before the time validity period of CERT_TS_MSG_13_02_BO_AT\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_02_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT < CURRENT_TIME\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT < CURRENT_TIME\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "2a7cf745-274a-477e-aaba-a399e8575511", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2a7cf745-274a-477e-aaba-a399e8575511", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "2a7cf745-274a-477e-aaba-a399e8575511" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_03_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_03_BO.json deleted file mode 100644 index 195b0cbd21ca6b3474637027a09c652e12c0bbbf..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_03_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e3406c46-b1a5-4d3b-ba8a-421311579e8c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e3406c46-b1a5-4d3b-ba8a-421311579e8c", - "type": "STRING", - "value": "Check that IUT discards secured message when IUT location is outside the circular validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e3406c46-b1a5-4d3b-ba8a-421311579e8c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_03_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_B)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_03_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\t\t\tand containing circular_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e3406c46-b1a5-4d3b-ba8a-421311579e8c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e3406c46-b1a5-4d3b-ba8a-421311579e8c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e3406c46-b1a5-4d3b-ba8a-421311579e8c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_04_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_04_BO.json deleted file mode 100644 index d99acb962a5da81e6ffee45a9657c53b58d01106..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_04_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "aa0ac06d-88a1-431e-aa66-8531a2f4ac05", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "aa0ac06d-88a1-431e-aa66-8531a2f4ac05", - "type": "STRING", - "value": "Check that IUT discards secured message when IUT location is outside the rectangular validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "aa0ac06d-88a1-431e-aa66-8531a2f4ac05", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_04_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_C)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_04_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\tand containing rectangular_regions\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "aa0ac06d-88a1-431e-aa66-8531a2f4ac05", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "aa0ac06d-88a1-431e-aa66-8531a2f4ac05", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "aa0ac06d-88a1-431e-aa66-8531a2f4ac05" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_05_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_05_BO.json deleted file mode 100644 index 3d44aee0e1f8cb7df8b15f7b7e94c41f2ffbf33c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_05_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5e670402-48e8-4864-8c12-7dd393435124", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5e670402-48e8-4864-8c12-7dd393435124", - "type": "STRING", - "value": "Check that IUT discards secured message when IUT location is outside the polygonal validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5e670402-48e8-4864-8c12-7dd393435124", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_05_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_D)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_05_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5e670402-48e8-4864-8c12-7dd393435124", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5e670402-48e8-4864-8c12-7dd393435124", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5e670402-48e8-4864-8c12-7dd393435124" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_06_BO.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_06_BO.json deleted file mode 100644 index b9a491b6ccb26e45ed331354050c8ac81745545e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_GENMSG/SEC_ITSS_RCV_GENMSG_13/TP_SEC_ITSS_RCV_GENMSG_13_06_BO.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "aa3ac3ea-0cad-44b1-b765-1da5ff4fd951", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "aa3ac3ea-0cad-44b1-b765-1da5ff4fd951", - "type": "STRING", - "value": "Check that IUT discards secured message when IUT location is outside the identified validity restriction of the signing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "aa3ac3ea-0cad-44b1-b765-1da5ff4fd951", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT current time is inside the validity period of CERT_TS_MSG_13_06_BO_AT\r\n\tand the IUT current location is set to CURRENT_IUT_LOCATION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_E)\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining certificate (CERT_TS_MSG_13_06_BO_AT)\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\t\t\t\t\t\tnot containing the CURRENT_IUT_LOCATION\r\n\tthen\r\n\t\tthe IUT discards the message" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "aa3ac3ea-0cad-44b1-b765-1da5ff4fd951", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "aa3ac3ea-0cad-44b1-b765-1da5ff4fd951", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "aa3ac3ea-0cad-44b1-b765-1da5ff4fd951" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_OVERVIEW.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_OVERVIEW.json deleted file mode 100644 index eb8bc23f3c60e64f151992ee9efe787238a70e76..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_RCV/SEC_ITSS_RCV_OVERVIEW.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0c9c2f1a-0f91-4cff-9a1b-29c5883b7661", - "type": "STRING", - "value": "All test purposes of receiving behaviour are considered optional." - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "0c9c2f1a-0f91-4cff-9a1b-29c5883b7661", - "type": "STRING", - "value": "01. Overview" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0c9c2f1a-0f91-4cff-9a1b-29c5883b7661", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "0c9c2f1a-0f91-4cff-9a1b-29c5883b7661" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND.json deleted file mode 100644 index e34ee4302bb65191cc40a457dd0573c6da7b7440..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "attributes": { - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a077a073-02b8-4035-b5eb-386fb33545b6", - "type": "STRING", - "value": "2. Sending behaviour" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a077a073-02b8-4035-b5eb-386fb33545b6", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "a077a073-02b8-4035-b5eb-386fb33545b6", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "a077a073-02b8-4035-b5eb-386fb33545b6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM.json deleted file mode 100644 index 38498e5c39112372950226ea31ddbdb5acb77675..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "42ba7080-2769-40f8-84c3-1ef627d97f0b", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e1308a28-bfa6-40e1-b39e-f1b64d00509d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "42ba7080-2769-40f8-84c3-1ef627d97f0b", - "type": "STRING", - "value": "CAM profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "42ba7080-2769-40f8-84c3-1ef627d97f0b", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "42ba7080-2769-40f8-84c3-1ef627d97f0b", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "42ba7080-2769-40f8-84c3-1ef627d97f0b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01.json deleted file mode 100644 index 32f9699beb3c7c31ebb7431edb70246634e1d9b9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5b25108e-db13-477f-a863-df4a1803cf12", - "type": "STRING", - "value": "Check that the sent Secured CAM contains exactly one HeaderField its_aid that is set to 'AID_CAM'" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "5b25108e-db13-477f-a863-df4a1803cf12", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/ea754a75-9530-4fd0-ae34-bf241af669ad", - "/Documents/ts_103097v010201p.xhtml/49abf17c-f239-46b9-ad89-ac52a283c52c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5b25108e-db13-477f-a863-df4a1803cf12", - "type": "STRING", - "value": "01. Check secured CAM its_aid value" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5b25108e-db13-477f-a863-df4a1803cf12", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "5b25108e-db13-477f-a863-df4a1803cf12" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01/TP_SEC_ITSS_SND_CAM_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01/TP_SEC_ITSS_SND_CAM_01_01_BV.json deleted file mode 100644 index bf6fd9089d76699e4172029a2b728afafabe6616..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_01/TP_SEC_ITSS_SND_CAM_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c35481fb-48c3-498b-a6bd-070de03c1527", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c35481fb-48c3-498b-a6bd-070de03c1527", - "type": "STRING", - "value": "Check that the sent Secured CAM contains a HeaderField its_aid that is set to 'AID_CAM'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c35481fb-48c3-498b-a6bd-070de03c1527", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['its_aid']\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_CAM'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c35481fb-48c3-498b-a6bd-070de03c1527", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c35481fb-48c3-498b-a6bd-070de03c1527", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c35481fb-48c3-498b-a6bd-070de03c1527" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02.json deleted file mode 100644 index febfa884afae29d371ab187cafe0e62b1c9b0948..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e3b3c999-5727-4e84-8456-390555d8dcfb", - "type": "STRING", - "value": "Check that the sent Secured CAM contains exactly one element of the header fields: signer_info, generation_time, message_type.\r\nCheck that the header fields are in the ascending order according to the numbering of the enumeration except of the signer_info, which is encoded first.\r\nCheck that generation_time_with_confidence is not used" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "e3b3c999-5727-4e84-8456-390555d8dcfb", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/0bf26c42-7a43-4f6b-8bbf-3f61249999e4", - "/Documents/ts_103097v010201p.xhtml/5d1ff90b-ad9c-416c-900b-030397b6b6ee", - "/Documents/ts_103097v010201p.xhtml/c3f4369c-b117-4656-8932-603e7787cbc4", - "/Documents/ts_103097v010201p.xhtml/42e1c2c7-4b3f-4b5f-b9b7-39181507295d" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "e3b3c999-5727-4e84-8456-390555d8dcfb", - "type": "STRING", - "value": "02. Check header fields" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e3b3c999-5727-4e84-8456-390555d8dcfb", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "e3b3c999-5727-4e84-8456-390555d8dcfb", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "e3b3c999-5727-4e84-8456-390555d8dcfb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02/TP_SEC_ITSS_SND_CAM_02_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02/TP_SEC_ITSS_SND_CAM_02_01_BV.json deleted file mode 100644 index 4a1c09109c5c6cfd2c75e0da2e905c946967ca69..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_02/TP_SEC_ITSS_SND_CAM_02_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0560feba-c21e-43e0-9a01-ac4f859dc936", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0560feba-c21e-43e0-9a01-ac4f859dc936", - "type": "STRING", - "value": "Check that the secured CAM contains exactly one element of these header fields: signer_info, generation_time, its_aid;\r\nCheck that the header fields are in the ascending order according to the numbering of the enumeration except of the signer_info, which is encoded first; \r\nCheck that generation_time_standard_deviation, expiration, encryption_parameters, recipient_info are not used" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0560feba-c21e-43e0-9a01-ac4f859dc936", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields [1..N]\r\n\t\t\t\tindicating header_fields [n].type < header_fields [n+1].type\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\tand containing header_fields['its_aid']\r\n\t\t\tand not containing header_fields['generation_time_standard_deviation']\r\n\t\t\tand not containing header_fields['expiration']\r\n\t\t\tand not containing header_fields['encryption_parameters']\r\n\t\t\tand not containing header_fields['recipient_info']" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0560feba-c21e-43e0-9a01-ac4f859dc936", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0560feba-c21e-43e0-9a01-ac4f859dc936", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0560feba-c21e-43e0-9a01-ac4f859dc936" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05.json deleted file mode 100644 index ef5f732ab6854a583a74d2abefeba24681f2b613..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f09a6229-ece3-48cb-bcd8-6e7cc29bb745", - "type": "STRING", - "value": "Check that the secured CAM contains the signer_info field of certificate when over the time of one second no other SecuredMessage contained a signer_info of type certificate" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f09a6229-ece3-48cb-bcd8-6e7cc29bb745", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/d485e010-0a82-4bfe-9dff-8d8f09d64fa5"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f09a6229-ece3-48cb-bcd8-6e7cc29bb745", - "type": "STRING", - "value": "05. Check that IUT sends digest as sender info" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f09a6229-ece3-48cb-bcd8-6e7cc29bb745", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "f09a6229-ece3-48cb-bcd8-6e7cc29bb745", - "type": "STRING", - "value": "in process" - } - }, - "uuid": "f09a6229-ece3-48cb-bcd8-6e7cc29bb745" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_01_BV.json deleted file mode 100644 index 0eb5484d1542e6d9cf3dfb1e290034541622e873..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "4dd68f02-fece-45b0-b94a-b8a30b057618", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4dd68f02-fece-45b0-b94a-b8a30b057618", - "type": "STRING", - "value": "Check that the secured CAM contains the signer_info field of certificate when over the time of one second no other SecuredMessage contained a signer_info of type certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "4dd68f02-fece-45b0-b94a-b8a30b057618", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having sent a CAM\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\n\t\tand contains header_fields['generation_time']\r\n\t\t\tindicating TIME_LAST\r\nensure that\r\n\twhen\r\n\t\tthe IUT is sending CAM\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\tthen\r\n\t\tthis message is\r\n\t\t\tcontaining header_fields['generation_time']\r\n\t\t\t\tindicating TIME (TIME >= TIME_LAST + 1sec)" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "4dd68f02-fece-45b0-b94a-b8a30b057618", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4dd68f02-fece-45b0-b94a-b8a30b057618", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4dd68f02-fece-45b0-b94a-b8a30b057618" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_02_BV.json deleted file mode 100644 index 67c873078d7d57c9f2784c795e9d5b8eb58c2a05..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_05/TP_SEC_ITSS_SND_CAM_05_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6aa0a009-3bd6-446d-9a81-f89708cb5710", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6aa0a009-3bd6-446d-9a81-f89708cb5710", - "type": "STRING", - "value": "Check that the secured CAM contains the signer_info field of certificate when the timeout of one second has been expired after the previous CAM containing the certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6aa0a009-3bd6-446d-9a81-f89708cb5710", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having sent a CAM\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\n\t\tat TIME_LAST\r\nensure that\r\n\twhen\r\n\t\tthe IUT is sending a CAM\r\n\t\t\tcontaining header_fields['generation_time']\r\n\t\t\t\tindicating TIME >= TIME_LAST + 1sec \r\n\tthen\r\n\t\tthis message is\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6aa0a009-3bd6-446d-9a81-f89708cb5710", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6aa0a009-3bd6-446d-9a81-f89708cb5710", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6aa0a009-3bd6-446d-9a81-f89708cb5710" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06.json deleted file mode 100644 index b304c7e39bd5edbbe9d2b48944708ffae0eea4c3..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "27254aae-a5f1-4ab3-a3a7-3699e1a35fdd", - "type": "STRING", - "value": "If ITS-S sends a secured CAM check that the sent SecuredMessage contains the signer_info of type certificate when the ITS-S received a CAM from an unknown ITS-S." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "27254aae-a5f1-4ab3-a3a7-3699e1a35fdd", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/6a3eda29-6ac0-4512-b580-2579faf5eb0b"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "27254aae-a5f1-4ab3-a3a7-3699e1a35fdd", - "type": "STRING", - "value": "06. Check that IUT sends cert to unknown ITS-S" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "27254aae-a5f1-4ab3-a3a7-3699e1a35fdd", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "27254aae-a5f1-4ab3-a3a7-3699e1a35fdd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06/TP_SEC_ITSS_SND_CAM_06_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06/TP_SEC_ITSS_SND_CAM_06_01_BV.json deleted file mode 100644 index e303b3a3ef3f62a3399577d77a32117fca663484..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_06/TP_SEC_ITSS_SND_CAM_06_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d768e0ad-5e3b-441b-b3c3-6ce2e4a4d9d7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d768e0ad-5e3b-441b-b3c3-6ce2e4a4d9d7", - "type": "STRING", - "value": "Check that ITS-S sends a Secured CAM containing the signer_info of type certificate when the ITS-S received a CAM from an unknown ITS-S" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d768e0ad-5e3b-441b-b3c3-6ce2e4a4d9d7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having already sent CAM at TIME_1\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\n\tand the IUT having received a SecuredMessage\r\n\t\t\t\t\t\t\tat TIME_2 (TIME_1 < TIME_2 < TIME_1+1sec)\r\n\t\tand containing header_fields['signer_info']\r\n\t\t\tcontaining signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\tand containing digest\r\n\t\t\t\t\tindicating HashedId3 value\r\n\t\t\t\t\t\treferencing an unknown certificate\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send CAM\r\n\t\t\t\t\tat TIME_3 (TIME_1 < TIME_2 < TIME_3 < TIME_1 + 1sec)\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tand containing header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\t\tand containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d768e0ad-5e3b-441b-b3c3-6ce2e4a4d9d7", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d768e0ad-5e3b-441b-b3c3-6ce2e4a4d9d7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d768e0ad-5e3b-441b-b3c3-6ce2e4a4d9d7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07.json deleted file mode 100644 index 4e29bbf2ce1fc2e9134c06ff78870e7d6ec92ae4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "d89c3cec-bd65-4e0e-a38b-0dd5201c531e", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/471f67f8-42d9-443f-ba6f-b5a769e6843d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "d89c3cec-bd65-4e0e-a38b-0dd5201c531e", - "type": "STRING", - "value": "07. Check that IUT restarts the timer when the certificate has been sent" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d89c3cec-bd65-4e0e-a38b-0dd5201c531e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "d89c3cec-bd65-4e0e-a38b-0dd5201c531e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07/TP_SEC_ITSS_SND_CAM_07_01_TI.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07/TP_SEC_ITSS_SND_CAM_07_01_TI.json deleted file mode 100644 index b324077c892cbba6d7d6c317c4e90559c96e3e6d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_07/TP_SEC_ITSS_SND_CAM_07_01_TI.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cbaeb67c-5951-4e88-a4e0-f652dcb0676a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cbaeb67c-5951-4e88-a4e0-f652dcb0676a", - "type": "STRING", - "value": "Check that IUT restarts the certificate sending timer when the certificate has been sent" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cbaeb67c-5951-4e88-a4e0-f652dcb0676a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having already sent CAM at TIME_1\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\n\tand the IUT having received a CAM\r\n\t\t\t\t\t\t\tat TIME_2 (TIME_1 +0.3sec)\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate_digest_with_ecdsap256'\r\n\t\tand containing header_fields['signer_info'].signer.digest\r\n\t\t\treferencing an unknown certificate\r\n\tand the IUT having sent CAM at TIME_3 (TIME_3 > TIME_2)\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\nensure that\r\n\twhen\r\n\t\tthe IUT is sending the next CAM at TIME_4\r\n\t\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\t\tindicating 'certificate'\r\n\tthen\r\n\t\tthe difference between TIME_4 and TIME_3 is about 1sec" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cbaeb67c-5951-4e88-a4e0-f652dcb0676a", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cbaeb67c-5951-4e88-a4e0-f652dcb0676a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cbaeb67c-5951-4e88-a4e0-f652dcb0676a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08.json deleted file mode 100644 index 1a053523bc20534b22886220b7097c4750df669c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9b71d8fc-61ed-4efe-abee-487ae07f7946", - "type": "STRING", - "value": "Check that the sent secured CAM contains the signer_info of type certificate when the ITS-S received a CAM that contains a request of unrecognized certificate that matches with its currently used AT certificate ID." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9b71d8fc-61ed-4efe-abee-487ae07f7946", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e487829f-4c10-4b03-8738-9b266ee1070d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9b71d8fc-61ed-4efe-abee-487ae07f7946", - "type": "STRING", - "value": "08. Check that IUT sends certificate when requested" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9b71d8fc-61ed-4efe-abee-487ae07f7946", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "9b71d8fc-61ed-4efe-abee-487ae07f7946" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08/TP_SEC_ITSS_SND_CAM_08_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08/TP_SEC_ITSS_SND_CAM_08_01_BV.json deleted file mode 100644 index 957d40d843a9e324e3c5f39d4962fe59cb1c7c08..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_08/TP_SEC_ITSS_SND_CAM_08_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f21d3428-4da7-4f1e-b24b-58d32a3e037c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f21d3428-4da7-4f1e-b24b-58d32a3e037c", - "type": "STRING", - "value": "Check that the IUT sends the Secured CAM containing the signer_info of type certificate when it received a CAM containing a request of unrecognized certificate that matches with the currently used AT certificate ID of the IUT" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f21d3428-4da7-4f1e-b24b-58d32a3e037c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having already sent CAM at TIME_1\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate' \r\n\tand the IUT having received a SecuredMessage \r\n\t\t\t\t\t\tat TIME_2 (TIME_1 < TIME_2 < TIME_1+1sec)\r\n\t\tcontaining header_fields['request_unrecognized_certificate']\r\n\t\t\tcontaining digests\r\n\t\t\t\tcontaining HashedId3 value\r\n\t\t\t\t\treferencing to the AT certificate\r\n\t\t\t\tand not containing HashedId3 value\r\n\t\t\t\t\treferencing to the AA certificate\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\t\t\t\tat TIME_3 (TIME_1 < TIME_2 < TIME_3 < TIME_1+1sec)\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\treferenced by the requested digest " - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f21d3428-4da7-4f1e-b24b-58d32a3e037c", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f21d3428-4da7-4f1e-b24b-58d32a3e037c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f21d3428-4da7-4f1e-b24b-58d32a3e037c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09.json deleted file mode 100644 index f6d608cc7677a73022b193ba801e46892fe68684..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f93cb9b0-744d-4df7-9feb-fce721a91430", - "type": "STRING", - "value": "Check that the sent secured CAM contains the signer_info of type certificate_chain when the ITS-S received a CAM that contains a request of unrecognized certificate that matches with the AA certificate ID that issued its currently used AT certificate ID." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f93cb9b0-744d-4df7-9feb-fce721a91430", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/ee6c482c-24aa-416f-82b4-9a84d6b200e0"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f93cb9b0-744d-4df7-9feb-fce721a91430", - "type": "STRING", - "value": "09. Check that IUT send certificate_chain when requested" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f93cb9b0-744d-4df7-9feb-fce721a91430", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f93cb9b0-744d-4df7-9feb-fce721a91430" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_01_BV.json deleted file mode 100644 index 27f325d4e998990c3d66a81465fc87dad8aca7ec..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ea91326a-53a4-4d3a-b27b-07e490f86728", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ea91326a-53a4-4d3a-b27b-07e490f86728", - "type": "STRING", - "value": "Check that the sent secured CAM contains the signer_info of type certificate_chain when the ITS-S has received a CAM containing a request of unrecognized certificate that matches with the AA certificate ID that issued its currently used AT certificate ID of the IUT" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ea91326a-53a4-4d3a-b27b-07e490f86728", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having already sent a CAM\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\n\t\tat TIME_1\r\n\tand the IUT having received a SecuredMessage\r\n\t\tcontaining header_fields['request_unrecognized_certificate']\r\n\t\t\tcontaining digests\r\n\t\t\t\tcontaining HashedId3 value\r\n\t\t\t\t\treferencing to the AA certificate\r\n\t\tat TIME_2 (TIME_1 < TIME_2 < TIME_1+1sec)\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\t\t\tat TIME_3 (TIME_1 < TIME_2 < TIME_3 < TIME_1+1sec)\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tand containing header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\t\tand containing certificates[last]\r\n\t\t\t\t\t\tindicating the AT certificate\r\n\t\t\t\t\tand containing certificates[last-1]\r\n\t\t\t\t\t\tindicating the AA certificate" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ea91326a-53a4-4d3a-b27b-07e490f86728", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ea91326a-53a4-4d3a-b27b-07e490f86728", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ea91326a-53a4-4d3a-b27b-07e490f86728" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_02_BV.json deleted file mode 100644 index 9e3c4f7722db2202a2d93891d8e3e3a12d2e6803..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_09/TP_SEC_ITSS_SND_CAM_09_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "f93e55c0-5178-4d70-911e-cf828db7192e", - "type": "STRING", - "value": "It is proposed to decrease the CAM frequency to the value less than 10Hz" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f93e55c0-5178-4d70-911e-cf828db7192e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f93e55c0-5178-4d70-911e-cf828db7192e", - "type": "STRING", - "value": "Check that the IUT doesn't send a secured CAM contains the signer_info of type certificate_chain when the AA certificate was previously requested and already received from another ITS-S\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f93e55c0-5178-4d70-911e-cf828db7192e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having already sent a CAM\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\n\t\tat TIME_1\r\n\tand the IUT having received a SecuredMessage\r\n\t\tcontaining header_fields['request_unrecognized_certificate']\r\n\t\t\tcontaining digests\r\n\t\t\t\tcontaining HashedId3 value (HASH1)\r\n\t\t\t\t\treferencing to the AA certificate\r\n\t\tat TIME_2 (TIME_1 < TIME_2 < TIME_1+1sec)\r\n\tand the IUT having received a SecuredMessage\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining AA certificate\r\n\t\t\t\t\thaving HashedId3 value of HASH1\r\n\t\tat TIME_3 (TIME_2 < TIME_3 < TIME_2+0.1sec)\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\t\t\tat TIME_3 (TIME_1 < TIME_2 < TIME_3 < TIME_1+1sec)\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tand containing header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'digest'\r\n\t\t\t\t\t\tor indicating 'certificate'\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f93e55c0-5178-4d70-911e-cf828db7192e", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f93e55c0-5178-4d70-911e-cf828db7192e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f93e55c0-5178-4d70-911e-cf828db7192e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10.json deleted file mode 100644 index e3c92f48807776fd435fda21012cab90e8288e9e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bf7c1018-feb3-4b92-82a5-b9022f643ca8", - "type": "STRING", - "value": "Check that the sent secured CAM contains exactly one HeaderField generation_time which is inside the validity time of the certificate referenced by the signer_info." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "bf7c1018-feb3-4b92-82a5-b9022f643ca8", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df", - "/Documents/ts_103097v010201p.xhtml/5d915e97-a60c-4999-8820-e69c5f87128c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "bf7c1018-feb3-4b92-82a5-b9022f643ca8", - "type": "STRING", - "value": "10. Check generation time" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bf7c1018-feb3-4b92-82a5-b9022f643ca8", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "bf7c1018-feb3-4b92-82a5-b9022f643ca8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10/TP_SEC_ITSS_SND_CAM_10_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10/TP_SEC_ITSS_SND_CAM_10_01_BV.json deleted file mode 100644 index 9e19b810bd5a77874d5a29428b9c4ab06193d28e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_10/TP_SEC_ITSS_SND_CAM_10_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "af331703-4a34-4b41-bd02-8ac2eba2ec18", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "af331703-4a34-4b41-bd02-8ac2eba2ec18", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "af331703-4a34-4b41-bd02-8ac2eba2ec18", - "type": "STRING", - "value": "Check that Secured CAM generation time is inside the validity period of the signing certificate;\r\nCheck that message generation time value is realistic" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "af331703-4a34-4b41-bd02-8ac2eba2ec18", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM \r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME (CUR_TIME - 5min <= GEN_TIME <= CUR_TIME + 5min)\r\n\t\t\tand containing header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME\r\n\t\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating value <= GEN_TIME\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME\r\n\t\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\t\tcontaining start_validity (X_START_VALIDITY)\r\n\t\t\t\t\t\t\t\tindicating value <= GEN_TIME\r\n\t\t\t\t\t\t\tand containing duration\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME - X_START_VALIDITY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "af331703-4a34-4b41-bd02-8ac2eba2ec18", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "af331703-4a34-4b41-bd02-8ac2eba2ec18", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "af331703-4a34-4b41-bd02-8ac2eba2ec18" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12.json deleted file mode 100644 index 4270210500028159085ddb772dc713570834fe22..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "40f04e9e-2c26-412d-b58a-3a830fb13687", - "type": "STRING", - "value": "If ITS-S sends a secured CAM and has received a SecuredMessage from an unkown ITS-S that contains only the certificate_digest_with_ecdsa256 check that the sent SecuredMessage contains a HeaderField of type request_unrecognized_certificate with the HashedId3 of the missing AT certificate." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "40f04e9e-2c26-412d-b58a-3a830fb13687", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/3ae26d61-824d-4a0c-81fe-3198413ca03c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "40f04e9e-2c26-412d-b58a-3a830fb13687", - "type": "STRING", - "value": "12. Check sending certificate request to unknown station" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "40f04e9e-2c26-412d-b58a-3a830fb13687", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "40f04e9e-2c26-412d-b58a-3a830fb13687" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12/TP_SEC_ITSS_SND_CAM_12_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12/TP_SEC_ITSS_SND_CAM_12_01_BV.json deleted file mode 100644 index c208aa732ba9cdd87d1d9189d083504b5e443168..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_12/TP_SEC_ITSS_SND_CAM_12_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ec9398ec-d822-4190-aa58-300894bd1ca7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ec9398ec-d822-4190-aa58-300894bd1ca7", - "type": "STRING", - "value": "Check that the IUT sends certificate request when it receives a message from unknown station" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ec9398ec-d822-4190-aa58-300894bd1ca7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT has receiving a SecuredMessage\r\n\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\tcontaining type\r\n\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\tand containing digest\r\n\t\t\t\tindicating HashedId3 value DIGEST_A\r\n\t\t\t\t\treferencing an unknown certificate\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['request_unrecognized_certificate']\r\n\t\t\t\tcontaining digests\r\n\t\t\t\t\tcontaining HashedId3 value\r\n\t\t\t\t\t\tindicating DIGEST_A\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ec9398ec-d822-4190-aa58-300894bd1ca7", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ec9398ec-d822-4190-aa58-300894bd1ca7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ec9398ec-d822-4190-aa58-300894bd1ca7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14.json deleted file mode 100644 index cf67795bafc4eb4ed3c3df2839954d0d61ae389f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "216c0016-6530-4224-8517-83c1195239b8", - "type": "STRING", - "value": "If ITS-S sends a secured CAM check that the sent SecuredMessage contains non-empty payload of type signed." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "216c0016-6530-4224-8517-83c1195239b8", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/464098d6-4402-43a2-a11b-e6c0ebb97df7", - "/Documents/ts_103097v010201p.xhtml/3f1cd606-cf67-4db0-ac19-64fc7452d17a" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "216c0016-6530-4224-8517-83c1195239b8", - "type": "STRING", - "value": "14. Check Payload" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "216c0016-6530-4224-8517-83c1195239b8", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "216c0016-6530-4224-8517-83c1195239b8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14/TP_SEC_ITSS_SND_CAM_14_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14/TP_SEC_ITSS_SND_CAM_14_01_BV.json deleted file mode 100644 index 168053d3cba214d25c764c2748cdc5e139094002..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_14/TP_SEC_ITSS_SND_CAM_14_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "954754e0-e1bf-43a9-8cfa-5202bc82f59e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "954754e0-e1bf-43a9-8cfa-5202bc82f59e", - "type": "STRING", - "value": "Check that the Secured CAM contains non-empty payload of type signed" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "954754e0-e1bf-43a9-8cfa-5202bc82f59e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tand containing payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing not-empty data\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "954754e0-e1bf-43a9-8cfa-5202bc82f59e", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "954754e0-e1bf-43a9-8cfa-5202bc82f59e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "954754e0-e1bf-43a9-8cfa-5202bc82f59e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15.json deleted file mode 100644 index dcefc4bc181ecc3543d7e39a69af5ae222d8fa2b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f6ad2bce-abe0-4134-a12b-21e7bd405083", - "type": "STRING", - "value": "Void." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f6ad2bce-abe0-4134-a12b-21e7bd405083", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/191a229d-de15-4b5a-874c-682846c5d70c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f6ad2bce-abe0-4134-a12b-21e7bd405083", - "type": "STRING", - "value": "15. Check presence of trailer field" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f6ad2bce-abe0-4134-a12b-21e7bd405083", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f6ad2bce-abe0-4134-a12b-21e7bd405083" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15/TP_SEC_ITSS_SND_CAM_15_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15/TP_SEC_ITSS_SND_CAM_15_01_BV.json deleted file mode 100644 index 7101e5ac058888ea3951dfc8ce1e1b7d4eff48d2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_15/TP_SEC_ITSS_SND_CAM_15_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5e229276-3b59-426c-a778-21b4b49c8ec6", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5e229276-3b59-426c-a778-21b4b49c8ec6", - "type": "STRING", - "value": "Check that the secured CAM contains only the trailer field of type signature and no other trailer fields" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5e229276-3b59-426c-a778-21b4b49c8ec6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\tand not containing any other items\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5e229276-3b59-426c-a778-21b4b49c8ec6", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5e229276-3b59-426c-a778-21b4b49c8ec6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5e229276-3b59-426c-a778-21b4b49c8ec6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16.json deleted file mode 100644 index fc1cc990aad81a58a43adc79a85518da9280e494..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "35d5fb61-1159-46a2-a52b-389aeffba52c", - "type": "STRING", - "value": "If ITS-S sends a secured CAM check that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "35d5fb61-1159-46a2-a52b-389aeffba52c", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/0b1ec607-c4bc-4ac5-a8e8-7c7bce9cd787"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "35d5fb61-1159-46a2-a52b-389aeffba52c", - "type": "STRING", - "value": "16. Check signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "35d5fb61-1159-46a2-a52b-389aeffba52c", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "35d5fb61-1159-46a2-a52b-389aeffba52c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16/TP_SEC_ITSS_SND_CAM_16_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16/TP_SEC_ITSS_SND_CAM_16_01_BV.json deleted file mode 100644 index 363d988702ac915d6c3a9e1d8e203968c85e4fa2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CAM/SEC_ITSS_SND_CAM_16/TP_SEC_ITSS_SND_CAM_16_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "630a7eff-a3e0-463f-af83-8ace61f4bbdb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "630a7eff-a3e0-463f-af83-8ace61f4bbdb", - "type": "STRING", - "value": "Check that the secured CAM contains only one TrailerField of type signature;\r\nCheck that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "630a7eff-a3e0-463f-af83-8ace61f4bbdb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_digest_with_ecdsap256'\r\n\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\tor containing signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket' (2)\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "630a7eff-a3e0-463f-af83-8ace61f4bbdb", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "630a7eff-a3e0-463f-af83-8ace61f4bbdb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "630a7eff-a3e0-463f-af83-8ace61f4bbdb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT.json deleted file mode 100644 index 81d4b5aeac3711308281c38bf1309339c2f791e4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "355c1af1-9c61-4b54-9842-6dda41da8a8b", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/967d4b57-1e68-438c-b9e2-e20c3877f499"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "355c1af1-9c61-4b54-9842-6dda41da8a8b", - "type": "STRING", - "value": "Profiles for certificates" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "355c1af1-9c61-4b54-9842-6dda41da8a8b", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "355c1af1-9c61-4b54-9842-6dda41da8a8b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01.json deleted file mode 100644 index 142bdada0fd6e49ca21b82c8d11eb5cd8a77791a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "202ea35f-8278-4dce-85e1-91e0400f4a32", - "type": "STRING", - "value": "Check that the certificate version is 2" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "202ea35f-8278-4dce-85e1-91e0400f4a32", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/783519e9-a067-4deb-b103-46fa94db39bf", - "/Documents/ts_103097v010201p.xhtml/1e5c73cf-ad2e-479f-8fda-5fa62efbe3ec" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "202ea35f-8278-4dce-85e1-91e0400f4a32", - "type": "STRING", - "value": "01. Check that certificate version is 2" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "202ea35f-8278-4dce-85e1-91e0400f4a32", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "202ea35f-8278-4dce-85e1-91e0400f4a32" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_01_BV.json deleted file mode 100644 index 3477444255bc299997f743f73da8d89236b22eb2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "4aa4079b-c370-42f1-aee1-9a1678c8091d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4aa4079b-c370-42f1-aee1-9a1678c8091d", - "type": "STRING", - "value": "Check that AT certificate has version 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "4aa4079b-c370-42f1-aee1-9a1678c8091d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the SecuredMessage\r\nensure that\r\n\t when\r\n\t\tthe IUT is requested to send a SecuredMessage\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating certificate\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining version\r\n\t\t\t\t\t\tindicating '2'\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "4aa4079b-c370-42f1-aee1-9a1678c8091d", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4aa4079b-c370-42f1-aee1-9a1678c8091d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4aa4079b-c370-42f1-aee1-9a1678c8091d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_02_BV.json deleted file mode 100644 index 3a90fdd3059336392d46484b4d4da83dd7e11966..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_01/TP_SEC_ITSS_SND_CERT_01_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "86342aed-fb0e-4bea-b38b-bb983d56c374", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "86342aed-fb0e-4bea-b38b-bb983d56c374", - "type": "STRING", - "value": "Check that AA certificate has version 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "86342aed-fb0e-4bea-b38b-bb983d56c374", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\t when\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 0\r\n\t\t\t\t\tand containing certificates [n] (0..N)\r\n\t\t\t\t\t\tcontaining version\r\n\t\t\t\t\t\t\tindicating '2'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "86342aed-fb0e-4bea-b38b-bb983d56c374", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "86342aed-fb0e-4bea-b38b-bb983d56c374", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "86342aed-fb0e-4bea-b38b-bb983d56c374" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02.json deleted file mode 100644 index 824aceca1e329f4f2e53d8dc4dcfe1fd29838297..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2efa81e5-e91e-44f2-af46-f79f63399534", - "type": "STRING", - "value": "Check that the certificate chain is valid" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2efa81e5-e91e-44f2-af46-f79f63399534", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/083c999c-3428-451c-ae75-be7d885f5975", - "/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96", - "/Documents/ts_103097v010201p.xhtml/c223fe50-65bf-48d8-970d-3bd4538c8e94" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2efa81e5-e91e-44f2-af46-f79f63399534", - "type": "STRING", - "value": "02. Check the certificate chain consistence" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2efa81e5-e91e-44f2-af46-f79f63399534", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2efa81e5-e91e-44f2-af46-f79f63399534" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02/TP_SEC_ITSS_SND_CERT_02_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02/TP_SEC_ITSS_SND_CERT_02_01_BV.json deleted file mode 100644 index 0226bd29e7759e00a6fe2983d3b9caf15abc87f0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_02/TP_SEC_ITSS_SND_CERT_02_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "b3f8078e-c578-42f4-a2d6-577b09c4abc6", - "type": "STRING", - "value": "Usage of 'certificate_digest_with_other_algorythm' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b3f8078e-c578-42f4-a2d6-577b09c4abc6", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b3f8078e-c578-42f4-a2d6-577b09c4abc6", - "type": "STRING", - "value": "Check that the references in the certificate chain are valid\r\nCheck that signer_info type of all certificates in the chain are 'certificate_digest_with_sha256', 'certificate_digest_with_other_algorithm'or 'self'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b3f8078e-c578-42f4-a2d6-577b09c4abc6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[0]\r\n\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\t\t\tor indicating 'certificate_digest_with_other_algorythm'\r\n\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\treferencing the trusted certificate\r\n\t\t\t\t\t\tor containing signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'self'\r\n\t\t\t\t\tand containing certificates[n] (1..N)\r\n\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\t\t\tor indicating 'certificate_digest_with_other_algorythm'\r\n\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\treferencing the certificates[n-1]" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b3f8078e-c578-42f4-a2d6-577b09c4abc6", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b3f8078e-c578-42f4-a2d6-577b09c4abc6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b3f8078e-c578-42f4-a2d6-577b09c4abc6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04.json deleted file mode 100644 index 75d315af2cbe5472cc65569ee35fb2dcd23b79aa..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "ed05de3e-7987-4683-bd1e-e688b65183d9", - "type": "STRING", - "value": "true" - }, - "PICS_USE_RECTANGULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_RECTANGULAR_REGION", - "origin": "ed05de3e-7987-4683-bd1e-e688b65183d9", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ed05de3e-7987-4683-bd1e-e688b65183d9", - "type": "STRING", - "value": "Check Rectangular Region:\r\nThe length of the vector of rectangles is less then 6.\r\nThe region is continuous and does not contain any holes.\r\nThe NW location is on the NW from SE.\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "ed05de3e-7987-4683-bd1e-e688b65183d9", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/54bc9834-9895-4ea3-b091-ac14c2e45b29", - "/Documents/ts_103097v010201p.xhtml/bf8fd5f7-1eca-4385-b102-d7f1bbba5660" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ed05de3e-7987-4683-bd1e-e688b65183d9", - "type": "STRING", - "value": "04. Check rectangular region validity restriction" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ed05de3e-7987-4683-bd1e-e688b65183d9", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "ed05de3e-7987-4683-bd1e-e688b65183d9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_01_BV.json deleted file mode 100644 index 6304ee2de535bd50d79f0a19d0ef63f99e43677a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "69aa17da-fc04-4037-bdb2-be39d960220e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "69aa17da-fc04-4037-bdb2-be39d960220e", - "type": "STRING", - "value": "Check that the rectangular region validity restriction of the message signing certificate contains not more than six valid rectangles;\r\nCheck that the rectangular region validity restriction of the message signing certificate is continuous and does not contain any holes\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "69aa17da-fc04-4037-bdb2-be39d960220e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\tand containing rectangular_region\r\n\t\t\t\t\t\t\t\tindicating length <= 6\r\n\t\t\t\t\t\t\t\tand containing elements of type RectangularRegion\r\n\t\t\t\t\t\t\t\t\tindicating continuous region without holes\r\n\t\t\t\t\t\t\t\t\tand containing northwest and southeast\r\n\t\t\t\t\t\t\t\t\t\tindicating northwest is on the north from southeast" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "69aa17da-fc04-4037-bdb2-be39d960220e", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "69aa17da-fc04-4037-bdb2-be39d960220e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "69aa17da-fc04-4037-bdb2-be39d960220e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_02_BV.json deleted file mode 100644 index 636899bbb297af824f54c5944c7be3d3a281f319..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_04/TP_SEC_ITSS_SND_CERT_04_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b8218cba-1253-4c57-a238-ee408b3af72e", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b8218cba-1253-4c57-a238-ee408b3af72e", - "type": "STRING", - "value": "Check that the rectangular region validity restriction of all certificates contains not more than six valid rectangles;\r\nCheck that the rectangular region validity restriction of the AT certificate is continuous and does not contain any holes\r\nCheck that the rectangular certificate validity region of the subordinate certificate is well formed and inside the validity region of the issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b8218cba-1253-4c57-a238-ee408b3af72e", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates\r\n\t\t\t\t\tindicating length N > 0\r\n\t\t\t\t\tand containing certificates [n] (0..N)\r\n\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\t\t\t\tand containing rectangular_region\r\n\t\t\t\t\t\t\t\t\tindicating length <= 6\r\n\t\t\t\t\t\t\t\t\tand containing elements of type RectangularRegion\r\n\t\t\t\t\t\t\t\t\t\tcontaining northwest and southeast\r\n\t\t\t\t\t\t\t\t\t\t\tindicating northwest on the north from southeast\r\n\t\t\t\t\t\t\t\t\tand indicating continuous region without holes" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b8218cba-1253-4c57-a238-ee408b3af72e", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b8218cba-1253-4c57-a238-ee408b3af72e", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b8218cba-1253-4c57-a238-ee408b3af72e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05.json deleted file mode 100644 index af7077111a57f89dcd51ecad8cbad29a0fdeff6a..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de", - "type": "STRING", - "value": "true" - }, - "PICS_USE_POLYGONAL_REGION": { - "isGenerated": false, - "key": "PICS_USE_POLYGONAL_REGION", - "origin": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de", - "type": "STRING", - "value": "Check Polygonal Region:\r\nMust contain at least 3 and no more than 12 points\r\nShould not contain intersections\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/235ceabe-4e4b-4beb-8988-bf7091fe8d2f"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de", - "type": "STRING", - "value": "05. Check polygonal region validity restriction" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "d8b517b2-50f3-4b59-b2af-88fcb0dbe0de" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_01_BV.json deleted file mode 100644 index bd3159bb255a1daea1de98f405065ba7891bdcc8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "20cca0f1-fd8d-4ec5-9759-21333efff1cf", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "20cca0f1-fd8d-4ec5-9759-21333efff1cf", - "type": "STRING", - "value": "Check that the polygonal certificate validity region contains at least three and no more than 12 points;\r\nCheck that the polygonal certificate validity region does not contain intersections and holes\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "20cca0f1-fd8d-4ec5-9759-21333efff1cf", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\tindicating length >=3 and <=12\r\n\t\t\t\t\t\t\t\tand indicating continuous region without holes and intersections" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "20cca0f1-fd8d-4ec5-9759-21333efff1cf", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "20cca0f1-fd8d-4ec5-9759-21333efff1cf", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "20cca0f1-fd8d-4ec5-9759-21333efff1cf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_02_BV.json deleted file mode 100644 index f5e9e36f800d874539054caffbbcbe63635188e5..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_05/TP_SEC_ITSS_SND_CERT_05_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "364a1c63-5b7e-4b6e-af2b-39501c1a292a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "364a1c63-5b7e-4b6e-af2b-39501c1a292a", - "type": "STRING", - "value": "Check that the polygonal certificate validity region is inside the validity region of the issuing certificate;\r\nCheck that the issuing polygonal certificate validity region contains at least three and no more than 12 points;\r\nCheck that the issuing polygonal certificate validity region does not contain intersections and holes\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "364a1c63-5b7e-4b6e-af2b-39501c1a292a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 0\r\n\t\t\t\t\tand containing certificates [n] (0..N)\r\n\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\t\t\t\t\tand containing polygonal_region\r\n\t\t\t\t\t\t\t\t\tindicating length >=3 and <=12\r\n\t\t\t\t\t\t\t\t\tand indicating continuous region without holes and intersections" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "364a1c63-5b7e-4b6e-af2b-39501c1a292a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "364a1c63-5b7e-4b6e-af2b-39501c1a292a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "364a1c63-5b7e-4b6e-af2b-39501c1a292a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06.json deleted file mode 100644 index 98468dd514292e4f5b1d61a10ae92c0416abb14d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc", - "type": "STRING", - "value": "true" - }, - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc", - "type": "STRING", - "value": "Check IdentifiedRegion:\r\nCheck that region identifier indicating valid value according to specified dictionary." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/815d02b2-2d5e-4a9d-8632-386a8017515f", - "/Documents/ts_103097v010201p.xhtml/60585f95-c23b-4663-a422-c5a12c7b17ab", - "/Documents/ts_103097v010201p.xhtml/c24263a2-44a2-48e9-ac0c-cf3e9a7ce665", - "/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc", - "type": "STRING", - "value": "06. Check identified region validity restriction" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "4ccff361-8db5-4ad1-b3dd-273acd27f4bc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_01_BV.json deleted file mode 100644 index bbe7b27e83b69512a638017e534a0787d0b186a8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a3d873c2-2043-4e3e-b3d7-f5b8199cd490", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a3d873c2-2043-4e3e-b3d7-f5b8199cd490", - "type": "STRING", - "value": "Check that the identified certificate validity region contains values that correspond to numeric country codes as defined in ISO 3166-1 or defined by United Nations Statistics Division\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a3d873c2-2043-4e3e-b3d7-f5b8199cd490", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate\r\n\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\tindicating valid value according to ISO-2166-1\r\n\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\tor containing id_region\r\n\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\tindicating 'un_stats'\r\n\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\tindicating valid value according to UN STATS\r\n\t\t\t\t\t\t\t\tand containing local_region" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a3d873c2-2043-4e3e-b3d7-f5b8199cd490", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a3d873c2-2043-4e3e-b3d7-f5b8199cd490", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a3d873c2-2043-4e3e-b3d7-f5b8199cd490" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_02_BV.json deleted file mode 100644 index ad50bdd7da9c25c0eed8ef50bb4ffd11e82967d6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_06/TP_SEC_ITSS_SND_CERT_06_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "35c6bd73-97ab-4c91-aaf5-fc45d2964dfd", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "35c6bd73-97ab-4c91-aaf5-fc45d2964dfd", - "type": "STRING", - "value": "Check that the identified certificate validity region contains values that correspond to numeric country codes as defined in ISO 3166-1 or defined by United Nations Statistics Division;\r\nCheck that the identified certificate validity region contains values defining the region which is inside the validity region of the issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "35c6bd73-97ab-4c91-aaf5-fc45d2964dfd", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[n](0..N)\r\n\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating valid value according to ISO_3166-1 dictionary\r\n\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\tor containing region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tand containing id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'un_stats'\r\n\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\tindicating valid value according to UN STATS dictionary\r\n\t\t\t\t\t\t\t\tand containing local_region" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "35c6bd73-97ab-4c91-aaf5-fc45d2964dfd", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "35c6bd73-97ab-4c91-aaf5-fc45d2964dfd", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "35c6bd73-97ab-4c91-aaf5-fc45d2964dfd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07.json deleted file mode 100644 index 4eb03b9430a39ee48b175670108ec4431d377169..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "c7034d14-d8bf-49b0-94bb-b4cd947059c9", - "type": "STRING", - "value": "true" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c7034d14-d8bf-49b0-94bb-b4cd947059c9", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/69c806d3-882e-43b1-b8fe-6dc0c8d1da4c", - "/Documents/ts_103097v010201p.xhtml/c24263a2-44a2-48e9-ac0c-cf3e9a7ce665", - "/Documents/ts_103097v010201p.xhtml/815d02b2-2d5e-4a9d-8632-386a8017515f" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "c7034d14-d8bf-49b0-94bb-b4cd947059c9", - "type": "STRING", - "value": "07. Check region validity restrictions in the chain" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c7034d14-d8bf-49b0-94bb-b4cd947059c9", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c7034d14-d8bf-49b0-94bb-b4cd947059c9" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_01_BV.json deleted file mode 100644 index ed6b72ac788f07745739db8bcb044e85ebcf021c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "18e752e3-569c-4c22-9fd8-f17377679908", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "18e752e3-569c-4c22-9fd8-f17377679908", - "type": "STRING", - "value": "Check that the region of the subordinate certificate validity restriction is inside the region of the issuing certificate validity restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "18e752e3-569c-4c22-9fd8-f17377679908", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[n](0..N)\r\n\t\t\t\t\t\tindicating certificate\r\n\t\t\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\t\tor indicating certificate\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region.region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'none'\r\n\t\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\t\t\t\t\t\tor containing validity_restrictions['region']\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining region.region_type\r\n\t\t\t\t\t\t\t\t\t\t\t\tindicating 'none'\r\n\t\t\t\t\t\tor indicating certificate\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\tcontaining region.region_type\r\n\t\t\t\t\t\t\t\t\tindicated 'circle'\r\n\t\t\t\t\t\t\t\t\tor indicated 'rectangle'\r\n\t\t\t\t\t\t\t\t\tor indicated 'polygon'\r\n\t\t\t\t\t\t\t\t\tor indicated 'id'\r\n\t\t\t\t\t\t\t\tand containing region (X_CERT__REGION)\r\n\t\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\t\t\t\tnot containing validity_restrictions['region']\r\n\t\t\t\t\t\t\t\t\t\tor containing validity_restrictions['region']\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining region.region_type\r\n\t\t\t\t\t\t\t\t\t\t\t\tindicating 'none'\r\n\t\t\t\t\t\t\t\t\t\tor containing validity_restrictions['region']\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\t\t\t\t\tindicating region fully covering the X_CERT_REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "18e752e3-569c-4c22-9fd8-f17377679908", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "18e752e3-569c-4c22-9fd8-f17377679908", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "18e752e3-569c-4c22-9fd8-f17377679908" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_02_BV.json deleted file mode 100644 index 7abd34f6d0af45fe3f205da5ca52238d0988f3c1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "758add74-3024-426c-b542-2fa5f41ef7a3", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "758add74-3024-426c-b542-2fa5f41ef7a3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "758add74-3024-426c-b542-2fa5f41ef7a3", - "type": "STRING", - "value": "Check that the identified region validity restriction of the subordinate certificate is included in the identified region validity restriction of the issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "758add74-3024-426c-b542-2fa5f41ef7a3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT is using both AA and AT certificates with identified region validity restriction\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates\r\n\t\t\t\t\tindicating length > 1\r\n\t\t\t\t\tand containing certificates [n] (0..N)\r\n\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\tcontaining id_region\r\n\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\t\t\tor indicating 'un_stats'\r\n\t\t\t\t\t\t\t\t\tcontaining region_identifier (X_CERT_REGION_ID)\r\n\t\t\t\t\t\t\t\t\t\tindicating valid value according to ISO_3166-1 or UN STATS dictionary\r\n\t\t\t\t\t\t\t\t\tcontaining local_region (X_CERT_LOCAL_REGION)\r\n\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\t\t\tcontaining validity_restrictions['region']\r\n\t\t\t\t\t\t\t\t\t\tcontaining region\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining region_type\r\n\t\t\t\t\t\t\t\t\t\t\t\tindicating 'id'\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining id_region\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tindicating 'iso_3166_1'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tor indicating 'un_stats'\r\n\t\t\t\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tindicating value == X_CERT_REGION_ID\r\n\t\t\t\t\t\t\t\t\t\t\t\tand containing local_region\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tindicating value == X_CERT_LOCAL_REGION\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tor indicating 0\r\n\t\t\t\t\t\t\t\t\t\t\tor containing id_region\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontaining region_dictionary\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tindicating 'un_stats'\r\n\t\t\t\t\t\t\t\t\t\t\t\tand containing region_identifier\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tindicating value fully covering the X_CERT_REGION_ID\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "758add74-3024-426c-b542-2fa5f41ef7a3", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "758add74-3024-426c-b542-2fa5f41ef7a3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "758add74-3024-426c-b542-2fa5f41ef7a3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_02_BV/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_02_BV/Comment 01.json deleted file mode 100644 index 3a2b54ba5d9cafffca9992e2d39882fe825608d2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_07/TP_SEC_ITSS_SND_CERT_07_02_BV/Comment 01.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "04366324-992e-4223-97e7-706645a859b0", - "type": "STRING", - "value": "Denis" - }, - "_index": { - "isGenerated": false, - "key": "_index", - "origin": "04366324-992e-4223-97e7-706645a859b0", - "type": "STRING", - "value": "1" - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "04366324-992e-4223-97e7-706645a859b0", - "type": "STRING", - "value": "Ex: TP_SEC_ITSS_SND_CERT_06_02_BV (changed)" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "04366324-992e-4223-97e7-706645a859b0", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "04366324-992e-4223-97e7-706645a859b0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08.json deleted file mode 100644 index ad5844925fa2c79334bcc6fdd6179dfdf2c5adfe..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "22eeba9c-067c-4daa-9d92-6f08c15a58e5", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that only the ValidityRestriction time_start_and_end is included" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "22eeba9c-067c-4daa-9d92-6f08c15a58e5", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "22eeba9c-067c-4daa-9d92-6f08c15a58e5", - "type": "STRING", - "value": "08. Check time validity restriction in the chain" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "22eeba9c-067c-4daa-9d92-6f08c15a58e5", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "22eeba9c-067c-4daa-9d92-6f08c15a58e5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV.json deleted file mode 100644 index 0786bc15eca2a3d0166ffc5e4d3153d18502601f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "62f9166d-ebd7-482a-8d09-94303a071c03", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "62f9166d-ebd7-482a-8d09-94303a071c03", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "62f9166d-ebd7-482a-8d09-94303a071c03", - "type": "STRING", - "value": "Check the certificate chain to ensure that the time validity restriction of the subordinate certificate is inside the time validity restriction of the issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "62f9166d-ebd7-482a-8d09-94303a071c03", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[n] (0..N)\r\n\t\t\t\t\t\tcontaining validity_restrictions\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\t\t\tindicating X_END_VALIDITY_AT\r\n\t\t\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\tindicating X_START_VALIDITY_AT\r\n\t\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\t\tindicating X_END_VALIDITY_AT >X_START_VALIDITY_AT\r\n\t\t\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\tindicating X_START_VALIDITY_AT\r\n\t\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\t\tindicating X_DURATION_AT > 0\r\n\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value >= X_END_VALIDITY_AT if defined\r\n\t\t\t\t\t\t\t\t\t\t\tor indicating value >= X_START_VALIDITY_AT + X_DURATION_AT\r\n\t\t\t\t\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value <= X_START_VALIDITY_AT if defined\r\n\t\t\t\t\t\t\t\t\t\t\tor indicating value <= CURRENT_TIME\r\n\t\t\t\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value >= X_END_VALIDITY_AT if defined\r\n\t\t\t\t\t\t\t\t\t\t\tor indicating value >= X_START_VALIDITY_AT + X_DURATION_AT\r\n\t\t\t\t\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating X_START_VALIDITY_AA <= X_START_VALIDITY_AT if defined\r\n\t\t\t\t\t\t\t\t\t\t\tor indicating X_START_VALIDITY_AA <= CURRENT_TIME\r\n\t\t\t\t\t\t\t\t\t\tand containing duration\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value >= X_END_VALIDITY_AT - X_START_VALIDITY_AA if defined\r\n\t\t\t\t\t\t\t\t\t\t\tor indicating value >= X_START_VALIDITY_AT + X_DURATION_AT -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tX_START_VALIDITY_AA" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "62f9166d-ebd7-482a-8d09-94303a071c03", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "62f9166d-ebd7-482a-8d09-94303a071c03", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "62f9166d-ebd7-482a-8d09-94303a071c03" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV/Comment 01.json deleted file mode 100644 index 3e7d991150462f75afd015aee8d15ec08d872867..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_08/TP_SEC_ITSS_SND_CERT_08_01_BV/Comment 01.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5a2cc564-126b-448c-8280-a683b3af90e7", - "type": "STRING", - "value": "Denis" - }, - "_index": { - "isGenerated": false, - "key": "_index", - "origin": "5a2cc564-126b-448c-8280-a683b3af90e7", - "type": "STRING", - "value": "1" - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5a2cc564-126b-448c-8280-a683b3af90e7", - "type": "STRING", - "value": "Ex: TP_SEC_ITSS_SND_CERT_AA_06_01_BV" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5a2cc564-126b-448c-8280-a683b3af90e7", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "5a2cc564-126b-448c-8280-a683b3af90e7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09.json deleted file mode 100644 index d49aca216fff41d1f2169fa28f66fb1204303912..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8db0ae0e-e480-41fc-97dc-68301e238f16", - "type": "STRING", - "value": "Check that the certificate signature contains ECC point of type either compressed_lsb_y_0, compressed_lsb_y_1 or x_coordinate_only\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8db0ae0e-e480-41fc-97dc-68301e238f16", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "8db0ae0e-e480-41fc-97dc-68301e238f16", - "type": "STRING", - "value": "09. Check ECC point type of the certificate signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8db0ae0e-e480-41fc-97dc-68301e238f16", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8db0ae0e-e480-41fc-97dc-68301e238f16" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV.json deleted file mode 100644 index ceca0c47673cb05b6bfee6f913e65e2680eb29e1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "3861966a-8aa8-4031-aea4-8f564093a571", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3861966a-8aa8-4031-aea4-8f564093a571", - "type": "STRING", - "value": "Check that the certificate signature contains ECC point of type set to either compressed_lsb_y_0, compressed_lsb_y_1 or x_coordinate_only" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "3861966a-8aa8-4031-aea4-8f564093a571", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining signature.ecdsa_signature\r\n\t\t\t\t\t\tcontaining R.type\r\n\t\t\t\t\t\t\tindicating compressed_lsb_y_0\r\n\t\t\t\t\t\t\tor indicating compressed_lsb_y_1 \r\n\t\t\t\t\t\t\tor indicating x_coordinate_only" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "3861966a-8aa8-4031-aea4-8f564093a571", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3861966a-8aa8-4031-aea4-8f564093a571", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "3861966a-8aa8-4031-aea4-8f564093a571" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV/Comment 01.json deleted file mode 100644 index 4c478e5ae95c14ba829d8a9ad1ef829731f71bd2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_01_BV/Comment 01.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "76453eb5-f066-41c1-a134-23bb14f60d9b", - "type": "STRING", - "value": "Denis" - }, - "_index": { - "isGenerated": false, - "key": "_index", - "origin": "76453eb5-f066-41c1-a134-23bb14f60d9b", - "type": "STRING", - "value": "1" - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "76453eb5-f066-41c1-a134-23bb14f60d9b", - "type": "STRING", - "value": "Ex: TP_SEC_ITSS_SND_CERT_07_01_BV" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "76453eb5-f066-41c1-a134-23bb14f60d9b", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "76453eb5-f066-41c1-a134-23bb14f60d9b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV.json deleted file mode 100644 index c9e0262c935ae21a4b00e7f785ef585275f7571d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "480db4e5-cf80-4910-a6c6-146848e77912", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "480db4e5-cf80-4910-a6c6-146848e77912", - "type": "STRING", - "value": "Check that the all certificates in a chain have signatures contains ECC point of type set to either compressed_lsb_y_0, compressed_lsb_y_1 or x_coordinate_only" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "480db4e5-cf80-4910-a6c6-146848e77912", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[n](0..N)\r\n\t\t\t\t\t\tcontaining signature.ecdsa_signature\r\n\t\t\t\t\t\t\tcontaining R.type\r\n\t\t\t\t\t\t\t\tindicating compressed_lsb_y_0\r\n\t\t\t\t\t\t\t\tor indicating compressed_lsb_y_1 \r\n\t\t\t\t\t\t\t\tor indicating x_coordinate_only" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "480db4e5-cf80-4910-a6c6-146848e77912", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "480db4e5-cf80-4910-a6c6-146848e77912", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "480db4e5-cf80-4910-a6c6-146848e77912" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV/Comment 01.json deleted file mode 100644 index 0c2a17bf76bbec570bf052ffaf1233538662e062..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_09/TP_SEC_ITSS_SND_CERT_09_02_BV/Comment 01.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ed17d57e-6fab-407f-8cd3-003bc38de26f", - "type": "STRING", - "value": "Denis" - }, - "_index": { - "isGenerated": false, - "key": "_index", - "origin": "ed17d57e-6fab-407f-8cd3-003bc38de26f", - "type": "STRING", - "value": "1" - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ed17d57e-6fab-407f-8cd3-003bc38de26f", - "type": "STRING", - "value": "Ex: TP_SEC_ITSS_SND_CERT_07_01_BV" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ed17d57e-6fab-407f-8cd3-003bc38de26f", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "ed17d57e-6fab-407f-8cd3-003bc38de26f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10.json deleted file mode 100644 index cbb36ebf4a59fb5f6be8bcc817911526f3f33095..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9de02bbf-fc61-462f-af8f-030086742f00", - "type": "STRING", - "value": "Check that the certificate verification key contains ECC point of type set to either compressed_lsb_y_0, compressed_lsb_y_1 or uncompressed\r\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9de02bbf-fc61-462f-af8f-030086742f00", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/ab9e2898-6189-4d9a-b908-74c5226bb19e", - "/Documents/ts_103097v010201p.xhtml/327b37e5-c93a-43f9-a88b-a47f21468381" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9de02bbf-fc61-462f-af8f-030086742f00", - "type": "STRING", - "value": "10. Check ECC point type of the certificate verification key" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9de02bbf-fc61-462f-af8f-030086742f00", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "9de02bbf-fc61-462f-af8f-030086742f00" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10/TP_SEC_ITSS_SND_CERT_10_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10/TP_SEC_ITSS_SND_CERT_10_01_BV.json deleted file mode 100644 index 50491816b6367b692960febafed51383264bb5ff..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10/TP_SEC_ITSS_SND_CERT_10_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b29794e5-23d7-42c8-b96f-a156bb5bfde4", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b29794e5-23d7-42c8-b96f-a156bb5bfde4", - "type": "STRING", - "value": "Check that the certificate verification key contains ECC point of type set to either compressed_lsb_y_0, compressed_lsb_y_1 or uncompressed" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b29794e5-23d7-42c8-b96f-a156bb5bfde4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate\r\n\t\t\t\t\tcontaining subject_attributes['verification_key']\r\n\t\t\t\t\t\tcontaining key.public_key.type\r\n\t\t\t\t\t\t\tindicating compressed_lsb_y_0\r\n\t\t\t\t\t\t\tor indicating compressed_lsb_y_1 \r\n\t\t\t\t\t\t\tor indicating uncompressed" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b29794e5-23d7-42c8-b96f-a156bb5bfde4", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b29794e5-23d7-42c8-b96f-a156bb5bfde4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b29794e5-23d7-42c8-b96f-a156bb5bfde4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10/TP_SEC_ITSS_SND_CERT_10_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10/TP_SEC_ITSS_SND_CERT_10_02_BV.json deleted file mode 100644 index 76d27505b5ce42fd6ca2fa8a42d9387d85f5ce67..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_10/TP_SEC_ITSS_SND_CERT_10_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e43aec55-e643-495f-aea7-f6d180e0109f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e43aec55-e643-495f-aea7-f6d180e0109f", - "type": "STRING", - "value": "Check that all certificate in a chain have verification keys contains ECC point of type set to either compressed_lsb_y_0, compressed_lsb_y_1 or uncompressed" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e43aec55-e643-495f-aea7-f6d180e0109f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 0\r\n\t\t\t\t\tcontaining certificates [n] (0..N)\r\n\t\t\t\t\t\tcontaining subject_attributes['verification_key']\r\n\t\t\t\t\t\t\tcontaining key.public_key.type\r\n\t\t\t\t\t\t\t\tindicating compressed_lsb_y_0\r\n\t\t\t\t\t\t\t\tor indicating compressed_lsb_y_1 \r\n\t\t\t\t\t\t\t\tor indicating uncompressed" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e43aec55-e643-495f-aea7-f6d180e0109f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e43aec55-e643-495f-aea7-f6d180e0109f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e43aec55-e643-495f-aea7-f6d180e0109f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11.json deleted file mode 100644 index 7382af8e9fa649d9e55c8d072fae5d26b4e0d7a1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "df89a517-b410-46f7-90da-77b24372193c", - "type": "STRING", - "value": "Verify that the certificate signature is valid" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "df89a517-b410-46f7-90da-77b24372193c", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/1de82943-16f3-4be8-9c10-98ff19632d96", - "/Documents/ts_103097v010201p.xhtml/b661365c-ed7a-410c-803f-e9702b195a7e" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "df89a517-b410-46f7-90da-77b24372193c", - "type": "STRING", - "value": "11. Verify certificates signatures" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "df89a517-b410-46f7-90da-77b24372193c", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "df89a517-b410-46f7-90da-77b24372193c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11/TP_SEC_ITSS_SND_CERT_11_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11/TP_SEC_ITSS_SND_CERT_11_01_BV.json deleted file mode 100644 index e7499dcef5bb93a65014bf0f1b8f3760fa499e39..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11/TP_SEC_ITSS_SND_CERT_11_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e66b84aa-ca13-47be-9c10-182491c7a948", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e66b84aa-ca13-47be-9c10-182491c7a948", - "type": "STRING", - "value": "Check the certificate signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e66b84aa-ca13-47be-9c10-182491c7a948", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate\r\n\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\treferencing the certificate CERT\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using CERT.subject_attributes['verification_key'].key" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e66b84aa-ca13-47be-9c10-182491c7a948", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e66b84aa-ca13-47be-9c10-182491c7a948", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e66b84aa-ca13-47be-9c10-182491c7a948" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11/TP_SEC_ITSS_SND_CERT_11_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11/TP_SEC_ITSS_SND_CERT_11_02_BV.json deleted file mode 100644 index 482cbfd3d7a427c3c5b476b00c6328d7b5872985..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_11/TP_SEC_ITSS_SND_CERT_11_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d7a254c8-e520-47ba-a846-5e4db105c1f1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d7a254c8-e520-47ba-a846-5e4db105c1f1", - "type": "STRING", - "value": "Check the validity of signatures of all certificates in the chain" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d7a254c8-e520-47ba-a846-5e4db105c1f1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[0]\r\n\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\treferencing the trusted certificate (CERT_ROOT)\r\n\t\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\t\tverifiable using CERT_ROOT\r\n\t\t\t\t\t\t\t\t\t.subject_attributes['verification_key'].key\r\n\t\t\t\t\tand containing certificates[n] (1..N)\r\n\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\treferencing the certificates[n-1]\r\n\t\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\t\tverifiable using certificates[n-1]\r\n\t\t\t\t\t\t\t\t\t.subject_attributes['verification_key'].key" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d7a254c8-e520-47ba-a846-5e4db105c1f1", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d7a254c8-e520-47ba-a846-5e4db105c1f1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d7a254c8-e520-47ba-a846-5e4db105c1f1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12.json deleted file mode 100644 index c92cbb3ef6e00c89d30819dd7bcbc7343122d1b7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "36ab95b2-88bc-491b-8f6b-15800fb25ab6", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/a5aaa3b8-fe7b-4f50-8dff-a3674829fa6f", - "/Documents/ts_103097v010201p.xhtml/0c378b8d-b7f5-4102-92db-50cd3f458166", - "/Documents/ts_103097v010201p.xhtml/25ae8b7b-7dc7-4009-b85b-fa59fc9c2af9" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "36ab95b2-88bc-491b-8f6b-15800fb25ab6", - "type": "STRING", - "value": "12. Check certificate assurance level in the chain" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "36ab95b2-88bc-491b-8f6b-15800fb25ab6", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "36ab95b2-88bc-491b-8f6b-15800fb25ab6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12/TP_SEC_ITSS_SND_CERT_12_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12/TP_SEC_ITSS_SND_CERT_12_01_BV.json deleted file mode 100644 index cd07b5494b0d2119f8d2cd3de71297957a614836..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_12/TP_SEC_ITSS_SND_CERT_12_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e9807f79-30ab-4d1a-846f-69c86cb2110d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e9807f79-30ab-4d1a-846f-69c86cb2110d", - "type": "STRING", - "value": "Check that the assurance level of the subordinate certificate is equal to or less than the assurance level of the issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e9807f79-30ab-4d1a-846f-69c86cb2110d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates\r\n\t\t\t\t\tindicating length N > 1\r\n\t\t\t\t\tand containing certificates[n](0..N)\r\n\t\t\t\t\t\tcontaining subject_attributes ['assurance_level']\r\n\t\t\t\t\t\t\tcontaining assurance_level\r\n\t\t\t\t\t\t\t\tcontaining bits [5-7]\r\n\t\t\t\t\t\t\t\t\tindicating assurance level CERT_AL\r\n\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\t\t\tcontaining subject_attributes ['assurance_level']\r\n\t\t\t\t\t\t\t\t\t\tcontaining assurance_level\r\n\t\t\t\t\t\t\t\t\t\t\tcontaining bits [5-7]\r\n\t\t\t\t\t\t\t\t\t\t\t\tindicating value <= CERT_AL" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e9807f79-30ab-4d1a-846f-69c86cb2110d", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e9807f79-30ab-4d1a-846f-69c86cb2110d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e9807f79-30ab-4d1a-846f-69c86cb2110d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA.json deleted file mode 100644 index c704335bf31fe186e485add8014f2554edc65a49..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7a638e06-7122-483b-8879-10362ab5bbb2", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/fc3a86a9-a0fb-4c88-b23d-594bdccc8ba2"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7a638e06-7122-483b-8879-10362ab5bbb2", - "type": "STRING", - "value": "AA certificate profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7a638e06-7122-483b-8879-10362ab5bbb2", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7a638e06-7122-483b-8879-10362ab5bbb2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01.json deleted file mode 100644 index f54385361cf927f646f31551bad9cb52f0348504..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9b44de2b-e63e-4c56-b59f-855a1c4cb539", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that the subject_type is set to authorization_authority" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9b44de2b-e63e-4c56-b59f-855a1c4cb539", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/9bdd04f1-3bca-4642-9a33-503b4c02b7b8"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9b44de2b-e63e-4c56-b59f-855a1c4cb539", - "type": "STRING", - "value": "01. Check AA certificate subject type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9b44de2b-e63e-4c56-b59f-855a1c4cb539", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "9b44de2b-e63e-4c56-b59f-855a1c4cb539" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01/TP_SEC_ITSS_SND_CERT_AA_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01/TP_SEC_ITSS_SND_CERT_AA_01_01_BV.json deleted file mode 100644 index a661d1410f7542be1d945573fb9c3b070cf5d917..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_01/TP_SEC_ITSS_SND_CERT_AA_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fe9c5ad6-e450-42d6-97d1-39e74490e8f6", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fe9c5ad6-e450-42d6-97d1-39e74490e8f6", - "type": "STRING", - "value": "Check that the subject_type of the AA certificate is set to authorization_authority\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fe9c5ad6-e450-42d6-97d1-39e74490e8f6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_authority'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fe9c5ad6-e450-42d6-97d1-39e74490e8f6", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fe9c5ad6-e450-42d6-97d1-39e74490e8f6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fe9c5ad6-e450-42d6-97d1-39e74490e8f6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02.json deleted file mode 100644 index 5f37344d1f7d8599cc319a1305f0ca0a3878b109..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0335de25-2291-4913-b046-d4167641e85b", - "type": "STRING", - "value": "The subject_name variable-length vector shall have a maximum length of 32 bytes." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "0335de25-2291-4913-b046-d4167641e85b", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/1ba8c2fa-4a07-4747-911d-bfffe0168100"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "0335de25-2291-4913-b046-d4167641e85b", - "type": "STRING", - "value": "02. Check AA certificate subject name" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0335de25-2291-4913-b046-d4167641e85b", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "0335de25-2291-4913-b046-d4167641e85b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02/TP_SEC_ITSS_SND_CERT_AA_02_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02/TP_SEC_ITSS_SND_CERT_AA_02_01_BV.json deleted file mode 100644 index 8d281a61e7d6346d908ff56161ef8d4fdcce60bb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_02/TP_SEC_ITSS_SND_CERT_AA_02_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ead53514-80e6-4aeb-8e3a-9a21852b295b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ead53514-80e6-4aeb-8e3a-9a21852b295b", - "type": "STRING", - "value": "Check that the AA certificsate subject_name variable-length vector contains 32 bytes maximum\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ead53514-80e6-4aeb-8e3a-9a21852b295b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining subject_info.subject_name\r\n\t\t\t\t\t\t\tindicating length <= 32 bytes" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ead53514-80e6-4aeb-8e3a-9a21852b295b", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ead53514-80e6-4aeb-8e3a-9a21852b295b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ead53514-80e6-4aeb-8e3a-9a21852b295b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03.json deleted file mode 100644 index bec7284a0558026929a3ca15e459de04a6b233be..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c60", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that the SignerInfo field is set to certificate_digest_with_ecdsa256" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c60", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/21450aa2-5444-4b7f-999a-4a385c833eec"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c60", - "type": "STRING", - "value": "03. Check that signer info of AA certificate is a digest" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c60", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "463b2a4d-4f6f-4d82-a44c-933479415c60" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03/TP_SEC_ITSS_SND_CERT_AA_03_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03/TP_SEC_ITSS_SND_CERT_AA_03_01_BV.json deleted file mode 100644 index 0ffe905bf2df336693dde5d6c26a7b6f72f72ebe..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_03/TP_SEC_ITSS_SND_CERT_AA_03_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "03c1aca5-e858-4ef4-9ece-f19653e0dfd6", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "03c1aca5-e858-4ef4-9ece-f19653e0dfd6", - "type": "STRING", - "value": "Check that signer_info type of AA certificates is set to 'certificate_digest_with_sha256'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "03c1aca5-e858-4ef4-9ece-f19653e0dfd6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "03c1aca5-e858-4ef4-9ece-f19653e0dfd6", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "03c1aca5-e858-4ef4-9ece-f19653e0dfd6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "03c1aca5-e858-4ef4-9ece-f19653e0dfd6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04.json deleted file mode 100644 index 6c10d4bf1ab84100d0202bb536b92aff3fa80bf5..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "42a52204-c135-462c-9560-e5119aa20e81", - "type": "STRING", - "value": "Void." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "42a52204-c135-462c-9560-e5119aa20e81", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/afc8e021-8c93-4ae6-8138-3020574e57b5"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "42a52204-c135-462c-9560-e5119aa20e81", - "type": "STRING", - "value": "04. Check that AA cert is signed by Root cert" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "42a52204-c135-462c-9560-e5119aa20e81", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "42a52204-c135-462c-9560-e5119aa20e81" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04/TP_SEC_ITSS_SND_CERT_AA_04_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04/TP_SEC_ITSS_SND_CERT_AA_04_01_BV.json deleted file mode 100644 index a192d0ccafff0d19dc437488e8e8f2d1775f46c2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_04/TP_SEC_ITSS_SND_CERT_AA_04_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "84222573-0574-4fd3-8a12-ba6453ee531f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "84222573-0574-4fd3-8a12-ba6453ee531f", - "type": "STRING", - "value": "Check that AA certificate is signed by Root CA or other authority\r\nNOTE: there is no clear specification that AA cert shall be signed by the Root CA only" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "84222573-0574-4fd3-8a12-ba6453ee531f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining signer_info\r\n\t\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\t\tindicating 'certificate_digest_with_ecdsap256'\r\n\t\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\t\treferencing to the trusted certificate\r\n\t\t\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\t\t\tindicating 'root_ca'\r\n\t\t\t\t\t\t\t\t\t\tor indicating 'authorisation_authority'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "84222573-0574-4fd3-8a12-ba6453ee531f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "84222573-0574-4fd3-8a12-ba6453ee531f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "84222573-0574-4fd3-8a12-ba6453ee531f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05.json deleted file mode 100644 index 399fe396fd6873bd66594b552e0ae0d5f2d199ac..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c70", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that the SubjectAttribute elements are included: verification_key, assurance_level, its_aid_list." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c70", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/a4690788-2d8b-4791-9464-0bb84527f54b", - "/Documents/ts_103097v010201p.xhtml/a0b07625-0f38-485c-af74-5a86d4a118a4", - "/Documents/ts_103097v010201p.xhtml/c9c4983f-ff2c-40f3-892c-638f7091bf6b", - "/Documents/ts_103097v010201p.xhtml/427fc514-9bc6-4e55-b69a-59058905f749" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c70", - "type": "STRING", - "value": "05. Check AA ceretificate subject attributes presence and order" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "463b2a4d-4f6f-4d82-a44c-933479415c70", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "463b2a4d-4f6f-4d82-a44c-933479415c70" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05/TP_SEC_ITSS_SND_CERT_AA_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05/TP_SEC_ITSS_SND_CERT_AA_05_01_BV.json deleted file mode 100644 index e8c8d6c30c225fca80a4e6da02c0af413557f7cc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_05/TP_SEC_ITSS_SND_CERT_AA_05_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7dfcd54b-588b-4790-a46d-0900eabe47a1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7dfcd54b-588b-4790-a46d-0900eabe47a1", - "type": "STRING", - "value": "Check that all necessary subject attributes are present and arranged in ascending order" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7dfcd54b-588b-4790-a46d-0900eabe47a1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining subject_attributes [0..N]\r\n\t\t\t\t\t\t\tindicating subject_attributes[n].type\r\n\t\t\t\t\t\t\t\t\t< subject_attributes[n+1].type\r\n\t\t\t\t\t\t\tand containing subject_attributes['verification_key']\r\n\t\t\t\t\t\t\tand containing subject_attributes['assurance_level']\r\n\t\t\t\t\t\t\tand containing subject_attributes['its_aid_list']\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7dfcd54b-588b-4790-a46d-0900eabe47a1", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7dfcd54b-588b-4790-a46d-0900eabe47a1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7dfcd54b-588b-4790-a46d-0900eabe47a1" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08.json deleted file mode 100644 index ea7e861bf207773676a2b609bdf15f5db9b88eb6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "54c370dc-b1c2-41ed-8a41-311db665d0d0", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that the AIDs in the its_aid_list are unique\r\nCheck that AID list contains not more than 31 item" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "54c370dc-b1c2-41ed-8a41-311db665d0d0", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/3dc0faba-b8b1-45d9-85b2-90decaf8fd0f", - "/Documents/Draft_ETSI_TS_103 097 v1.1.14.xhtml/d172260d-d741-49e2-bfed-55ed7d228ac7", - "/Documents/ts_103097v010201p.xhtml/2686d19e-3c38-4a81-8f4b-180e1fc24d8f" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "54c370dc-b1c2-41ed-8a41-311db665d0d0", - "type": "STRING", - "value": "08. Check ITS-AID list of AA certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "54c370dc-b1c2-41ed-8a41-311db665d0d0", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "54c370dc-b1c2-41ed-8a41-311db665d0d0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08/TP_SEC_ITSS_SND_CERT_AA_08_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08/TP_SEC_ITSS_SND_CERT_AA_08_01_BV.json deleted file mode 100644 index 33e494a5d0ea39a26a3f1da1f58e8a2ede4c7155..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_08/TP_SEC_ITSS_SND_CERT_AA_08_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "247e7969-b4a1-4df2-922f-7117342b116c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "247e7969-b4a1-4df2-922f-7117342b116c", - "type": "STRING", - "value": "Check that all AIDs containing in the its_aid_list in AA certificate are unique\r\nCheck that AID list contains not more than 31 items" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "247e7969-b4a1-4df2-922f-7117342b116c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining subject_attributes['its_aid_list']\r\n\t\t\t\t\t\t\tcontaining its_aid_list\r\n\t\t\t\t\t\t\t\tcontaining not more than 31 unique items" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "247e7969-b4a1-4df2-922f-7117342b116c", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "247e7969-b4a1-4df2-922f-7117342b116c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "247e7969-b4a1-4df2-922f-7117342b116c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10.json deleted file mode 100644 index b0b1c69192cdb35a5d49738e78acd50a8e335110..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f1c4ba19-d8e6-4147-9cef-96b41682068f", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/274ddbb0-bfb4-4073-8304-ddc326713b86", - "/Documents/ts_103097v010201p.xhtml/c3923a06-7523-4d02-b1e2-54db898f3d76", - "/Documents/ts_103097v010201p.xhtml/0b7623bc-9863-4be7-8cf0-a9ae6998d78e", - "/Documents/ts_103097v010201p.xhtml/6c2640ff-fb9f-40a1-8f28-844633fefa42", - "/Documents/ts_103097v010201p.xhtml/5e9ae933-303e-4fa9-8a48-436757e98ab9" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f1c4ba19-d8e6-4147-9cef-96b41682068f", - "type": "STRING", - "value": "10. Check AA certificate validity restriction presence and order" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f1c4ba19-d8e6-4147-9cef-96b41682068f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f1c4ba19-d8e6-4147-9cef-96b41682068f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10/TP_SEC_ITSS_SND_CERT_AA_10_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10/TP_SEC_ITSS_SND_CERT_AA_10_01_BV.json deleted file mode 100644 index a7b4e4eab4b722ef0fc2cd9a201dd59fe1838aa7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_10/TP_SEC_ITSS_SND_CERT_AA_10_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "babc8123-7854-4dae-a063-d6b923f31602", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "babc8123-7854-4dae-a063-d6b923f31602", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "babc8123-7854-4dae-a063-d6b923f31602", - "type": "STRING", - "value": "Check that all mandatory validity restrictions are present and arranged in ascending order" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "babc8123-7854-4dae-a063-d6b923f31602", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tand containing certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining validity_restrictions[0..N]\r\n\t\t\t\t\t\t\tindicating validity_restrictions[n].type\r\n\t\t\t\t\t\t\t\t\t< validity_restrictions[n+1].type\r\n\t\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tand not containing validity_restrictions['time_end']\r\n\t\t\t\t\t\t\tand not containing validity_restrictions['time_start_and_duration']\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "babc8123-7854-4dae-a063-d6b923f31602", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "babc8123-7854-4dae-a063-d6b923f31602", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "babc8123-7854-4dae-a063-d6b923f31602" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11.json deleted file mode 100644 index a8e29225ae85b910a5d1967c0f72847b00b3703b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "df4ea89e-7e56-438d-bcf7-ed736081bd0d", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that only the ValidityRestriction time_start_and_end is included" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "df4ea89e-7e56-438d-bcf7-ed736081bd0d", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e6b9cd9d-36fa-4a69-ae0f-76a4a07f269b"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "df4ea89e-7e56-438d-bcf7-ed736081bd0d", - "type": "STRING", - "value": "11. Check the AA certificate time_start_and_end validity restriction" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "df4ea89e-7e56-438d-bcf7-ed736081bd0d", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "df4ea89e-7e56-438d-bcf7-ed736081bd0d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV.json deleted file mode 100644 index 17ee22e44e21df044f4691ec2737ba2324f7c650..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578", - "type": "STRING", - "value": "Check that time_start_and_end is included in the AA certificate validation restrictions;\r\nCheck that end_validity is greater than start_validity;\r\nCheck that validity restriction of AA certificate is inside the validity restriction of its issuing certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate_chain'\r\n\t\t\t\tcontaining certificates\r\n\t\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\t\tcontaining validity_restrictions\r\n\t\t\t\t\t\t\tcontaining validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\tindicating START_VALIDITY_AA\r\n\t\t\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\t\t\tindicating END_VALIDITY_AA >=START_VALIDITY_AA\r\n\t\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\t\tcontaining digest\r\n\t\t\t\t\t\t\t\treferencing the trusted certificate\r\n\t\t\t\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value > END_VALIDITY_AA\r\n\t\t\t\t\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value <= START_VALIDITY_AA\r\n\t\t\t\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value > END_VALIDITY_AA\r\n\t\t\t\t\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\t\t\t\tindicating X_START_VALIDITY <= START_VALIDITY_AA\r\n\t\t\t\t\t\t\t\t\t\tand containing duration\r\n\t\t\t\t\t\t\t\t\t\t\tindicating value > END_VALIDITY_AA - X_START_VALIDITY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e49378a2-f1a9-4b49-ad2e-5fd1e8340578" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV/Comment 01.json deleted file mode 100644 index c96d6d080e1baee0c4de80355494d29a6b4c7fec..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AA/SEC_ITSS_SND_CERT_AA_11/TP_SEC_ITSS_SND_CERT_AA_11_01_BV/Comment 01.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "59c721e6-ed71-40e4-b4b0-391b0fb8d1fc", - "type": "STRING", - "value": "Denis" - }, - "_index": { - "isGenerated": false, - "key": "_index", - "origin": "59c721e6-ed71-40e4-b4b0-391b0fb8d1fc", - "type": "STRING", - "value": "1" - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "59c721e6-ed71-40e4-b4b0-391b0fb8d1fc", - "type": "STRING", - "value": "Ex: TP_SEC_ITSS_SND_CERT_AA_06_01_BV" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "59c721e6-ed71-40e4-b4b0-391b0fb8d1fc", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "59c721e6-ed71-40e4-b4b0-391b0fb8d1fc" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT.json deleted file mode 100644 index e55a445294e4c3a596bc1ccc5ba1be783acd29c4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "cac9d222-715e-4387-997c-b16d626da1bd", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/b2391447-465b-4447-aa98-bad8ca9aa5cb"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "cac9d222-715e-4387-997c-b16d626da1bd", - "type": "STRING", - "value": "AT certificate profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cac9d222-715e-4387-997c-b16d626da1bd", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "cac9d222-715e-4387-997c-b16d626da1bd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01.json deleted file mode 100644 index fa0e83ad8ba7b2936b13f8f626d19518df12cded..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0be535c7-1e1c-4526-a028-d747fe92b451", - "type": "STRING", - "value": "If ITS-S sends an AT certificate check that the subject_type is set to 'authorization_ticket' (1)" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "0be535c7-1e1c-4526-a028-d747fe92b451", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/1d5a3fa4-b7ea-4b56-9ff7-2f1b08592a0a"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "0be535c7-1e1c-4526-a028-d747fe92b451", - "type": "STRING", - "value": "01. Check AT certificate subject type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0be535c7-1e1c-4526-a028-d747fe92b451", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "0be535c7-1e1c-4526-a028-d747fe92b451" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01/TP_SEC_ITSS_SND_CERT_AT_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01/TP_SEC_ITSS_SND_CERT_AT_01_01_BV.json deleted file mode 100644 index f7422d2df60462202126732ed7e9d8ca02697d50..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_01/TP_SEC_ITSS_SND_CERT_AT_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "09061741-2bf6-48bf-95f7-517be1f6d5e4", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "09061741-2bf6-48bf-95f7-517be1f6d5e4", - "type": "STRING", - "value": "Check that the subject_type of the AT certificate is set to 'authorization_ticket'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "09061741-2bf6-48bf-95f7-517be1f6d5e4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_ticket'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "09061741-2bf6-48bf-95f7-517be1f6d5e4", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "09061741-2bf6-48bf-95f7-517be1f6d5e4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "09061741-2bf6-48bf-95f7-517be1f6d5e4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02.json deleted file mode 100644 index 8736ee854262ab75c30132826989c5a8a6fc207e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8a72a3c8-625f-4d64-a60c-a31bb4d07934", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/e9618613-82ad-42fa-88b3-2f6924c0165c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "8a72a3c8-625f-4d64-a60c-a31bb4d07934", - "type": "STRING", - "value": "02. Check AT certificate subject name" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8a72a3c8-625f-4d64-a60c-a31bb4d07934", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8a72a3c8-625f-4d64-a60c-a31bb4d07934" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02/TP_SEC_ITSS_SND_CERT_AT_02_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02/TP_SEC_ITSS_SND_CERT_AT_02_01_BV.json deleted file mode 100644 index a72f87a565b12820ce937af14733dbf677f12214..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_02/TP_SEC_ITSS_SND_CERT_AT_02_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "475f7e09-11b4-4a2e-8ef0-afcce3c451cd", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "475f7e09-11b4-4a2e-8ef0-afcce3c451cd", - "type": "STRING", - "value": "Check that the subject_name variable-length vector is empty for AT certificates\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "475f7e09-11b4-4a2e-8ef0-afcce3c451cd", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate\r\n\t\t\t\t\tcontaining subject_info.subject_name\r\n\t\t\t\t\t\tindicating length = 0" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "475f7e09-11b4-4a2e-8ef0-afcce3c451cd", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "475f7e09-11b4-4a2e-8ef0-afcce3c451cd", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "475f7e09-11b4-4a2e-8ef0-afcce3c451cd" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03.json deleted file mode 100644 index 8f3afd685bd3db005cf57f7f9b8deaaa890fe493..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c74d80c4-958c-4662-8b0f-1b9117336727", - "type": "STRING", - "value": "If ITS-S sends an AA certificate check that the SignerInfo field is set to certificate_digest_with_ecdsa256" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c74d80c4-958c-4662-8b0f-1b9117336727", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/076915cc-c9b3-460d-8ba4-388037396737"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "c74d80c4-958c-4662-8b0f-1b9117336727", - "type": "STRING", - "value": "03. Check that signer info of AT certificate is a digest" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c74d80c4-958c-4662-8b0f-1b9117336727", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c74d80c4-958c-4662-8b0f-1b9117336727" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03/TP_SEC_ITSS_SND_CERT_AT_03_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03/TP_SEC_ITSS_SND_CERT_AT_03_01_BV.json deleted file mode 100644 index f304f054c7fba8cec04c4d0ee199053afa9e7bb0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_03/TP_SEC_ITSS_SND_CERT_AT_03_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "4a8614a5-b969-452c-8be1-0c36a0c835d5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4a8614a5-b969-452c-8be1-0c36a0c835d5", - "type": "STRING", - "value": "Check that signer_info type of AT certificates is set to 'certificate_digest_with_sha256'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "4a8614a5-b969-452c-8be1-0c36a0c835d5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tand containing certificate\r\n\t\t\t\t\tcontaining signer_info.\r\n\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "4a8614a5-b969-452c-8be1-0c36a0c835d5", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4a8614a5-b969-452c-8be1-0c36a0c835d5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4a8614a5-b969-452c-8be1-0c36a0c835d5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04.json deleted file mode 100644 index 7e2a98e3a70147a6fbcf2b71e1e7c15b7654c6a0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "e349392d-7206-47db-8cb9-156ed5a4a968", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/e2949dcb-7e0a-4104-92df-2c29945c7486", - "/Documents/ts_103097v010201p.xhtml/c9c4983f-ff2c-40f3-892c-638f7091bf6b" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "e349392d-7206-47db-8cb9-156ed5a4a968", - "type": "STRING", - "value": "04. Check AT ceretificate subject attributes presence and order" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e349392d-7206-47db-8cb9-156ed5a4a968", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "e349392d-7206-47db-8cb9-156ed5a4a968" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04/TP_SEC_ITSS_SND_CERT_AT_04_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04/TP_SEC_ITSS_SND_CERT_AT_04_01_BV.json deleted file mode 100644 index 419f1e70d870d942e50fb76ce444fe98aebc0d84..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_04/TP_SEC_ITSS_SND_CERT_AT_04_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "278c3786-ffee-4c45-a7dd-b0fd547650ed", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "278c3786-ffee-4c45-a7dd-b0fd547650ed", - "type": "STRING", - "value": "Check that subject attributes are present and arranged in ascending order" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "278c3786-ffee-4c45-a7dd-b0fd547650ed", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining subject_attributes [0..N]\r\n\t\t\t\t\t\tindicating subject_attributes[n].type\r\n\t\t\t\t\t\t\t\t\t< subject_attributes[n+1].type\r\n\t\t\t\t\t\tcontaining subject_attributes['verification_key']\r\n\t\t\t\t\t\tcontaining subject_attributes['assurance_level']\r\n\t\t\t\t\t\tcontaining subject_attributes['its_aid_ssp_list']\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "278c3786-ffee-4c45-a7dd-b0fd547650ed", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "278c3786-ffee-4c45-a7dd-b0fd547650ed", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "278c3786-ffee-4c45-a7dd-b0fd547650ed" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05.json deleted file mode 100644 index 2a22cc06c2188453def606717f228aadfbc680a0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "ba411f15-e584-4189-8aa1-9c725ba7706f", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/36a05750-9fac-494a-adcc-c36a9b0b39c1"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ba411f15-e584-4189-8aa1-9c725ba7706f", - "type": "STRING", - "value": "05. Check presence of time_start_and_end validity restriction" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ba411f15-e584-4189-8aa1-9c725ba7706f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "ba411f15-e584-4189-8aa1-9c725ba7706f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05/TP_SEC_ITSS_SND_CERT_AT_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05/TP_SEC_ITSS_SND_CERT_AT_05_01_BV.json deleted file mode 100644 index f38b42b15cf98583248e08fcdd31d444019e0830..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_05/TP_SEC_ITSS_SND_CERT_AT_05_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "601932b9-103d-436f-92ba-51fa3a849a71", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "601932b9-103d-436f-92ba-51fa3a849a71", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "601932b9-103d-436f-92ba-51fa3a849a71", - "type": "STRING", - "value": "Check that time_start_and_end is included in the AT certificate validation restrictions;\r\nCheck that time_start_and_end is inside the AA certificate time restrictions\r\nCheck that validity restriction of AT certificate is inside the validity restriction of its issuing certificate" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "601932b9-103d-436f-92ba-51fa3a849a71", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating certificate_chain\r\n\t\t\t\tcontaining certificates[last]\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t \tnot containing validity_restrictions['time_end']\r\n\t\t\t\t \tand not containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating START_VALIDITY_AT\r\n\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\tindicating END_VALIDITY_AT\r\n\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\tcontaining end_validity\r\n\t\t\t\t\t\t\tindicating value > END_VALIDITY_AT\r\n\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating value <= START_VALIDITY_AT\r\n\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\tindicating value > END_VALIDITY_AT\r\n\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\tindicating X_START_VALIDITY <= START_VALIDITY_AT\r\n\t\t\t\t\t\tand containing duration\r\n\t\t\t\t\t\t\tindicating value > END_VALIDITY_AT - X_START_VALIDITY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "601932b9-103d-436f-92ba-51fa3a849a71", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "601932b9-103d-436f-92ba-51fa3a849a71", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "601932b9-103d-436f-92ba-51fa3a849a71" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07.json deleted file mode 100644 index 5fe7c8545e35eae2c2184779db37b8d89058a48c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9f315bf6-17ca-4adb-ba5b-5310ab36bf5e", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/8a319e13-50a8-4e29-a775-30d3853d05f0", - "/Documents/ts_103097v010201p.xhtml/3a85743b-2d03-42a9-844a-56a299b12f74" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9f315bf6-17ca-4adb-ba5b-5310ab36bf5e", - "type": "STRING", - "value": "07. Check ITS-AID-SSP" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9f315bf6-17ca-4adb-ba5b-5310ab36bf5e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "9f315bf6-17ca-4adb-ba5b-5310ab36bf5e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07/TP_SEC_ITSS_SND_CERT_AT_07_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07/TP_SEC_ITSS_SND_CERT_AT_07_01_BV.json deleted file mode 100644 index c95d39ddf048a3c3f46959cd1e2f01f971a5b347..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_07/TP_SEC_ITSS_SND_CERT_AT_07_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "9927d09f-0ec3-4122-a856-db5e7bf477a8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9927d09f-0ec3-4122-a856-db5e7bf477a8", - "type": "STRING", - "value": "Check that all AIDs containing in the its_aid_ssp_list in AT certificate are unique;\r\nCheck that all AIDs containing in the its_aid_ssp_list in AT certificate are also containing in the its_aid_list in the correspondent AA certificate;\r\nCheck that the length of SSP of each AID is 31 octets maximum" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "9927d09f-0ec3-4122-a856-db5e7bf477a8", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating certificate_chain\r\n\t\t\t\tcontaining certificates[last-1]\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_authority'\r\n\t\t\t\t\tand containing subject_attributes['its_aid_list']\r\n\t\t\t\t\t\tcontaining its_aid_list[0..N]\r\n\t\t\t\t\t\t\tindicating ITS_AID_LIST_AA\r\n\t\t\t\tand containing certificates[last]\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\tand containing subject_attributes['its_aid_ssp_list']\r\n\t\t\t\t\t\tcontaining its_aid_ssp_list[0..N]\r\n\t\t\t\t\t\t\tcontaining its_aid_ssp_list[n]\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating unique value containing in the ITS_AID_LIST_AA\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tindicating length <= 31 octet\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "9927d09f-0ec3-4122-a856-db5e7bf477a8", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9927d09f-0ec3-4122-a856-db5e7bf477a8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "9927d09f-0ec3-4122-a856-db5e7bf477a8" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08.json deleted file mode 100644 index 63ef23191faf2fbd7ffaaf4b4bdbb0703ef0f644..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2043f4ae-1aca-4084-a10a-057ed0bfa620", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/0e9485da-3aa9-4762-aad1-c706a9468cba"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2043f4ae-1aca-4084-a10a-057ed0bfa620", - "type": "STRING", - "value": "08. Check that AT certificate is signed by AA cert" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2043f4ae-1aca-4084-a10a-057ed0bfa620", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "2043f4ae-1aca-4084-a10a-057ed0bfa620", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "2043f4ae-1aca-4084-a10a-057ed0bfa620" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08/TP_SEC_ITSS_SND_CERT_AT_08_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08/TP_SEC_ITSS_SND_CERT_AT_08_01_BV.json deleted file mode 100644 index 8b1454e876d34256c21d9afd1b2c405e7152efc4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_08/TP_SEC_ITSS_SND_CERT_AT_08_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "36af1ef7-6e5f-470d-9942-6c11c753d38f", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "36af1ef7-6e5f-470d-9942-6c11c753d38f", - "type": "STRING", - "value": "Check that AT certificate is signed by AA cert" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "36af1ef7-6e5f-470d-9942-6c11c753d38f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate chain in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating certificate_chain\r\n\t\t\t\tcontaining certificates[last-1] (CERT_AA)\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_authority'\r\n\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\t\tcontaining certificates[last]\r\n\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\tindicating 'authorization_ticket'\r\n\t\t\t\t\tand containing signer_info\r\n\t\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\t\tindicating 'certificate_digest_with_ecdsap256'\r\n\t\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\t\treferencing to CERT_AA\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "36af1ef7-6e5f-470d-9942-6c11c753d38f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "36af1ef7-6e5f-470d-9942-6c11c753d38f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "36af1ef7-6e5f-470d-9942-6c11c753d38f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10.json deleted file mode 100644 index a4edb82f833fdfbe75d975071fc63c4ad2014029..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "e764bb01-436d-4e46-a5c1-4c4af7eaf928", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/274ddbb0-bfb4-4073-8304-ddc326713b86"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "e764bb01-436d-4e46-a5c1-4c4af7eaf928", - "type": "STRING", - "value": "10. Check validity restriction presence and order" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e764bb01-436d-4e46-a5c1-4c4af7eaf928", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "e764bb01-436d-4e46-a5c1-4c4af7eaf928" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10/TP_SEC_ITSS_SND_CERT_AT_10_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10/TP_SEC_ITSS_SND_CERT_AT_10_01_BV.json deleted file mode 100644 index 4947683a05824a2f18ed8b628505d140ae341f6e..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_CERT/SEC_ITSS_SND_CERT_AT/SEC_ITSS_SND_CERT_AT_10/TP_SEC_ITSS_SND_CERT_AT_10_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "0bb41774-e655-466b-8a00-e5dbe66d3234", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0bb41774-e655-466b-8a00-e5dbe66d3234", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0bb41774-e655-466b-8a00-e5dbe66d3234", - "type": "STRING", - "value": "Check that all necessary validity restrictions are present and arranged in ascending order" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0bb41774-e655-466b-8a00-e5dbe66d3234", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info'].signer\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\tcontaining certificate\r\n\t\t\t\t\tcontaining validity_restrictions\r\n\t\t\t\t\t\tindicating validity_restrictions[n].type < validity_restrictions[n+1].type\r\n\t\t\t\t\t\tand containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\tand not containing validity_restrictions['time_end']\r\n\t\t\t\t\t\tand not containing validity_restrictions['time_start_and_duration']\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0bb41774-e655-466b-8a00-e5dbe66d3234", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0bb41774-e655-466b-8a00-e5dbe66d3234", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0bb41774-e655-466b-8a00-e5dbe66d3234" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM.json deleted file mode 100644 index 65333a9528c43bc5cdbfa3bc427fdb34bbd9be57..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7e5d7a93-ec6c-420b-ae88-77f9a270f370", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/fd2e4af3-d17f-4622-a387-1c5bdbc338c2"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7e5d7a93-ec6c-420b-ae88-77f9a270f370", - "type": "STRING", - "value": "DENM profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7e5d7a93-ec6c-420b-ae88-77f9a270f370", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7e5d7a93-ec6c-420b-ae88-77f9a270f370" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01.json deleted file mode 100644 index 16562b0bf6ca776995ed283e568c6abe850cdf21..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a42d5137-7f0e-4aca-a2eb-b058091c8bc5", - "type": "STRING", - "value": "Check that the sent Secured DENM contains a HeaderField its_aid that is set to 'AID_DENM' (16513)" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a42d5137-7f0e-4aca-a2eb-b058091c8bc5", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/43a47e59-9bb0-46ab-bcb3-2f373b450e48", - "/Documents/ts_103097v010201p.xhtml/49abf17c-f239-46b9-ad89-ac52a283c52c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a42d5137-7f0e-4aca-a2eb-b058091c8bc5", - "type": "STRING", - "value": "01. Check secured DENM its_aid value" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a42d5137-7f0e-4aca-a2eb-b058091c8bc5", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a42d5137-7f0e-4aca-a2eb-b058091c8bc5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01/TP_SEC_ITSS_SND_DENM_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01/TP_SEC_ITSS_SND_DENM_01_01_BV.json deleted file mode 100644 index abffebc18b85916e498c2b3ff0c961dab66364d6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_01/TP_SEC_ITSS_SND_DENM_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "88b8e656-43d0-48dd-a93f-f613e65baf06", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "88b8e656-43d0-48dd-a93f-f613e65baf06", - "type": "STRING", - "value": "Check that the sent Secured DENM contains a HeaderField its_aid that is set to 'AID_DENM'" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "88b8e656-43d0-48dd-a93f-f613e65baf06", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['its_aid']\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_DENM'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "88b8e656-43d0-48dd-a93f-f613e65baf06", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "88b8e656-43d0-48dd-a93f-f613e65baf06", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "88b8e656-43d0-48dd-a93f-f613e65baf06" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02.json deleted file mode 100644 index 1528ae0c09ddd662cb3e4125849e126c4a65bf97..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5eab481b-0ca4-4063-b3ab-e85b6133eaee", - "type": "STRING", - "value": "If ITS-S sends a secured DENM check that the sent SecuredMessage contains exactly one element of the header fields: signer_info, generation_time, generation_location, its_aid." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "5eab481b-0ca4-4063-b3ab-e85b6133eaee", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/322e2d54-6950-4e35-856e-87281b4b3aa6", - "/Documents/ts_103097v010201p.xhtml/6694e8a1-e064-4703-a0d5-c44221f8cfb4", - "/Documents/ts_103097v010201p.xhtml/534d09ee-ceec-41bf-bbb4-3f9c7825da92", - "/Documents/ts_103097v010201p.xhtml/cdc87f4d-d678-4dab-83bf-eff2d82483d8" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5eab481b-0ca4-4063-b3ab-e85b6133eaee", - "type": "STRING", - "value": "02. Check header fields" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5eab481b-0ca4-4063-b3ab-e85b6133eaee", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "5eab481b-0ca4-4063-b3ab-e85b6133eaee" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02/TP_SEC_ITSS_SND_DENM_02_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02/TP_SEC_ITSS_SND_DENM_02_01_BV.json deleted file mode 100644 index 4441a665af01f00de6d957079dbbc3365fb8300d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_02/TP_SEC_ITSS_SND_DENM_02_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "ef85edd1-77a7-46e1-9045-5392cd2abeb6", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ef85edd1-77a7-46e1-9045-5392cd2abeb6", - "type": "STRING", - "value": "Check that the secured DENM contains exactly one element of these header fields: signer_info, generation_time, generation_location, message_type;\r\nCheck that the header fields are in the ascending order according to the numbering of the enumeration except of the signer_info, which is encoded first;\r\nCheck that generation_time_with_confidence (generation_time_standard_deviation) is not used" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "ef85edd1-77a7-46e1-9045-5392cd2abeb6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields[0]\r\n\t\t\t\tcontaining type \r\n\t\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields [n].type\r\n\t\t\t\tindicating value less than header_fields [n+1].type\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\tand containing header_fields ['its_aid']\r\n\t\t\tand not containing header_fields ['generation_time_with_confidence']" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "ef85edd1-77a7-46e1-9045-5392cd2abeb6", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ef85edd1-77a7-46e1-9045-5392cd2abeb6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ef85edd1-77a7-46e1-9045-5392cd2abeb6" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03.json deleted file mode 100644 index 7fa35efa7f343b793236a9acf4be34b0b78df3d2..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9355a664-df22-474a-b29f-0aa1452311f4", - "type": "STRING", - "value": "If ITS-S sends a secured DENM check that the sent SecuredMessage contains exactly one signer_info field of type certificate" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "9355a664-df22-474a-b29f-0aa1452311f4", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/6e73abdf-644e-40f0-ac1c-9b8dccb30af0"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "9355a664-df22-474a-b29f-0aa1452311f4", - "type": "STRING", - "value": "03. Check that signer info is a certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9355a664-df22-474a-b29f-0aa1452311f4", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "9355a664-df22-474a-b29f-0aa1452311f4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03/TP_SEC_ITSS_SND_DENM_03_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03/TP_SEC_ITSS_SND_DENM_03_01_BV.json deleted file mode 100644 index b040f1df90e30e547f7893a1d2769122003e43c8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_03/TP_SEC_ITSS_SND_DENM_03_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "383277ac-5325-4ead-a830-6323abb35cb7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "383277ac-5325-4ead-a830-6323abb35cb7", - "type": "STRING", - "value": "Check that secured DENM contains the certificate as a signer_info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "383277ac-5325-4ead-a830-6323abb35cb7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "383277ac-5325-4ead-a830-6323abb35cb7", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "383277ac-5325-4ead-a830-6323abb35cb7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "383277ac-5325-4ead-a830-6323abb35cb7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04.json deleted file mode 100644 index c3168e5278cfb1f82e593cfaa04f247c31ab37f6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5415f6e1-2985-4815-aeb4-d68f2376eb87", - "type": "STRING", - "value": "If ITS-S sends a secured DENM check that the sent SecuredMessage contains exactly one HeaderField generation_time which is inside the validity time of the certificate referenced by the signer_info." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "5415f6e1-2985-4815-aeb4-d68f2376eb87", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df", - "/Documents/ts_103097v010201p.xhtml/d6ce51f8-7d7e-46fd-b53a-b4c920152e62", - "/Documents/ts_103097v010201p.xhtml/b6e04816-8080-4afe-bf78-8aa8aa77f430" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5415f6e1-2985-4815-aeb4-d68f2376eb87", - "type": "STRING", - "value": "04. Check generation time" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5415f6e1-2985-4815-aeb4-d68f2376eb87", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "5415f6e1-2985-4815-aeb4-d68f2376eb87" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04/TP_SEC_ITSS_SND_DENM_04_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04/TP_SEC_ITSS_SND_DENM_04_01_BV.json deleted file mode 100644 index c251d2cee4402be28312d187479162b55b2f3268..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_04/TP_SEC_ITSS_SND_DENM_04_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d", - "type": "STRING", - "value": "Check that Secured DENM generation time is inside the validity period of the signing certificate;\r\nCheck that generation time value is realistic" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME (CUR_TIME - 10min <= GEN_TIME < CUR_TIME + 10min)\r\n\t\t\tcontaining header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME\r\n\t\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating value <= GEN_TIME\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME\r\n\t\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\t\tcontaining start_validity (X_START_VALIDITY)\r\n\t\t\t\t\t\t\t\tindicating value <= GEN_TIME\r\n\t\t\t\t\t\t\tand containing duration\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME - X_START_VALIDITY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "7c3afee1-84c6-48c1-8e76-0d4bc09d2d9d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05.json deleted file mode 100644 index eda164881faef8f1bde1c547e3383aa6f985e8a1..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "b94b2f9b-5f46-494f-82eb-e802b671974d", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b94b2f9b-5f46-494f-82eb-e802b671974d", - "type": "STRING", - "value": "If ITS-S sends a secured DENM check that the sent SecuredMessage contains exactly one HeaderField generation_location which is conformed to validity restriction of the certificate pointed by the signer_info field.\nStation shall not send messages if it's location is outside of the location restrictions in the AT cert. Different types of region restriction can tested.\n" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b94b2f9b-5f46-494f-82eb-e802b671974d", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/24846e25-0161-4426-9e87-27ac10525fa0", - "/Documents/ts_103097v010201p.xhtml/eadacd7d-8386-4c76-8f38-0be53ce96210" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "b94b2f9b-5f46-494f-82eb-e802b671974d", - "type": "STRING", - "value": "05. Check generation location" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b94b2f9b-5f46-494f-82eb-e802b671974d", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b94b2f9b-5f46-494f-82eb-e802b671974d" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_01_BV.json deleted file mode 100644 index 232785c6e0119f25a2577310e620e10e62fea3b9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "f7726c1c-b8c3-415c-93c3-dcb657af34bb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f7726c1c-b8c3-415c-93c3-dcb657af34bb", - "type": "STRING", - "value": "Check that the secured DENM contains exactly one HeaderField generation_location when AT certificate does not contain any region restrictions\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "f7726c1c-b8c3-415c-93c3-dcb657af34bb", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_IUT_A_AT)\r\n\t\tnot containing validity_restrictions['region']\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage \r\n\t\t\tcontaining exactly one header_field ['generation_location']\r\n\t\t\t\tcontaining generation_location" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "f7726c1c-b8c3-415c-93c3-dcb657af34bb", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f7726c1c-b8c3-415c-93c3-dcb657af34bb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f7726c1c-b8c3-415c-93c3-dcb657af34bb" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_02_BV.json deleted file mode 100644 index 9156c8cd63edb1c336620b153ae8fffe69c9f02c..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_CIRCULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_CIRCULAR_REGION", - "origin": "51547a62-2c91-4ca7-abbd-76e8acad57a3", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "51547a62-2c91-4ca7-abbd-76e8acad57a3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "51547a62-2c91-4ca7-abbd-76e8acad57a3", - "type": "STRING", - "value": "Check that the secured DENM contains exactly one HeaderField generation_location which is inside the circular region defined by the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "51547a62-2c91-4ca7-abbd-76e8acad57a3", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_IUT_B_AT)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'circle'\r\n\t\t\t\tcontaining circular_region\r\n\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_field ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "51547a62-2c91-4ca7-abbd-76e8acad57a3", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "51547a62-2c91-4ca7-abbd-76e8acad57a3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "51547a62-2c91-4ca7-abbd-76e8acad57a3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_03_BV.json deleted file mode 100644 index 247b16df0b4c67a4b8ad719ddfb14585052a2fcb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_03_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_RECTANGULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_RECTANGULAR_REGION", - "origin": "a9482e81-9cbd-4c5e-868d-adca01d57eea", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a9482e81-9cbd-4c5e-868d-adca01d57eea", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a9482e81-9cbd-4c5e-868d-adca01d57eea", - "type": "STRING", - "value": "Check that the secured DENM contains exactly one HeaderField generation_location which is inside the rectangular region defined by the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a9482e81-9cbd-4c5e-868d-adca01d57eea", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_IUT_C_AT)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\tcontaining rectangular_region\r\n\t\t\t\t\tcontaining instance of RectangularRegion\r\n\t\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_field ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a9482e81-9cbd-4c5e-868d-adca01d57eea", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a9482e81-9cbd-4c5e-868d-adca01d57eea", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a9482e81-9cbd-4c5e-868d-adca01d57eea" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_04_BV.json deleted file mode 100644 index 59ed8a79e154a497405787d09731531d0aceafeb..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_04_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_POLYGONAL_REGION": { - "isGenerated": false, - "key": "PICS_USE_POLYGONAL_REGION", - "origin": "b38c353e-d6b3-4738-994d-3e2acb620357", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b38c353e-d6b3-4738-994d-3e2acb620357", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b38c353e-d6b3-4738-994d-3e2acb620357", - "type": "STRING", - "value": "Check that the secured DENM contains exactly one HeaderField generation_location which is inside the polygonal region defined by the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b38c353e-d6b3-4738-994d-3e2acb620357", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_IUT_D_AT)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\tcontaining polygonal_region\r\n\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_field ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION\t\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b38c353e-d6b3-4738-994d-3e2acb620357", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b38c353e-d6b3-4738-994d-3e2acb620357", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b38c353e-d6b3-4738-994d-3e2acb620357" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_05_BV.json deleted file mode 100644 index 335aac09084a421595cfd3cddef9c229ea7425a7..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_05_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "203ac249-5e12-43fa-9655-24a84ef03629", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "203ac249-5e12-43fa-9655-24a84ef03629", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "203ac249-5e12-43fa-9655-24a84ef03629", - "type": "STRING", - "value": "Check that the secured DENM contains exactly one HeaderField generation_location which is inside the identified region defined by the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "203ac249-5e12-43fa-9655-24a84ef03629", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_IUT_E_AT)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\tcontaining identified_region\r\n\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields\r\n\t\t\t\tcontaining exactly one instance of HeaderField\r\n\t\t\t\t\tcontaining type \r\n\t\t\t\t\t\tindicating 'generation_location'\r\n\t\t\t\t\tcontaining generation_location\r\n\t\t\t\t\t\tindicating value inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "203ac249-5e12-43fa-9655-24a84ef03629", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "203ac249-5e12-43fa-9655-24a84ef03629", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "203ac249-5e12-43fa-9655-24a84ef03629" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_06_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_06_BV.json deleted file mode 100644 index 59ab2d4aec59c91045f76a59492d6900e6718db6..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_05/TP_SEC_ITSS_SND_DENM_05_06_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "d1828648-5927-4774-a8d0-939ebb26a6e7", - "type": "STRING", - "value": "false" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "d1828648-5927-4774-a8d0-939ebb26a6e7", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d1828648-5927-4774-a8d0-939ebb26a6e7", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location and this location is inside the certificate validation restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "d1828648-5927-4774-a8d0-939ebb26a6e7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signed_info'].certificate\r\n\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\tcontaining region.region_type\r\n\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\tcontaining region.circular_region\r\n\t\t\t\t\t\tindicating REGION\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\tcontaining region.rectangular_region\r\n\t\t\t\t\t\tcontaining array of rectangles\r\n\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'polygonal'\r\n\t\t\t\t\tcontaining region.polygonal_region\r\n\t\t\t\t\t\tindicating REGION\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\t\tcontaining region.circular_region\r\n\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing exactly one header_field ['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating location inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "d1828648-5927-4774-a8d0-939ebb26a6e7", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d1828648-5927-4774-a8d0-939ebb26a6e7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d1828648-5927-4774-a8d0-939ebb26a6e7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08.json deleted file mode 100644 index c3001dbece4d1f4370002d080cdc6664adab1c5b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6fa3fcb0-4edd-427a-9881-a8815f3f398e", - "type": "STRING", - "value": "If ITS-S sends a secured DENM check that the sent SecuredMessage contains not-empty Payload element of type signed." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6fa3fcb0-4edd-427a-9881-a8815f3f398e", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/61b388f4-8bad-4b8a-9684-eae475708a7a", - "/Documents/ts_103097v010201p.xhtml/25a3bac6-9684-45fa-8d7f-410041a80dbb" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6fa3fcb0-4edd-427a-9881-a8815f3f398e", - "type": "STRING", - "value": "08. Check Payload" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6fa3fcb0-4edd-427a-9881-a8815f3f398e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6fa3fcb0-4edd-427a-9881-a8815f3f398e" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08/TP_SEC_ITSS_SND_DENM_08_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08/TP_SEC_ITSS_SND_DENM_08_01_BV.json deleted file mode 100644 index 8dbf72e5c655cc811868cce59a4a75d17ec459b8..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_08/TP_SEC_ITSS_SND_DENM_08_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b11462b8-676f-49d2-abad-bb7dc49fe8af", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b11462b8-676f-49d2-abad-bb7dc49fe8af", - "type": "STRING", - "value": "Check that the Secured DENM contains non-empty payload of type signed" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b11462b8-676f-49d2-abad-bb7dc49fe8af", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed'\r\n\t\t\t\tand containing not-empty data" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b11462b8-676f-49d2-abad-bb7dc49fe8af", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b11462b8-676f-49d2-abad-bb7dc49fe8af", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b11462b8-676f-49d2-abad-bb7dc49fe8af" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09.json deleted file mode 100644 index 28b8fe98e5205cf4d829d93e38319256b5e87621..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "64b6651e-2b4c-4bf4-8587-0143ee5f2e63", - "type": "STRING", - "value": "Void." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "64b6651e-2b4c-4bf4-8587-0143ee5f2e63", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/c1d9965d-8c11-4b5b-af2b-42bba5482fd7"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "64b6651e-2b4c-4bf4-8587-0143ee5f2e63", - "type": "STRING", - "value": "09. Check trailer field presence" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "64b6651e-2b4c-4bf4-8587-0143ee5f2e63", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "64b6651e-2b4c-4bf4-8587-0143ee5f2e63" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09/TP_SEC_ITSS_SND_DENM_09_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09/TP_SEC_ITSS_SND_DENM_09_01_BV.json deleted file mode 100644 index f2823c5b62b972191a062c18eb07397b54840663..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_09/TP_SEC_ITSS_SND_DENM_09_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c54d019f-af48-40f0-9e0b-58b426208c64", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c54d019f-af48-40f0-9e0b-58b426208c64", - "type": "STRING", - "value": "Check that the secured DENM contains only the trailer field of type signature and no other trailer fields" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c54d019f-af48-40f0-9e0b-58b426208c64", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining trailer_fields\r\n\t\t\t\tcontaining trailer_fields[0]\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\tand not containing other items\r\n" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c54d019f-af48-40f0-9e0b-58b426208c64", - "type": "STRING", - "value": "in process" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c54d019f-af48-40f0-9e0b-58b426208c64", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c54d019f-af48-40f0-9e0b-58b426208c64" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10.json deleted file mode 100644 index bb0b75a093bb0339aa39ea50c34a868b534a02a9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "968a806e-de36-42ec-bbdc-69f0a9405a79", - "type": "STRING", - "value": "If ITS-S sends a secured DENM check that the sent SecuredMessage contains the signature which can be verified using the sertificate pointed by the signer_info field." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "968a806e-de36-42ec-bbdc-69f0a9405a79", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/351c77d8-92de-4bb3-991e-a3b814285a8c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "968a806e-de36-42ec-bbdc-69f0a9405a79", - "type": "STRING", - "value": "10. Check signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "968a806e-de36-42ec-bbdc-69f0a9405a79", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "968a806e-de36-42ec-bbdc-69f0a9405a79" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10/TP_SEC_ITSS_SND_DENM_10_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10/TP_SEC_ITSS_SND_DENM_10_01_BV.json deleted file mode 100644 index f1fc123da226511ba72dbf658ee6aacbbf211e88..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_DENM/SEC_ITSS_SND_DENM_10/TP_SEC_ITSS_SND_DENM_10_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "dbac30a8-e850-46f2-b225-9c8718c90a2a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dbac30a8-e850-46f2-b225-9c8718c90a2a", - "type": "STRING", - "value": "Check that the secured DENM contains only one TrailerField of type signature;\r\nCheck that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "dbac30a8-e850-46f2-b225-9c8718c90a2a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send DENM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_field ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket' (2)\r\n\t\t\t\t\t\tand containing subject_attributes['verification key'] (KEY)\r\n\t\t\tand containing trailer_fields\r\n\t\t\t\tcontaining single instance of type TrailerField\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'signature'\r\n\t\t\t\t\tand containing signature\r\n\t\t\t\t\t\tverifiable using KEY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "dbac30a8-e850-46f2-b225-9c8718c90a2a", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dbac30a8-e850-46f2-b225-9c8718c90a2a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "dbac30a8-e850-46f2-b225-9c8718c90a2a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG.json deleted file mode 100644 index f70c5fdd204ac11b59280575b6fe52ce762af0fd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "PICS_ITS_AID_OTHER_PROFILE": { - "isGenerated": false, - "key": "PICS_ITS_AID_OTHER_PROFILE", - "origin": "bd8fcd9c-a8d3-4b53-8417-a9eebb8c78cf", - "type": "STRING", - "value": "non-zero" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "bd8fcd9c-a8d3-4b53-8417-a9eebb8c78cf", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/9e56d5a0-75dc-4481-afe9-202dd280af93"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "bd8fcd9c-a8d3-4b53-8417-a9eebb8c78cf", - "type": "STRING", - "value": "Generic signed message profile" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bd8fcd9c-a8d3-4b53-8417-a9eebb8c78cf", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "bd8fcd9c-a8d3-4b53-8417-a9eebb8c78cf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01.json deleted file mode 100644 index e0573914b8220e308f1905c5ce2aef9fde8f71f9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d2c489c7-6048-4cfb-bf07-3a6e04aa4964", - "type": "STRING", - "value": "Check that the sent Secured Message contains exactly one HeaderField its_aid that is set to predefined value" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "d2c489c7-6048-4cfb-bf07-3a6e04aa4964", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/49abf17c-f239-46b9-ad89-ac52a283c52c", - "/Documents/ts_103097v010201p.xhtml/12cbb24d-ca8d-4d7b-9264-10bb2ca521e7" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "d2c489c7-6048-4cfb-bf07-3a6e04aa4964", - "type": "STRING", - "value": "01. Check secured its_aid value" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d2c489c7-6048-4cfb-bf07-3a6e04aa4964", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "d2c489c7-6048-4cfb-bf07-3a6e04aa4964" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01/TP_SEC_ITSS_SND_GENMSG_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01/TP_SEC_ITSS_SND_GENMSG_01_01_BV.json deleted file mode 100644 index b8513337c31378397b856357c3ad7222973f1722..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_01/TP_SEC_ITSS_SND_GENMSG_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "84bd0b12-9c52-4895-8aa2-d1b2565a83df", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "84bd0b12-9c52-4895-8aa2-d1b2565a83df", - "type": "STRING", - "value": "Check that the sent Secured Message contains HeaderField its_aid that is set to other value then AID_CAM and AID_DENM" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "84bd0b12-9c52-4895-8aa2-d1b2565a83df", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['its_aid']\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_BEACON'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "84bd0b12-9c52-4895-8aa2-d1b2565a83df", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "84bd0b12-9c52-4895-8aa2-d1b2565a83df", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "84bd0b12-9c52-4895-8aa2-d1b2565a83df" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02.json deleted file mode 100644 index 780bf0ff431278c534eb01521fda7c3f7f4f9454..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4357caf6-c1c0-4f02-9f1b-16b34900d813", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the sent SecuredMessage contains exactly one element of the header fields: signer_info, generation_time, generation_location\r\nCheck that the header fields are in the ascending order according to the numbering of the enumeration except of the signer_info, which is encoded first." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "4357caf6-c1c0-4f02-9f1b-16b34900d813", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/9f584669-0edc-4cd5-9e25-979e66b5e955", - "/Documents/ts_103097v010201p.xhtml/73eaa11c-13d1-4db7-840f-c17ed625c22b", - "/Documents/ts_103097v010201p.xhtml/a53c9dad-b4db-41d2-92b2-821d276b747b", - "/Documents/ts_103097v010201p.xhtml/3e04d28f-0401-4b5c-ba33-b47d0e63946b" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "4357caf6-c1c0-4f02-9f1b-16b34900d813", - "type": "STRING", - "value": "02. Check header field" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4357caf6-c1c0-4f02-9f1b-16b34900d813", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "4357caf6-c1c0-4f02-9f1b-16b34900d813" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02/TP_SEC_ITSS_SND_GENMSG_02_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02/TP_SEC_ITSS_SND_GENMSG_02_01_BV.json deleted file mode 100644 index b67cd73cb9a1333cafa53d160401ad42b2fabf78..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_02/TP_SEC_ITSS_SND_GENMSG_02_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "5d882403-407e-48dd-bb87-5c2200779512", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5d882403-407e-48dd-bb87-5c2200779512", - "type": "STRING", - "value": "Check that the generic secured message contains exactly one element of these header fields: signer_info, generation_time, generation_location;\r\nCheck that the header fields are in the ascending order according to the numbering of the enumeration except of the signer_info, which is encoded first" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "5d882403-407e-48dd-bb87-5c2200779512", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields [0].type\r\n\t\t\t\tindicating 'signer_info'\r\n\t\t\tand containing header_fields [1..n] \r\n\t\t\t\twhere header_fields [i].type < header_fields [i+1].type\r\n\t\t\tand containing header_fields ['generation_time']\r\n\t\t\tand containing header_fields ['generation_location']\r\n\t\t\tand containing header_fields ['its_aid']" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "5d882403-407e-48dd-bb87-5c2200779512", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5d882403-407e-48dd-bb87-5c2200779512", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5d882403-407e-48dd-bb87-5c2200779512" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03.json deleted file mode 100644 index f43ce66d2e4835c9dfea5d3024a020a29628e4bc..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fccb79f8-1904-4670-a775-ab3020c60a08", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the sent SecuredMessage contains exactly one signer_info field of type certificate" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "fccb79f8-1904-4670-a775-ab3020c60a08", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/f86c287a-9f57-4735-938f-3cc4807a6d53"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "fccb79f8-1904-4670-a775-ab3020c60a08", - "type": "STRING", - "value": "03. Check that signer info is a certificate" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fccb79f8-1904-4670-a775-ab3020c60a08", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "fccb79f8-1904-4670-a775-ab3020c60a08" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03/TP_SEC_ITSS_SND_GENMSG_03_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03/TP_SEC_ITSS_SND_GENMSG_03_01_BV.json deleted file mode 100644 index db4c9da16513d0d96d0b9632f3e7afa1e1006d06..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_03/TP_SEC_ITSS_SND_GENMSG_03_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b14d29f1-439f-4671-9998-3a8e4a7d735c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b14d29f1-439f-4671-9998-3a8e4a7d735c", - "type": "STRING", - "value": "Check that generic secured message contains the certificate as a signer_info" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b14d29f1-439f-4671-9998-3a8e4a7d735c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b14d29f1-439f-4671-9998-3a8e4a7d735c", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b14d29f1-439f-4671-9998-3a8e4a7d735c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b14d29f1-439f-4671-9998-3a8e4a7d735c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04.json deleted file mode 100644 index 73424a55c8f15f24eec2d7c1c627ba71bc64ec48..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2d7486e0-cf9d-4e90-a9c0-708749f027f4", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the sent SecuredMessage contains exactly one HeaderField generation_time which is inside the validity time of the certificate referenced by the signer_info." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2d7486e0-cf9d-4e90-a9c0-708749f027f4", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/615b41cb-6660-41b4-8375-b658436ca1df", - "/Documents/ts_103097v010201p.xhtml/b31b89ad-2b2a-4bc8-a16f-9c2918b931c9", - "/Documents/ts_103097v010201p.xhtml/56cf21c7-baf9-4b70-932f-326b22b242a8" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2d7486e0-cf9d-4e90-a9c0-708749f027f4", - "type": "STRING", - "value": "04. Check generation time" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2d7486e0-cf9d-4e90-a9c0-708749f027f4", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2d7486e0-cf9d-4e90-a9c0-708749f027f4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04/TP_SEC_ITSS_SND_GENMSG_04_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04/TP_SEC_ITSS_SND_GENMSG_04_01_BV.json deleted file mode 100644 index 2c96dd0b8ef1d16c9b1b52d6e95d72b17537c3ef..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_04/TP_SEC_ITSS_SND_GENMSG_04_01_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "NOTE": { - "isGenerated": false, - "key": "NOTE", - "origin": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a", - "type": "STRING", - "value": "Usage of 'time_start_and_duration' is deprecated in v1.2.5" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a", - "type": "STRING", - "value": "Check that message generation time is inside the validity period of the signing certificate;\r\nCheck that message generation time value is realistic" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields['generation_time']\r\n\t\t\t\tcontaining generation_time\r\n\t\t\t\t\tindicating GEN_TIME (CUR_TIME - 10min <= GEN_TIME < CUR_TIME + 10min)\r\n\t\t\tand containing header_fields['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining validity_restrictions['time_end']\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME\r\n\t\t\t\t\t\tor containing validity_restrictions['time_start_and_end']\r\n\t\t\t\t\t\t\tcontaining start_validity\r\n\t\t\t\t\t\t\t\tindicating value <= GEN_TIME\r\n\t\t\t\t\t\t\tand containing end_validity\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME\r\n\t\t\t\t\t\tor containing validity_restrictions['time_start_and_duration']\r\n\t\t\t\t\t\t\tcontaining start_validity (X_START_VALIDITY)\r\n\t\t\t\t\t\t\t\tindicating value <= GEN_TIME\r\n\t\t\t\t\t\t\tand containing duration\r\n\t\t\t\t\t\t\t\tindicating value > GEN_TIME - X_START_VALIDITY" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b67b9bc7-410c-4caa-bf8a-45f1cad36b9a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05.json deleted file mode 100644 index 48e934955b051b6f8a6293d5bd340e4d49b6f574..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "5b16b8e9-2fdf-4e6f-9bab-cdb929fa3f8c", - "type": "STRING", - "value": "true" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5b16b8e9-2fdf-4e6f-9bab-cdb929fa3f8c", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the sent SecuredMessage contains exactly one HeaderField generation_location which is conformed to validity restriction of the certificate pointed by the signer_info field." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "5b16b8e9-2fdf-4e6f-9bab-cdb929fa3f8c", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/8d8ff631-c7f2-4672-9842-a920332238d1", - "/Documents/ts_103097v010201p.xhtml/1867819d-7fb8-4abe-848a-218944594c15" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5b16b8e9-2fdf-4e6f-9bab-cdb929fa3f8c", - "type": "STRING", - "value": "05. Check generation location" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5b16b8e9-2fdf-4e6f-9bab-cdb929fa3f8c", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "5b16b8e9-2fdf-4e6f-9bab-cdb929fa3f8c" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_01_BV.json deleted file mode 100644 index f86767f31cad42b132b92e8a149459d99c840838..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cc5d4548-c65a-44d1-b61f-b0287bea51d3", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cc5d4548-c65a-44d1-b61f-b0287bea51d3", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location when AT certificate does not contain any region restrictions\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cc5d4548-c65a-44d1-b61f-b0287bea51d3", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_AT_A)\r\n\t\tnot containing validity_restrictions['region']\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields['generation_location']\r\n\t\t\t\tcontaining generation_location" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cc5d4548-c65a-44d1-b61f-b0287bea51d3", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cc5d4548-c65a-44d1-b61f-b0287bea51d3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cc5d4548-c65a-44d1-b61f-b0287bea51d3" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_02_BV.json deleted file mode 100644 index 0a5c9ae77ed2b7aa3462d1e67e05cf92fb071429..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_02_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_CIRCULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_CIRCULAR_REGION", - "origin": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location which is inside the circular region containing in the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_AT_B)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'circle'\r\n\t\t\t\tand containing circular_region\r\n\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "cd06bc19-92eb-40ec-9dbe-7eae6d46de42" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_03_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_03_BV.json deleted file mode 100644 index cc059f19020e3b68be8764a53bb678fa3c05a66d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_03_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_RECTANGULAR_REGION": { - "isGenerated": false, - "key": "PICS_USE_RECTANGULAR_REGION", - "origin": "0caaeb28-5974-496c-9b52-bfdb35a49747", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "0caaeb28-5974-496c-9b52-bfdb35a49747", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "0caaeb28-5974-496c-9b52-bfdb35a49747", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location which is inside the rectangular region containing in the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "0caaeb28-5974-496c-9b52-bfdb35a49747", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_AT_C)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\tcontaining rectangular_region\r\n\t\t\t\t\tcontaining instance of RectangularRegion\r\n\t\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "0caaeb28-5974-496c-9b52-bfdb35a49747", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0caaeb28-5974-496c-9b52-bfdb35a49747", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0caaeb28-5974-496c-9b52-bfdb35a49747" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_04_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_04_BV.json deleted file mode 100644 index f17887e57acef228b09eea528687b20714552af9..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_04_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_POLYGONAL_REGION": { - "isGenerated": false, - "key": "PICS_USE_POLYGONAL_REGION", - "origin": "b3269512-6caa-48e6-95c2-00ee18504058", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "b3269512-6caa-48e6-95c2-00ee18504058", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b3269512-6caa-48e6-95c2-00ee18504058", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location which is inside the polygonal region containing in the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "b3269512-6caa-48e6-95c2-00ee18504058", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_AT_D)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'polygon'\r\n\t\t\t\tcontaining polygonal_region\r\n\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining exactly one header_fields['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "b3269512-6caa-48e6-95c2-00ee18504058", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b3269512-6caa-48e6-95c2-00ee18504058", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b3269512-6caa-48e6-95c2-00ee18504058" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_05_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_05_BV.json deleted file mode 100644 index 62457eb5f51080d0e356a080941078da02d0a965..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_05_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_USE_IDENTIFIED_REGION": { - "isGenerated": false, - "key": "PICS_USE_IDENTIFIED_REGION", - "origin": "11beb3f5-f0e3-4bc3-8e45-246901d6652f", - "type": "STRING", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "11beb3f5-f0e3-4bc3-8e45-246901d6652f", - "type": "STRING", - "value": "bissmeye" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "11beb3f5-f0e3-4bc3-8e45-246901d6652f", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location which is inside the identified region containing in the validity restriction of the certificate pointed by the signer_info field" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "11beb3f5-f0e3-4bc3-8e45-246901d6652f", - "type": "STRING", - "value": "with\r\n\tthe IUT has been authorized with the AT certificate (CERT_AT_E)\r\n\t\tcontaining validity_restrictions ['region']\r\n\t\t\tcontaining region\r\n\t\t\t\tcontaining region_type\r\n\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\tcontaining identified_region\r\n\t\t\t\t\tindicating REGION\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['its_aid']\r\n\t\t\t\tindicating 'AID_BEACON'\r\n\t\t\tcontaining exactly one header_fields['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating value inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "11beb3f5-f0e3-4bc3-8e45-246901d6652f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "11beb3f5-f0e3-4bc3-8e45-246901d6652f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "11beb3f5-f0e3-4bc3-8e45-246901d6652f" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_06_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_06_BV.json deleted file mode 100644 index 10629116ea6a643fe2043281a4c721b9c60c3a28..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_05/TP_SEC_ITSS_SND_GENMSG_05_06_BV.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_CERTIFICATE_SELECTION": { - "isGenerated": false, - "key": "PICS_CERTIFICATE_SELECTION", - "origin": "a259efaa-7c88-4824-a6f8-35748eac83b0", - "type": "STRING", - "value": "false" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "a259efaa-7c88-4824-a6f8-35748eac83b0", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a259efaa-7c88-4824-a6f8-35748eac83b0", - "type": "STRING", - "value": "Check that the secured GeoNetworking message contains exactly one HeaderField generation_location and this location is inside the certificate validation restriction" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "a259efaa-7c88-4824-a6f8-35748eac83b0", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields['signed_info'].certificate\r\n\t\t\t\tcontaining validity_restrictions ['region']\r\n\t\t\t\t\tcontaining region.region_type\r\n\t\t\t\t\t\tindicating 'none'\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'circle'\r\n\t\t\t\t\tcontaining region.circular_region\r\n\t\t\t\t\t\tindicating REGION\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'rectangle'\r\n\t\t\t\t\tcontaining region.rectangular_region\r\n\t\t\t\t\t\tcontaining array of rectangles\r\n\t\t\t\t\t\t\tindicating REGION\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'polygonal'\r\n\t\t\t\t\tcontaining region.polygonal_region\r\n\t\t\t\t\t\tindicating REGION\r\n\t\t\t\tor containing region.region_type\r\n\t\t\t\t\t\tindicating 'id_region'\r\n\t\t\t\t\tcontaining region.circular_region\r\n\t\t\t\t\t\tindicating REGION\r\n\t\t\tand containing exactly one header_fields['generation_location']\r\n\t\t\t\tcontaining generation_location\r\n\t\t\t\t\tindicating location inside the REGION" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "a259efaa-7c88-4824-a6f8-35748eac83b0", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a259efaa-7c88-4824-a6f8-35748eac83b0", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a259efaa-7c88-4824-a6f8-35748eac83b0" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06.json deleted file mode 100644 index 05317bd4b6f48fe06415df5bb4a52fe0141d2d01..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dcfe8769-1cc7-4dcb-ae56-3d9f17e07a5a", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the sent SecuredMessage contains Payload element of type signed, signed_external or signed_and_encrypted\r\nDo not know how to check signed_external or signed_and_encrypted" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "dcfe8769-1cc7-4dcb-ae56-3d9f17e07a5a", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/327f9109-fdf6-4271-ad73-dde8a50590b7"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "dcfe8769-1cc7-4dcb-ae56-3d9f17e07a5a", - "type": "STRING", - "value": "06. Check payload" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dcfe8769-1cc7-4dcb-ae56-3d9f17e07a5a", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "dcfe8769-1cc7-4dcb-ae56-3d9f17e07a5a" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06/TP_SEC_ITSS_SND_GENMSG_06_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06/TP_SEC_ITSS_SND_GENMSG_06_01_BV.json deleted file mode 100644 index 6a4d2b76e12f96c1a0b73b81324464d2e9cacef0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_06/TP_SEC_ITSS_SND_GENMSG_06_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6505ab12-d08a-4e23-b0f5-d72e549352cf", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6505ab12-d08a-4e23-b0f5-d72e549352cf", - "type": "STRING", - "value": "Check that the secured message contains the Payload element of type signed, signed_external or signed_and_encrypted" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6505ab12-d08a-4e23-b0f5-d72e549352cf", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining payload_field\r\n\t\t\t\tcontaining type\r\n\t\t\t\t\tindicating 'signed' or 'signed_external' or 'signed_and_encrypted'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6505ab12-d08a-4e23-b0f5-d72e549352cf", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6505ab12-d08a-4e23-b0f5-d72e549352cf", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6505ab12-d08a-4e23-b0f5-d72e549352cf" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07.json deleted file mode 100644 index 322dfe4608f46270aedd876716af5ce4f5b981f0..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1185a9b5-610f-4a45-8e36-d5acf14ff5ac", - "type": "STRING", - "value": "If ITS-S sends a signed message with general security profile check that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature." - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "1185a9b5-610f-4a45-8e36-d5acf14ff5ac", - "type": "LIST", - "value": [ - "/Documents/ts_103097v010201p.xhtml/b92fccca-032f-4a3c-8b7d-89e0cd966e8d", - "/Documents/ts_103097v010201p.xhtml/3545ac20-454c-4f8b-8447-af4d7d3eb03c" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "1185a9b5-610f-4a45-8e36-d5acf14ff5ac", - "type": "STRING", - "value": "07. Check signature" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1185a9b5-610f-4a45-8e36-d5acf14ff5ac", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "1185a9b5-610f-4a45-8e36-d5acf14ff5ac" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07/TP_SEC_ITSS_SND_GENMSG_07_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07/TP_SEC_ITSS_SND_GENMSG_07_01_BV.json deleted file mode 100644 index 96521e3459464dddf570af4463761c80d20c29be..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_GENMSG/SEC_ITSS_SND_GENMSG_07/TP_SEC_ITSS_SND_GENMSG_07_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "2bdc3945-6e79-418c-9cdf-f24a4cf35ba4", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2bdc3945-6e79-418c-9cdf-f24a4cf35ba4", - "type": "STRING", - "value": "Check that the secured message contains only one TrailerField of type signature;\r\nCheck that the signature contained in the SecuredMessage is calculated over the right fields by cryptographically verifying the signature" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "2bdc3945-6e79-418c-9cdf-f24a4cf35ba4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a Beacon\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tindicating CERT\r\n\t\t\tand containing trailer_fields ['signature']\r\n\t\t\t\tcontaining signature\r\n\t\t\t\t\tverifiable using CERT.subject_attributes['verification_key']" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "2bdc3945-6e79-418c-9cdf-f24a4cf35ba4", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2bdc3945-6e79-418c-9cdf-f24a4cf35ba4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "2bdc3945-6e79-418c-9cdf-f24a4cf35ba4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01.json deleted file mode 100644 index 3f031900106f154dc091b9abbffb9c9387bd2f6b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ecce97b9-4147-49fc-8703-b1722f7bf992", - "type": "STRING", - "value": "Check that ITS-S sends a SecuredMessage contains protocol version set to 2" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "ecce97b9-4147-49fc-8703-b1722f7bf992", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/58ea9176-dfab-4645-a9a2-855e9d5d57dc"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ecce97b9-4147-49fc-8703-b1722f7bf992", - "type": "STRING", - "value": "01. Check the message protocol version" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ecce97b9-4147-49fc-8703-b1722f7bf992", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "ecce97b9-4147-49fc-8703-b1722f7bf992", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "ecce97b9-4147-49fc-8703-b1722f7bf992" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01/TP_SEC_ITSS_SND_MSG_01_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01/TP_SEC_ITSS_SND_MSG_01_01_BV.json deleted file mode 100644 index a8f1a72e18c00fd04494ae402c4456cdfc883b3b..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_01/TP_SEC_ITSS_SND_MSG_01_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "dddad61c-a069-41fe-b85f-6c4800deeaf7", - "type": "STRING", - "value": "danya" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dddad61c-a069-41fe-b85f-6c4800deeaf7", - "type": "STRING", - "value": "Check that ITS-S sends a SecuredMessage containing protocol version set to 2" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "dddad61c-a069-41fe-b85f-6c4800deeaf7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a SecuredMessage\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining protocol_version \r\n\t\t\t\tindicating value '2'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "dddad61c-a069-41fe-b85f-6c4800deeaf7", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dddad61c-a069-41fe-b85f-6c4800deeaf7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "dddad61c-a069-41fe-b85f-6c4800deeaf7" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04.json deleted file mode 100644 index 472e1bcc7354400c794a2d65961e36c84ff657f4..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fbd6acf6-53bb-4e95-8f1b-220795fc0e75", - "type": "STRING", - "value": "Regular ITS stations shall use certificates containing a SubjectInfo of SubjectType authorization_ticket when communicating with other ITS-Stations" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "fbd6acf6-53bb-4e95-8f1b-220795fc0e75", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/1d95aba3-2c2a-45a2-b40e-8f8bfe3b164d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "fbd6acf6-53bb-4e95-8f1b-220795fc0e75", - "type": "STRING", - "value": "04. Check that AT certificate is used to sign communication messages of ITS-S" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fbd6acf6-53bb-4e95-8f1b-220795fc0e75", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "fbd6acf6-53bb-4e95-8f1b-220795fc0e75", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "fbd6acf6-53bb-4e95-8f1b-220795fc0e75" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_01_BV.json deleted file mode 100644 index cef3ffff2b357a1069ec42b6e98f20d2b4edb4dd..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "127db487-37ce-4029-998c-5d6d4f3fd06b", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "127db487-37ce-4029-998c-5d6d4f3fd06b", - "type": "STRING", - "value": "Check that when IUT sends the message signed with the digest, then this digest points to the AT certificate\r\n" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "127db487-37ce-4029-998c-5d6d4f3fd06b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tand the IUT is configured to send more than one CAM per second\r\n\tand the IUT having sent last CAM\r\n\t\tcontaining header_fields['signer_info'].signer.type\r\n\t\t\tindicating 'certificate'\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send next CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate_digest_with_sha256'\r\n\t\t\t\t\tand containing digest\r\n\t\t\t\t\t\treferencing the certificate\r\n\t\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\t\tindicating 'authorization_ticket'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "127db487-37ce-4029-998c-5d6d4f3fd06b", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "127db487-37ce-4029-998c-5d6d4f3fd06b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "127db487-37ce-4029-998c-5d6d4f3fd06b" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_02_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_02_BV.json deleted file mode 100644 index 4efea9b4621b415b0c6843126d4fdeb8cb90322d..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_04/TP_SEC_ITSS_SND_MSG_04_02_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c76d35c5-5549-4ed5-b383-6b8b2218e596", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c76d35c5-5549-4ed5-b383-6b8b2218e596", - "type": "STRING", - "value": "Check that IUT uses the AT certificate to sign messages" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c76d35c5-5549-4ed5-b383-6b8b2218e596", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\n\tthe IUT being requested to include certificate in the next CAM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a next CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['signer_info']\r\n\t\t\t\tcontaining signer\r\n\t\t\t\t\tcontaining type\r\n\t\t\t\t\t\tindicating 'certificate'\r\n\t\t\t\t\tand containing certificate\r\n\t\t\t\t\t\tcontaining subject_info.subject_type\r\n\t\t\t\t\t\t\tindicating 'authorization_ticket'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c76d35c5-5549-4ed5-b383-6b8b2218e596", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c76d35c5-5549-4ed5-b383-6b8b2218e596", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c76d35c5-5549-4ed5-b383-6b8b2218e596" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05.json deleted file mode 100644 index c09a95fb097a26454b1513a83666d72f5f069608..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "fcee498f-1ba1-40a2-b435-2b0f70d8c5d4", - "type": "LIST", - "value": ["/Documents/ts_103097v010201p.xhtml/cd4f4ae8-6cdd-439b-a1bb-3c8c47d8bfc1"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "fcee498f-1ba1-40a2-b435-2b0f70d8c5d4", - "type": "STRING", - "value": "05. Check Signature ECC point type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fcee498f-1ba1-40a2-b435-2b0f70d8c5d4", - "type": "STRING", - "value": "Requirement" - }, - "coverageStatus": { - "isGenerated": false, - "key": "coverageStatus", - "origin": "fcee498f-1ba1-40a2-b435-2b0f70d8c5d4", - "type": "STRING", - "value": "complete" - } - }, - "uuid": "fcee498f-1ba1-40a2-b435-2b0f70d8c5d4" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV.json deleted file mode 100644 index be6cdd160591b047c481bba52b48e7e87b839403..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "attributes": { - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "fe261037-3291-4dbb-9ed6-ae425f88edc5", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fe261037-3291-4dbb-9ed6-ae425f88edc5", - "type": "STRING", - "value": "Check that the SecuredMessage signature contains the ECC point of type set to either compressed_lsb_y_0, compressed_lsb_y_1 or x_coordinate_only" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "fe261037-3291-4dbb-9ed6-ae425f88edc5", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the 'authorized' state\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to send a CAM\r\n\tthen\r\n\t\tthe IUT sends a SecuredMessage\r\n\t\t\tcontaining header_fields ['its_aid']\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 'AID_CAM'\r\n\t\t\tand containing trailer_fields['signature']\r\n\t\t\t\tcontaining signature.ecdsa_signature\r\n\t\t\t\t\tcontaining R.type\r\n\t\t\t\t\t\tindicating 'compressed_lsb_y_0'\r\n\t\t\t\t\t\tor indicating 'compressed_lsb_y_1'\r\n\t\t\t\t\t\tor indicating 'x_coordinate_only'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "fe261037-3291-4dbb-9ed6-ae425f88edc5", - "type": "STRING", - "value": "verified" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fe261037-3291-4dbb-9ed6-ae425f88edc5", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fe261037-3291-4dbb-9ed6-ae425f88edc5" -} \ No newline at end of file diff --git a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV/Comment 01.json b/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV/Comment 01.json deleted file mode 100644 index 5e026e91f8431880f976a7b065f5ee7dcfbf146f..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Requirements/SEC_ITSS/SEC_ITSS_SND/SEC_ITSS_SND_MSG_05/TP_SEC_ITSS_SND_MSG_05_01_BV/Comment 01.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "attributes": { - "_author": { - "key": "_author", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "key": "_description", - "type": "STRING", - "value": "Perhaps to split it to 3 diffrent TPs:\r\n1. digest\r\n2. cert\r\n3. chain\r\n" - }, - "_index": { - "key": "_index", - "type": "STRING", - "value": "1" - }, - "_type": { - "key": "_type", - "type": "STRING", - "value": "Comment" - } - }, - "uuid": "ddd55881-6755-4745-9391-0f34720f3303" -} \ No newline at end of file diff --git a/requality/TS103096/root/Templates.json b/requality/TS103096/root/Templates.json deleted file mode 100644 index c2d535c74005fc1dd47676a93b5a72dfc54563ae..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Templates.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "attributes": {"_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "RestrictedFolder", - "origin": "b1b98d55-d044-4bb7-aab5-dd5fa03d3ff2", - "type": "STRING", - "value": "RestrictedFolder" - }}, - "uuid": "b1b98d55-d044-4bb7-aab5-dd5fa03d3ff2" -} \ No newline at end of file diff --git a/requality/TS103096/root/Types.json b/requality/TS103096/root/Types.json deleted file mode 100644 index b4193e253cc49dff28bfaf109049757813e047ab..0000000000000000000000000000000000000000 --- a/requality/TS103096/root/Types.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "attributes": {"_type": { - "key": "_type", - "type": "STRING", - "value": "NodeType" - }}, - "uuid": "b33c8b82-78dc-4f53-937a-11c108a74022" -} \ No newline at end of file diff --git a/requality/TS103301/.project b/requality/TS103301/.project deleted file mode 100644 index 14ce79fa71691943cd33055f782d6f6937966c81..0000000000000000000000000000000000000000 --- a/requality/TS103301/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - TS103301 - - - - - - com.unitesk.requality.checkers - - - - - - com.unitesk.requality.natures.reqcatalogue - - diff --git a/requality/TS103301/.reqversions b/requality/TS103301/.reqversions deleted file mode 100644 index 54e252962e8348f5c16bd3d74d19dafd4733c9a7..0000000000000000000000000000000000000000 --- a/requality/TS103301/.reqversions +++ /dev/null @@ -1 +0,0 @@ -com.unitesk.nodegroup.requality|0.15 diff --git a/requality/TS103301/.settings/org.eclipse.core.resources.prefs b/requality/TS103301/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 85ed79afd3402567cddcfb83989119e6b182c15e..0000000000000000000000000000000000000000 --- a/requality/TS103301/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,217 +0,0 @@ -eclipse.preferences.version=1 -encoding//root/Documents.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/09b4e90f-647e-40b8-bbfe-3b757cf53081.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/108bba89-25e3-47e4-878e-0c5de7a5092f.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/178ac26b-def1-4261-8bbf-5df1fdaa5636.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/1f766cd6-cb72-4d44-a02b-d648ea2b4e43.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/28cb2500-bdc6-433d-9a15-2c14136109ab.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/299468b6-80e7-4a89-9e17-fcfec17120a3.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/2ce3cc2b-aa51-421e-a422-6a9e6cce2082.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/37041512-f1ea-427f-a8e6-e8f8c3f1a9f4.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/3d7c60ed-c139-4fe2-9427-9d71ab81be08.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/3dc31e63-315a-421b-b74a-0c41cf4ae097.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/4486101d-d3b2-4156-bbd5-8bcef139d100.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/46061c36-999b-4ac9-ba0e-d5af670d8901.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/485c89bc-9da3-4c8e-be0b-63b01c34b306.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/48b08012-a369-49d3-b0f6-eee95a02e76a.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/4aafd874-da69-4aa9-8142-ee95841e1434.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/4bda289f-d3a6-42f9-9eea-f94b9a276478.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/515ef264-826f-4dc4-b5d2-5a2ad8b288ba.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/56f108ee-54e4-4f1a-94d4-a95839fadc3c.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/5aab70c2-219e-460f-9223-64c99800e70a.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/5bccff70-8411-49a4-86e8-6a2730ec8fa0.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/5f0d0ede-e1b1-49ca-9612-6df4b53860fb.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/65f67d00-63ae-4d5e-9272-cecfef3beace.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/66399e8a-0632-497a-9f97-f2d870a4b31f.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/68d18e5e-3607-49fa-8771-d2641c58fe54.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/6a936fb2-7785-4307-bcda-982306487e1c.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/77979574-9fcd-4f47-82e4-25b79b781873.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/77a4a214-685d-4d91-b306-36ebef6c3db8.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/7af8529d-8e73-40ed-b3d9-9e77dd380972.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/8724cfcb-6374-41c4-993d-1b5c319eb8cf.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/87b10e4b-b1dc-449c-b9ac-23380151b75e.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/89b8cf8c-fbae-474e-81d7-1d550dd36762.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/8a5e77e8-1e74-4263-b66a-6c2960fff2fb.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/8a9b0b92-c278-4367-b849-f4313a3df6a9.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/9099b2b8-ed7b-4943-9a69-bb697d241c23.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/9209867a-6a0f-4c16-aedc-d5f64435f14e.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/b3f84797-487a-4c3e-a81e-258938163a1c.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/bb3d3790-fa2a-4cdc-8569-3f252de9f24f.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/c3059bb9-d9ca-4509-8d32-e216420f69a2.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/c3436086-7d4a-4452-aab8-d48d11161c76.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/c3ba0b26-17cf-4dd8-90f3-941a01c66f96.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/c5034f72-3698-4bcd-9169-243698e123ef.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/c6de9a60-98e3-4e25-aa6b-25757a753703.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/d51284f2-a002-4664-b81f-c761eb425ec0.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/d5639917-0102-42fe-9b78-eb662d5f982d.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/dced6c4e-4e4b-402a-9452-492fe14438d3.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/e3359386-7c08-4b84-9241-a47ef0d3ae95.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/e3e378dc-8bd3-4a4e-8612-e12b901716f8.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/e43b478a-ba35-4122-859f-18ad5768a7ca.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/e4cba9e5-2a65-4b7a-8caa-200865aad31e.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/e6a00a64-ce4e-417e-a7bf-a46c07290fcd.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/ec702020-740d-4430-ba57-7b45b5d93273.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/f73eb6c1-2513-4e4a-a8d7-de4c80675bb4.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/f85e8afe-948d-4164-9a06-70c8dc7b5ba9.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/fa90ddce-f302-4f09-ba88-09f938feb3fc.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/fb47bcfb-85ca-4f88-985f-0053fa08c228.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/fe74fe56-0d8e-476a-972b-aae7246a2b3a.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml/ffb90c26-8785-43c8-a067-454300b1482e.json=UTF-8 -encoding//root/Documents/TS103301_V104_clean.xhtml_resources/TS103301_V104_clean.xhtml=UTF-8 -encoding//root/Reports.json=UTF-8 -encoding//root/Reports/TPs.json=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-15_08-14-11).json=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-15_08-14-11)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-15_08-17-17).json=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-15_08-17-17)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-15_08-43-26).json=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-15_08-43-26)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-25_03-44-23).json=UTF-8 -encoding//root/Reports/TPs/AllTPs(2016-07-25_03-44-23)_resources/tps.html=UTF-8 -encoding//root/Reports/TPs/AllTPs.json=UTF-8 -encoding//root/Requirements.json=UTF-8 -encoding//root/Requirements/IS_IVI.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_03.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_03/TP_IS_IVI_EVGN_BV_03.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_04.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_04/TP_IS_IVI_EVGN_BV_04.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_05.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_05/TP_IS_IVI_EVUP_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_06.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_03.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_07.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVGN_BV_05.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVUP_BV_04.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_08.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_08/TP_IS_IVI_EVUP_BV_05.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_09.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_10.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_11.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_12.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_12/TP_IS_IVIM_EVTR_BV_03.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_13.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_13/TP_IS_IVIM_EVTR_BV_04.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_14.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_19.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_20.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_20/TP_IS_IVI_COM_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_21.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_21/TP_IS_IVI_COM_BV_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_22.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_02.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_SND_BV_01.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_SEC.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_15.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_16.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_17.json=UTF-8 -encoding//root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_18.json=UTF-8 -encoding//root/Requirements/IS_RLT.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_01.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_01.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_02.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_02.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_01.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_02.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_03.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_03.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_03/TP_IS_RLT_COM_BV_01.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_04.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_04/TP_IS_RLT_COM_BV_02.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_05.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_05/TP_IS_RLT_COM_BV_03.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_SEC.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_06.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_07.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_08.json=UTF-8 -encoding//root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_09.json=UTF-8 -encoding//root/Requirements/IS_TLC.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_02.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_03.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_03/TP_IS_TLC_EVUP_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_04.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_04/TP_IS_TLC_EVGN_04.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_05.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_12.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_13.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_03.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_04.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_14.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_04.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_15.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_03.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_SEC.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_07.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_08.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_09.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_10.json=UTF-8 -encoding//root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_11.json=UTF-8 -encoding//root/Requirements/IS_TLM.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_SND_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_03.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_04.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_03.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_03/TP_IS_TLM_COM_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_04.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_04/TP_IS_TLM_COM_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_05.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_05/TP_IS_TLM_COM_BV_03.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_06.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_07.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_07/TP_IS_TLM_SEC_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_08.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_08/TP_IS_TLM_SEC_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_09.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01/TP_IS_TLM_SEC_SND_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SEC_SND_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_01.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BO_05.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BV_04.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BO_09.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BV_08.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_06.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_07.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_03.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_04.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_05.json=UTF-8 -encoding//root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_06.json=UTF-8 -encoding//root/Templates.json=UTF-8 -encoding//root/Types.json=UTF-8 -encoding/root.json=UTF-8 diff --git a/requality/TS103301/root.json b/requality/TS103301/root.json deleted file mode 100644 index b0ec2a03f516ecdc634f6789334f770121a234c4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "_com.unitesk.requality.full_name_mode": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_com.unitesk.requality.full_name_mode", - "newvalue": true, - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "BOOL", - "value": true - }, - "_com.unitesk.requality.reference_names": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_com.unitesk.requality.reference_names", - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "LIST", - "value": [] - }, - "_com.unitesk.requality.reference_replaces": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_com.unitesk.requality.reference_replaces", - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "LIST", - "value": [] - }, - "_separate_types_in_sort": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_separate_types_in_sort", - "newvalue": true, - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "BOOL", - "value": true - }, - "_sort_by_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_sort_by_index", - "newvalue": "false", - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "BOOL", - "value": "false" - }, - "_sort_by_locations": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_sort_by_locations", - "newvalue": "false", - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "BOOL", - "value": "false" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "DBRoot", - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "STRING", - "value": "DBRoot" - }, - "com.unitesk.requality.reference_names": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "com.unitesk.requality.reference_names", - "origin": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6", - "type": "LIST", - "value": [] - } - }, - "uuid": "ea5f6f3f-9811-4b8b-a1c7-faf1d0e850a6" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents.json b/requality/TS103301/root/Documents.json deleted file mode 100644 index e98d455ad1b4eabb98e76ece9c630b696fdeec5e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "dd26a92d-2150-4b42-9f4e-5363c930d58f", - "type": "STRING", - "value": "DocFolder" - }}, - "uuid": "dd26a92d-2150-4b42-9f4e-5363c930d58f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml.json deleted file mode 100644 index b8ad35c6234ba8d39b2fcfe666dcc8aa75d92cb2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "attributes": { - "_file": { - "isGenerated": false, - "key": "_file", - "origin": "d5c1b35e-e697-46dc-9f23-494d34d2017c", - "type": "STRING", - "value": "TS103301_V104_clean.xhtml" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d5c1b35e-e697-46dc-9f23-494d34d2017c", - "type": "STRING", - "value": "Document" - }, - "title": { - "isGenerated": false, - "key": "title", - "origin": "d5c1b35e-e697-46dc-9f23-494d34d2017c", - "type": "STRING", - "value": "ETSI TS 103 301 [1]" - } - }, - "uuid": "d5c1b35e-e697-46dc-9f23-494d34d2017c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca.json deleted file mode 100644 index cb62646cca1976ee0e629f47afcae8592ca65d10..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "02e92920-4241-4fd0-bb41-5e09fb7402ca", - "type": "STRING", - "value": "At reception of a message, the ITS-S shall check whether the message content is consistent with the SSP contained in the certificate in its signature. If the consistency check fails, the message shall be discarded." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "02e92920-4241-4fd0-bb41-5e09fb7402ca", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "02e92920-4241-4fd0-bb41-5e09fb7402ca" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/09b4e90f-647e-40b8-bbfe-3b757cf53081.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/09b4e90f-647e-40b8-bbfe-3b757cf53081.json deleted file mode 100644 index 95d00b4ab33440b88dfac23f1c16eb24ba14cad9..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/09b4e90f-647e-40b8-bbfe-3b757cf53081.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "09b4e90f-647e-40b8-bbfe-3b757cf53081", - "type": "STRING", - "value": "IVI service specific permissions (SSP)" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "09b4e90f-647e-40b8-bbfe-3b757cf53081", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "09b4e90f-647e-40b8-bbfe-3b757cf53081" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/108bba89-25e3-47e4-878e-0c5de7a5092f.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/108bba89-25e3-47e4-878e-0c5de7a5092f.json deleted file mode 100644 index baecb13ca1976b98d8466d520f8952993dc3eb97..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/108bba89-25e3-47e4-878e-0c5de7a5092f.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "108bba89-25e3-47e4-878e-0c5de7a5092f", - "type": "STRING", - "value": "The protocolVersion<\/i> (defined in the header) of IVIM message based on the present document is set to value \"1\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "108bba89-25e3-47e4-878e-0c5de7a5092f", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "108bba89-25e3-47e4-878e-0c5de7a5092f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/178ac26b-def1-4261-8bbf-5df1fdaa5636.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/178ac26b-def1-4261-8bbf-5df1fdaa5636.json deleted file mode 100644 index b06af50cc3566e985fe040fbba904653f1e696e7..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/178ac26b-def1-4261-8bbf-5df1fdaa5636.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "178ac26b-def1-4261-8bbf-5df1fdaa5636", - "type": "STRING", - "value": "The SSEM is transmitted by the infrastructure equipment (ITS-S road side unit) as response to a SREM. Based on changes or incoming SREM with higher priority requests (e.g. public safety \"overrules\" a Bus request) a revised SSEM will be transmitted to reflect the new status." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "178ac26b-def1-4261-8bbf-5df1fdaa5636", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "178ac26b-def1-4261-8bbf-5df1fdaa5636" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/1f766cd6-cb72-4d44-a02b-d648ea2b4e43.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/1f766cd6-cb72-4d44-a02b-d648ea2b4e43.json deleted file mode 100644 index e32ab140b0755fcabca3743391df896b462cc2d1..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/1f766cd6-cb72-4d44-a02b-d648ea2b4e43.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "1f766cd6-cb72-4d44-a02b-d648ea2b4e43", - "type": "STRING", - "value": "In between two consequent iviStatus<\/i> updates, an IVIM shall be repeated by the IVI service of the sending ITSS at a pre-defined repetition interval, in order that new ITS-S entering the MDA during the event validity duration may also receive the IVIM. " - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1f766cd6-cb72-4d44-a02b-d648ea2b4e43", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "1f766cd6-cb72-4d44-a02b-d648ea2b4e43" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/28724eed-9f77-4704-b683-9364ed74de37.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/28724eed-9f77-4704-b683-9364ed74de37.json deleted file mode 100644 index 194d6f8c063e5c2bca9bd20eb7faa101d58e2518..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/28724eed-9f77-4704-b683-9364ed74de37.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Maneuver assisting information", - "origin": "28724eed-9f77-4704-b683-9364ed74de37", - "type": "STRING", - "value": "Maneuver assisting information" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Location", - "origin": "28724eed-9f77-4704-b683-9364ed74de37", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "28724eed-9f77-4704-b683-9364ed74de37" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297.json deleted file mode 100644 index 1f18d1b89a642091fa9698d446b0d0befc3fb59b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "287563c5-e856-4f03-9ac9-c698a9abc297", - "type": "STRING", - "value": "2 (BTP header type B)" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "287563c5-e856-4f03-9ac9-c698a9abc297", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "287563c5-e856-4f03-9ac9-c698a9abc297" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/28cb2500-bdc6-433d-9a15-2c14136109ab.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/28cb2500-bdc6-433d-9a15-2c14136109ab.json deleted file mode 100644 index 5f511013d8f6ff35de17e10e9bf31f3489b236d3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/28cb2500-bdc6-433d-9a15-2c14136109ab.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "28cb2500-bdc6-433d-9a15-2c14136109ab", - "type": "STRING", - "value": "The Service-specific parameter shall be as defined in Table 11." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "28cb2500-bdc6-433d-9a15-2c14136109ab", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "28cb2500-bdc6-433d-9a15-2c14136109ab" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/299468b6-80e7-4a89-9e17-fcfec17120a3.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/299468b6-80e7-4a89-9e17-fcfec17120a3.json deleted file mode 100644 index c2d27154383fe243986a99cbee296128ed37fa4e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/299468b6-80e7-4a89-9e17-fcfec17120a3.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "299468b6-80e7-4a89-9e17-fcfec17120a3", - "type": "STRING", - "value": "The SSP for the RLT service shall correspond to the octet scheme of Table 10." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "299468b6-80e7-4a89-9e17-fcfec17120a3", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "299468b6-80e7-4a89-9e17-fcfec17120a3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/2ce3cc2b-aa51-421e-a422-6a9e6cce2082.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/2ce3cc2b-aa51-421e-a422-6a9e6cce2082.json deleted file mode 100644 index 4b6c7162850dfb91abc152d32f2bf9eae45fad39..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/2ce3cc2b-aa51-421e-a422-6a9e6cce2082.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2ce3cc2b-aa51-421e-a422-6a9e6cce2082", - "type": "STRING", - "value": "The ITS AID of the TLM service is allocated in [15]" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2ce3cc2b-aa51-421e-a422-6a9e6cce2082", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "2ce3cc2b-aa51-421e-a422-6a9e6cce2082" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/37041512-f1ea-427f-a8e6-e8f8c3f1a9f4.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/37041512-f1ea-427f-a8e6-e8f8c3f1a9f4.json deleted file mode 100644 index a4c9babb6676a355cda81ecf7af40a808e42e198..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/37041512-f1ea-427f-a8e6-e8f8c3f1a9f4.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "37041512-f1ea-427f-a8e6-e8f8c3f1a9f4", - "type": "STRING", - "value": "1: First version, variable length, SSP contains information as defined in the present document." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "37041512-f1ea-427f-a8e6-e8f8c3f1a9f4", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "37041512-f1ea-427f-a8e6-e8f8c3f1a9f4" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/3d7c60ed-c139-4fe2-9427-9d71ab81be08.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/3d7c60ed-c139-4fe2-9427-9d71ab81be08.json deleted file mode 100644 index e6ae44081a7185a7a145af7b9fc564ac085887d4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/3d7c60ed-c139-4fe2-9427-9d71ab81be08.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3d7c60ed-c139-4fe2-9427-9d71ab81be08", - "type": "STRING", - "value": "

    2007<\/p>\n<\/td>\t\n

    SREM port number of the transport protocol (see ETSI TS 103 248 [16])<\/p><\/td>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3d7c60ed-c139-4fe2-9427-9d71ab81be08", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "3d7c60ed-c139-4fe2-9427-9d71ab81be08" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/3dc31e63-315a-421b-b74a-0c41cf4ae097.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/3dc31e63-315a-421b-b74a-0c41cf4ae097.json deleted file mode 100644 index 25815ab1facf4bbcf45b2e945904a0f4672d30e4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/3dc31e63-315a-421b-b74a-0c41cf4ae097.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3dc31e63-315a-421b-b74a-0c41cf4ae097", - "type": "STRING", - "value": "In case the GN protocol and the GBC is used, the TLM service shall provide the destination area in the format compliant to ETSI EN 302 931 [9] and to the ITS networking & transport layer." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3dc31e63-315a-421b-b74a-0c41cf4ae097", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "3dc31e63-315a-421b-b74a-0c41cf4ae097" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4486101d-d3b2-4156-bbd5-8bcef139d100.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4486101d-d3b2-4156-bbd5-8bcef139d100.json deleted file mode 100644 index 66de55d4c74403d2712a73cc755c2bc424308258..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4486101d-d3b2-4156-bbd5-8bcef139d100.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4486101d-d3b2-4156-bbd5-8bcef139d100", - "type": "STRING", - "value": "All other bits of the SSP are not used and set to 0." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4486101d-d3b2-4156-bbd5-8bcef139d100", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "4486101d-d3b2-4156-bbd5-8bcef139d100" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/46061c36-999b-4ac9-ba0e-d5af670d8901.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/46061c36-999b-4ac9-ba0e-d5af670d8901.json deleted file mode 100644 index 60eff3d00b9ffeff214be66bfa2c659558dfa70c..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/46061c36-999b-4ac9-ba0e-d5af670d8901.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "46061c36-999b-4ac9-ba0e-d5af670d8901", - "type": "STRING", - "value": "IVI service trigger refers to the process of the generation and transmission of an IVIM when the IVI service of the sending ITS-S receives an application request. The IVI service shall then generate a new message with status {IVIM.ivi.mandatory.iviStatus} <\/i>set to \"new<\/i>\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "46061c36-999b-4ac9-ba0e-d5af670d8901", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "46061c36-999b-4ac9-ba0e-d5af670d8901" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/485c89bc-9da3-4c8e-be0b-63b01c34b306.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/485c89bc-9da3-4c8e-be0b-63b01c34b306.json deleted file mode 100644 index f1f81dbf69c3cf22ad5a82c40722600235cb2486..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/485c89bc-9da3-4c8e-be0b-63b01c34b306.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "485c89bc-9da3-4c8e-be0b-63b01c34b306", - "type": "STRING", - "value": "The TLM service shall be terminated, if the ITS-S application requests the termination." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "485c89bc-9da3-4c8e-be0b-63b01c34b306", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "485c89bc-9da3-4c8e-be0b-63b01c34b306" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/48b08012-a369-49d3-b0f6-eee95a02e76a.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/48b08012-a369-49d3-b0f6-eee95a02e76a.json deleted file mode 100644 index 85ac0deb4493165016cc60fcd945ad28c0c4e4ec..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/48b08012-a369-49d3-b0f6-eee95a02e76a.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "48b08012-a369-49d3-b0f6-eee95a02e76a", - "type": "STRING", - "value": "In this case, the IVI service of the sending ITS-S shall generate a negation IVIM, i.e. an IVIM with iviStatus<\/i> set to negation<\/i>. For the generation of a negation IVIM, the iviIdentificationNumber<\/i> shall be set to the iviIdentificationNumber<\/i> of the event for which the IVIM negation <\/i>refers to; the serviceProviderId<\/i> shall be set to the value of the originating Service Provider. The timeStamp <\/i>shall be set to the value of the latest received IVIM of the same iviIdentificationNumber<\/i>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "48b08012-a369-49d3-b0f6-eee95a02e76a", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "48b08012-a369-49d3-b0f6-eee95a02e76a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/49c99cf1-7c9a-4caf-9eac-1f9d01d11037.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/49c99cf1-7c9a-4caf-9eac-1f9d01d11037.json deleted file mode 100644 index aef000c3c502371f225b1bf12f5b2a1e504d3efd..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/49c99cf1-7c9a-4caf-9eac-1f9d01d11037.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Information about Intersection state without advisory speed (see bit position 1) and Maneuver assisting information (see Bit position 4)", - "origin": "49c99cf1-7c9a-4caf-9eac-1f9d01d11037", - "type": "STRING", - "value": "Information about Intersection state without advisory speed (see bit position 1) and Maneuver assisting information (see Bit position 4)" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Location", - "origin": "49c99cf1-7c9a-4caf-9eac-1f9d01d11037", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "49c99cf1-7c9a-4caf-9eac-1f9d01d11037" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4aafd874-da69-4aa9-8142-ee95841e1434.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4aafd874-da69-4aa9-8142-ee95841e1434.json deleted file mode 100644 index e95221b1e87e3c3820fbdcc7560b85993014415d..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4aafd874-da69-4aa9-8142-ee95841e1434.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4aafd874-da69-4aa9-8142-ee95841e1434", - "type": "STRING", - "value": "Unicast" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4aafd874-da69-4aa9-8142-ee95841e1434", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "4aafd874-da69-4aa9-8142-ee95841e1434" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4bda289f-d3a6-42f9-9eea-f94b9a276478.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4bda289f-d3a6-42f9-9eea-f94b9a276478.json deleted file mode 100644 index 957aeb8f71ecede926e9789b2dbc0b9c5fe05ac1..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/4bda289f-d3a6-42f9-9eea-f94b9a276478.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "4bda289f-d3a6-42f9-9eea-f94b9a276478", - "type": "STRING", - "value": "All other bits of the SSP are not used and set to 0." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4bda289f-d3a6-42f9-9eea-f94b9a276478", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "4bda289f-d3a6-42f9-9eea-f94b9a276478" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/515ef264-826f-4dc4-b5d2-5a2ad8b288ba.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/515ef264-826f-4dc4-b5d2-5a2ad8b288ba.json deleted file mode 100644 index f0d8ef14fbeb0b5dbf775d22375b7a2679d2f8cc..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/515ef264-826f-4dc4-b5d2-5a2ad8b288ba.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "515ef264-826f-4dc4-b5d2-5a2ad8b288ba", - "type": "STRING", - "value": "TLM service security parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "515ef264-826f-4dc4-b5d2-5a2ad8b288ba", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "515ef264-826f-4dc4-b5d2-5a2ad8b288ba" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/56f108ee-54e4-4f1a-94d4-a95839fadc3c.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/56f108ee-54e4-4f1a-94d4-a95839fadc3c.json deleted file mode 100644 index f6c3af0229999a7fa83b2db0a7f420970d3ea646..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/56f108ee-54e4-4f1a-94d4-a95839fadc3c.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "56f108ee-54e4-4f1a-94d4-a95839fadc3c", - "type": "STRING", - "value": "unicast" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "56f108ee-54e4-4f1a-94d4-a95839fadc3c", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "56f108ee-54e4-4f1a-94d4-a95839fadc3c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5aab70c2-219e-460f-9223-64c99800e70a.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5aab70c2-219e-460f-9223-64c99800e70a.json deleted file mode 100644 index ba15eaf4d7ac5383a2e5d0f431c1b04f0d540cb0..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5aab70c2-219e-460f-9223-64c99800e70a.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5aab70c2-219e-460f-9223-64c99800e70a", - "type": "STRING", - "value": "2003" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5aab70c2-219e-460f-9223-64c99800e70a", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "5aab70c2-219e-460f-9223-64c99800e70a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5bccff70-8411-49a4-86e8-6a2730ec8fa0.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5bccff70-8411-49a4-86e8-6a2730ec8fa0.json deleted file mode 100644 index ec686646f842c9b7a4fdc19d5859bfc1a398cd42..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5bccff70-8411-49a4-86e8-6a2730ec8fa0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5bccff70-8411-49a4-86e8-6a2730ec8fa0", - "type": "STRING", - "value": "The service-specific parameter for SSEM shall be as defined in Table 20." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5bccff70-8411-49a4-86e8-6a2730ec8fa0", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "5bccff70-8411-49a4-86e8-6a2730ec8fa0" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5f0d0ede-e1b1-49ca-9612-6df4b53860fb.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5f0d0ede-e1b1-49ca-9612-6df4b53860fb.json deleted file mode 100644 index b47df7b914eb4599e38cf71a935e5e569c7f80fd..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/5f0d0ede-e1b1-49ca-9612-6df4b53860fb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "5f0d0ede-e1b1-49ca-9612-6df4b53860fb", - "type": "STRING", - "value": "All other bits of the SSP are not used and set to 0." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5f0d0ede-e1b1-49ca-9612-6df4b53860fb", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "5f0d0ede-e1b1-49ca-9612-6df4b53860fb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/65f67d00-63ae-4d5e-9272-cecfef3beace.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/65f67d00-63ae-4d5e-9272-cecfef3beace.json deleted file mode 100644 index b6ddadaf21af0de503eda4bc0b9ef61ca2cb854d..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/65f67d00-63ae-4d5e-9272-cecfef3beace.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "65f67d00-63ae-4d5e-9272-cecfef3beace", - "type": "STRING", - "value": "For having a clear relation between an SREM request and the SSEM status response, the request identification is used in both messages." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "65f67d00-63ae-4d5e-9272-cecfef3beace", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "65f67d00-63ae-4d5e-9272-cecfef3beace" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/66399e8a-0632-497a-9f97-f2d870a4b31f.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/66399e8a-0632-497a-9f97-f2d870a4b31f.json deleted file mode 100644 index 09031db95acc69d93d3c758b4010ce7508125b16..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/66399e8a-0632-497a-9f97-f2d870a4b31f.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "66399e8a-0632-497a-9f97-f2d870a4b31f", - "type": "STRING", - "value": "The protocolVersion<\/i> (defined in the header) of SSEM based on the present document is set to value \"1\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "66399e8a-0632-497a-9f97-f2d870a4b31f", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "66399e8a-0632-497a-9f97-f2d870a4b31f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/68d18e5e-3607-49fa-8771-d2641c58fe54.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/68d18e5e-3607-49fa-8771-d2641c58fe54.json deleted file mode 100644 index 4d9f519c6824c3804a2730fb15b0c8fd74875953..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/68d18e5e-3607-49fa-8771-d2641c58fe54.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "68d18e5e-3607-49fa-8771-d2641c58fe54", - "type": "STRING", - "value": "When a iviIdentificationNumber is set, it shall be set to an recently unused value." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "68d18e5e-3607-49fa-8771-d2641c58fe54", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "68d18e5e-3607-49fa-8771-d2641c58fe54" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/6a936fb2-7785-4307-bcda-982306487e1c.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/6a936fb2-7785-4307-bcda-982306487e1c.json deleted file mode 100644 index 9d398385d7225aeb2792b53a0f19691fd23eea7e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/6a936fb2-7785-4307-bcda-982306487e1c.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6a936fb2-7785-4307-bcda-982306487e1c", - "type": "STRING", - "value": "Each time a new IVIM is generated upon an application request, a new iviIdentificationNumber<\/i> (ISO/TS 19321 [7]) value shall be assigned by the IVI service." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6a936fb2-7785-4307-bcda-982306487e1c", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "6a936fb2-7785-4307-bcda-982306487e1c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/77979574-9fcd-4f47-82e4-25b79b781873.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/77979574-9fcd-4f47-82e4-25b79b781873.json deleted file mode 100644 index e089552160ebd591e6e9eab19e68750c1379884b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/77979574-9fcd-4f47-82e4-25b79b781873.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "77979574-9fcd-4f47-82e4-25b79b781873", - "type": "STRING", - "value": "The IVI service shall stop the IVIM transmission repetition automatically at the end of the repetition interval." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "77979574-9fcd-4f47-82e4-25b79b781873", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "77979574-9fcd-4f47-82e4-25b79b781873" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/77a4a214-685d-4d91-b306-36ebef6c3db8.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/77a4a214-685d-4d91-b306-36ebef6c3db8.json deleted file mode 100644 index 67e8771e98678eab66c69a3d297affb6c5af76f0..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/77a4a214-685d-4d91-b306-36ebef6c3db8.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "77a4a214-685d-4d91-b306-36ebef6c3db8", - "type": "STRING", - "value": "GeoBroadcast" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "77a4a214-685d-4d91-b306-36ebef6c3db8", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "77a4a214-685d-4d91-b306-36ebef6c3db8" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/7af8529d-8e73-40ed-b3d9-9e77dd380972.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/7af8529d-8e73-40ed-b3d9-9e77dd380972.json deleted file mode 100644 index f8092b7611663c0e0133ee740e2ff22502a1f098..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/7af8529d-8e73-40ed-b3d9-9e77dd380972.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "7af8529d-8e73-40ed-b3d9-9e77dd380972", - "type": "STRING", - "value": "The application triggers the TLM service for the transmission of SPATEM." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7af8529d-8e73-40ed-b3d9-9e77dd380972", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "7af8529d-8e73-40ed-b3d9-9e77dd380972" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd.json deleted file mode 100644 index df2018ec63944e800992e8a9cd1edda79f2aa24a..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd", - "type": "STRING", - "value": "The ITS AID of the TLC service is allocated in [15]" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8724cfcb-6374-41c4-993d-1b5c319eb8cf.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8724cfcb-6374-41c4-993d-1b5c319eb8cf.json deleted file mode 100644 index 248e60325de36e74f42c64dfc379c372b105b4b6..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8724cfcb-6374-41c4-993d-1b5c319eb8cf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "8724cfcb-6374-41c4-993d-1b5c319eb8cf", - "type": "STRING", - "value": "Location" - }}, - "uuid": "8724cfcb-6374-41c4-993d-1b5c319eb8cf" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/87b10e4b-b1dc-449c-b9ac-23380151b75e.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/87b10e4b-b1dc-449c-b9ac-23380151b75e.json deleted file mode 100644 index 1503bb12dc71c3bf1ef202a994613d63879ea2e2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/87b10e4b-b1dc-449c-b9ac-23380151b75e.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "87b10e4b-b1dc-449c-b9ac-23380151b75e", - "type": "STRING", - "value": "MAPEM shall be transmitted continuously together with the SPATEM to inform the traffic participant (driver, pedestrian, etc.) about the status of allowed maneuvers within the intersection conflict area" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "87b10e4b-b1dc-449c-b9ac-23380151b75e", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "87b10e4b-b1dc-449c-b9ac-23380151b75e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/89b8cf8c-fbae-474e-81d7-1d550dd36762.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/89b8cf8c-fbae-474e-81d7-1d550dd36762.json deleted file mode 100644 index 3e09e98f49607f1fed6ec5ddc38c359421c0f512..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/89b8cf8c-fbae-474e-81d7-1d550dd36762.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "89b8cf8c-fbae-474e-81d7-1d550dd36762", - "type": "STRING", - "value": "The protocolVersion<\/i> (defined in the header) of SREM based on the present document is set to value \"1\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "89b8cf8c-fbae-474e-81d7-1d550dd36762", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "89b8cf8c-fbae-474e-81d7-1d550dd36762" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8a5e77e8-1e74-4263-b66a-6c2960fff2fb.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8a5e77e8-1e74-4263-b66a-6c2960fff2fb.json deleted file mode 100644 index c064a94633e840f00f6e67b6c22a68f7f04d576c..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8a5e77e8-1e74-4263-b66a-6c2960fff2fb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8a5e77e8-1e74-4263-b66a-6c2960fff2fb", - "type": "STRING", - "value": "An \"update\"<\/i> is also used to change or add the end time to the IVIM." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8a5e77e8-1e74-4263-b66a-6c2960fff2fb", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "8a5e77e8-1e74-4263-b66a-6c2960fff2fb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8a9b0b92-c278-4367-b849-f4313a3df6a9.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8a9b0b92-c278-4367-b849-f4313a3df6a9.json deleted file mode 100644 index e6309b3a71b19ab4c38f8b3a4d564f23ae360e23..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8a9b0b92-c278-4367-b849-f4313a3df6a9.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8a9b0b92-c278-4367-b849-f4313a3df6a9", - "type": "STRING", - "value": "The iviIdentificationNumber<\/i> shall remain unchanged for iviSStatus<\/i> set to update." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8a9b0b92-c278-4367-b849-f4313a3df6a9", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "8a9b0b92-c278-4367-b849-f4313a3df6a9" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11.json deleted file mode 100644 index 15baaa255e21ea16b48f8e21641ee3991cdfc70e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11", - "type": "STRING", - "value": "The IVI service repetition shall be activated under the request from the ITS-S application." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/9099b2b8-ed7b-4943-9a69-bb697d241c23.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/9099b2b8-ed7b-4943-9a69-bb697d241c23.json deleted file mode 100644 index 32c6104424cd850fde0c25032b919fcebcae062e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/9099b2b8-ed7b-4943-9a69-bb697d241c23.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9099b2b8-ed7b-4943-9a69-bb697d241c23", - "type": "STRING", - "value": "The Service-specific parameter shall be as defined in Table 15." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9099b2b8-ed7b-4943-9a69-bb697d241c23", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "9099b2b8-ed7b-4943-9a69-bb697d241c23" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/9209867a-6a0f-4c16-aedc-d5f64435f14e.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/9209867a-6a0f-4c16-aedc-d5f64435f14e.json deleted file mode 100644 index 62dd12b880f56a2be8c4cdf443d0f8a4856fcf3f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/9209867a-6a0f-4c16-aedc-d5f64435f14e.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "9209867a-6a0f-4c16-aedc-d5f64435f14e", - "type": "STRING", - "value": "The SREM is identified by a request identification which is unique." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "9209867a-6a0f-4c16-aedc-d5f64435f14e", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "9209867a-6a0f-4c16-aedc-d5f64435f14e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/a7ca0c8e-6558-424b-8486-031930010b01.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/a7ca0c8e-6558-424b-8486-031930010b01.json deleted file mode 100644 index d4cb504edd68e70f2a638b65711cd61cc045e8d4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/a7ca0c8e-6558-424b-8486-031930010b01.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Advisory speed", - "origin": "a7ca0c8e-6558-424b-8486-031930010b01", - "type": "STRING", - "value": "Advisory speed" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Location", - "origin": "a7ca0c8e-6558-424b-8486-031930010b01", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "a7ca0c8e-6558-424b-8486-031930010b01" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b3f84797-487a-4c3e-a81e-258938163a1c.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b3f84797-487a-4c3e-a81e-258938163a1c.json deleted file mode 100644 index d4a731fa873d77193272af902af55066a9580390..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b3f84797-487a-4c3e-a81e-258938163a1c.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "b3f84797-487a-4c3e-a81e-258938163a1c", - "type": "STRING", - "value": " If the request or one of the requests with the same request identification has changed, the sequence number will be incremented." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b3f84797-487a-4c3e-a81e-258938163a1c", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "b3f84797-487a-4c3e-a81e-258938163a1c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd.json deleted file mode 100644 index c597dd41a3be52de628e7252a917452b7ccc58d8..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd", - "type": "STRING", - "value": "Location" - }}, - "uuid": "b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b7ffa69a-f51a-4120-81d8-99e5bebd6a08.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b7ffa69a-f51a-4120-81d8-99e5bebd6a08.json deleted file mode 100644 index a5027345a04ff58fb1b5ea6a9a814f4232bd00ae..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b7ffa69a-f51a-4120-81d8-99e5bebd6a08.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "General status of the traffic controller", - "origin": "b7ffa69a-f51a-4120-81d8-99e5bebd6a08", - "type": "STRING", - "value": "General status of the traffic controller" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Location", - "origin": "b7ffa69a-f51a-4120-81d8-99e5bebd6a08", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "b7ffa69a-f51a-4120-81d8-99e5bebd6a08" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b9a1bb83-fea0-4b9c-be96-7177c58933b5.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b9a1bb83-fea0-4b9c-be96-7177c58933b5.json deleted file mode 100644 index 07286f1740adf4589b4bf2f9a317e024df805b7f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/b9a1bb83-fea0-4b9c-be96-7177c58933b5.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Public transport prioritization", - "origin": "b9a1bb83-fea0-4b9c-be96-7177c58933b5", - "type": "STRING", - "value": "Public transport prioritization" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Location", - "origin": "b9a1bb83-fea0-4b9c-be96-7177c58933b5", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "b9a1bb83-fea0-4b9c-be96-7177c58933b5" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/bb3d3790-fa2a-4cdc-8569-3f252de9f24f.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/bb3d3790-fa2a-4cdc-8569-3f252de9f24f.json deleted file mode 100644 index 4c9e28ad72185ef25ba1251e3d09ab6236954513..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/bb3d3790-fa2a-4cdc-8569-3f252de9f24f.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "bb3d3790-fa2a-4cdc-8569-3f252de9f24f", - "type": "STRING", - "value": "A cancellation IVIM or negation IVIM shall be transmitted at least once by the originating ITS-S per application request. It may be repeated by the IVI service of the originating ITS-S." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bb3d3790-fa2a-4cdc-8569-3f252de9f24f", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "bb3d3790-fa2a-4cdc-8569-3f252de9f24f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3059bb9-d9ca-4509-8d32-e216420f69a2.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3059bb9-d9ca-4509-8d32-e216420f69a2.json deleted file mode 100644 index 8e87fafb509381d016749420d5ee72eb47345889..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3059bb9-d9ca-4509-8d32-e216420f69a2.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c3059bb9-d9ca-4509-8d32-e216420f69a2", - "type": "STRING", - "value": "he protocolVersion<\/i> (defined in header<\/i>) of MAPEM message based on the present document is set to value \"1\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c3059bb9-d9ca-4509-8d32-e216420f69a2", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c3059bb9-d9ca-4509-8d32-e216420f69a2" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3436086-7d4a-4452-aab8-d48d11161c76.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3436086-7d4a-4452-aab8-d48d11161c76.json deleted file mode 100644 index 708d69578965492b85a0b7598504fa4abf900c2e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3436086-7d4a-4452-aab8-d48d11161c76.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c3436086-7d4a-4452-aab8-d48d11161c76", - "type": "STRING", - "value": "If the size of the MAPEM exceeds the allowed message length (e.g. MTU), the RLT service fragments the message which will be transmitted in different messages. Each fragment is identified by the \"layerID \" as defined in ISO/TS 19091 [8], Annex G." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c3436086-7d4a-4452-aab8-d48d11161c76", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c3436086-7d4a-4452-aab8-d48d11161c76" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3ba0b26-17cf-4dd8-90f3-941a01c66f96.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3ba0b26-17cf-4dd8-90f3-941a01c66f96.json deleted file mode 100644 index fcd46e12159be5168cc6ae288f2bd5240ad2fca2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c3ba0b26-17cf-4dd8-90f3-941a01c66f96.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c3ba0b26-17cf-4dd8-90f3-941a01c66f96", - "type": "STRING", - "value": "The ITS AID of the IVI service is allocated in [15]." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c3ba0b26-17cf-4dd8-90f3-941a01c66f96", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c3ba0b26-17cf-4dd8-90f3-941a01c66f96" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c5034f72-3698-4bcd-9169-243698e123ef.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c5034f72-3698-4bcd-9169-243698e123ef.json deleted file mode 100644 index 9e75c64734b60e02acbd69b4f587618748323db4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c5034f72-3698-4bcd-9169-243698e123ef.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c5034f72-3698-4bcd-9169-243698e123ef", - "type": "STRING", - "value": "2006" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c5034f72-3698-4bcd-9169-243698e123ef", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c5034f72-3698-4bcd-9169-243698e123ef" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c6de9a60-98e3-4e25-aa6b-25757a753703.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c6de9a60-98e3-4e25-aa6b-25757a753703.json deleted file mode 100644 index d9e649bf19f0b4d391c30ac26ce2337beae78222..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c6de9a60-98e3-4e25-aa6b-25757a753703.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c6de9a60-98e3-4e25-aa6b-25757a753703", - "type": "STRING", - "value": "Identification of the Service Provider for which the R-ITS-S is allowed to send out IVIM and to which the Service-specific parameter apply, using the DE Provider from ISO/TS19321 [7]." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c6de9a60-98e3-4e25-aa6b-25757a753703", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c6de9a60-98e3-4e25-aa6b-25757a753703" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac.json deleted file mode 100644 index 8b983c14438549f6b61710ccf6db7a1b99b39fc1..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac", - "type": "STRING", - "value": "

    The first octet shall control the SSP version and be interpreted in the following way:<\/p>\n

    0: \tNo version, length 1 octet; the value shall only be used for testing purposes.<\/p>\n

    1: \tFirst version, SSP contains information as defined in the present document.<\/p>\n

    2 to 255:\tReserved for future usage.<\/p>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/d51284f2-a002-4664-b81f-c761eb425ec0.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/d51284f2-a002-4664-b81f-c761eb425ec0.json deleted file mode 100644 index c2534b0885c87908f6e97199d253cc5bd24dc6ac..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/d51284f2-a002-4664-b81f-c761eb425ec0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d51284f2-a002-4664-b81f-c761eb425ec0", - "type": "STRING", - "value": "The SSEM is a reply to a SREM. It uses the request identification of the SREM for identification." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d51284f2-a002-4664-b81f-c761eb425ec0", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "d51284f2-a002-4664-b81f-c761eb425ec0" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/d5639917-0102-42fe-9b78-eb662d5f982d.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/d5639917-0102-42fe-9b78-eb662d5f982d.json deleted file mode 100644 index ee4f2faeea7e8a1da9298a0d9627c26b09099d43..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/d5639917-0102-42fe-9b78-eb662d5f982d.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "d5639917-0102-42fe-9b78-eb662d5f982d", - "type": "STRING", - "value": "The protocolVersion<\/i> (defined in the header) of SPATEM message based on the present document is set to value \"1\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "d5639917-0102-42fe-9b78-eb662d5f982d", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "d5639917-0102-42fe-9b78-eb662d5f982d" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/dced6c4e-4e4b-402a-9452-492fe14438d3.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/dced6c4e-4e4b-402a-9452-492fe14438d3.json deleted file mode 100644 index bba2e3fcea33c4c7c3640afc158f82251b2415fb..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/dced6c4e-4e4b-402a-9452-492fe14438d3.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "dced6c4e-4e4b-402a-9452-492fe14438d3", - "type": "STRING", - "value": "All other bits of the SSP are not used and set to 0." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dced6c4e-4e4b-402a-9452-492fe14438d3", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "dced6c4e-4e4b-402a-9452-492fe14438d3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e3359386-7c08-4b84-9241-a47ef0d3ae95.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e3359386-7c08-4b84-9241-a47ef0d3ae95.json deleted file mode 100644 index ddb41927529d4630a39641dacf9bd10cb44d8f0b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e3359386-7c08-4b84-9241-a47ef0d3ae95.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e3359386-7c08-4b84-9241-a47ef0d3ae95", - "type": "STRING", - "value": "All other bits of the SSP are not used and set to 0." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e3359386-7c08-4b84-9241-a47ef0d3ae95", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "e3359386-7c08-4b84-9241-a47ef0d3ae95" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e3e378dc-8bd3-4a4e-8612-e12b901716f8.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e3e378dc-8bd3-4a4e-8612-e12b901716f8.json deleted file mode 100644 index 2b913b1a6ed608cf9df96ec4e4122211a2ab1b82..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e3e378dc-8bd3-4a4e-8612-e12b901716f8.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e3e378dc-8bd3-4a4e-8612-e12b901716f8", - "type": "STRING", - "value": "

    2008<\/p>\n<\/td>\t\n

    SSEM port number of the transport protocol (see ETSI TS 103 248 [16])<\/p><\/td>" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e3e378dc-8bd3-4a4e-8612-e12b901716f8", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "e3e378dc-8bd3-4a4e-8612-e12b901716f8" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e43b478a-ba35-4122-859f-18ad5768a7ca.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e43b478a-ba35-4122-859f-18ad5768a7ca.json deleted file mode 100644 index ef4a9f62104871b74af73285cc2961940b16f4bf..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e43b478a-ba35-4122-859f-18ad5768a7ca.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "e43b478a-ba35-4122-859f-18ad5768a7ca", - "type": "STRING", - "value": "Location" - }}, - "uuid": "e43b478a-ba35-4122-859f-18ad5768a7ca" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e4cba9e5-2a65-4b7a-8caa-200865aad31e.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e4cba9e5-2a65-4b7a-8caa-200865aad31e.json deleted file mode 100644 index c11f7bc2dee69f71309453913a0aa55ec2ba2bc6..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e4cba9e5-2a65-4b7a-8caa-200865aad31e.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e4cba9e5-2a65-4b7a-8caa-200865aad31e", - "type": "STRING", - "value": "In this case, the IVI service shall generate a cancellation IVIM with the iviStatus<\/i> set to cancellation<\/i>. For the generation of a cancellation IVIM, the iviIdentificationNumber<\/i> shall be set to the iviIdentificationNumber<\/i> of the message for which the IVI service negation refers to; the service provider identification {IVIM.ivi.mandatory.serviceProviderId}<\/i> shall be set to the value of the originating Service Provider. The time stamp {IVIM.ivi.mandatory.TimeStamp} <\/i>shall be set to the value of the latest received IVI of the same \"iviIdentificationNumber\"." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e4cba9e5-2a65-4b7a-8caa-200865aad31e", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "e4cba9e5-2a65-4b7a-8caa-200865aad31e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e6a00a64-ce4e-417e-a7bf-a46c07290fcd.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e6a00a64-ce4e-417e-a7bf-a46c07290fcd.json deleted file mode 100644 index 0c7f8acbc508094bf37f29be1d41b68a2bcf30ff..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/e6a00a64-ce4e-417e-a7bf-a46c07290fcd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "e6a00a64-ce4e-417e-a7bf-a46c07290fcd", - "type": "STRING", - "value": "The timeStamp <\/i>represents the time stamp of the generation (if IviStatus set to<\/i> new<\/i>) or last change of information content (if iviStatus set to update<\/i>) by the Service Provider." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "e6a00a64-ce4e-417e-a7bf-a46c07290fcd", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "e6a00a64-ce4e-417e-a7bf-a46c07290fcd" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb.json deleted file mode 100644 index b97a027e9f7917ef0a1d2832c9bcf876f2e5c8ea..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb", - "type": "STRING", - "value": "2004" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ec702020-740d-4430-ba57-7b45b5d93273.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ec702020-740d-4430-ba57-7b45b5d93273.json deleted file mode 100644 index e1fcc0f6ebe7a8991751b25e590e23740aacdba4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ec702020-740d-4430-ba57-7b45b5d93273.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ec702020-740d-4430-ba57-7b45b5d93273", - "type": "STRING", - "value": "RLT service security parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ec702020-740d-4430-ba57-7b45b5d93273", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "ec702020-740d-4430-ba57-7b45b5d93273" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/f73eb6c1-2513-4e4a-a8d7-de4c80675bb4.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/f73eb6c1-2513-4e4a-a8d7-de4c80675bb4.json deleted file mode 100644 index 054a854c5efa47ec20e64dcd2247b68fb666cb35..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/f73eb6c1-2513-4e4a-a8d7-de4c80675bb4.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f73eb6c1-2513-4e4a-a8d7-de4c80675bb4", - "type": "STRING", - "value": "The ITS AID of the RLT service is allocated in [15]" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f73eb6c1-2513-4e4a-a8d7-de4c80675bb4", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "f73eb6c1-2513-4e4a-a8d7-de4c80675bb4" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/f85e8afe-948d-4164-9a06-70c8dc7b5ba9.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/f85e8afe-948d-4164-9a06-70c8dc7b5ba9.json deleted file mode 100644 index ad808561321f92f61d68ce845ec8dc588f317e0c..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/f85e8afe-948d-4164-9a06-70c8dc7b5ba9.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "f85e8afe-948d-4164-9a06-70c8dc7b5ba9", - "type": "STRING", - "value": "GeoBroadcast" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f85e8afe-948d-4164-9a06-70c8dc7b5ba9", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "f85e8afe-948d-4164-9a06-70c8dc7b5ba9" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fa90ddce-f302-4f09-ba88-09f938feb3fc.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fa90ddce-f302-4f09-ba88-09f938feb3fc.json deleted file mode 100644 index a988c855a75aca7af5617b3fc5d109ddb1a2989d..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fa90ddce-f302-4f09-ba88-09f938feb3fc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fa90ddce-f302-4f09-ba88-09f938feb3fc", - "type": "STRING", - "value": "An IVIM content is updated e.g. by the service provider. The ITS-S application provides the update information to the IVI service at the sending ITS-S. The IVI service shall then generate an update IVIM with the iviStatus<\/i> set to update<\/i>." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fa90ddce-f302-4f09-ba88-09f938feb3fc", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "fa90ddce-f302-4f09-ba88-09f938feb3fc" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fb47bcfb-85ca-4f88-985f-0053fa08c228.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fb47bcfb-85ca-4f88-985f-0053fa08c228.json deleted file mode 100644 index 510865fd648d7ac7920eb75f4e00b54528968066..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fb47bcfb-85ca-4f88-985f-0053fa08c228.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "fb47bcfb-85ca-4f88-985f-0053fa08c228", - "type": "STRING", - "value": "Location" - }}, - "uuid": "fb47bcfb-85ca-4f88-985f-0053fa08c228" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fe74fe56-0d8e-476a-972b-aae7246a2b3a.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fe74fe56-0d8e-476a-972b-aae7246a2b3a.json deleted file mode 100644 index 1171b0a124fe5e082b0236ddc13ed37ffa672adc..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/fe74fe56-0d8e-476a-972b-aae7246a2b3a.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "fe74fe56-0d8e-476a-972b-aae7246a2b3a", - "type": "STRING", - "value": "TLC service security parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "fe74fe56-0d8e-476a-972b-aae7246a2b3a", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "fe74fe56-0d8e-476a-972b-aae7246a2b3a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ffb90c26-8785-43c8-a067-454300b1482e.json b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ffb90c26-8785-43c8-a067-454300b1482e.json deleted file mode 100644 index e9e0b16c6ba27eb96499a6df20c51e2cada339bb..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml/ffb90c26-8785-43c8-a067-454300b1482e.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "ffb90c26-8785-43c8-a067-454300b1482e", - "type": "STRING", - "value": "The Service specific parameter shall be as defined in Table 6." - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ffb90c26-8785-43c8-a067-454300b1482e", - "type": "STRING", - "value": "Location" - } - }, - "uuid": "ffb90c26-8785-43c8-a067-454300b1482e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml_resources/TS103301_V104_clean.xhtml b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml_resources/TS103301_V104_clean.xhtml deleted file mode 100644 index e37307ab9c21c0f18c14c895c705342a0aec2319..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml_resources/TS103301_V104_clean.xhtml +++ /dev/null @@ -1,4602 +0,0 @@ - - - - - -</head> -<body> -<p class="header">Draft ETSI TS 103 301 V1.0.4 (2016-04)</p> -<p class="header">4</p> -<p class="header"/> -<p class="header"/> -<p class="zA"> -<a name="_GoBack"/>Draft ETSI TS 103 301 V1.0.4 (2016-04)</p> -<p class="zT">Intelligent Transport Systems (ITS);</p> -<p class="zT">Vehicular Communications;</p> -<p class="zT">Basic Set of Applications;</p> -<p class="zT">Facilities layer protocols and communication requirements</p> -<p class="zT">for infrastructure services</p> -<p class="zG"/> -<p class="zD"/> -<p class="zB"/> -<p/> -<p/> -<p/> -<p/> -<p/> -<p class="zB"/> -<p class="fP"/> -<p class="zB"> -<b>Technical Specification</b> -</p> -<p class="header"> -<img alt="ETSI_BG_final_new" src="embedded/image1.jpeg"/> -</p> -<p/> -<p class="footer"/> -<p class="footer"/> -<p class="fP">Reference</p> -<p class="fP">DTS/ITS-00166</p> -<p class="fP">Keywords</p> -<p class="fP">application, data, ITS, protocol, requirements</p> -<p/> -<p class="fP"> -<b> -<i>ETSI</i> -</b> -</p> -<p class="fP">650 Route des Lucioles</p> -<p class="fP">F-06921 Sophia Antipolis Cedex - FRANCE</p> -<p class="fP"/> -<p class="fP">Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16</p> -<p class="fP"/> -<p class="fP">Siret N° 348 623 562 00017 - NAF 742 C</p> -<p class="fP">Association à but non lucratif enregistrée à la</p> -<p class="fP">Sous-Préfecture de Grasse (06) N° 7803/88</p> -<p class="fP"/> -<p/> -<p/> -<p class="fP"> -<b> -<i>Important notice</i> -</b> -</p> -<p class="fP">The present document can be downloaded from:<br/> -<a href="http://www.etsi.org/standards-search">http://www.etsi.org/standards-search</a> -</p> -<p class="fP">The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat.</p> -<p class="fP">Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at <a href="https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx">https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx</a> -</p> -<p class="fP">If you find errors in the present document, please send your comment to one of the following services:<br/> -<a href="https://portal.etsi.org/People/CommiteeSupportStaff.aspx">https://portal.etsi.org/People/CommiteeSupportStaff.aspx</a> -</p> -<p class="fP"> -<b> -<i>Copyright Notification</i> -</b> -</p> -<p class="fP">Reproduction is only permitted for the purpose of standardization work undertaken within ETSI.<br/>The copyright and the foregoing restrictions extend to reproduction in all media.</p> -<p class="fP"/> -<p class="fP">© European Telecommunications Standards Institute 2016.</p> -<p class="fP">All rights reserved.<br/> -</p> -<p> -<b>DECT</b>TM, <b>PLUGTESTS</b>TM, <b>UMTS</b>TM and the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members.<br/> -<b>3GPP</b>TM and <b>LTE</b>â„¢ are Trade Marks of ETSI registered for the benefit of its Members and<br/>of the 3GPP Organizational Partners.<br/> -<b>GSM</b>® and the GSM logo are Trade Marks registered and owned by the GSM Association.</p> -<p> -<br/> -</p> -<p class="tT">Contents</p> -<p class="toc_1">Intellectual Property Rights 5</p> -<p class="toc_1">Foreword 5</p> -<p class="toc_1">Modal verbs terminology 5</p> -<p class="toc_1">Introduction 5</p> -<p class="toc_1">1 Scope 6</p> -<p class="toc_1">2 References 6</p> -<p class="toc_2">2.1 Normative references 6</p> -<p class="toc_2">2.2 Informative references 7</p> -<p class="toc_1">3 Definitions and abbreviations 7</p> -<p class="toc_2">3.1 Definitions 7</p> -<p class="toc_2">3.2 Abbreviations 8</p> -<p class="toc_1">4 Infrastructure services introduction and general requirements 9</p> -<p class="toc_2">4.1 Naming convention 9</p> -<p class="toc_2">4.2 Infrastructure services in the ITS communications architecture 9</p> -<p class="toc_2">4.3 Infrastructure services in the ITS organizational architecture 10</p> -<p class="toc_2">4.4 Interfaces of the infrastructure services 11</p> -<p class="toc_3">4.4.1 Interface between Application layer and Facilities layer 11</p> -<p class="toc_3">4.4.2 Interface between Facilities layer and Management entity 11</p> -<p class="toc_3">4.4.3 Interface between Facilities layer and Security entity 12</p> -<p class="toc_3">4.4.4 Interface between Facilities layer and the N&T layer 12</p> -<p class="toc_2">4.5 Common protocol requirements for infrastructure services 12</p> -<p class="toc_3">4.5.1 Security for messages used by infrastructure 12</p> -<p class="toc_3">4.5.2 Message payload encapsulation 12</p> -<p class="toc_3">4.5.3 Message encoding scheme 13</p> -<p class="toc_2">4.6 Protocol version 13</p> -<p class="toc_3">4.6.1 Protocol version definition 13</p> -<p class="toc_3">4.6.2 Protocol version handling 13</p> -<p class="toc_1">5 Traffic Light Maneuver (TLM) service 14</p> -<p class="toc_2">5.1 TLM service overview 14</p> -<p class="toc_2">5.2 TLM service 14</p> -<p class="toc_2">5.3 TLM service message and version 14</p> -<p class="toc_2">5.4 TLM service dissemination 14</p> -<p class="toc_3">5.4.1 TLM service identification 15</p> -<p class="toc_3">5.4.2 TLM service trigger, update, repetition and termination 15</p> -<p class="toc_3">5.4.3 TLM service communication requirements 15</p> -<p class="toc_4">5.4.3.1 TLM service communication overview 15</p> -<p class="toc_4">5.4.3.2 TLM service communication requirements for short range access technologies 15</p> -<p class="toc_4">5.4.3.3 TLM service communication requirements for long range communication 17</p> -<p class="toc_1">6 Road and Lane Topology (RLT) service 17</p> -<p class="toc_2">6.1 RLT service overview 17</p> -<p class="toc_2">6.2 RLT service 18</p> -<p class="toc_2">6.3 RLT service message and version 18</p> -<p class="toc_2">6.4 RLT service dissemination 19</p> -<p class="toc_3">6.4.1 RLT service identification 19</p> -<p class="toc_3">6.4.2 RLT service trigger, update, repetition and termination 19</p> -<p class="toc_3">6.4.3 RLT service communication requirements 19</p> -<p class="toc_4">6.4.3.1 RLT service communication overview 19</p> -<p class="toc_4">6.4.3.2 RLT service communication requirements for short range access technologies 19</p> -<p class="toc_4">6.4.3.3 RLT service dissemination parameters for long range communication 21</p> -<p class="toc_1">7 Infrastructure to Vehicle Information (IVI) service 21</p> -<p class="toc_2">7.1 IVI service overview 21</p> -<p class="toc_2">7.2 IVI service 21</p> -<p class="toc_2">7.3 IVI service message and version 22</p> -<p class="toc_2">7.4 IVI service dissemination 22</p> -<p class="toc_3">7.4.1 IVI service identification 22</p> -<p class="toc_3">7.4.2 IVI service trigger, update, repetition and termination 22</p> -<p class="toc_3">7.4.3 IVI service communication requirements 23</p> -<p class="toc_4">7.4.3.1 IVI service communication parameters for short-range communication 23</p> -<p class="toc_4">7.4.3.2 IVI service dissemination parameters for long-range communication 25</p> -<p class="toc_1">8 Traffic Light Control (TLC) service 26</p> -<p class="toc_2">8.1 TLC service overview 26</p> -<p class="toc_2">8.2 TLC service 27</p> -<p class="toc_2">8.3 TLC service message and version 27</p> -<p class="toc_2">8.4 TLC service dissemination 28</p> -<p class="toc_3">8.4.1 TLC service identification 28</p> -<p class="toc_3">8.4.2 TLC service trigger, update, repetition and termination 28</p> -<p class="toc_3">8.4.3 TLC service communication parameters 28</p> -<p class="toc_4">8.4.3.1 TLC service service communication overview 28</p> -<p class="toc_4">8.4.3.2 TLC service communication parameters for short range access technologies 29</p> -<p class="toc_4">8.4.3.3 TLC service communication parameters for long range communication 31</p> -<p class="toc_1">9 Basic services running on ITS infrastructure devices 32</p> -<p class="toc_2">9.1 Basic service overview 32</p> -<p class="toc_2">9.2 DEN service on ITS infrastructure devices 32</p> -<p class="toc_2">9.3 CA service on ITS infrastructure devices 32</p> -<p class="toc_1">10 Communication Parameter Settings 33</p> -<p class="toc_2">10.1 Overview 33</p> -<p class="toc_2">10.2 CPS_001 33</p> -<p class="toc_2">10.3 CPS_002 34</p> -<p class="toc_2">10.4 CPS_003 34</p> -<p class="toc_2">10.5 CPS_004 35</p> -<p class="toc_2">10.6 CPS_005 35</p> -<p class="toc_1">11 Security Profile 35</p> -<p class="toc_8">Annex A (normative): ASN.1 specification of SPATEM 36</p> -<p class="toc_8">Annex B (normative): ASN.1 specification of MAPEM 37</p> -<p class="toc_8">Annex C (normative): ASN.1 specification of IVIM 38</p> -<p class="toc_8">Annex D (normative): ASN.1 specification of SREM 39</p> -<p class="toc_8">Annex E (normative): ASN.1 specification of SSEM 40</p> -<p class="toc_8">Annex F (informative): Bibliography 41</p> -<p class="toc_1">History 42</p> -<p/> -<p> -<br/> -</p> -<h1> -<a name="_Toc442882188"/> -<a name="_Toc442882417"/> -<a name="_Toc442965230"/> -<a name="_Toc455389572"/>Intellectual Property Rights</h1> -<p> -<a name="For_tbname"/>IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publicly available for <b>ETSI members and non-members</b>, and can be found in ETSI SR 000 314: <i>"Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards"</i>, which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web server (<a href="https://ipr.etsi.org/">https://ipr.etsi.org/</a>).</p> -<p>Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become, essential to the present document.</p> -<h1> -<a name="_Toc442882189"/> -<a name="_Toc442882418"/> -<a name="_Toc442965231"/> -<a name="_Toc455389573"/>Foreword</h1> -<p>This Technical Specification (TS) has been produced by ETSI Technical Committee Intelligent Transport Systems (ITS).</p> -<p>The present document includes the integration of infrastructure based application protocols within the ITS message environment.</p> -<h1> -<a name="_Toc441580672"/> -<a name="_Toc442882190"/> -<a name="_Toc442882419"/> -<a name="_Toc442965232"/> -<a name="_Toc455389574"/>Modal verbs terminology</h1> -<p>In the present document "<b>shall</b>", "<b>shall not</b>", "<b>should</b>", "<b>should not</b>", "<b>may</b>", "<b>need not</b>", "<b>will</b>", "<b>will not</b>", "<b>can</b>" and "<b>cannot</b>" are to be interpreted as described in clause 3.2 of the <a href="https://portal.etsi.org/Services/editHelp%21/Howtostart/ETSIDraftingRules.aspx">ETSI Drafting Rules</a> (Verbal forms for the expression of provisions).</p> -<p>"<b>must</b>" and "<b>must not</b>" are <b>NOT</b> allowed in ETSI deliverables except when used in direct citation.</p> -<h1> -<a name="_Toc442882191"/> -<a name="_Toc442882420"/> -<a name="_Toc442965233"/> -<a name="_Toc455389575"/>Introduction</h1> -<p>The infrastructure services are application support facilities provided by the Facilities layer that construct, manage and process messages distributed from infrastructure to end-users or vice-versa based on payload received from the application. The infrastructure services specified in the present document support infrastructure-based applications in order to achieve communication interoperability, and may be implemented in parallel to other services in an ITS-S.</p> -<p> -<br/> -</p> -<h1> -<a name="_Toc442882192"/> -<a name="_Toc442882421"/> -<a name="_Toc442965234"/> -<a name="_Toc455389576"/>1 Scope</h1> -<p>The present document provides specifications of infrastructure related ITS services to support communication between infrastructure ITS equipment and traffic participants using ITS equipment (e.g. vehicles, pedestrians). It defines services in the Facilities layer for communication between the infrastructure and traffic participants. The specifications covers the protocol handling for infrastructure-related messages as well as requirements to lower layer protocols and to the security entity.</p> -<h1> -<a name="_Toc442882193"/> -<a name="_Toc442882422"/> -<a name="_Toc442965235"/> -<a name="_Toc455389577"/>2 References</h1> -<h2> -<a name="_Toc442882194"/> -<a name="_Toc442882423"/> -<a name="_Toc442965236"/> -<a name="_Toc455389578"/>2.1 Normative references</h2> -<p>References are either specific (identified by date of publication and/or edition number or version number) or nonspecific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies.</p> -<p>Referenced documents which are not found to be publicly available in the expected location might be found at <a href="https://docbox.etsi.org/Reference/">https://docbox.etsi.org/Reference/</a>.</p> -<p class="nO">NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity.</p> -<p>The following referenced documents are necessary for the application of the present document.</p> -<p class="eX"> -<a name="REF_EN302665"/>[1] ETSI EN 302 665 (V1.1.1): "Intelligent Transport Systems (ITS); Communications Architecture".</p> -<p class="eX"> -<a name="REF_TS102894_2"/>[2] ETSI TS 102 894-2 (V1.2.1): "Intelligent Transport Systems (ITS); Users and applications requirements; Part 2: Applications and facilities layer common data dictionary".</p> -<p class="eX"> -<a name="REF_EN302636_4_1"/>[3] ETSI EN 302 636-4-1 (V1.2.1): "Intelligent Transport Systems (ITS); Vehicular Communications; GeoNetworking; Part 4: Geographical addressing and forwarding for point-to-point and pointtomultipoint communications; Sub-part 1: Media-Independent Functionality".</p> -<p class="eX"> -<a name="REF_EN302636_5_1"/>[4] ETSI EN 302 636-5-1 (V1.2.1): "Intelligent Transport Systems (ITS); Vehicular Communications; GeoNetworking; Part 5: Transport Protocols; Sub-part 1: Basic Transport Protocol".</p> -<p class="eX"> -<a name="REF_EN302636_6_1"/>[5] ETSI EN 302 636-6-1 (V1.2.1): "Intelligent Transport Systems (ITS); Vehicular Communications; GeoNetworking; Part 6: Internet Integration; Sub-part 1: Transmission of IPv6 Packets over GeoNetworking Protocols ".</p> -<p class="eX"> -<a name="REF_TS103097"/>[6] ETSI TS 103 097 (V1.2.1): "Intelligent Transport Systems (ITS); Security; Security header and certificate formats".</p> -<p class="eX"> -<a name="REF_CENISOTS19321_2015"/>[7] CEN ISO/TS 19321-2015: "Intelligent transport systems – Cooperative ITS – Dictionary of in-vehicle information (IVI) data structures".</p> -<p class="eX"> -<a name="REF_CENISOTS19091"/>[8] CEN ISO/TS 19091: "Intelligent transport systems - Cooperative ITS - Using V2I and I2V communications for applications related to signalized intersections".</p> -<p class="eX"> -<a name="REF_EN302931"/>[9] ETSI EN 302 931 (V1.1.1): "Intelligent Transport Systems (ITS); Vehicular Communications; Geographical Area Definition".</p> -<p class="eX"> -<a name="REF_ISOTS17427"/>[10] ISO/TS 17427:2014: "Intelligent transport systems - Cooperative systems - Roles and responsibilities in the context of cooperative ITS based on architecture(s) for cooperative systems".</p> -<p class="eX"> -<a name="REF_TS102723_5"/>[11] ETSI TS 102 723-5 (V1.1.1): "Intelligent Transport Systems (ITS); OSI cross-layer topics; Part 5: Interface between management entity and facilities layer".</p> -<p class="eX"> -<a name="REF_ITU_TX691"/>[12] Recommendation ITU-T X.691/ISO/IEC 8825-2 (1997-12): "Information technology - ASN.1 encoding rules: Specification of Packed Encoding Rules (PER)".</p> -<p class="eX"> -<a name="REF_EN302637_2"/>[13] ETSI EN 302 637-2 (V1.3.2): "Intelligent Transport Systems (ITS); Vehicular Communications; Basic Set of Applications; Part 2: Specification of Cooperative Awareness Basic Service".</p> -<p class="eX"> -<a name="REF_EN302637_3"/>[14] ETSI EN 302 637-3 (V1.2.2): "Intelligent Transport Systems (ITS); Vehicular Communications; Basic Set of Applications; Part 3: Specifications of Decentralized Environmental Notification Basic Service".</p> -<p class="eX"> -<a name="REF_ISO17419"/>[15] ISO TS17419 V2016-02-09: "ITS-AID_AssignedNumbers" (<a href="http://standards.iso.org/iso/ts/17419/TS17419%20Assigned%20Numbers/TS17419_ITS-AID_AssignedNumbers.pdf">http://standards.iso.org/iso/ts/17419/TS17419%20Assigned%20Numbers/TS17419_ITS-AID_AssignedNumbers.pdf</a>)</p> -<p class="eX"> -<a name="REF_TS103248"/>[16] ETSI TS 103 248 (V1.0.0): "Intelligent Transport Systems (ITS); GeoNetworking; Port Numbers for the Basic Transport Protocol (BTP)".</p> -<p class="eX"/> -<h2> -<a name="_Toc442882195"/> -<a name="_Toc442882424"/> -<a name="_Toc442965237"/> -<a name="_Toc455389579"/>2.2 Informative references</h2> -<p>References are either specific (identified by date of publication and/or edition number or version number) or nonspecific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies.</p> -<p class="nO">NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity.</p> -<p>The following referenced documents are not necessary for the application of the present document but they assist the user with regard to a particular subject area.</p> -<p class="eX"> -<a name="REF_TR102965"/>[i.1] ETSI TS 102 965 (V1.2.1): "Intelligent Transport Systems (ITS); Application object identifier (ITS-AID); Registration list".</p> -<p class="eX"> -<a name="REF_ISOTS17423"/> [i.2] ISO/TS 17423:2014: "Intelligent Transport Systems – Cooperative Systems – Application requirements for selection of communication profiles".</p> -<p class="eX"> -<a name="REF_ISO14823"/>[i.3] ISO/TS 14823: "Traffic and travel information – Messages via media independent stationary dissemination systems – Graphic data dictionary for pre-trip and in-trip information dissemination systems".</p> -<p class="eX"> -<a name="REF_IEEE80211ABGN"/>[i.4] IEEE 802.11-2012: "IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks-Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications".</p> -<p class="eX"> -<a name="REF_ISO14832"/>[i.5] ISO EN 14823: " Intelligent transport systems – Graphic data dictionary".</p> -<p class="eX"> -<a name="REF_TS102723_9"/>[i.6] ETSI TS 102 723-9: "Intelligent Transport Systems; OSI cross-layer topics; Part 9: Interface between security entity and facilities layer".</p> -<p class="eX">[i.7] IETF Internet-Draft “Transport Layer Security (TLS) Authentication using ITS ETSI and IEEE certificatesâ€, draft-lonc-tls-certieee1609-01.txt</p> -<p class="eX"/> -<h1> -<a name="_Toc442882196"/> -<a name="_Toc442882425"/> -<a name="_Toc442965238"/> -<a name="_Toc455389580"/>3 Definitions and abbreviations</h1> -<h2> -<a name="_Toc455389581"/>3.1 Definitions</h2> -<p>For the purposes of the present document, the following terms and definitions apply:</p> -<p> -<b>Destination area:</b> geographic area in which a message is disseminated</p> -<p class="nO">NOTE: The definition is compliant to ETSI EN 302 637-3 [14].</p> -<p> -<b>Driver awareness zone:</b> area in which the driver will be informed about upcoming situations</p> -<p class="nO">NOTE: The definition is compliant to ISO/TS 19321 [7].</p> -<p> -<b>Minimum dissemination area:</b> minimum area where an information is disseminated by an ITS-S based on application requirements</p> -<p>NOTE: The definition is compliant to ISO/TS 19321 [7].</p> -<p> -<b>Relevance zone:</b> area where the information is applicable</p> -<p>NOTE: The definition is compliant to ISO/TS 19321 [7].</p> -<p> -<b>Long range:</b> Communication with coverage of more than 500 meters (e.g. cellular systems)</p> -<p> -<b>MAPEM:</b> Road/lane topology and traffic maneuver message</p> -<p class="nO">NOTE: As defined in Annex B including the corresponding extensions defined in ISO/TS 19091 [8].</p> -<p> -<b>Short range:</b> Communication with coverage of approximately 500 meters (e.g. WiFi)</p> -<p> -<b>ITS-G5: </b>access technology to be used in frequency bands dedicated for European intelligent transport System (ITS)</p> -<h2> -<a name="_Toc455389582"/>3.2 Abbreviations</h2> -<p>For the purposes of the present document, the following abbreviations apply:</p> -<p class="eW">ADU Application Data Unit</p> -<p class="eW">AID Action Identifier</p> -<p class="eW">APU Application Protocol Unit</p> -<p class="eW">ASN Anstract Syntax Notation</p> -<p class="eW">BTP Basic Transport Protocol</p> -<p class="eW">CA Certifiaction Authority</p> -<p class="eW">C-ITS Cooperative ITS</p> -<p class="eX">C-ITS-S Cooperative ITS-S</p> -<p class="nO">NOTE: Server managing R-ITS-S roadside station.</p> -<p class="eW">DAZ Driver Awareness Zone</p> -<p class="eW">DE Data Element</p> -<p class="eW">DEN Decentralized Environmental Notification</p> -<p class="eW">DENM DEN Message</p> -<p class="eW">GBC GeoBroadCast</p> -<p class="eW">GN GeoNetworking</p> -<p class="eW">GPCH General Purpose CHannel</p> -<p class="eW">ITS-AID ITSApplication Identifier</p> -<p class="eW">ITIS International Traveler Information Systems</p> -<p class="eW">ITS Intelligent Transport System</p> -<p class="eW">ITS-S ITS Station</p> -<p class="eW">ITS-SCP ITS-S Communication Profile</p> -<p class="eW">ITU-T International Telecommunication Union – Telecommunication</p> -<p class="eX">IVI Infrastructure to Vehicle Information</p> -<p class="nO">NOTE: As defined in clause 7.</p> -<p class="eX">IVIM Infrastructure to Vehicle Information Message</p> -<p class="nO">NOTE: As defined in Annex C.</p> -<p class="eX">MDA Minimum Dissemination Area</p> -<p class="eW">MF-SAP Management Facilities layer SAP</p> -<p class="eW">MSB Most Significant Bit</p> -<p class="eX">MTU Maximum Transmit Unit</p> -<p class="nO">NOTE: E.g. 1 500 bytes on Ethernet.</p> -<p class="eW">PDU Protocol Data Unit</p> -<p class="eW">PER Packet Encoding Rule</p> -<p class="eW">R-ITS-S Roadside ITS Station</p> -<p class="eX">RLT Road and Lane Topology</p> -<p class="nO">NOTE: As defined in clause 6.</p> -<p class="eX">RZ Relevance Zone</p> -<p class="eW">SAP Service Access Primitive</p> -<p class="eW">SCH Service Channel </p> -<p class="eW">SHB Single Hop Broadcast</p> -<p class="eX">SPATEM Signal Phase And Timing Message</p> -<p class="nO">NOTE: As defined in Annex A including the corresponding extensions defined in ISO/TS 19091 [8].</p> -<p class="eX">SREM Signal Request Message</p> -<p class="nO">NOTE: As defined in Annex B including the corresponding extensions defined in ISO/TS 19091 [8].</p> -<p class="eX">SSEM Signal Request Status Message</p> -<p class="nO">NOTE As defined in Annex B including the corresponding extensions defined in ISO/TS 19091 [8].</p> -<p class="eW">SSP Service Specific Permissions</p> -<p class="eW">TCC Traffic Control Center</p> -<p class="eX">TLC Traffic Light Control</p> -<p class="nO">NOTE: As defined in clause 8.</p> -<p class="eW">TLM Traffic Light Maneuver</p> -<p class="eW">TSB Topological Scope Broadcast</p> -<p class="eW">UDP User Datagram Protocol</p> -<p class="eX">V-ITS-S Vehicular and personal ITS Station</p> -<p class="nO">NOTE: In this present document the abbreviation V-ITS-S represents all ITS based equipment used by the end user.</p> -<p class="eX">WLAN Wireless Local Area Network</p> -<h1> -<a name="_Toc442882197"/> -<a name="_Toc442882426"/> -<a name="_Toc442965239"/> -<a name="_Toc455389583"/>4 Infrastructure services introduction and general requirements</h1> -<h2> -<a name="_Toc442882198"/> -<a name="_Toc442882427"/> -<a name="_Toc442965240"/> -<a name="_Toc455389584"/>4.1 Naming convention</h2> -<p>Within the scope of the present document, the term message refers to the Facilities layer PDU; the term payload refers to the applications layer ADU. The payload is generated by the application and provided to the corresponding service of the Facilities layer. The Facilities service merges the <i>ItsPduHeader</i> (ETSI TS102 894-2 [2]) with the payload, in order to construct a message. The message is then delivered to the Networking & Transport layer with a set of communication parameters.</p> -<p class="nO">NOTE: In other standards referred by the present document, the term message, payload, data structure may have different meanings e.g. in ISO/TS 19091 [8] and in ISO/TS 19321 [7]. Therefore, the current convention is defined for clarification purpose.</p> -<h2> -<a name="clause_Infrastr_services_in_the_ITS"/> -<a name="_Toc442882199"/> -<a name="_Toc442882428"/> -<a name="_Toc442965241"/> -<a name="_Toc455389585"/>4.2 Infrastructure services in the ITS communications architecture</h2> -<p>The infrastructure services refer to Facilities layer entities that manage the generation, transmission and reception of infrastructure-related messages from the infrastructure (C-ITS-S or R-ITS-S) to V-ITS-S or vice-versa. Figure 1 illustrates a high level functional architecture of the infrastructure services within the ITS communication architecture, as specified in ETSI EN 302 665 [1]. The messages are Facilities layer PDUs that are exchanged among ITS-Ss. The payload is generated by ITS applications in the transmitting ITS-S or other connected ITS-S (e.g. a C-ITS-S). At the transmitting ITS-S, the transmission of a message is triggered by applications or by forwarding mechanisms. For this purpose, the applications may connect to other entities of the Facilities layer or to external entities, in order to collect relevant information for the generation of the payload. Once the message is generated, the services may repeat the transmission, until the applications requests the termination of the transmission, or trigger another request to generate updated messages. At the receiving ITS-S, the messages are processed by the services and the content of the message is delivered to applications or to other Facilities layer entity. In one typical application, the message is transmitted by an RITS-S and disseminated to V-ITS-S within a target destination area, in which the information included in the message is considered as relevant to traffic participants.</p> -<p>In the scope of the present document, the infrastructure services supports the management of the following message types. As result, the infrastructure services include a set of service entities as listed below:</p> -<p class="b1+">SPATEM as defined in Annex A. The corresponding service entity is referred as "Traffic Light Maneuver" - TLM service in the present document. TLM service is specified in clause 5 of the present document.</p> -<p class="b1+">MAPEM as defined in Annex B. The corresponding service entity is referred as "Road and Lane Topology" - RLT service in the present document. RLT service is specified in clause 6 of the present document.</p> -<p class="b1+">IVIM as defined in Annex C. The corresponding service entity is referred as "Infrastructure to Vehicle Information" - IVI service in the present document. IVI service is specified in clause 7 of the present document.</p> -<p class="b1+">SREM as specified in Annex D. The corresponding service entity is referred as "Traffic Light Control" - TLC service in the present document. TLC service is specified in clause 8 of the present document.</p> -<p class="b1+">SSEM as specified in Annex E. The corresponding service is referred as " Traffic Light Control" - TLC service in the present document. TLC service is specified in clause 8 of the present document.</p> -<p class="nO">NOTE: Other messages may be supported by infrastructure services in the future.</p> -<p class="fL"> -<div class="embedded" id="rId18"/> -</p> -<p class="tF"> -<a name="_Ref326015634"/>Figure 1: Infrastructure services within the ITS-S architecture</p> -<p>The infrastructure service shall provide at least the following functions.</p> -<p>For the transmission service:</p> -<p class="b1+">Message encoding;</p> -<p class="b1+">Transmission management.</p> -<p>For the reception service:</p> -<p class="b1+">Message decoding;</p> -<p class="b1+">Reception management.</p> -<h2> -<a name="_Toc442882200"/> -<a name="_Toc442882429"/> -<a name="_Toc442965242"/> -<a name="_Toc455389586"/>4.3 Infrastructure services in the ITS organizational architecture</h2> -<p>Within the role "System Operation" as defined in ISO/TS 17427 [10], the following sub roles are relevant for the infrastructure services:</p> -<p class="b1+">"Content Provision" is responsible for generating the information that is conveyed in the message. This task is included in any application providing information to the application which generates the payload.</p> -<p class="b1+">"Service Provision" is responsible for the generation of the payload and the transmission of the message using an ITS-S. This task is managed by the application making use of the infrastructure services.</p> -<p class="b1+">"Service Presentation" is responsible for the reception of the messages and its processing and presentation. This task is managed by the infrastructure services and the application.</p> -<p class="fL"> -<img alt="" src="embedded/image3.emf"/> -</p> -<p class="tF">Figure 2: Identification of sub-roles of the role system (lifecycle)<br/>operation in the ITS organizational architecture</p> -<h2> -<a name="_Toc442882201"/> -<a name="_Toc442882430"/> -<a name="_Toc442965243"/> -<a name="_Toc455389587"/>4.4 Interfaces of the infrastructure services</h2> -<h3> -<a name="_Toc442882202"/> -<a name="_Toc442882431"/> -<a name="_Toc442965244"/> -<a name="_Toc455389588"/>4.4.1 Interface between Application layer and Facilities layer</h3> -<p>The infrastructure services within the Facilities layer provide APIs to applications for the processing of the payload at the transmitting ITS-S and the receiving ITS-S. An application may execute requests to the infrastructure services in the Facilities layer to trigger, update or terminate transmission of a message. In addition, a set of Facilities control information is passed as specified in table 1.</p> -<p>Table 1 presents the Facilities control Information (SAP primitives) contained in an application request.</p> -<p class="tH"> -<a name="_Ref414288410"/>Table 1: Facilities control information (SAP primitives)</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Category</p> -</td> <td> -<p class="tAH">Data</p> -</td> <td> -<p class="tAH">Definition</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Data passed from application to infrastructure services</p> -</td> <td> -<p class="tAL">Infrastructure message identification</p> -</td> <td> -<p class="tAL">Identification of the message</p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">Request type</p> -</td> <td> -<p class="tAL">Trigger, update or ending of transmission</p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">Dissemination parameter</p> -</td> <td> -<p class="tAL">For more details see the dissemination profile for each service in the clauses 5 to 8</p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">Traffic class</p> -</td> <td> -<p class="tAL">GN traffic class as defined in ETSI EN 302 636-4-1 [3], if GeoNetworking/BTP is used</p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">Payload</p> -</td> <td> -<p class="tAL">Information contained in payload</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Data returned from I2V service to the requesting application</p> -</td> <td> -<p class="tAL">actionID or<br/>other applicable identifier</p> -</td> <td> -<p class="tAL">The infrastructure service returns the message identification or other applicable identifier created by the infrastructure service to the requesting application</p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">Failure notification</p> -</td> <td> -<p class="tAL">The infrastructure service returns a failure notification to the requesting application</p> -</td> -</tr> -</tbody> -</table> -<p/> -<h3> -<a name="_Toc442882203"/> -<a name="_Toc442882432"/> -<a name="_Toc442965245"/> -<a name="_Toc455389589"/>4.4.2 Interface between Facilities layer and Management entity</h3> -<p>The infrastructure services may exchange information with the Management entity. This includes the default service communication parameters specified in clauses 5 to 8. The interface MF-SAP may be realized as the MF-SAP ETSI TS 102 723-5 [11].</p> -<h3> -<a name="_Toc442882204"/> -<a name="_Toc442882433"/> -<a name="_Toc442965246"/> -<a name="_Toc455389590"/>4.4.3 Interface between Facilities layer and Security entity</h3> -<p>The infrastructure service may exchange information with the Security entity. The interface SF-SAP may be realized as the SF-SAP ETSI TS 102 723-9 [i.6].</p> -<h3> -<a name="_Toc442882205"/> -<a name="_Toc442882434"/> -<a name="_Toc442965247"/> -<a name="_Toc455389591"/>4.4.4 Interface between Facilities layer and the N&T layer</h3> -<p>The infrastructure services deliver the message as payload to the Networking & Transport Layer for dissemination via the NF-SAP.</p> -<p>The Networking & Transport Layer indicates the reception of an ITS message to the infrastructure services.</p> -<h2> -<a name="_Toc442882206"/> -<a name="_Toc442882435"/> -<a name="_Toc442965248"/> -<a name="_Toc455389592"/>4.5 Common protocol requirements for infrastructure services</h2> -<h3> -<a name="_Toc442882207"/> -<a name="_Toc442882436"/> -<a name="_Toc442965249"/> -<a name="_Toc455389593"/>4.5.1 Security for messages used by infrastructure</h3> -<p>The security mechanisms for messages used by the infrastructure service as specified in the present document shall use the message authentication with signatures to be verified at the receiving ITS-S with public keys contained in certificates. A certificate indicates its holder's permissions, i.e. what statements the holder is allowed to make or privileges it is allowed to assert in a message signed by that certificate. The format for the certificates shall be as specified in ETSI TS103 097 [6].</p> -<p>Service permissions are indicated by a pair of identifiers within a certificate, the ITS-AID and the SSP. The ITSApplication Identifier (ITS-AID) as given in ETSI TS 102 965 [i.1] indicates the overall type of permissions being granted.</p> -<p>The Service Specific Permissions (SSP) is a field that indicates specific sets of permissions within the overall permissions indicated by the ITS-AID. The originating ITS-S shall provide SSP information in its certificate for all generated, signed messages. The SSP permissions are defined for each message in the corresponding clause. The common approach that is used for all messages is that the SSP information is constructed out of N octets with a maximum length as specified in ETSI TS 103 097 [6]. For each octet, the most significant bit (MSB) shall be the leftmost bit. The transmission order shall always be the MSB first. <span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"><a class="requality_id" id="id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac" name="c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"/>The first octet shall control the SSP version and be interpreted in the following way:</span></p><span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"> -</span><p class="eX"><span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac">0: No version, length 1 octet; the value shall only be used for testing purposes.</span></p><span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"> -</span><p class="eX"><span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac">1: First version, SSP contains information as defined in the present document.</span></p><span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"> -</span><p class="eX"><span class="requality_text id_c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac">2 to 255: Reserved for future usage.</span></p> -<p><span class="requality_text id_02e92920-4241-4fd0-bb41-5e09fb7402ca"><a class="requality_id" id="id_02e92920-4241-4fd0-bb41-5e09fb7402ca" name="02e92920-4241-4fd0-bb41-5e09fb7402ca"/>At reception of a message, the ITS-S shall check whether the message content is consistent with the SSP contained in the certificate in its signature. If the consistency check fails, the message shall be discarded.</span></p> -<h3> -<a name="_Toc442882208"/> -<a name="_Toc442882437"/> -<a name="_Toc442965250"/> -<a name="_Toc455389594"/>4.5.2 Message payload encapsulation</h3> -<p>The <i>ItsPduHeader</i> header as defined in ETSI TS102 894-2 [2] shall be used to encapsulate the payload in order to construct messages. The ITS PDU header includes the following elements:</p> -<p class="b1+"> -<i>protocolVersion</i>: Version of the ITS payload contained in the message as defined for the specific infrastructure service.</p> -<p class="b1+"> -<i>messageID</i>: Type of the ITS payload contained in the message as defined for the specific infrastructure service.</p> -<p class="b1+"> -<i>stationID</i>: Identifier of the ITS-S that generated the message.</p> -<p>The <i>messageID</i> data element allows the receiver to identify the ITS message and to make it available to the corresponding Facilities layer service.</p> -<p>The <i>protocolVersion</i> data element allows the receiver to correctly deal with different versions of the protocol specification for the message.</p> -<p>More detailed information is covered in the Annexes A to E.</p> -<h3> -<a name="_Toc442882209"/> -<a name="_Toc442882438"/> -<a name="_Toc442965251"/> -<a name="_Toc455389595"/>4.5.3 Message encoding scheme </h3> -<p>Unless specified otherwise, the Unaligned PER encoding scheme as specified in Recommendation ITU-T X.691 [12] shall be used for the encoding of the messages specified in the present document.</p> -<h2> -<a name="_Toc442882210"/> -<a name="_Toc442882439"/> -<a name="_Toc442965252"/> -<a name="_Toc455389596"/>4.6 Protocol version</h2> -<h3> -<a name="_Toc442882211"/> -<a name="_Toc442882440"/> -<a name="_Toc442965253"/> -<a name="_Toc455389597"/>4.6.1 Protocol version definition</h3> -<p>The value of the protocol version for the messages SPATEM, MAPEM, IVIM, SREM, SSEM is individual and independent of each other. It is defined in the <i>ItsPduHeader</i> for each message and identified by the <i>protocolVersion</i> data element (see clauses 5 to 8).</p> -<h3> -<a name="_Toc442882212"/> -<a name="_Toc442882441"/> -<a name="_Toc442965254"/> -<a name="_Toc455389598"/>4.6.2 Protocol version handling</h3> -<p>If the ASN.1 definition of the protocol is extended without compromising the backwards compatibility, the data element <i>protocolVersion</i> will not be increased. This allows the receiving ITS-S to process the message correctly (except the extnsions) without the need for immediate update. An update for protocol interoperability is not needed, unless the receiving ITS-Station is intended to correctly interpret also the added extensions.</p> -<p>The <i>protocolVersion</i> data element is increased only in case of non-backwards compatible changes in the protocol specification to allow the receiving ITS-S to handle the message appropriately.</p> -<p>An example of how a receiving ITS-Station deals with messages according to the <i>protocolVersion</i> data element is shown in Table 2.</p> -<p>In the example the Version "V1" is the published version (<i>protocolVersion</i> = 1). Private extensions indicate extensions that are either not standardized or only recognized in a specific application context, e.g. applications implementing extensions for usage within local geographical regions. Version "V2" indicates a published, nonbackwards compatible extension (<i>protocolVersion</i> = 2).</p> -<p>It is recommended that all changes to the protocol specification are additions using the ASN.1 extensions mechanism. These can be:</p> -<p class="b1+">Private (non-standardized) extensions: the support for this is limited and its use is discouraged.</p> -<p class="b1+">Standardized extensions as part as new version of published standards.</p> -<p class="tH"> -<a name="_Ref440282843"/>Table 2: Example for handlingof messages with different protocol versions</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Sending ITS-S</p> -<p class="tAH">Implemented version of the protocol</p> -</td> <td> -<p class="tAH">Receiving ITS-S</p> -<p class="tAH">Implemented version of the protocol</p> -</td> <td> -<p class="tAH">Receiving ITS-S</p> -<p class="tAH">Decoding result</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V1</p> -</td> <td> -<p class="tAL">V1</p> -</td> <td> -<p class="tAL">Support of V1</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V1 with private extensions</p> -</td> <td> -<p class="tAL">V1</p> -</td> <td> -<p class="tAL">Support of V1 and<br/>no support of private extensions</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V1 with private extensions</p> -</td> <td> -<p class="tAL">V1 with same private extensions as the sending ITS-S</p> -</td> <td> -<p class="tAL">Support of V1 and<br/>and support of private extensions from the sending ITS-S</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V1 with private extensions</p> -</td> <td> -<p class="tAL">V1 with other private extensions as the sending ITS-S</p> -</td> <td> -<p class="tAL">Support of V1 and<br/>no support of private extensions from the sending ITS-S</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V1 with private extensions</p> -</td> <td> -<p class="tAL">V2</p> -</td> <td> -<p class="tAL">No support of V1 and<br/>no support of private V1 extensions</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V2 (V1 with published extensions, included after the extension mark)</p> -</td> <td> -<p class="tAL">V1</p> -</td> <td> -<p class="tAL">Support of V1</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V2 (V1 with published extensions, included after extension mark)</p> -</td> <td> -<p class="tAL">V2 with published extensions</p> -</td> <td> -<p class="tAL">Support of V2</p> -</td> -</tr> -<tr> <td> -<p class="tAL">V2 (changes in the data elements, included before the extension mark)</p> -</td> <td> -<p class="tAL">V2</p> -</td> <td> -<p class="tAL">No support of V2</p> -</td> -</tr> -</tbody> -</table> -<p/> -<h1> -<a name="clause_TLM_service"/> -<a name="_Toc442882213"/> -<a name="_Toc442882442"/> -<a name="_Toc442965255"/> -<a name="_Toc455389599"/><span class="requality_text id_8724cfcb-6374-41c4-993d-1b5c319eb8cf"><a class="requality_id" id="id_8724cfcb-6374-41c4-993d-1b5c319eb8cf" name="8724cfcb-6374-41c4-993d-1b5c319eb8cf"/>5 Traffic Light Maneuver (TLM) service</span></h1> -<h2> -<a name="_Toc442882214"/> -<a name="_Toc442882443"/> -<a name="_Toc442965256"/> -<a name="_Toc455389600"/>5.1 TLM service overview</h2> -<p>The TLM service is one instantiation of the infrastructure services to manage the generation, transmission and reception of SPATEM messages. The TLM service includes safety-related information for supporting traffic participants (vehicles, pedestrians, etc.) to execute safe maneuvers in an intersection area. The goal is to enter and exit an intersection "conflict area" in a controlled way. The TLM service informs in real-time about the operational states of the traffic light controller, the current signal state, the residual time of the state before changing to the next state, the allowed maneuvers and provides assistance for crossing. Additionally the TLM service foresees the inclusion of detailed green way advisory information and the status for public transport prioritization.</p> -<p class="fL"> -<div class="embedded" id="rId21"/> -</p> -<p class="tF"> -<a name="_Ref415031170"/>Figure 3: Signaling status of the maneuvers in an intersection</p> -<p>Figure 3 gives an example of the TLM service describing the driving permissions given to the traffic streams. The connection lanes (see clause 6), which describe the allowed maneuver, are highlighted based on the signaling status of the traffic light controller. The status information (e.g. "stop", "go") transmitted by the traffic controller is depicted in Figure 3 with red and green connection lines, respectively.</p> -<h2> -<a name="_Toc442882215"/> -<a name="_Toc442882444"/> -<a name="_Toc442965257"/> -<a name="_Toc455389601"/>5.2 TLM service</h2> -<p>The TLM service instantiated in an ITS-Station shall provide the communication services defined in clause 4.2.</p> -<h2> -<a name="_Toc442882216"/> -<a name="_Toc442882445"/> -<a name="_Toc442965258"/> -<a name="_Toc455389602"/>5.3 TLM service message and version</h2> -<p>The TLM service shall use the message SPATEM as defined in Annex A. The header of SPATEM shall be as specified in the data dictionary ETSI TS 102 894-2 [2]. The data elements of SPATEM payload shall be as specified in ISO/TS 19091 [8].</p> -<p><span class="requality_text id_d5639917-0102-42fe-9b78-eb662d5f982d"><a class="requality_id" id="id_d5639917-0102-42fe-9b78-eb662d5f982d" name="d5639917-0102-42fe-9b78-eb662d5f982d"/>The </span><i><span class="requality_text id_d5639917-0102-42fe-9b78-eb662d5f982d">protocolVersion</span></i><span class="requality_text id_d5639917-0102-42fe-9b78-eb662d5f982d"> (defined in the header) of SPATEM message based on the present document is set to value "1".</span></p> -<h2> -<a name="_Toc442882217"/> -<a name="_Toc442882446"/> -<a name="_Toc442965259"/> -<a name="_Toc455389603"/>5.4 TLM service dissemination</h2> -<h3> -<a name="_Toc442882218"/> -<a name="_Toc442882447"/> -<a name="_Toc442965260"/> -<a name="_Toc455389604"/>5.4.1 TLM service identification</h3> -<p>The TLM service provides real-time information of the traffic light signal phase and timing of an intersection or parts of an intersection identified by the intersection reference identifier. The timestamp indicates the order of messages within the given time system as defined in ISO/TS 19091 [8]. There is no additional identifier needed to distinguish a SPATEM from a previous one.</p> -<h3> -<a name="_Toc442882219"/> -<a name="_Toc442882448"/> -<a name="_Toc442965261"/> -<a name="_Toc455389605"/>5.4.2 TLM service trigger, update, repetition and termination </h3> -<p><span class="requality_text id_7af8529d-8e73-40ed-b3d9-9e77dd380972"><a class="requality_id" id="id_7af8529d-8e73-40ed-b3d9-9e77dd380972" name="7af8529d-8e73-40ed-b3d9-9e77dd380972"/>The application triggers the TLM service for the transmission of SPATEM.</span> The application provides all data content included in a SPATEM payload. The TLM service constructs a SPATEM and delivers it to the Networking & Transport Layer for dissemination. The SPATEM is not repeated.</p> -<p><span class="requality_text id_485c89bc-9da3-4c8e-be0b-63b01c34b306"><a class="requality_id" id="id_485c89bc-9da3-4c8e-be0b-63b01c34b306" name="485c89bc-9da3-4c8e-be0b-63b01c34b306"/>The TLM service shall be terminated, if the ITS-S application requests the termination.</span></p> -<h3> -<a name="_Toc442882220"/> -<a name="_Toc442882449"/> -<a name="_Toc442965262"/> -<a name="_Toc455389606"/>5.4.3 TLM service communication requirements</h3> -<h4> -<a name="_Toc455389607"/>5.4.3.1 TLM service communication overview</h4> -<p>The TLM service uses SPATEM to disseminate the status of the traffic light controller, traffic lights and intersection traffic information. It transmits continuously in real-time the information relevant for all maneuvers in the of an intersection. The goal is to address all traffic participants using the intersection for travel or cross walking. Due to different equipment of end users, the SPATEM may be disseminated using different access technologies for short range or for long range communication.</p> -<h4> -<a name="_Toc442882221"/> -<a name="_Toc442882450"/> -<a name="_Toc442965263"/> -<a name="_Toc455389608"/>5.4.3.2 TLM service communication requirements for short range access technologies</h4> -<p>For short range broadcast communication different access technologies are applicable for dissemination of SPATEM as follows:</p> -<p class="b1+">Short range communication data transmission using ITS-G5 broadcast transmission,</p> -<p class="b1+">WiFi communication.</p> -<p><span class="requality_text id_3dc31e63-315a-421b-b74a-0c41cf4ae097"><a class="requality_id" id="id_3dc31e63-315a-421b-b74a-0c41cf4ae097" name="3dc31e63-315a-421b-b74a-0c41cf4ae097"/>In case the GN protocol and the GBC is used, the TLM service shall provide the destination area in the format compliant to ETSI EN 302 931 [9] and to the ITS networking & transport layer.</span></p> -<p>Table 3 provides the requirements for the broadcast communication in accordance with ISO/TS 17423 [i.2].</p> -<p>The ITS station management uses the communication requirements to select suitable ITS-S communication protocol stacks. Some examples of communication parameter settings that fulfill these requirements are specified in clause 10.</p> -<p class="tH"> -<a name="_Ref423692151"/>Table 3: TLM service communication requirements for short range access technologies</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAC">Operational parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAC">SfCH</p> -</td> <td> -<p class="tAC">Safety channel</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_SessionCont</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC">No continuous connectivity</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_AvgADUrate</p> -</td> <td> -<p class="tAC">255, 1 seconds (default)</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_FlowType</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_MaxPrio</p> -</td> <td> -<p class="tAC">253</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_PortNo</p> -</td> <td> -<p class="tAC"><span class="requality_text id_ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb"><a class="requality_id" id="id_ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb" name="ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb"/>2004</span></p> -</td> <td> -<p class="tAC">Port Number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">Destination related parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_DestinationType</p> -</td> <td> -<p class="tAC">geo-location-based<br/><span class="requality_text id_f85e8afe-948d-4164-9a06-70c8dc7b5ba9"><a class="requality_id" id="id_f85e8afe-948d-4164-9a06-70c8dc7b5ba9" name="f85e8afe-948d-4164-9a06-70c8dc7b5ba9"/>GeoBroadcast</span></p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_DestinationDomain</p> -</td> <td> -<p class="tAC">site-local</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_CommDistance</p> -</td> <td> -<p class="tAC">400 m radius (default value)</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_Directivity</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_Resilience</p> -</td> <td> -<p class="tAC">High</p> -</td> <td> -<p class="tAC">Repeated transmission of the same message</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_MinThP</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_MaxLat</p> -</td> <td> -<p class="tAC">ms100 (8)</p> -</td> <td> -<p class="tAC">-- response within less than 100 ms</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_MaxADU</p> -</td> <td> -<p class="tAC">Max message size allowed by access technology </p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">Security related parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_DataIntegrity</p> -</td> <td> -<p class="tAC">required</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_NonRepudiation</p> -</td> <td> -<p class="tAC">required</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAC">required</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">Protocol related parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAC">Protocol-Req</p> -</td> <td> -<p class="tAC">n.a.</p> -</td> <td> -<p class="tAC"/> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>TLM Application Identifier (AID)</b> -</p> -<p><span class="requality_text id_2ce3cc2b-aa51-421e-a422-6a9e6cce2082"><a class="requality_id" id="id_2ce3cc2b-aa51-421e-a422-6a9e6cce2082" name="2ce3cc2b-aa51-421e-a422-6a9e6cce2082"/>The ITS AID of the TLM service is allocated in [15]</span></p> -<p/> -<p> -<b><span class="requality_text id_515ef264-826f-4dc4-b5d2-5a2ad8b288ba"><a class="requality_id" id="id_515ef264-826f-4dc4-b5d2-5a2ad8b288ba" name="515ef264-826f-4dc4-b5d2-5a2ad8b288ba"/>TLM service security parameters</span></b> -</p> -<p>For security against misuse of keys also for stationary installations it is necessary to change the pseudonym identity regularly. The default time for is given in Table 4. For special cases like offline working traffic light controllers where manually driven provision of pseudonym identity keys is necessary, longer periods of e.g. half a year are allowed and shall be agreed with the operator.</p> -<p class="tH"> -<a name="_Ref414943591"/>Table 4: TLM service security parameters</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">TLM service security parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Message certificate validity</p> -</td> <td> -<p class="tAL">2 months (default value)</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Station-ID change of pseudonym identity</p> -</td> <td> -<p class="tAL">1 month (default value)</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>TLM service specific permissions (SSP):</b> -</p> -<p>The interpretation of the SSP octet scheme is defined as depicted in Figure 4.</p> -<table> -<tbody> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> -</tr> -<tr> <td> -<p class="tAC">Octet 0</p> -</td> <td> -<p class="tAC">Octet 1</p> -</td> <td> -<p class="tAC">Octet 2</p> -</td> -</tr> -</tbody> -</table> -<p class="nF"/> -<p class="tF"> -<a name="_Ref414524055"/>Figure 4: Format for the Octets</p> -<p>The SSP for the TLM service shall correspond to the octet scheme of Table 5.</p> -<p class="tH"> -<a name="_Ref419805087"/>Table 5: Octet Scheme for TLM service SSPs</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet #</p> -</td> <td> -<p class="tAH">Description</p> -</td> -</tr> -<tr> <td> -<p class="tAL">0</p> -</td> <td> -<p class="tAL">SSP version control</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">Service-specific parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2 to 30</p> -</td> <td> -<p class="tAL">Reserved for Future Usage</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p><span class="requality_text id_ffb90c26-8785-43c8-a067-454300b1482e"><a class="requality_id" id="id_ffb90c26-8785-43c8-a067-454300b1482e" name="ffb90c26-8785-43c8-a067-454300b1482e"/>The Service specific parameter shall be as defined in Table 6.</span></p> -<p class="tH"> -<a name="_Ref386548905"/>Table 6: TLM service specific permissions</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet position</p> -</td> <td> -<p class="tAH">Bit position</p> -</td> <td> -<p class="tAH">SPATEM data Item</p> -</td> <td> -<p class="tAH">Bit Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">0 (80h)</p> -</td> <td> -<p class="tAL"><span class="requality_text id_49c99cf1-7c9a-4caf-9eac-1f9d01d11037"><a class="requality_id" id="id_49c99cf1-7c9a-4caf-9eac-1f9d01d11037" name="49c99cf1-7c9a-4caf-9eac-1f9d01d11037"/>Information about Intersection state without advisory speed (see bit position 1) and Maneuver assisting information (see Bit position 4)</span></p> -<p class="tAL">{SPATEM.spat.intersections.<br/>IntersectionState }</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -<p class="tAL">1: certificate allowed to sign</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL"><span class="requality_text id_b7ffa69a-f51a-4120-81d8-99e5bebd6a08"><a class="requality_id" id="id_b7ffa69a-f51a-4120-81d8-99e5bebd6a08" name="b7ffa69a-f51a-4120-81d8-99e5bebd6a08"/>General status of the traffic controller</span></p> -<p class="tAL">{SPATEM.spat.intersections.<br/>IntersectionState.status}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -<p class="tAL">1: certificate allowed to sign</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">2 (20h)</p> -</td> <td> -<p class="tAL"><span class="requality_text id_a7ca0c8e-6558-424b-8486-031930010b01"><a class="requality_id" id="id_a7ca0c8e-6558-424b-8486-031930010b01" name="a7ca0c8e-6558-424b-8486-031930010b01"/>Advisory speed</span></p> -<p class="tAL">{SPATEM.spat.intersections.<br/>IntersectionState.states.MovementState.state-time-speed.MovementEvent.speeds. AdvisorySpeed}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -<p class="tAL">1: certificate allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">3 (10h)</p> -</td> <td> -<p class="tAL"><span class="requality_text id_b9a1bb83-fea0-4b9c-be96-7177c58933b5"><a class="requality_id" id="id_b9a1bb83-fea0-4b9c-be96-7177c58933b5" name="b9a1bb83-fea0-4b9c-be96-7177c58933b5"/>Public transport prioritization</span> </p> -<p class="tAL">{SPATEM.spat.intersections.<br/>IntersectionState.regional.SEQUENCE.<br/>regExtValue.<br/>IntersectionState-aggGrpC.activePrioritizations}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -<p class="tAL">1: certificate allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">4 (08h)</p> -</td> <td> -<p class="tAL"><span class="requality_text id_28724eed-9f77-4704-b683-9364ed74de37"><a class="requality_id" id="id_28724eed-9f77-4704-b683-9364ed74de37" name="28724eed-9f77-4704-b683-9364ed74de37"/>Maneuver assisting information</span> </p> -<p class="tAL">{SPATEM.spat.intersections.<br/>IntersectionState.maneuverAssistList}</p> -<p class="tAL">and</p> -<p class="tAL">{SPATEM.spat.intersections.<br/>IntersectionState.states.MovementState.<br/>maneuverAssistList}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -<p class="tAL">1: certificate allowed to sign</p> -</td> -</tr> -<tr> <td> -<p class="tAL"><span class="requality_text id_4bda289f-d3a6-42f9-9eea-f94b9a276478"><a class="requality_id" id="id_4bda289f-d3a6-42f9-9eea-f94b9a276478" name="4bda289f-d3a6-42f9-9eea-f94b9a276478"/>All other bits of the SSP are not used and set to 0.</span></p> -</td> -</tr> -</tbody> -</table> -<p/> -<h4> -<a name="_Toc442882222"/> -<a name="_Toc442882451"/> -<a name="_Toc442965264"/> -<a name="_Toc455389609"/>5.4.3.3 TLM service communication requirements for long range communication</h4> -<p>This clause provides the requirements for the long range unicast communication (e.g. usage of cellular network) in accordance with ISO/TS 17423 [i.2].</p> -<p class="tH">Table 7: TLM service communication requirements for long range</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">GpCH</p> -</td> <td> -<p class="tAL">General Purpose Channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">n.a</p> -</td> <td> -<p class="tAL">No repetition</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL">2 004</p> -</td> <td> -<p class="tAL">Port Number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL">unicast</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">global</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<h1> -<a name="Clause_RLT_Service"/> -<a name="_Toc442882223"/> -<a name="_Toc442882452"/> -<a name="_Toc442965265"/> -<a name="_Toc455389610"/><span class="requality_text id_b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd"><a class="requality_id" id="id_b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd" name="b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd"/>6 Road and Lane Topology (RLT) service</span></h1> -<h2> -<a name="_Toc442882224"/> -<a name="_Toc442882453"/> -<a name="_Toc442965266"/> -<a name="_Toc455389611"/>6.1 RLT service overview</h2> -<p>The RLT service is one instantiation of the infrastructure services to manage the generation, transmission and reception of a digital topological map, which defines the topology of an infrastructure area. It includes the lane topology for e.g. vehicles, bicycles, parking, public transportation and the paths for pedestrian crossings and the allowed maneuvers within an intersection area or a road segment. In future enhancements the digital map will include additional topologydescriptions like traffic roundabouts.</p> -<p>The area of an intersection described by the topology covers about 200 m of the approaches, starting from the position of the stop line. If a neighbor intersection is closer than 400 meters, the description may be done up to an extent of approximately the half distance between the intersections.</p> -<p class="fL"> -<div class="embedded" id="rId23"/> -</p> -<p class="tF"> -<a name="_Ref413857845"/>Figure 5: Lane topology and corresponding connection</p> -<p>Figure 5 gives an example of the topology of an intersection. The topology is organized in several approaches (three approaches in the given example) and a "conflict area" in the junction of the approaches. Each approach holds "ingressing" (driving direction towards the conflict area) and "egressing" lanes (driving direction away from the "conflict area"). Each lane (e.g. vehicle, pedestrian, etc.) consists of two or more waypoint (positioned in the middle of the lane). Basically each ingress lane is connected with one or more egress lanes which define the allowed maneuvers in the intersection. This "connection" includes the signal group identifier, which is the link for signalization between the topology and the corresponding signaling.</p> -<h2> -<a name="_Toc442882225"/> -<a name="_Toc442882454"/> -<a name="_Toc442965267"/> -<a name="_Toc455389612"/>6.2 RLT service</h2> -<p>The Road and Lane Topology service instantiated in an ITS-Station shall provide either the transmission or the reception service defined in clause 4.2. Additionally the Road and lane Topology service supports the following functionality:</p> -<p class="b1+">Continuous transmission for infinity of the MAPEM. As the MAPEM message is not changed very often in time, a stable release is stored within the ITS-S for continuous broadcast.</p> -<p class="b1+">Assembly and disassembly fragmented MAPEM fragments on an Application level as defined by the data element <i>{MAPEM.map.layerID}</i> ISO/TS 19091 [8].</p> -<h2> -<a name="_Toc442882226"/> -<a name="_Toc442882455"/> -<a name="_Toc442965268"/> -<a name="_Toc455389613"/>6.3 RLT service message and version</h2> -<p>The RLT service shall use the message MAPEM as defined in Annex B . The header of MAPEM is defined in the data dictionary ETSI TS 102 894-2 [2]. The data elements of MAPEM payload are defined in CEN ISO/TS 19091, Annex G.</p> -<p>T<span class="requality_text id_c3059bb9-d9ca-4509-8d32-e216420f69a2"><a class="requality_id" id="id_c3059bb9-d9ca-4509-8d32-e216420f69a2" name="c3059bb9-d9ca-4509-8d32-e216420f69a2"/>he </span><i><span class="requality_text id_c3059bb9-d9ca-4509-8d32-e216420f69a2">protocolVersion</span></i><span class="requality_text id_c3059bb9-d9ca-4509-8d32-e216420f69a2"> (defined in </span><i><span class="requality_text id_c3059bb9-d9ca-4509-8d32-e216420f69a2">header</span></i><span class="requality_text id_c3059bb9-d9ca-4509-8d32-e216420f69a2">) of MAPEM message based on the present document is set to value "1".</span></p> -<h2> -<a name="_Toc442882227"/> -<a name="_Toc442882456"/> -<a name="_Toc442965269"/> -<a name="_Toc455389614"/>6.4 RLT service dissemination</h2> -<h3> -<a name="_Toc442882228"/> -<a name="_Toc442882457"/> -<a name="_Toc442965270"/> -<a name="_Toc455389615"/>6.4.1 RLT service identification</h3> -<p>The RLT service uses MAPEM which represents the topology/geometry of a set of lanes. E.g. considering an intersection MAPEM defines the topology of the lanes or parts of the topology of the lanes identified by the intersection reference identifier. The MAPEM does not change very often in time. The same MAPEM is retransmitted with the same content, unless the Application indicates to transmit a new MAPEM.</p> -<p class="b1+"><span class="requality_text id_c3436086-7d4a-4452-aab8-d48d11161c76"><a class="requality_id" id="id_c3436086-7d4a-4452-aab8-d48d11161c76" name="c3436086-7d4a-4452-aab8-d48d11161c76"/>If the size of the MAPEM exceeds the allowed message length (e.g. MTU), the RLT service fragments the message which will be transmitted in different messages. Each fragment is identified by the "layerID " as defined in ISO/TS 19091 [8], Annex G.</span></p> -<h3> -<a name="_Toc442882229"/> -<a name="_Toc442882458"/> -<a name="_Toc442965271"/> -<a name="_Toc455389616"/>6.4.2 RLT service trigger, update, repetition and termination</h3> -<p>The application triggers the Road and lane Topology service for the transmission of the MAPEM. The application provides all data content included in the MAPEM payload. The RLT service constructs a MAPEM and delivers it to the Networking & Transport Layer for dissemination.</p> -<p>As the MAPEM content is only changed, e.g. if the road and lane topology is changed, the MAPEM remains stable in time. The MAPEM is re-broadcasted continuously.</p> -<p>The MAPEM transmission may be terminated if the ITS-S application requests the termination.</p> -<h3> -<a name="_Toc442882230"/> -<a name="_Toc442882459"/> -<a name="_Toc442965272"/> -<a name="_Toc455389617"/>6.4.3 RLT service communication requirements</h3> -<h4> -<a name="_Toc442882231"/> -<a name="_Toc442882460"/> -<a name="_Toc442965273"/> -<a name="_Toc455389618"/>6.4.3.1 RLT service communication overview</h4> -<p>The RLT service uses MAPEM to define all the road topological details. It uses the lane "connection" (between ingress and egress lanes) which includes the signal-group identifier which is the link to SPATEM signaling information. <span class="requality_text id_87b10e4b-b1dc-449c-b9ac-23380151b75e"><a class="requality_id" id="id_87b10e4b-b1dc-449c-b9ac-23380151b75e" name="87b10e4b-b1dc-449c-b9ac-23380151b75e"/>MAPEM shall be transmitted continuously together with the SPATEM to inform the traffic participant (driver, pedestrian, etc.) about the status of allowed maneuvers within the intersection conflict area</span>. Due to potential different communication paths to the end users, the MAPEM may be disseminated using different access technologies for short range and long range communication.</p> -<h4> -<a name="_Toc442882232"/> -<a name="_Toc442882461"/> -<a name="_Toc442965274"/> -<a name="_Toc455389619"/>6.4.3.2 RLT service communication requirements for short range access technologies</h4> -<p>For short range broadcast communication different access technologies are applicable for dissemination of the MAPEM as follows:</p> -<p class="b1+">Short range communication data transmission using ITS-G5 broadcast transmission,</p> -<p class="b1+">WiFi communication.</p> -<p>In case the GN protocol and the GBC is used, the RLT service shall provide the destination area in the format compliant to ETSI EN 302 931 [9] and to the ITS networking & transport layer.</p> -<p>Table 8 provides the requirements for the broadcast communication in accordance with ISO/TS 17423 [i.2].</p> -<p>The ITS station management uses the communication requirements to select suitable ITS-S communication protocol stacks. Some examples of communication parameter settings that fulfill these requirements are specified in clause 10.</p> -<p class="tH">Table 8: RLT service communication requirements for short range access technologies</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">SfCH</p> -</td> <td> -<p class="tAL">Safety channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL">No continuous connectivity</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">255, 1 seconds (default)</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL">252</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL"><span class="requality_text id_5aab70c2-219e-460f-9223-64c99800e70a"><a class="requality_id" id="id_5aab70c2-219e-460f-9223-64c99800e70a" name="5aab70c2-219e-460f-9223-64c99800e70a"/>2003</span></p> -</td> <td> -<p class="tAL">Port Number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL">geo-location-based</p> -<p class="tAL"><span class="requality_text id_77a4a214-685d-4d91-b306-36ebef6c3db8"><a class="requality_id" id="id_77a4a214-685d-4d91-b306-36ebef6c3db8" name="77a4a214-685d-4d91-b306-36ebef6c3db8"/>GeoBroadcast</span></p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">site-local</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">400 m radius (default value)</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">High</p> -</td> <td> -<p class="tAL">Repeated transmission of the same message</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">ms100 (8)</p> -</td> <td> -<p class="tAL">-- response within less than 100 ms</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>RLT Application Identifier (AID)</b> -</p> -<p><span class="requality_text id_f73eb6c1-2513-4e4a-a8d7-de4c80675bb4"><a class="requality_id" id="id_f73eb6c1-2513-4e4a-a8d7-de4c80675bb4" name="f73eb6c1-2513-4e4a-a8d7-de4c80675bb4"/>The ITS AID of the RLT service is allocated in [15]</span></p> -<p> -<b><span class="requality_text id_ec702020-740d-4430-ba57-7b45b5d93273"><a class="requality_id" id="id_ec702020-740d-4430-ba57-7b45b5d93273" name="ec702020-740d-4430-ba57-7b45b5d93273"/>RLT service security parameters</span></b> -</p> -<p>For security against misuse of keys it is necessary to change the pseudonym identity regularly. The default time for is given in Table 9. For special cases like offline working traffic light controllers where manually driven provision of pseudonym identity keys is necessary, longer periods of e.g. half a year are allowed and shall be agreed with the operator.</p> -<p class="tH"> -<a name="_Ref415033177"/>Table 9: RLT services security parameters</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">RLT service security parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Message certificate validity</p> -</td> <td> -<p class="tAL">2 months (default value)</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Station-ID change of pseudonym identity</p> -</td> <td> -<p class="tAL">1 month (default value)</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>RLT service specific permissions (SSP)</b> -</p> -<p>The interpretation of the SSP octet scheme is defined as depicted in Figure 6.</p> -<table> -<tbody> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> -</tr> -<tr> <td> -<p class="tAC">Octet 0</p> -</td> <td> -<p class="tAC">Octet 1</p> -</td> <td> -<p class="tAC">Octet 2</p> -</td> -</tr> -</tbody> -</table> -<p class="nF"/> -<p class="tF"> -<a name="_Ref415033252"/>Figure 6: Format for the Octets</p> -<p><span class="requality_text id_299468b6-80e7-4a89-9e17-fcfec17120a3"><a class="requality_id" id="id_299468b6-80e7-4a89-9e17-fcfec17120a3" name="299468b6-80e7-4a89-9e17-fcfec17120a3"/>The SSP for the RLT service shall correspond to the octet scheme of Table 10.</span></p> -<p class="tH"> -<a name="_Ref419808009"/>Table 10: Octet Scheme for RLT service SSPs</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet #</p> -</td> <td> -<p class="tAH">Description</p> -</td> -</tr> -<tr> <td> -<p class="tAL">0</p> -</td> <td> -<p class="tAL">SSP version control</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">Service-specific parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2 to 30</p> -</td> <td> -<p class="tAL">Reserved for Future Usage</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p><span class="requality_text id_28cb2500-bdc6-433d-9a15-2c14136109ab"><a class="requality_id" id="id_28cb2500-bdc6-433d-9a15-2c14136109ab" name="28cb2500-bdc6-433d-9a15-2c14136109ab"/>The Service-specific parameter shall be as defined in Table 11.</span></p> -<p class="tH"> -<a name="_Ref415033296"/>Table 11: RLT service communication profile</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet Position</p> -</td> <td> -<p class="tAH">Bit Position</p> -</td> <td> -<p class="tAH">RLT service SSP data Item</p> -</td> <td> -<p class="tAH">Bit Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">0 (80h)</p> -</td> <td> -<p class="tAL">Road and lane topology controlled by a traffic light controller without speed limits (see Bit position 2)</p> -<p class="tAL"> {MAPEM}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">1: certificate allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL">Road and lane topology not using traffic light controller (see Bit position 2)</p> -<p class="tAL"> {MAPEM}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">2 (20h)</p> -</td> <td> -<p class="tAL">Speed limits included in the road and lane topology</p> -<p class="tAL">{MAPEM.map.intersections.<br/>IntersectionGeometry.speedLimits}</p> -</td> <td> -<p class="tAL">0: certificate not allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">1: certificate allowed to sign </p> -</td> -</tr> -<tr> <td> -<p class="tAL"><span class="requality_text id_4486101d-d3b2-4156-bbd5-8bcef139d100"><a class="requality_id" id="id_4486101d-d3b2-4156-bbd5-8bcef139d100" name="4486101d-d3b2-4156-bbd5-8bcef139d100"/>All other bits of the SSP are not used and set to 0.</span></p> -</td> -</tr> -</tbody> -</table> -<h4> -<a name="_Toc442882233"/> -<a name="_Toc442882462"/> -<a name="_Toc442965275"/> -<a name="_Toc455389620"/>6.4.3.3 RLT service dissemination parameters for long range communication</h4> -<p>This clause provides the requirements for the long range unicast communication (e.g. usage of cellular network) in accordance with ISO/TS 17423 [i.2].</p> -<p class="tH">Table 12: RLT service communication requirements for long range</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">GPCH</p> -</td> <td> -<p class="tAL">General Purpose Channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL">No repetition</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL">2003</p> -</td> <td> -<p class="tAL">Port Number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL">unicast</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">global</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<h1> -<a name="Clause_IVI_Service"/> -<a name="_Toc442882234"/> -<a name="_Toc442882463"/> -<a name="_Toc442965276"/> -<a name="_Toc455389621"/><span class="requality_text id_fb47bcfb-85ca-4f88-985f-0053fa08c228"><a class="requality_id" id="id_fb47bcfb-85ca-4f88-985f-0053fa08c228" name="fb47bcfb-85ca-4f88-985f-0053fa08c228"/>7 Infrastructure to Vehicle Information (IVI) service</span></h1> -<h2> -<a name="_Toc442882235"/> -<a name="_Toc442882464"/> -<a name="_Toc442965277"/> -<a name="_Toc455389622"/>7.1 IVI service overview</h2> -<p>IVI service is one instantiation of the infrastructure services to manage the generation, transmission and reception of the IVIM messages. An IVIM supports mandatory and advisory road signage such as contextual speeds and road works warnings. IVIM either provides information of physical road signs such as static or variable road signs, virtual signs or road works.</p> -<h2> -<a name="_Toc442882236"/> -<a name="_Toc442882465"/> -<a name="_Toc442965278"/> -<a name="_Toc455389623"/>7.2 IVI service</h2> -<p>The IVI service instantiated in an ITS-Station shall provide either the transmission or the reception service defined in clause 4.2.</p> -<h2> -<a name="_Toc442882237"/> -<a name="_Toc442882466"/> -<a name="_Toc442965279"/> -<a name="_Toc455389624"/>7.3 IVI service message and version</h2> -<p>The IVI service shall use the IVIM as defined in Annex C. The header of the IVIM is defined in the data dictionary ETSI TS 102 894-2 [2]. The data elements of the IVIM message payload are defined in ISO/TS 19321 [7].</p> -<p><span class="requality_text id_108bba89-25e3-47e4-878e-0c5de7a5092f"><a class="requality_id" id="id_108bba89-25e3-47e4-878e-0c5de7a5092f" name="108bba89-25e3-47e4-878e-0c5de7a5092f"/>The </span><i><span class="requality_text id_108bba89-25e3-47e4-878e-0c5de7a5092f">protocolVersion</span></i><span class="requality_text id_108bba89-25e3-47e4-878e-0c5de7a5092f"> (defined in the header) of IVIM message based on the present document is set to value "1".</span></p> -<h2> -<a name="_Toc442882238"/> -<a name="_Toc442882467"/> -<a name="_Toc442965280"/> -<a name="_Toc455389625"/>7.4 IVI service dissemination</h2> -<h3> -<a name="_Toc442882239"/> -<a name="_Toc442882468"/> -<a name="_Toc442965281"/> -<a name="_Toc455389626"/>7.4.1 IVI service identification</h3> -<p>The IVIM identification is enabled by the parameter <i>{IVIM.ivi.mandatory.iviIdentificationNumber}</i>. <span class="requality_text id_6a936fb2-7785-4307-bcda-982306487e1c"><a class="requality_id" id="id_6a936fb2-7785-4307-bcda-982306487e1c" name="6a936fb2-7785-4307-bcda-982306487e1c"/>Each time a new IVIM is generated upon an application request, a new </span><i><span class="requality_text id_6a936fb2-7785-4307-bcda-982306487e1c">iviIdentificationNumber</span></i><span class="requality_text id_6a936fb2-7785-4307-bcda-982306487e1c"> (ISO/TS 19321 [7]) value shall be assigned by the IVI service.</span></p> -<p><span class="requality_text id_68d18e5e-3607-49fa-8771-d2641c58fe54"><a class="requality_id" id="id_68d18e5e-3607-49fa-8771-d2641c58fe54" name="68d18e5e-3607-49fa-8771-d2641c58fe54"/>When a iviIdentificationNumber is set, it shall be set to an recently unused value.</span> In one possible implementation, the iviIdentificationNumber is randomly set to a recently unused value within the range as specified in ISO/TS 19321 [7].</p> -<p>An <i>iviIdentificationNumber</i> is linked to the organization providing the IVI service (e.g. the Service Provider, as defined in ISO/TS 17427 [10]). It enables the receiving ITS-S to differentiate IVIM messages transmitted from different service providers. </p> -<h3> -<a name="_Toc442882240"/> -<a name="_Toc442882469"/> -<a name="_Toc442965282"/> -<a name="_Toc455389627"/>7.4.2 IVI service trigger, update, repetition and termination</h3> -<p><span class="requality_text id_46061c36-999b-4ac9-ba0e-d5af670d8901"><a class="requality_id" id="id_46061c36-999b-4ac9-ba0e-d5af670d8901" name="46061c36-999b-4ac9-ba0e-d5af670d8901"/>IVI service trigger refers to the process of the generation and transmission of an IVIM when the IVI service of the sending ITS-S receives an application request. The IVI service shall then generate a new message with status </span><i><span class="requality_text id_46061c36-999b-4ac9-ba0e-d5af670d8901">{IVIM.ivi.mandatory.iviStatus} </span></i><span class="requality_text id_46061c36-999b-4ac9-ba0e-d5af670d8901">set to "</span><i><span class="requality_text id_46061c36-999b-4ac9-ba0e-d5af670d8901">new</span></i><span class="requality_text id_46061c36-999b-4ac9-ba0e-d5af670d8901">".</span></p> -<p><span class="requality_text id_fa90ddce-f302-4f09-ba88-09f938feb3fc"><a class="requality_id" id="id_fa90ddce-f302-4f09-ba88-09f938feb3fc" name="fa90ddce-f302-4f09-ba88-09f938feb3fc"/>An IVIM content is updated e.g. by the service provider. The ITS-S application provides the update information to the IVI service at the sending ITS-S. The IVI service shall then generate an update IVIM with the </span><i><span class="requality_text id_fa90ddce-f302-4f09-ba88-09f938feb3fc">iviStatus</span></i><span class="requality_text id_fa90ddce-f302-4f09-ba88-09f938feb3fc"> set to </span><i><span class="requality_text id_fa90ddce-f302-4f09-ba88-09f938feb3fc">update</span></i><span class="requality_text id_fa90ddce-f302-4f09-ba88-09f938feb3fc">.</span></p> -<p><span class="requality_text id_8a5e77e8-1e74-4263-b66a-6c2960fff2fb"><a class="requality_id" id="id_8a5e77e8-1e74-4263-b66a-6c2960fff2fb" name="8a5e77e8-1e74-4263-b66a-6c2960fff2fb"/>An "</span><i><span class="requality_text id_8a5e77e8-1e74-4263-b66a-6c2960fff2fb">update"</span></i><span class="requality_text id_8a5e77e8-1e74-4263-b66a-6c2960fff2fb"> is also used to change or add the end time to the IVIM.</span> In some applications this corresponds to ending the service (logical end message).The parameter "<i>timestamp" {IVIM.ivi.mandatory.timeStamp} </i>is the identifier for i<i>viStatus</i> (<i>update</i>) in relation to a specific <i>iviIdentificationNumber</i>. <span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd"><a class="requality_id" id="id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd" name="e6a00a64-ce4e-417e-a7bf-a46c07290fcd"/>The </span><i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">timeStamp </span></i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">represents the time stamp of the generation (if </span><i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">IviStatus set to</span></i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd"> </span><i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">new</span></i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">) or last change of information content (if </span><i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">iviStatus set to update</span></i><span class="requality_text id_e6a00a64-ce4e-417e-a7bf-a46c07290fcd">) by the Service Provider.</span></p> -<p><span class="requality_text id_8a9b0b92-c278-4367-b849-f4313a3df6a9"><a class="requality_id" id="id_8a9b0b92-c278-4367-b849-f4313a3df6a9" name="8a9b0b92-c278-4367-b849-f4313a3df6a9"/>The </span><i><span class="requality_text id_8a9b0b92-c278-4367-b849-f4313a3df6a9">iviIdentificationNumber</span></i><span class="requality_text id_8a9b0b92-c278-4367-b849-f4313a3df6a9"> shall remain unchanged for </span><i><span class="requality_text id_8a9b0b92-c278-4367-b849-f4313a3df6a9">iviSStatus</span></i><span class="requality_text id_8a9b0b92-c278-4367-b849-f4313a3df6a9"> set to update.</span></p> -<p><span class="requality_text id_1f766cd6-cb72-4d44-a02b-d648ea2b4e43"><a class="requality_id" id="id_1f766cd6-cb72-4d44-a02b-d648ea2b4e43" name="1f766cd6-cb72-4d44-a02b-d648ea2b4e43"/>In between two consequent </span><i><span class="requality_text id_1f766cd6-cb72-4d44-a02b-d648ea2b4e43">iviStatus</span></i><span class="requality_text id_1f766cd6-cb72-4d44-a02b-d648ea2b4e43"> updates, an IVIM shall be repeated by the IVI service of the sending ITSS at a pre-defined repetition interval, in order that new ITS-S entering the MDA during the event validity duration may also receive the IVIM. </span>This process is referred to as IVI service repetition. <span class="requality_text id_8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11"><a class="requality_id" id="id_8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11" name="8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11"/>The IVI service repetition shall be activated under the request from the ITS-S application.</span></p> -<p>The IVI service termination indicates the end of the validity of the IVI service. An IVI service termination is either the ending of transmission, an application cancelation or an application negation: a Cancellation of the IVI service can only be provided by the organization that originally provided the IVI service; a Negation of the IVI service can be provided by other organizations. Termination of IVI service is achieved in the following ways:</p> -<p class="b1+">Ending of transmission by the ITS-S originally sending the IVIM:<br/><span class="requality_text id_77979574-9fcd-4f47-82e4-25b79b781873"><a class="requality_id" id="id_77979574-9fcd-4f47-82e4-25b79b781873" name="77979574-9fcd-4f47-82e4-25b79b781873"/>The IVI service shall stop the IVIM transmission repetition automatically at the end of the repetition interval.</span></p> -<p class="b1+">IVI service cancellation by the Service Provider originating the IVIM:<br/><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e"><a class="requality_id" id="id_e4cba9e5-2a65-4b7a-8caa-200865aad31e" name="e4cba9e5-2a65-4b7a-8caa-200865aad31e"/>In this case, the IVI service shall generate a cancellation IVIM with the </span><i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">iviStatus</span></i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e"> set to </span><i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">cancellation</span></i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">. For the generation of a cancellation IVIM, the </span><i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">iviIdentificationNumber</span></i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e"> shall be set to the </span><i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">iviIdentificationNumber</span></i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e"> of the message for which the IVI service negation refers to; the service provider identification </span><i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">{IVIM.ivi.mandatory.serviceProviderId}</span></i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e"> shall be set to the value of the originating Service Provider. The time stamp </span><i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">{IVIM.ivi.mandatory.TimeStamp} </span></i><span class="requality_text id_e4cba9e5-2a65-4b7a-8caa-200865aad31e">shall be set to the value of the latest received IVI of the same "iviIdentificationNumber".</span></p> -<p class="b1+">IVIM negation by another organization:<br/><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a"><a class="requality_id" id="id_48b08012-a369-49d3-b0f6-eee95a02e76a" name="48b08012-a369-49d3-b0f6-eee95a02e76a"/>In this case, the IVI service of the sending ITS-S shall generate a negation IVIM, i.e. an IVIM with i</span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">viStatus</span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a"> set to </span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">negation</span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">. For the generation of a negation IVIM, the </span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">iviIdentificationNumber</span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a"> shall be set to the </span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">iviIdentificationNumber</span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a"> of the event for which the IVIM negation</span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a"> </span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">refers to; the </span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">serviceProviderId</span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a"> shall be set to the value of the originating Service Provider. The </span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">timeStamp </span></i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">shall be set to the value of the latest received IVIM of the same </span><i><span class="requality_text id_48b08012-a369-49d3-b0f6-eee95a02e76a">iviIdentificationNumber</span></i> </p> -<p>Once a cancellation IVIM or a negation IVIM is verified to be trustworthy by the receiving ITS-S, all information related to the previously received IVIM concerning the same <i>iviIdentificationNumber</i> may be considered as not valid any more, the IVI service may notify ITS-S applications of the event termination.</p> -<p><span class="requality_text id_bb3d3790-fa2a-4cdc-8569-3f252de9f24f"><a class="requality_id" id="id_bb3d3790-fa2a-4cdc-8569-3f252de9f24f" name="bb3d3790-fa2a-4cdc-8569-3f252de9f24f"/>A cancellation IVIM or negation IVIM shall be transmitted at least once by the originating ITS-S per application request. It may be repeated by the IVI service of the originating ITS-S.</span></p> -<h3> -<a name="_Toc442882241"/> -<a name="_Toc442882470"/> -<a name="_Toc442965283"/> -<a name="_Toc455389628"/>7.4.3 IVI service communication requirements</h3> -<h4> -<a name="_Toc442882242"/> -<a name="_Toc442882471"/> -<a name="_Toc442965284"/> -<a name="_Toc455389629"/>7.4.3.1 IVI service communication parameters for short-range communication</h4> -<p>An IVIM shall be transmitted if applicable, e.g. when it is applicable in time (e.g. a speed limitation only valid between 8:00 and 20:00) and due to the context as determined by the sending ITS-S (e.g. a speed limitation applicable in case of fog).</p> -<p>An IVIM shall be disseminated to reach as many ITS-S as possible, located in the MDA. The MDA is provided by the ITS Application to the IVI service and is typically defined in a way that every receiving ITS-S has received at least once the IVIM before entering the DAZ (or if null the RZ) of the IVI.</p> -<p>The IVI service shall provide the MDA as destination area in the format compliant to the one as specified in ETSI EN 302 931 [9] to the ITS networking & transport layer.</p> -<p>Table 13 provides the requirements for the broadcast communication in accordance with ISO/TS 17423 [i.2].</p> -<p>The ITS station management uses the communication requirements to select suitable ITS-S communication protocol stacks. Some examples of communication parameter settings profiles that fulfill these requirements are specified in clause 10.</p> -<p class="tH"> -<a name="_Ref418590174"/>Table 13: IVI service communication requirements for short range access technologies</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">SfCH</p> -</td> <td> -<p class="tAL">Safety channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL">No continuous connectivity</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">255, 1 seconds (default)</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL">253</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL">2006</p> -</td> <td> -<p class="tAL">Port Number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL">1: broadcast transmission</p> -<p class="tAL">16: geocast transmission to an area given by geocoordinates.</p> -</td> <td> -<p class="tAL">If the MDA is within direct communication range of the sending ITS-S, destination type 1 shall be used. If the MDA exceeds the direct communication range or is not within the direct communication range, destination type 16 shall be used</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">site-local</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">400 m radius (default value)</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">High</p> -</td> <td> -<p class="tAL">Repeated transmission of the same message</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">ms100 (8)</p> -</td> <td> -<p class="tAL">-- response within less than 100 ms</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>IVI Application Identifier (AID)</b> -</p> -<p><span class="requality_text id_c3ba0b26-17cf-4dd8-90f3-941a01c66f96"><a class="requality_id" id="id_c3ba0b26-17cf-4dd8-90f3-941a01c66f96" name="c3ba0b26-17cf-4dd8-90f3-941a01c66f96"/>The ITS AID of the IVI service is allocated in [15].</span></p> -<p/> -<p> -<b><span class="requality_text id_09b4e90f-647e-40b8-bbfe-3b757cf53081"><a class="requality_id" id="id_09b4e90f-647e-40b8-bbfe-3b757cf53081" name="09b4e90f-647e-40b8-bbfe-3b757cf53081"/>IVI service specific permissions (SSP)</span></b> -</p> -<p>The IVIM contains the identification of the organization originating the IVIM, e.g. the Service Provider that originated it. An R-ITS-S is only allowed to send out IVIM for a defined Service Provider.</p> -<p>The SSP for the IVIM is defined by a variable number of octets and shall correspond to the octet scheme of Table 14. For each octet, the most significant bit (MSB) shall be the leftmost bit. The transmission order shall always be the MSB first. The interpretation of the SSP octet scheme is defined as depicted in Figure 7.</p> -<table> -<tbody> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> -</tr> -<tr> <td> -<p class="tAC">Octet 0</p> -</td> <td> -<p class="tAC">Octet 1</p> -</td> <td> -<p class="tAC">Octet 2</p> -</td> -</tr> -</tbody> -</table> -<p class="nF"/> -<p class="tF"> -<a name="_Ref440402682"/>Figure 7: Format for the Octets</p> -<p class="tH"> -<a name="_Ref414609194"/>Table 14. Octet Scheme for IVI SSPs</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet #</p> -</td> <td> -<p class="tAH">Component</p> -</td> <td> -<p class="tAH">Semantics</p> -</td> -</tr> -<tr> <td> -<p class="tAL">0</p> -</td> <td> -<p class="tAL">version</p> -</td> <td> -<p class="tAL">SSP version control:</p> -<p class="tAL">0: No version, length 1 octet; the value shall only be used for testing purposes.</p> -<p class="tAL"><span class="requality_text id_37041512-f1ea-427f-a8e6-e8f8c3f1a9f4"><a class="requality_id" id="id_37041512-f1ea-427f-a8e6-e8f8c3f1a9f4" name="37041512-f1ea-427f-a8e6-e8f8c3f1a9f4"/>1: First version, variable length, SSP contains information as defined in the present document.</span></p> -<p class="tAL">2 to 255: Reserved for Future Usage.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1 to 3</p> -</td> <td> -<p class="tAL">serviceProviderId</p> -</td> <td> -<p class="tAL"><span class="requality_text id_c6de9a60-98e3-4e25-aa6b-25757a753703"><a class="requality_id" id="id_c6de9a60-98e3-4e25-aa6b-25757a753703" name="c6de9a60-98e3-4e25-aa6b-25757a753703"/>Identification of the Service Provider for which the R-ITS-S is allowed to send out IVIM and to which the Service-specific parameter apply, using the DE Provider from ISO/TS19321 [7].</span></p> -</td> -</tr> -<tr> <td> -<p class="tAL">4 to 5</p> -</td> <td> -<p class="tAL">parameter</p> -</td> <td> -<p class="tAL">Service-specific parameter, see Table 15.</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p><span class="requality_text id_9099b2b8-ed7b-4943-9a69-bb697d241c23"><a class="requality_id" id="id_9099b2b8-ed7b-4943-9a69-bb697d241c23" name="9099b2b8-ed7b-4943-9a69-bb697d241c23"/>The Service-specific parameter shall be as defined in Table 15.</span></p> -<p class="tH"> -<a name="_Ref411589978"/>Table 15: IVI service SSPs</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet Position</p> -</td> <td> -<p class="tAH">Bit Position</p> -</td> <td> -<p class="tAH">IVIM data Item</p> -</td> <td> -<p class="tAH">Bit Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">0 (80h) (MSBit)</p> -</td> <td> -<p class="tAL">Vienna Convention Code for road sign</p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>viennaConvention}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign "General IVI container" using the Vienna convention road signs</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL">ISO/TS 14823 [i.3] traffic sign pictogram (danger warning)</p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>iso14823.pictogramCode.<br/>serviceCategoryCode.<br/>trafficSignPictogram.dangerWarning}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ISO/TS 14823 [i.3] road signs with traffic sign pictogram set to dangerWarning</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">2 (20h)</p> -</td> <td> -<p class="tAL">ISO/TS 14823 [i.3] traffic sign pictogram (regulatory) </p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>iso14823.pictogramCode.<br/>serviceCategoryCode.<br/>trafficSignPictogram.regulatory}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ISO/TS 14823 [i.3] road signs with traffic sign pictogram set to regulatory</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">3 (10h)</p> -</td> <td> -<p class="tAL">ISO/TS 14823 [i.3] traffic sign pictogram (informative) </p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>iso14823.pictogramCode.<br/>serviceCategoryCode.<br/>trafficSignPictogram.informative}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ISO/TS 14823 [i.3] road signs with traffic sign pictogram set to informative</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">4 (08h)</p> -</td> <td> -<p class="tAL">ISO/TS 14823 [i.3] public facilities pictogram </p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>iso14823.pictogramCode.<br/>serviceCategoryCode.<br/>publicFacilitiesPictogram}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ISO/TS 14823 [i.3] road signs with public facilities pictogram</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">5 (04h)</p> -</td> <td> -<p class="tAL">ISO/TS 14823 [i.3] ambient or road conditions pictogram (ambient condition)</p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>iso14823.pictogramCode.<br/>serviceCategoryCode.<br/>ambientOrRoadContitionPictogram.ambientCondition}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ISO/TS 14823 [i.3] road signs with ambient and road conditions set to ambientCondition</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">6 (02h)</p> -</td> <td> -<p class="tAL">ISO/TS 14823 [i.3] ambient or road conditions pictogram (road condition)</p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>iso14823.pictogramCode.<br/>serviceCategoryCode.<br/>ambientOrRoadContitionPictogram.<br/>roadCondition}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ISO/TS 14823 [i.3] road signs with ambient and road conditions set to roadCondition</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">7 (01h)<br/>(LSBit)</p> -</td> <td> -<p class="tAL">ITIS codes</p> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>roadSignCodes.RSCode.code.<br/>itisCodes}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the ITIS codes</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">0 (80h)<br/>(MSBit)</p> -</td> <td> -<p class="tAL">Lane status</p> -<p class="tAL"/> -<p class="tAL">{IVIM.ivi.optional.gic.GicPart.<br/>laneStatus}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "General IVI container" using the laneStatus</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL">Road configuration container </p> -<p class="tAL"/> -<p class="tAL">{IVIM.ivi.optional.rcc}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "Road Configuration Container"</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">2 (20h)</p> -</td> <td> -<p class="tAL">Text container</p> -<p class="tAL"/> -<p class="tAL">{IVIM.ivi.optional.tc}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "Text Container"</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">3 (10h)</p> -</td> <td> -<p class="tAL">Layout Container</p> -<p class="tAL"/> -<p class="tAL">{IVIM.ivi.optional.lac}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign the "Layout Container"</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">4 (08h)</p> -</td> <td> -<p class="tAL">IVI Status (negation)</p> -<p class="tAL"/> -<p class="tAL">{IVIM.ivi.mandatory.iviStatus}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign use the iviStatus set to negation</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL"><span class="requality_text id_e3359386-7c08-4b84-9241-a47ef0d3ae95"><a class="requality_id" id="id_e3359386-7c08-4b84-9241-a47ef0d3ae95" name="e3359386-7c08-4b84-9241-a47ef0d3ae95"/>All other bits of the SSP are not used and set to 0.</span></p> -</td> -</tr> -</tbody> -</table> -<p/> -<h4> -<a name="_Toc442882243"/> -<a name="_Toc442882472"/> -<a name="_Toc442965285"/> -<a name="_Toc455389630"/>7.4.3.2 IVI service dissemination parameters for long-range communication</h4> -<p>This clause provides the requirements for the long range unicast communication (e.g. usage of cellular network) in accordance with ISO/TS 17423 [i.2].</p> -<p class="tH">Table 16: IVI service communication requirements for long range</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">GPCH</p> -</td> <td> -<p class="tAL">General Purpose Channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL">No continuous connectivity</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">n.a</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL"><span class="requality_text id_c5034f72-3698-4bcd-9169-243698e123ef"><a class="requality_id" id="id_c5034f72-3698-4bcd-9169-243698e123ef" name="c5034f72-3698-4bcd-9169-243698e123ef"/>2006</span></p> -</td> <td> -<p class="tAL">Port Number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL"><span class="requality_text id_4aafd874-da69-4aa9-8142-ee95841e1434"><a class="requality_id" id="id_4aafd874-da69-4aa9-8142-ee95841e1434" name="4aafd874-da69-4aa9-8142-ee95841e1434"/>Unicast</span></p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">Global</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">n.a</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">sec (16) </p> -</td> <td> -<p class="tAL">-- response within less than 10 seconds</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">Required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">Required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">Required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<h1> -<a name="Clause_TLC_Service"/> -<a name="_Toc442882244"/> -<a name="_Toc442882473"/> -<a name="_Toc442965286"/> -<a name="_Toc455389631"/><span class="requality_text id_e43b478a-ba35-4122-859f-18ad5768a7ca"><a class="requality_id" id="id_e43b478a-ba35-4122-859f-18ad5768a7ca" name="e43b478a-ba35-4122-859f-18ad5768a7ca"/>8 Traffic Light Control (TLC) service</span></h1> -<h2> -<a name="_Toc442882245"/> -<a name="_Toc442882474"/> -<a name="_Toc442965287"/> -<a name="_Toc455389632"/>8.1 TLC service overview</h2> -<p>The Traffic Light Control service is one instantiation of the infrastructure services to manage the generation, transmission of SREM messages and SSEM messages. The TLC service supports prioritization of public transport and public safety vehicles (ambulance, fire brigade, etc.) to traverse a signalized road infrastructure (e.g. intersection) as fast as possible or using a higher priority than ordinary traffic participants. The corresponding SREM is sent by an ITSS (e.g. vehicle) to the traffic infrastructure environment (e.g. R-ITS-S, TCC). In a signalized environment (e.g. intersection) the SREM is sent for requesting traffic light signal priority (public transport) signal preemption (public safety). The service may not only be requested for the approaching signalized environment but also for a sequence of e.g. intersections along a defined traffic route. In response to the request the infrastructure (e.g. R-ITS-S/TLC or TCC) will acknowledge with a SSEM notifying if the request has been granted, canceled or changed in priority due to a more relevant signal request (e.g. ambulance).</p> -<p class="fL"> -<div class="embedded" id="rId25"/> -</p> -<p class="tF"> -<a name="_Ref418597707"/>Figure 8: Traffic Light Control service example</p> -<p>Figure 8 gives an example of a Bus requesting traffic light signal priority (using SREM) for the defined bus route to the Traffic Control Centre (TCC). The request is sent via the ITS-S Station connected to the Traffic Controller or by other communication facilities. Multiple requests, related to different intersections, are possible to transmit using one SREM only. Depending on prioritization needs, a single request to the approaching Traffic Controller is also possible. The Traffic light controller analyzes the request and returns a SSEM as feedback. Alternatively if the SREM request has been forwarded by the traffic controller to the TCC the SSEM reply will be generated by the TCC and distributed via the R-ITS-S of the corresponding TLC.</p> -<h2> -<a name="_Toc442882246"/> -<a name="_Toc442882475"/> -<a name="_Toc442965288"/> -<a name="_Toc455389633"/>8.2 TLC service</h2> -<p>The TLC service shall provide the communication service defined in clause 4.2 and support additionally the following functionality:</p> -<p class="b1+">Generation of SREM with a single request or sequence of signal requests (e.g. related to several signalized intersections).</p> -<p class="b1+">Generation of SSEM with a signal status response.</p> -<p class="b1+">Single or continuous transmission of SREM and SSEM.</p> -<p class="b1+">Reception of SREM and SSEM.</p> -<h2> -<a name="_Toc442882247"/> -<a name="_Toc442882476"/> -<a name="_Toc442965289"/> -<a name="_Toc455389634"/>8.3 TLC service message and version</h2> -<p>The Signal Control service shall use the SREM as defined in Annex D and the SSEM as defined in Annex E. The header of the SREM and the SSEM are defined in the data dictionary ETSI TS 102 894-2 [2]. The data elements of the SREM and the SSEM payload are defined in ISO/TS 19091 [8].</p> -<p><span class="requality_text id_89b8cf8c-fbae-474e-81d7-1d550dd36762"><a class="requality_id" id="id_89b8cf8c-fbae-474e-81d7-1d550dd36762" name="89b8cf8c-fbae-474e-81d7-1d550dd36762"/>The </span><i><span class="requality_text id_89b8cf8c-fbae-474e-81d7-1d550dd36762">protocolVersion</span></i><span class="requality_text id_89b8cf8c-fbae-474e-81d7-1d550dd36762"> (defined in the header) of SREM based on the present document is set to value "1".</span></p> -<p><span class="requality_text id_66399e8a-0632-497a-9f97-f2d870a4b31f"><a class="requality_id" id="id_66399e8a-0632-497a-9f97-f2d870a4b31f" name="66399e8a-0632-497a-9f97-f2d870a4b31f"/>The </span><i><span class="requality_text id_66399e8a-0632-497a-9f97-f2d870a4b31f">protocolVersion</span></i><span class="requality_text id_66399e8a-0632-497a-9f97-f2d870a4b31f"> (defined in the header) of SSEM based on the present document is set to value "1".</span></p> -<h2> -<a name="_Toc442882248"/> -<a name="_Toc442882477"/> -<a name="_Toc442965290"/> -<a name="_Toc455389635"/>8.4 TLC service dissemination</h2> -<h3> -<a name="_Toc442882249"/> -<a name="_Toc442882478"/> -<a name="_Toc442965291"/> -<a name="_Toc455389636"/>8.4.1 TLC service identification</h3> -<p><span class="requality_text id_9209867a-6a0f-4c16-aedc-d5f64435f14e"><a class="requality_id" id="id_9209867a-6a0f-4c16-aedc-d5f64435f14e" name="9209867a-6a0f-4c16-aedc-d5f64435f14e"/>The SREM is identified by a request identification which is unique.</span> Additionally a sequence number identifies a sequence of requests.<span class="requality_text id_b3f84797-487a-4c3e-a81e-258938163a1c"><a class="requality_id" id="id_b3f84797-487a-4c3e-a81e-258938163a1c" name="b3f84797-487a-4c3e-a81e-258938163a1c"/> If the request or one of the requests with the same request identification has changed, the sequence number will be incremented.</span> <span class="requality_text id_65f67d00-63ae-4d5e-9272-cecfef3beace"><a class="requality_id" id="id_65f67d00-63ae-4d5e-9272-cecfef3beace" name="65f67d00-63ae-4d5e-9272-cecfef3beace"/>For having a clear relation between an SREM request and the SSEM status response, the request identification is used in both messages.</span></p> -<p><span class="requality_text id_d51284f2-a002-4664-b81f-c761eb425ec0"><a class="requality_id" id="id_d51284f2-a002-4664-b81f-c761eb425ec0" name="d51284f2-a002-4664-b81f-c761eb425ec0"/>The SSEM is a reply to a SREM. It uses the request identification of the SREM for identification.</span></p> -<h3> -<a name="_Toc442882250"/> -<a name="_Toc442882479"/> -<a name="_Toc442965292"/> -<a name="_Toc455389637"/>8.4.2 TLC service trigger, update, repetition and termination</h3> -<p> -<b>SREM</b> -</p> -<p>The SREM is transmitted based on the needs of the vehicle operator and triggered by applications. The application provides all data included in SREM. The traffic light control service shall construct a SREM payload and deliver it to the N&T (Networking and Transport) layer for dissemination.</p> -<p>The SREM may be repeated (depending on data content and on implementation).</p> -<p>The SREM transmission may be terminated, if one of the following conditions is reached:</p> -<p class="b1+">Application requests the termination of SREM transmission.</p> -<p class="b1+">Application does not provide update for SREM at the expiry of the current SREM content.</p> -<p> -<b>SSEM</b> -</p> -<p>An ITS-S forwards the request to the local traffic controller (TLC) or to the traffic control center (TCC) for further operation. Based on the decision of the TLC or the TCC the ITS-S application generates a SSEM to inform the requestor and adjacent traffic participants (e.g. vehicles, pedestrians) about the status of the request.</p> -<p><span class="requality_text id_178ac26b-def1-4261-8bbf-5df1fdaa5636"><a class="requality_id" id="id_178ac26b-def1-4261-8bbf-5df1fdaa5636" name="178ac26b-def1-4261-8bbf-5df1fdaa5636"/>The SSEM is transmitted by the infrastructure equipment (ITS-S road side unit) as response to a SREM. Based on changes or incoming SREM with higher priority requests (e.g. public safety "overrules" a Bus request) a revised SSEM will be transmitted to reflect the new status.</span></p> -<p>The application provides all data included in SSEM payload. The Traffic Light Control service shall construct a SSEM payload and deliver it to the Networking and Transport Layer for dissemination.</p> -<p>The SSEM may be repeated (depending on data content and on implementation).</p> -<p>The SSEM transmission may be terminated, if one of the following conditions is reached:</p> -<p class="b1+">Application requests the termination of SSEM transmission.</p> -<p class="b1+">Application does not provide update for SSEM at the expiry of the current SSEM content.</p> -<h3> -<a name="_Toc442882251"/> -<a name="_Toc442882480"/> -<a name="_Toc442965293"/> -<a name="_Toc455389638"/>8.4.3 TLC service communication parameters</h3> -<h4> -<a name="_Toc442882252"/> -<a name="_Toc442882481"/> -<a name="_Toc442965294"/> -<a name="_Toc455389639"/>8.4.3.1 TLC service service communication overview</h4> -<p>The SREM is transmitted on demand (e.g. Bus driver) or automatically by an application (e.g. in the bus) based on external conditions (e.g. position, reception of a specific SPATEM, etc.) It is transmitted once or continuously depending on the needs of the implementation. The SSEM is sent as response to a SREM. Both messages may use short range or wide area communication.</p> -<h4> -<a name="_Toc442882253"/> -<a name="_Toc442882482"/> -<a name="_Toc442965295"/> -<a name="_Toc455389640"/>8.4.3.2 TLC service communication parameters for short range access technologies</h4> -<p>For short range broadcast communication different access technologies are applicable for dissemination of the SREM or SSEM as follows:</p> -<p class="b1+">Short range communication data transmission using ITS-G5 broadcast transmission,</p> -<p class="b1+">WiFi communication.</p> -<p>In case the GN protocol and the GBC is used, the TLC service shall provide the destination area in the format compliant to ETSI EN 302 931 [9] and to the ITS networking & transport layer.</p> -<p>Table 17 provides the requirements for the broadcast communication in accordance with ISO/TS 17423 [i.2].</p> -<p>The ITS station management uses the communication requirements to select suitable ITS-S communication protocol stacks. Some examples of communication parameter settings that fulfill these requirements are specified in clause 10.</p> -<p class="tH">Table 17: TLC service communication profile for short range access technologies</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">SCH, SfCH</p> -</td> <td> -<p class="tAL">Service channel, Safety channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL">No continuous connectivity</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">0</p> -</td> <td> -<p class="tAL">No average transmission</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL">251</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL">2007</p> -</td> <td> -<p class="tAL">SREM port number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL">2008</p> -</td> <td> -<p class="tAL">SSEM port number of the transport protocol (see ETSI TS 103 248 [16])</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL">geo-location-based</p> -<p class="tAL">GeoBroadcast</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">site-local</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">400 m radius (default value)</p> -</td> <td> -<p class="tAL">Short range communication is used.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">High</p> -</td> <td> -<p class="tAL">Repeated transmission of the same message</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">ms100 (8)</p> -</td> <td> -<p class="tAL">-- response within less than 100 ms</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>TLC Application Identifier (AID)</b> -</p> -<p><span class="requality_text id_845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd"><a class="requality_id" id="id_845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd" name="845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd"/>The ITS AID of the TLC service is allocated in [15]</span></p> -<p>.</p> -<p> -<b><span class="requality_text id_fe74fe56-0d8e-476a-972b-aae7246a2b3a"><a class="requality_id" id="id_fe74fe56-0d8e-476a-972b-aae7246a2b3a" name="fe74fe56-0d8e-476a-972b-aae7246a2b3a"/>TLC service security parameters</span></b> -</p> -<p>For security against misuse of keys also for fix installations it is necessary to change the pseudonym identity regularly. The default time for is given in Table 4. For special cases like offline working traffic light controllers where manually driven provision of pseudonym identity keys is necessary, longer periods of e.g. half a year are allowed and should be agreed with the operator.</p> -<p class="tH">Table 18: TLC service security parameters</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">TLC service security parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Message certificate validity</p> -</td> <td> -<p class="tAL">2 months (default value)</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Station-ID change of pseudonym identity</p> -</td> <td> -<p class="tAL">1 month (default value)</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p> -<b>TLC service specific permissions (SSP)</b> -</p> -<p>The interpretation of SSP octet scheme is defined as depicted in Figure 9.</p> -<table> -<tbody> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> <td> -<p class="tAC"/> -</td> -</tr> -<tr> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> <td> -<p class="tAC">0</p> -</td> <td> -<p class="tAC">1</p> -</td> <td> -<p class="tAC">2</p> -</td> <td> -<p class="tAC">3</p> -</td> <td> -<p class="tAC">4</p> -</td> <td> -<p class="tAC">5</p> -</td> <td> -<p class="tAC">6</p> -</td> <td> -<p class="tAC">7</p> -</td> -</tr> -<tr> <td> -<p class="tAC">Octet 0</p> -</td> <td> -<p class="tAC">Octet 1</p> -</td> <td> -<p class="tAC">Octet 2</p> -</td> -</tr> -</tbody> -</table> -<p class="nF"/> -<p class="tF"> -<a name="_Ref440402801"/>Figure 9: Format for the Octets</p> -<p>The SSP for the SREM and SSEM shall correspond to the octet scheme of Table 19.</p> -<p class="tH"> -<a name="_Ref419815887"/>Table 19: Octet scheme for TLC service SSPs</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet #</p> -</td> <td> -<p class="tAH">Description</p> -</td> -</tr> -<tr> <td> -<p class="tAL">0</p> -</td> <td> -<p class="tAL">SSP version control</p> -</td> -</tr> -<tr> <td> -<p class="tAL">3</p> -</td> <td> -<p class="tAL">Service-specific parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">4 to 15</p> -</td> <td> -<p class="tAL">Reserved for future usage</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p><span class="requality_text id_5bccff70-8411-49a4-86e8-6a2730ec8fa0"><a class="requality_id" id="id_5bccff70-8411-49a4-86e8-6a2730ec8fa0" name="5bccff70-8411-49a4-86e8-6a2730ec8fa0"/>The service-specific parameter for SSEM shall be as defined in Table 20.</span></p> -<p class="tH"> -<a name="_Ref419815902"/>Table 20: Signal Control service specific permissions for SREM</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet Position</p> -</td> <td> -<p class="tAH">Bit Position</p> -</td> <td> -<p class="tAH">SREM data Item</p> -</td> <td> -<p class="tAH">Bit Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">0 (80h)</p> -</td> <td> -<p class="tAL">Signal request</p> -<p class="tAL">{SREM.srm.requests}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL">Requestor role (public transport)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>publicTransport}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official public transport fleet.</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">2 (20h)</p> -</td> <td> -<p class="tAL">Requestor role (special transport)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>specialTransport}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is officially allowed to execute a special transport.</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">3 (10h)</p> -</td> <td> -<p class="tAL">Requestor role (dangerousGoods)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>dangerousGoods}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is allowed to transport officially dangerous goods</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">4 (08h)</p> -</td> <td> -<p class="tAL">Requestor role (roadWork)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>roadWork}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official roadwork fleet.</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">5 (04h)</p> -</td> <td> -<p class="tAL">Requestor role (roadRescue)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>roadRescue}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official road rescue fleet.</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">6 (02h)</p> -</td> <td> -<p class="tAL">Requestor role (emergency)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>emergency}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official emergency fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">7 (01h)</p> -</td> <td> -<p class="tAL">Requestor role (safetyCar)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>safetyCar}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official safety vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">0 (80h)</p> -</td> <td> -<p class="tAL">Requestor role (truck)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>truck}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is a truck allowed officially to make signal requests</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL">Requestor role (motorcycle)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>motorcycle}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is a motor cycle allowed officially to make signal requests</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">2 (20h)</p> -</td> <td> -<p class="tAL">Requestor role (police)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>police}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official police vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">3 (10h)</p> -</td> <td> -<p class="tAL">Requestor role (fire)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>fire}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official fire brigade vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">4 (08h)</p> -</td> <td> -<p class="tAL">Requestor role (ambulance)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>ambulance}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official ambulance vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">5 (04h)</p> -</td> <td> -<p class="tAL">Requestor role (dot)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>dot}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official department of transportation vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">6 (02h)</p> -</td> <td> -<p class="tAL">Requestor role (transit)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>transit}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official transit vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">2</p> -</td> <td> -<p class="tAL">7 (01h)</p> -</td> <td> -<p class="tAL">Requestor role (slowMoving)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>slowMoving}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is a slow vehicle allowed officially to make signal requests</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">3</p> -</td> <td> -<p class="tAL">0 (80h)</p> -</td> <td> -<p class="tAL">Requestor role (cyclist)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>cyclist}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is a cyclist allowed officially to make signal requests</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">3</p> -</td> <td> -<p class="tAL">1 (40h)</p> -</td> <td> -<p class="tAL">Requestor role (pedestrian)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>pedestrian}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is a pedestrian allowed officially to make signal requests</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">3</p> -</td> <td> -<p class="tAL">2 (40h)</p> -</td> <td> -<p class="tAL">Requestor role (military)</p> -<p class="tAL">{SREM.srm.requestor.type.role.<br/>military}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to sign a signal request if he is part of the official military vehicle fleet</p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL"><span class="requality_text id_5f0d0ede-e1b1-49ca-9612-6df4b53860fb"><a class="requality_id" id="id_5f0d0ede-e1b1-49ca-9612-6df4b53860fb" name="5f0d0ede-e1b1-49ca-9612-6df4b53860fb"/>All other bits of the SSP are not used and set to 0.</span></p> -</td> -</tr> -</tbody> -</table> -<p/> -<p>The service-specific parameter for SREM shall be as defined in Table 21.</p> -<p class="tH"> -<a name="_Ref441236817"/>Table 21: Signal Control service specific permissions for SSEM</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Octet Position</p> -</td> <td> -<p class="tAH">Bit Position</p> -</td> <td> -<p class="tAH">SREM data Item</p> -</td> <td> -<p class="tAH">Bit Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">1</p> -</td> <td> -<p class="tAL">0 (80h)</p> -</td> <td> -<p class="tAL">Signal request status</p> -<p class="tAL">{SSEM}</p> -</td> <td> -<p class="tAL">1: The sending ITS-S is authorized to give a sign a signal request status </p> -<p class="tAL">0: The sending ITS-S is not authorized.</p> -</td> -</tr> -<tr> <td> -<p class="tAL"><span class="requality_text id_dced6c4e-4e4b-402a-9452-492fe14438d3"><a class="requality_id" id="id_dced6c4e-4e4b-402a-9452-492fe14438d3" name="dced6c4e-4e4b-402a-9452-492fe14438d3"/>All other bits of the SSP are not used and set to 0.</span></p> -</td> -</tr> -</tbody> -</table> -<p/> -<h4> -<a name="_Toc442882254"/> -<a name="_Toc442882483"/> -<a name="_Toc442965296"/> -<a name="_Toc455389641"/>8.4.3.3 TLC service communication parameters for long range communication</h4> -<p>This clause provides the communication requirements for the long range unicast communication (e.g. usage of cellular network) in accordance with ISO/TS 17423 [i.2].</p> -<p class="tH">Table 22: TLC service communication profile for long range</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Requirement</p> -</td> <td> -<p class="tAH">Value</p> -</td> <td> -<p class="tAH">Comment</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Operational parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_LogicalChannelType</p> -</td> <td> -<p class="tAL">SCH</p> -</td> <td> -<p class="tAL">Service channel</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SessionCont</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_AvgADUrate</p> -</td> <td> -<p class="tAL">n.a</p> -</td> <td> -<p class="tAL">No repetition</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_FlowType</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxPrio</p> -</td> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_PortNo</p> -</td> <td> -<p class="tAL"><span class="requality_text id_3d7c60ed-c139-4fe2-9427-9d71ab81be08"><a class="requality_id" id="id_3d7c60ed-c139-4fe2-9427-9d71ab81be08" name="3d7c60ed-c139-4fe2-9427-9d71ab81be08"/>2007</span></p><span class="requality_text id_3d7c60ed-c139-4fe2-9427-9d71ab81be08"> -</span></td> <td><span class="requality_text id_3d7c60ed-c139-4fe2-9427-9d71ab81be08"> -</span><p class="tAL"><span class="requality_text id_3d7c60ed-c139-4fe2-9427-9d71ab81be08">SREM port number of the transport protocol (see ETSI TS 103 248 [16])</span></p> -</td> -</tr> -<tr> <td> -<p class="tAL"/> -</td> <td> -<p class="tAL"><span class="requality_text id_e3e378dc-8bd3-4a4e-8612-e12b901716f8"><a class="requality_id" id="id_e3e378dc-8bd3-4a4e-8612-e12b901716f8" name="e3e378dc-8bd3-4a4e-8612-e12b901716f8"/>2008</span></p><span class="requality_text id_e3e378dc-8bd3-4a4e-8612-e12b901716f8"> -</span></td> <td><span class="requality_text id_e3e378dc-8bd3-4a4e-8612-e12b901716f8"> -</span><p class="tAL"><span class="requality_text id_e3e378dc-8bd3-4a4e-8612-e12b901716f8">SSEM port number of the transport protocol (see ETSI TS 103 248 [16])</span></p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_ExpFlowLifetime</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationType</p> -</td> <td> -<p class="tAL"><span class="requality_text id_56f108ee-54e4-4f1a-94d4-a95839fadc3c"><a class="requality_id" id="id_56f108ee-54e4-4f1a-94d4-a95839fadc3c" name="56f108ee-54e4-4f1a-94d4-a95839fadc3c"/>unicast</span></p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DestinationDomain</p> -</td> <td> -<p class="tAL">global</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_CommDistance</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Directivity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Performance communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_Resilience</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MinThP</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxLat</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_MaxADU</p> -</td> <td> -<p class="tAL">Max message size allowed by access technology</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Security communication service parameters</p> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataConfidentiality</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_DataIntegrity</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_NonRepudiation</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">CSP_SourceAuthentication</p> -</td> <td> -<p class="tAL">required</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol communication service parameter</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Protocol-Req</p> -</td> <td> -<p class="tAL">n.a.</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -</tbody> -</table> -<p/> -<h1> -<a name="_Toc442882255"/> -<a name="_Toc442882484"/> -<a name="_Toc442965297"/> -<a name="_Toc455389642"/>9 Basic services running on ITS infrastructure devices</h1> -<h2> -<a name="_Toc455389643"/>9.1 Basic service overview</h2> -<p>Infrastructure ITS devices (e.g. road side unit) will communicate to vehicles/pedestrians and are on the other side connected to traffic controllers, traffic control centers (urban, interurban) or work in a standalone operation mode. From the application point of view, they use the same services like all other ITS stations (e.g. DEN, CA) and implement, depending on their role, additional infrastructure related applications.</p> -<h2> -<a name="_Toc442882256"/> -<a name="_Toc442882485"/> -<a name="_Toc442965298"/> -<a name="_Toc455389644"/>9.2 DEN service on ITS infrastructure devices</h2> -<p>Infrastructure ITS devices shall be able to transmit and to receive DENMs and provide the DEN (Decentralized Environmental Notification) service as defined in ETSI EN 302 637-3 [14]. Due to the role of the infrastructure device additional applications may run using the DEN basic service:</p> -<p class="b1+">Generation and transmission of DENM based on information of the directly attached devices (e.g. traffic light controller, traffic warning trailer).</p> -<p class="b1+">Generation and transmission of DENM based on traffic data received from the backbone traffic control infrastructure (e.g. traffic control center).</p> -<p class="b1+">Forwarding of DENM generated by the backbone ITS infrastructure (e.g. TCC) to other ITS stations (e.g. via ITS-G5, WLAN, cellular systems).</p> -<p class="b1+">Forwarding of DENM received from other ITS stations to the backbone ITS infrastructure (e.g. TCC).</p> -<h2> -<a name="_Toc442882257"/> -<a name="_Toc442882486"/> -<a name="_Toc442965299"/> -<a name="_Toc455389645"/>9.3 CA service on ITS infrastructure devices</h2> -<p>Infrastructure ITS devices shall be able to transmit CAM's and provide the CA (Common Awareness) service as defined in ETSI EN 302 637-2 [13]. Due to the role of the infrastructure device additional applications may run using the CA basic service:</p> -<p class="b1+">Generation of CAM's for notification of protected communication zones (e.g. Tolling stations).</p> -<p class="b1+">Forwarding of CAM's received from other ITS stations to the backbone ITS infrastructure (this requires sufficient backbone channel capacity).</p> -<p class="b1+">Aggregation of CAM's (e.g. for purpose of acquisition of probe vehicle data) for minimizing backbone channel.</p> -<h1> -<a name="Clause_Communication_Parameter_Settings"/> -<a name="_Toc442882258"/> -<a name="_Toc442882487"/> -<a name="_Toc442965300"/> -<a name="_Toc455389646"/>10 Communication Parameter Settings</h1> -<h2> -<a name="_Toc442882259"/> -<a name="_Toc442882488"/> -<a name="_Toc442965301"/> -<a name="_Toc455389647"/>10.1 Overview </h2> -<p>The infrastructure services as specified in the present document shall use one of the following communication profiles:</p> -<p class="b1+">CPS_001 Transmit of ADU using GeoNetworking/BTP over ITS-G5</p> -<p class="b1+">CPS_002 Transmit of ADU using GeoNetworking/BTP over WLAN infrastructure mode</p> -<p class="b1+">CPS_003 Transmit of ADU using GeoNetworking/BTP, IP/UDP over WLAN infrastructure mode</p> -<p class="b1+">CPS_004 Transmit of ADU using IPv6, GeoNetworking/BTP over GeoNetworking</p> -<p class="b1+">CPS_005 Transmit of secured ADU using TLS/DTLS over TCP/UDP over IPv4/6 over WLAN infra. mode</p> -<p class="b1+"/> -<h2> -<a name="COM_PARAM_SETTINGS_002_clause"/> -<a name="_Toc455389648"/> -<a name="COM_PRO_001"/> -<a name="COM_PARAM_SETTINGS_001"/>10.2 CPS_001</h2> -<p>CPS_001 defines the communication parameter settings for dissemination of an ADU using GeoNetworking/BTP over ITS G5. The involved networking and transport protocols are:</p> -<p class="list_Paragraph">Basic Transport Protocol (ETSI EN 302 636-5-1 [4])</p> -<p class="list_Paragraph">GeoNetworking protocol (ETSI EN 302 636-4-1 [3]).</p> -<p>Table 23 lists the communication parameter settings.</p> -<p class="tH"> -<a name="_Ref448244534"/>Table 23: CPS_001 Communication parameter settings</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Parameter</p> -</td> <td> -<p class="tAH">TSB Single_Hop (SHB)</p> -</td> <td> -<p class="tAH">TSB Multi_Hop</p> -</td> <td> -<p class="tAH">GBC</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP Type</p> -</td> <td> -<p class="tAL"><span class="requality_text id_287563c5-e856-4f03-9ac9-c698a9abc297"><a class="requality_id" id="id_287563c5-e856-4f03-9ac9-c698a9abc297" name="287563c5-e856-4f03-9ac9-c698a9abc297"/>2 (BTP header type B)</span></p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP Source port</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP Destination port</p> -</td> <td> -<p class="tAL">As specified in ETSI TS 103 248 [16]</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP Destination port info</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Packet transport type</p> -</td> <td> -<p class="tAL">SHB</p> -<p class="tAL">(Header Type: 5, <br/>Header Sub-type: 0)</p> -</td> <td> -<p class="tAL">TSB</p> -<p class="tAL">(Header Type: 5, <br/>Header Sub-type: 1)</p> -</td> <td> -<p class="tAL">GBC</p> -<p class="tAL">(Header Type:4, <br/>Header Sub-type: 0,1, or 2)</p> -<p class="tAL">The choice of sub-type is implementation-dependent based on the destination area</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Destination address</p> -</td> <td> -<p class="tAL">N/A</p> -</td> <td> -<p class="tAL">N/A</p> -</td> <td> -<p class="tAL">Destination area</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Communication profile</p> -</td> <td> -<p class="tAL">1 (ITS-G5A)</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Security profile</p> -</td> <td> -<p class="tAL">As specified in clause 11</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Maximum packet lifetime</p> -</td> <td> -<p class="tAL">As specified in clauses 5 to 8 <br/>for the corresponding infrastructure service.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Repetition interval</p> -</td> <td> -<p class="tAL">If applicable as specified inclauses 5 to 8.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Maximum repetition time</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Maximum hop limit</p> -</td> <td> -<p class="tAL">N/A</p> -</td> <td> -<p class="tAL">Implementation dependent, based on the destination area.</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Traffic class</p> -</td> <td> -<p class="tAL">The traffic class is defined for each message in Table 1</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Length</p> -</td> <td> -<p class="tAL">Length of Facilities layer data</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Data</p> -</td> <td> -<p class="tAL">Facilities layer data</p> -</td> -</tr> -</tbody> -</table> -<p/> -<h2> -<a name="COM_PARAM_SETTINGS_003_clause"/> -<a name="_Toc442882260"/> -<a name="_Toc442882489"/> -<a name="_Toc442965302"/> -<a name="_Toc455389649"/> -<a name="COM_PARAM_SETTINGS_002"/> -<a name="COM_PRO_101"/>10.3 CPS_002</h2> -<p>CPS_002 defines the communication settings for dissemination of an ADU using GeoNetworking/BTP over WLAN (e.g. IEEE 802.11abgn [i.4]) in infrastructure mode. The involved networking and transport protocols are:</p> -<p class="list_Paragraph">Basic Transport Protocol (ETSI EN 302 636-5-1 [4])</p> -<p class="list_Paragraph">GeoNetworking protocol (ETSI EN 302 636-4-1 [3])</p> -<p>Table 24 lists the communication parameter settings.</p> -<p class="nO">NOTE: For interoperability with ITS-G5 the same settings as for the communication profile CPS_001 as defined in clause 10.2 are used.</p> -<p class="tH"> -<a name="_Ref448244811"/>Table 24: CPS_002 Communication parameter settings</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Parameter</p> -</td> <td> -<p class="tAH">Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP type</p> -</td> <td> -<p class="tAL">2 (BTP header type B)</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP source port</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP Destination port</p> -</td> <td> -<p class="tAL">As specified in ETSI TS 103 248 [16]</p> -</td> -</tr> -<tr> <td> -<p class="tAL">BTP Destination port info</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Packet transport type</p> -</td> <td> -<p class="tAL">SHB (Header Type: 5, Header Sub-type: 0)</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Destination address</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Communication profile</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Security profile</p> -</td> <td> -<p class="tAL">As specified in clause 11</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Maximum packet lifetime</p> -</td> <td> -<p class="tAL">As specified in clauses 5 to 8</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Repetition interval</p> -</td> <td> -<p class="tAL">If applicable as specified in clauses 5 to 8 for the corresponding infrastructure service..</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Maximum repetition time</p> -</td> <td> -<p class="tAL"/> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Maximum hop limit</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">GN Traffic class</p> -</td> <td> -<p class="tAL">N/A</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Length</p> -</td> <td> -<p class="tAL">Length of Facilities layer data</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Data</p> -</td> <td> -<p class="tAL">Facilities layer data</p> -</td> -</tr> -</tbody> -</table> -<p/> -<h2> -<a name="_Toc455389650"/> -<a name="COM_PARAM_SETTINGS_003"/>10.4 CPS_003</h2> -<p>CPS_003 defines the communication settings for dissemination of an ADU using GeoNetworking/BTP and IP/UDP over WLAN (e.g. IEEE 802.11abgn [i.4]) in infrastructure mode. It applies tunnelling of GeoNetworking packets over UDP and IP version 4/version 6. The involved networking and transport protocols are:</p> -<p class="list_Paragraph">Basic Transport Protocol (ETSI EN 302 636-5-1 [4])</p> -<p class="list_Paragraph">GeoNetworking protocol (ETSI EN 302 636-4-1 [3])</p> -<p class="list_Paragraph">User Datagram Protocol (UDP)</p> -<p class="list_Paragraph">IP version 4 / version 6</p> -<p class="nO">NOTE: For interoperability with ITS-G5 the same settings as for the communication profile CPS_001 as defined in clause 10.2 are used.</p> -<p class="tH">Table 25: CPS_003 Communication parameter settings</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Parameter</p> -</td> <td> -<p class="tAH">IP version 4</p> -</td> <td> -<p class="tAH">IP version 6</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Transport protocol type</p> -</td> <td> -<p class="tAC">UDP</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Source port</p> -</td> <td> -<p class="tAC">Implementation dependent</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination port</p> -</td> <td> -<p class="tAC">47101</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination address </p> -</td> <td> -<p class="tAC">IPv4 broadcast address dependent on network deployment</p> -</td> <td> -<p class="tAC">IPv6 link-local multicast address</p> -</td> -</tr> -</tbody> -</table> -<p class="fL"/> -<p class="nO">NOTE1: Port number values were chosen based on the “IANA Service Name and Transport Protocol Port Number Registry†(<a href="https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt">https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt</a> Last Updated 2016-04-07). According to this document, the port number <br/>values 47101 – 47556 are unassigned.</p> -<p class="nO">NOTE2: The setting of other communication parameters related to IPv4 or IPv6 are implementation-dependent.</p> -<p/> -<h2> -<a name="_Toc455389651"/> -<a name="COM_PARAM_SETTINGS_005"/>10.5 CPS_004</h2> -<p>CPS_004 defines the communication settings for dissemination of an ADU using IPv6,GeoNetworking/BTP over WLAN (e.g. IEEE 802.11abgn [i.4]) in infrastructure mode. The involved networking and transport protocols are:</p> -<p class="list_Paragraph">IP version 6</p> -<p class="list_Paragraph">Basic Transport Protocol (ETSI EN 302 636-5-1 [4])</p> -<p class="list_Paragraph">GeoNetworking protocol (ETSI EN 302 636-4-1 [3]) with the extensions for transmission of IPv6 packets over GeoNetworking (ETSI EN 302 636-6-1 [5])</p> -<p/> -<h2> -<a name="_Toc455389652"/>10.6 CPS_005</h2> -<p>"CPS_005" defines the communication settings for dissemination of an ADU over WLAN (e.g. IEEE 802.11abgn [i.4]) in infrastructure mode in a secured way. The involved networking and transport protocols are TCP/UDP and IP version 4 / version 6. The TLS/DTLS protocol extended to support ETSI ITS certificates for authentication is used to secure the communication [i.7]. Table 26 lists communication parameter settings.</p> -<p class="tH">Table26 : CPS_005 Communication parameter settings</p> -<table> -<tbody> -<tr> <td> -<p class="tAH">Parameter</p> -</td> <td> -<p class="tAH">Value</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Security protocol</p> -</td> <td> -<p class="tAC">TLS/DTLS extended</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Transport protocol type</p> -</td> <td> -<p class="tAC">TCP/UDP</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Source port</p> -</td> <td> -<p class="tAC">Implementation dependent</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination port</p> -</td> <td> -<p class="tAC">TLM: 47101, RLT: 47102, IVI: 47103, TLC: 47104</p> -</td> -</tr> -<tr> <td> -<p class="tAL">Destination address </p> -</td> <td> -<p class="tAC">IPv4/v6 unicast address</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p>NOTE: this communication profile can also be applied over a cellular interface connected to the infrastructure instead of WLAN.</p> -<p/> -<p/> -<p/> -<h1> -<a name="Clause_Security_Profile"/> -<a name="_Toc442882261"/> -<a name="_Toc442882490"/> -<a name="_Toc442965303"/> -<a name="_Toc455389653"/>11 Security Profile</h1> -<p>The Generic security profile as defined in ETSI TS 103 097 [6] shall be applied to messages used by the TLM, RLT, IVI, TLC services. Additional HeaderField types are not allowed.</p> -<p> -<br/> -</p> -<h6> -<a name="Annex_SPAT"/> -<a name="_Toc442882262"/> -<a name="_Toc442882491"/> -<a name="_Toc442965304"/> -<a name="_Toc455389654"/>Annex A (normative):<br/>ASN.1 specification of SPATEM</h6> -<p>This annex provides the ASN.1 specification of the data types of the SPATEM.</p> -<p class="pL"/> -<p class="pL">SPATEM-PDU-Descriptions {</p> -<p class="pL"> itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) spatem (0) version1 (1)</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">DEFINITIONS AUTOMATIC TAGS ::= </p> -<p class="pL"/> -<p class="pL">BEGIN</p> -<p class="pL"/> -<p class="pL">IMPORTS</p> -<p class="pL">SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } </p> -<p class="pL">ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) };</p> -<p class="pL"/> -<p class="pL"/> -<p class="pL">SPATEM ::= SEQUENCE {</p> -<p class="pL"> header ItsPduHeader,</p> -<p class="pL"> spat SPAT</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">END</p> -<p class="pL"/> -<p/> -<p> -<br/> -</p> -<h6> -<a name="Annex_MAP"/> -<a name="_Toc442882263"/> -<a name="_Toc442882492"/> -<a name="_Toc442965305"/> -<a name="_Toc455389655"/>Annex B (normative):<br/>ASN.1 specification of MAPEM</h6> -<p>This annex provides the ASN.1 specification of the data types of the MAPEM.</p> -<p class="pL"/> -<p class="pL">MAPEM-PDU-Descriptions {</p> -<p class="pL"> itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) </p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">DEFINITIONS AUTOMATIC TAGS ::= </p> -<p class="pL"/> -<p class="pL">BEGIN</p> -<p class="pL"/> -<p class="pL">IMPORTS</p> -<p class="pL">MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } </p> -<p class="pL">ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)};</p> -<p class="pL"/> -<p class="pL"/> -<p class="pL">MAPEM ::= SEQUENCE {</p> -<p class="pL"> header ItsPduHeader,</p> -<p class="pL"> map MapData</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">END</p> -<p class="pL"/> -<p/> -<p> -<br/> -</p> -<h6> -<a name="Annex_IVI"/> -<a name="_Toc442882264"/> -<a name="_Toc442882493"/> -<a name="_Toc442965306"/> -<a name="_Toc455389656"/>Annex C (normative):<br/>ASN.1 specification of IVIM</h6> -<p>This annex provides the ASN.1 specification of the data types of the IVIM.</p> -<p class="pL"/> -<p class="pL">IVIM-PDU-Descriptions {</p> -<p class="pL"> itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1)</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">DEFINITIONS AUTOMATIC TAGS ::= </p> -<p class="pL"/> -<p class="pL">BEGIN</p> -<p class="pL"/> -<p class="pL">IMPORTS</p> -<p class="pL">IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)}</p> -<p class="pL">ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)};</p> -<p class="pL"/> -<p class="pL"/> -<p class="pL">IVIM ::= SEQUENCE {</p> -<p class="pL"> header ItsPduHeader,</p> -<p class="pL"> ivi IviStructure</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">END</p> -<p class="pL"/> -<p/> -<p> -<br/> -</p> -<h6> -<a name="Annex_SRM"/> -<a name="_Toc442882265"/> -<a name="_Toc442882494"/> -<a name="_Toc442965307"/> -<a name="_Toc455389657"/>Annex D (normative):<br/>ASN.1 specification of SREM</h6> -<p>This annex provides the ASN.1 specification of the data types of the SREM.</p> -<p class="pL"/> -<p class="pL">SREM-PDU-Descriptions {</p> -<p class="pL"> itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1)</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">DEFINITIONS AUTOMATIC TAGS ::= </p> -<p class="pL"/> -<p class="pL">BEGIN</p> -<p class="pL"/> -<p class="pL">IMPORTS</p> -<p class="pL">SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } </p> -<p class="pL">ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)};</p> -<p class="pL"/> -<p class="pL">SREM ::= SEQUENCE {</p> -<p class="pL"> header ItsPduHeader,</p> -<p class="pL"> srm SignalRequestMessage</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">END</p> -<p class="pL"/> -<p/> -<p> -<br/> -</p> -<h6> -<a name="Annex_SSM"/> -<a name="_Toc442882266"/> -<a name="_Toc442882495"/> -<a name="_Toc442965308"/> -<a name="_Toc455389658"/>Annex E (normative):<br/>ASN.1 specification of SSEM</h6> -<p>This annex provides the ASN.1 specification of the data types of the SSEM.</p> -<p class="pL"/> -<p class="pL">SSEM-PDU-Descriptions {</p> -<p class="pL"> itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1)</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">DEFINITIONS AUTOMATIC TAGS ::= </p> -<p class="pL"/> -<p class="pL">BEGIN</p> -<p class="pL"/> -<p class="pL">IMPORTS</p> -<p class="pL">SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } </p> -<p class="pL">ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)};</p> -<p class="pL"/> -<p class="pL"/> -<p class="pL">SSEM ::= SEQUENCE {</p> -<p class="pL"> header ItsPduHeader,</p> -<p class="pL"> ssm SignalStatusMessage</p> -<p class="pL">}</p> -<p class="pL"/> -<p class="pL">END</p> -<p class="pL"/> -<p/> -<p> -<br/> -</p> -<h6> -<a name="_Toc442882267"/> -<a name="_Toc442882496"/> -<a name="_Toc442965309"/> -<a name="_Toc455389659"/>Annex F (informative):<br/>Bibliography</h6> -<p/> -<p>ASN.1 data as defined by CEN ISO/TS 19091[8].</p> -<p class="nO"/> -<p> -<br/> -</p> -<h1> -<a name="_Toc442882268"/> -<a name="_Toc442882497"/> -<a name="_Toc442965310"/> -<a name="_Toc455389660"/>History</h1> -<table> -<tbody> -<tr> <td> -<p> -<a name="historytable"/> -<b>Document history</b> -</p> -</td> -</tr> -<tr> <td> -<p class="fP">V0.0.1</p> -</td> <td> -<p class="fP">December 2014</p> -</td> <td> -<p class="fP">Document creation</p> -</td> -</tr> -<tr> <td> -<p class="fP">V0.0.2</p> -</td> <td> -<p class="fP">January 2015</p> -</td> <td> -<p class="fP">Editorial changes</p> -</td> -</tr> -<tr> <td> -<p class="fP">V0.0.3</p> -</td> <td> -<p class="fP">January 2015</p> -</td> <td> -<p class="fP">IVI included</p> -</td> -</tr> -<tr> <td> -<p class="fP">V0.0.7</p> -</td> <td> -<p class="fP">March 2015</p> -</td> <td> -<p class="fP">Stable draft</p> -</td> -</tr> -<tr> <td> -<p class="fP">V0.0.8</p> -</td> <td> -<p class="fP">June 2015</p> -</td> <td> -<p class="fP">Signal Control service added</p> -</td> -</tr> -<tr> <td> -<p class="fP">V0.0.12</p> -</td> <td> -<p class="fP">January 2016</p> -</td> <td> -<p class="fP">Adaptations due to ISO/TS 19091 changes, review by ETSI members</p> -</td> -</tr> -<tr> <td> -<p class="fP">V1.0.0</p> -</td> <td> -<p class="fP">March 2016</p> -</td> <td> -<p class="fP">Pre-processing done before TB approval<br/>e-mail: <a href="mailto:edithelp@etsi.org">mailto:edithelp@etsi.org</a> -</p> -</td> -</tr> -</tbody> -</table> -<p/> -<p class="footer">ETSI</p> -<p>Infrastructure services<br/> -</p> -<p>NF-SAP<br/> -</p> -<p>Access<br/> -</p> -<p>Application<br/> -</p> -<p>Network & Transport<br/> -</p> -<p>MF-SAP<br/> -</p> -<p>Facilities<br/> -</p> -<p>FA-SAP<br/> -</p> -<p>applications<br/> -</p> -<p>SF-SAP<br/> -</p> -<p>Management<br/> -</p> -<p>Security<br/> -</p> -<p>Text�</p> -<p>conflict area<br/> -</p> -<p>�</p> -<p>ITS Station /<br/>Traffic Controller</p> -</body> -</html> \ No newline at end of file diff --git a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml_resources/embedded/image3.emf b/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml_resources/embedded/image3.emf deleted file mode 100644 index a62275a9684409a38630175390d55b5611202522..0000000000000000000000000000000000000000 Binary files a/requality/TS103301/root/Documents/TS103301_V104_clean.xhtml_resources/embedded/image3.emf and /dev/null differ diff --git a/requality/TS103301/root/Reports.json b/requality/TS103301/root/Reports.json deleted file mode 100644 index e73691c9f3e5652247ab3b1cce1d8ee420baadee..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Reports.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "49ab4da8-6540-4ddd-aedd-95cec14f74f5", - "type": "STRING", - "value": "ReportFolder" - }}, - "uuid": "49ab4da8-6540-4ddd-aedd-95cec14f74f5" -} \ No newline at end of file diff --git a/requality/TS103301/root/Reports/TPs.json b/requality/TS103301/root/Reports/TPs.json deleted file mode 100644 index 19061c4b8b054781503098f9dd70db33031c69d0..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Reports/TPs.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "891254f1-584d-43a1-a725-a2321671c07c", - "type": "STRING", - "value": "ReportFolder" - }}, - "uuid": "891254f1-584d-43a1-a725-a2321671c07c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Reports/TPs/AllTPs.json b/requality/TS103301/root/Reports/TPs/AllTPs.json deleted file mode 100644 index d461406fca48bdabebcb471da757144e3946cd37..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Reports/TPs/AllTPs.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "attributes": { - "_root_requiremnt_qid": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_root_requiremnt_qid", - "newvalue": "/Requirements", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "STRING", - "value": "/Requirements" - }, - "_template_id": { - "isGenerated": false, - "key": "_template_id", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "STRING", - "value": "com.unitesk.requality.reports.tps" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "STRING", - "value": "ReportSettings" - }, - "maxTPStatus": { - "isGenerated": false, - "key": "maxTPStatus", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "STRING", - "value": "verified" - }, - "showTPStatus": { - "isGenerated": false, - "key": "showTPStatus", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "STRING", - "value": "false" - }, - "startLevel": { - "isGenerated": false, - "key": "startLevel", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "INT", - "value": 1 - }, - "startPrefix": { - "isGenerated": false, - "key": "startPrefix", - "origin": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f", - "type": "STRING", - "value": "5" - } - }, - "uuid": "5f1a91d3-0ea7-456c-8886-caf35fa71d5f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements.json b/requality/TS103301/root/Requirements.json deleted file mode 100644 index f7e109644205b537703eec9a9084e1e1180bc0b2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "94d14b9b-860b-479c-9a57-23faf4df0c91", - "type": "STRING", - "value": "Requirement" - }}, - "uuid": "94d14b9b-860b-479c-9a57-23faf4df0c91" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI.json b/requality/TS103301/root/Requirements/IS_IVI.json deleted file mode 100644 index 5bd4eedbec76c960e1b3252b55313cf4c7f85783..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c7604415-5895-47ac-b2bf-4ee95ad0a1ad", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/fb47bcfb-85ca-4f88-985f-0053fa08c228"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "03. Infrastructure to Vehicle Information (IVI) service", - "origin": "c7604415-5895-47ac-b2bf-4ee95ad0a1ad", - "type": "STRING", - "value": "03. Infrastructure to Vehicle Information (IVI) service" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "c7604415-5895-47ac-b2bf-4ee95ad0a1ad", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c7604415-5895-47ac-b2bf-4ee95ad0a1ad" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02.json deleted file mode 100644 index a115182d28a3a4283c3cfabf09f6916cb89991df..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "83d81968-e60e-46cd-800b-3b96917fcb1f", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/6a936fb2-7785-4307-bcda-982306487e1c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "83d81968-e60e-46cd-800b-3b96917fcb1f", - "type": "STRING", - "value": "02. Check that new iviIdentificationNumber value is generated for each new request" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "83d81968-e60e-46cd-800b-3b96917fcb1f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "83d81968-e60e-46cd-800b-3b96917fcb1f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_01.json deleted file mode 100644 index 42fb50fa37797108db8221509b100f304a347087..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_01.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "origin": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea", - "type": "BOOL", - "value": true - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea", - "type": "STRING", - "value": "yann" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea", - "type": "STRING", - "value": "Check that IVI Service generates a new IVIM on reception of a valid AppIVIM_Trigger request" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_Trigger request from the application layer\r\n\tthen\r\n\t\t the IUT sends a valid IVIM" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "75c1e188-ce09-4ab7-8ac3-9a4357aed8ea" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_02.json deleted file mode 100644 index 1a72cb46fdd9d5c81c41d58a7af97ee5290713d3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_02/TP_IS_IVI_EVGN_BV_02.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "origin": "00b78c88-976a-4185-8bb3-d8e2747e4d4a", - "type": "BOOL", - "value": true - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "00b78c88-976a-4185-8bb3-d8e2747e4d4a", - "type": "STRING", - "value": "yann" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "00b78c88-976a-4185-8bb3-d8e2747e4d4a", - "type": "STRING", - "value": "Check that a new iviIdentificationNumber value is assigned for each newly generated IVIM" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "00b78c88-976a-4185-8bb3-d8e2747e4d4a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having generated several IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\t the IUT sends a valid IVIM\r\n containing ivi\r\n containing mandatory\r\n containing iviIdentificationNumber\r\n indicating an unused value" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "00b78c88-976a-4185-8bb3-d8e2747e4d4a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "00b78c88-976a-4185-8bb3-d8e2747e4d4a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "00b78c88-976a-4185-8bb3-d8e2747e4d4a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_03.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_03.json deleted file mode 100644 index f7f6bef223607a3802bddb064f155c6dac1eec47..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "009cf48e-82eb-4131-bd76-a28cc403fe62", - "type": "STRING", - "value": "trigger twice and check that all three ID are differents" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "009cf48e-82eb-4131-bd76-a28cc403fe62", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/68d18e5e-3607-49fa-8771-d2641c58fe54"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "009cf48e-82eb-4131-bd76-a28cc403fe62", - "type": "STRING", - "value": "03. Check that the value of iviIdentificationNumber is not used recently" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "009cf48e-82eb-4131-bd76-a28cc403fe62", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "009cf48e-82eb-4131-bd76-a28cc403fe62" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_03/TP_IS_IVI_EVGN_BV_03.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_03/TP_IS_IVI_EVGN_BV_03.json deleted file mode 100644 index 1baab312ca56ba42edab376334a0729eff982911..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_03/TP_IS_IVI_EVGN_BV_03.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "f8e479c7-98ad-422c-bef0-c829c4081cda", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "f8e479c7-98ad-422c-bef0-c829c4081cda", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that iviIdentificationNumber value is set to a next unused value each time an IVIM is detected", - "origin": "f8e479c7-98ad-422c-bef0-c829c4081cda", - "type": "STRING", - "value": "Check that iviIdentificationNumber value is set to a next unused value each time an IVIM is detected" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\n\tand the IUT having generated its last DENM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber\r\n\t\t\t\t\tindicating IVI_ID_1\r\n\tand no active IviID being associated with iviIdentificationNumber IVI_ID_1 + 1\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber\r\n\t\t\t\t\t\tindicating IVI_ID_1 + 1", - "origin": "f8e479c7-98ad-422c-bef0-c829c4081cda", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\n\tand the IUT having generated its last DENM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber\r\n\t\t\t\t\tindicating IVI_ID_1\r\n\tand no active IviID being associated with iviIdentificationNumber IVI_ID_1 + 1\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber\r\n\t\t\t\t\t\tindicating IVI_ID_1 + 1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "f8e479c7-98ad-422c-bef0-c829c4081cda", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "f8e479c7-98ad-422c-bef0-c829c4081cda", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f8e479c7-98ad-422c-bef0-c829c4081cda" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_04.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_04.json deleted file mode 100644 index 85b413965944ced4f079c553a4482c7383cc18a7..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_04.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "dc12a715-49ca-418f-bc7e-93f1ab723d1a", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/46061c36-999b-4ac9-ba0e-d5af670d8901"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "dc12a715-49ca-418f-bc7e-93f1ab723d1a", - "type": "STRING", - "value": "04. Check that a new generated IVIM contains an iviStatus set to 'new'" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dc12a715-49ca-418f-bc7e-93f1ab723d1a", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "dc12a715-49ca-418f-bc7e-93f1ab723d1a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_04/TP_IS_IVI_EVGN_BV_04.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_04/TP_IS_IVI_EVGN_BV_04.json deleted file mode 100644 index 47f639ae132ca592cc316b29f72374bdb6c5fc6f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_04/TP_IS_IVI_EVGN_BV_04.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "158f9e32-a989-4518-9e3c-25a3f255da3f", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "158f9e32-a989-4518-9e3c-25a3f255da3f", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that a new generated IVIM contains an iviStatus set to 'new'", - "origin": "158f9e32-a989-4518-9e3c-25a3f255da3f", - "type": "STRING", - "value": "Check that a new generated IVIM contains an iviStatus set to 'new'" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'new'", - "origin": "158f9e32-a989-4518-9e3c-25a3f255da3f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'new'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "158f9e32-a989-4518-9e3c-25a3f255da3f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "158f9e32-a989-4518-9e3c-25a3f255da3f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "158f9e32-a989-4518-9e3c-25a3f255da3f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_05.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_05.json deleted file mode 100644 index 2f7cd36c0adcc4fed40642ed81d0fa8ee6643c36..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_05.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "2dd9888f-182c-47c0-a86f-c638d0a2632e", - "type": "STRING", - "value": "trigger IVI update changing some existing value" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2dd9888f-182c-47c0-a86f-c638d0a2632e", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/fa90ddce-f302-4f09-ba88-09f938feb3fc"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2dd9888f-182c-47c0-a86f-c638d0a2632e", - "type": "STRING", - "value": "05. Check that an updated IVIM contains an iviStatus set to 'update'" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2dd9888f-182c-47c0-a86f-c638d0a2632e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2dd9888f-182c-47c0-a86f-c638d0a2632e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_05/TP_IS_IVI_EVUP_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_05/TP_IS_IVI_EVUP_BV_01.json deleted file mode 100644 index bf52c8ee3d3e95be40844e40f2a19cdc586517dd..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_05/TP_IS_IVI_EVUP_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_UPDATE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_UPDATE", - "newvalue": true, - "origin": "4c87a39c-a279-46cd-a415-9b84f673c060", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "4c87a39c-a279-46cd-a415-9b84f673c060", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that an updated IVIM contains an iviStatus set to 'update'", - "origin": "4c87a39c-a279-46cd-a415-9b84f673c060", - "type": "STRING", - "value": "Check that an updated IVIM contains an iviStatus set to 'update'" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'update'", - "origin": "4c87a39c-a279-46cd-a415-9b84f673c060", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'update'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "4c87a39c-a279-46cd-a415-9b84f673c060", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "4c87a39c-a279-46cd-a415-9b84f673c060", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4c87a39c-a279-46cd-a415-9b84f673c060" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06.json deleted file mode 100644 index 2facf5747b156a8a6d56a79ac35f4d89f3a0353b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "31513c9c-b1be-4a91-8da0-cb8d5ba9aebb", - "type": "STRING", - "value": "Trigger the update by adding the end time" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "31513c9c-b1be-4a91-8da0-cb8d5ba9aebb", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/8a5e77e8-1e74-4263-b66a-6c2960fff2fb"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "31513c9c-b1be-4a91-8da0-cb8d5ba9aebb", - "type": "STRING", - "value": "06. Check that an update can change or add the end time to the IVIM" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "31513c9c-b1be-4a91-8da0-cb8d5ba9aebb", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "31513c9c-b1be-4a91-8da0-cb8d5ba9aebb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_02.json deleted file mode 100644 index 3f7bbacf760d5780eb52c120cdcfefa16c8a3648..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_02.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "d450036d-11d7-4040-b128-0eca2338a9a6", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "d450036d-11d7-4040-b128-0eca2338a9a6", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that an update can change the validity time to the IVIM - validTo information field", - "origin": "d450036d-11d7-4040-b128-0eca2338a9a6", - "type": "STRING", - "value": "Check that an update can change the validity time to the IVIM - validTo information field" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tnot containing validTo\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'update'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update indicating a validTo value VT_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining validTo\r\n\t\t\t\t\t\tindicating VT_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'update'", - "origin": "d450036d-11d7-4040-b128-0eca2338a9a6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tnot containing validTo\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'update'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update indicating a validTo value VT_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining validTo\r\n\t\t\t\t\t\tindicating VT_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'update'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "d450036d-11d7-4040-b128-0eca2338a9a6", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "d450036d-11d7-4040-b128-0eca2338a9a6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d450036d-11d7-4040-b128-0eca2338a9a6" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_03.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_03.json deleted file mode 100644 index 0d0fdd356f2c40b15ae7b353a791c0a08597ee23..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_06/TP_IS_IVI_EVUP_BV_03.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that an update can change the validity time to the IVIM - validFrom information field", - "origin": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0", - "type": "STRING", - "value": "Check that an update can change the validity time to the IVIM - validFrom information field" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining validFrom\r\n\t\t\t\t\tindicating VT_1\r\n\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\tindicating 'update'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update indicating a validTo value VT_2\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining validFrom\r\n\t\t\t\t\t\tindicating VT_2\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'update'", - "origin": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining validFrom\r\n\t\t\t\t\tindicating VT_1\r\n\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\tindicating 'update'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update indicating a validTo value VT_2\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining validFrom\r\n\t\t\t\t\t\tindicating VT_2\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'update'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "78cbddfa-3d5f-4c86-ad1b-8c17b6cff9e0" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07.json deleted file mode 100644 index c5c708ff0898d0a0fc4bb57e580b1cc44ee467ad..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "527c2edb-abd2-4494-aaaa-cedf4db24351", - "type": "STRING", - "value": "trigger the new and updated IVI and check that timestamps are diff" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "527c2edb-abd2-4494-aaaa-cedf4db24351", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/e6a00a64-ce4e-417e-a7bf-a46c07290fcd"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "527c2edb-abd2-4494-aaaa-cedf4db24351", - "type": "STRING", - "value": "07. Check that the timeStamp is set to the current time when generating a new IVM or last change of information content (if iviStatus set to update)" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "527c2edb-abd2-4494-aaaa-cedf4db24351", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "527c2edb-abd2-4494-aaaa-cedf4db24351" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVGN_BV_05.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVGN_BV_05.json deleted file mode 100644 index 6eea7b93fc1f0394fc7ca5b5dbf2bb563cf4b33b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVGN_BV_05.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "84ef763d-aa44-4cfe-a294-45e8313cebf9", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "84ef763d-aa44-4cfe-a294-45e8313cebf9", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the timeStamp is set to the current time when generating a new IVM", - "origin": "84ef763d-aa44-4cfe-a294-45e8313cebf9", - "type": "STRING", - "value": "Check that the timeStamp is set to the current time when generating a new IVM" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining timeStamp\r\n\t\t\t\t\t\tindicating CLT\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'new'", - "origin": "84ef763d-aa44-4cfe-a294-45e8313cebf9", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new IVIM\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining timeStamp\r\n\t\t\t\t\t\tindicating CLT\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'new'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "84ef763d-aa44-4cfe-a294-45e8313cebf9", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "84ef763d-aa44-4cfe-a294-45e8313cebf9", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "84ef763d-aa44-4cfe-a294-45e8313cebf9" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVUP_BV_04.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVUP_BV_04.json deleted file mode 100644 index 12f6ef998ed8cc2b6e64783fc1eb13614ba29bfa..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_07/TP_IS_IVI_EVUP_BV_04.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_UPDATE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_UPDATE", - "newvalue": true, - "origin": "0a47b060-a58d-4fe0-b602-7d7611704112", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "0a47b060-a58d-4fe0-b602-7d7611704112", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the timeStamp is set to the current time when generating an update with some change of information content", - "origin": "0a47b060-a58d-4fe0-b602-7d7611704112", - "type": "STRING", - "value": "Check that the timeStamp is set to the current time when generating an update with some change of information content" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t containing timeStamp\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining timeStamp\r\n\t\t\t\t\t\tindicating CLT\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'update'", - "origin": "0a47b060-a58d-4fe0-b602-7d7611704112", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t containing timeStamp\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining timeStamp\r\n\t\t\t\t\t\tindicating CLT\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'update'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "0a47b060-a58d-4fe0-b602-7d7611704112", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "0a47b060-a58d-4fe0-b602-7d7611704112", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "0a47b060-a58d-4fe0-b602-7d7611704112" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_08.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_08.json deleted file mode 100644 index a8f0d18477e9673d55c771f207a3dfc968fa1625..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_08.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a59449d5-426b-411a-9bb2-0ff6f79654f0", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/8a9b0b92-c278-4367-b849-f4313a3df6a9"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a59449d5-426b-411a-9bb2-0ff6f79654f0", - "type": "STRING", - "value": "08. Check that the iviIdentificationNumber remains unchanged IVIM is updated" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a59449d5-426b-411a-9bb2-0ff6f79654f0", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a59449d5-426b-411a-9bb2-0ff6f79654f0" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_08/TP_IS_IVI_EVUP_BV_05.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_08/TP_IS_IVI_EVUP_BV_05.json deleted file mode 100644 index 9525895ff288dcb8e7812c66fd3a84782c8bc25c..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_08/TP_IS_IVI_EVUP_BV_05.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_UPDATE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_UPDATE", - "newvalue": true, - "origin": "4881f727-e6a1-40d8-b5e8-05427ee374bd", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "4881f727-e6a1-40d8-b5e8-05427ee374bd", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the iviIdentificationNumber remains unchanged IVIM is updated", - "origin": "4881f727-e6a1-40d8-b5e8-05427ee374bd", - "type": "STRING", - "value": "Check that the iviIdentificationNumber remains unchanged IVIM is updated" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'update'", - "origin": "4881f727-e6a1-40d8-b5e8-05427ee374bd", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_update request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'update'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "4881f727-e6a1-40d8-b5e8-05427ee374bd", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "4881f727-e6a1-40d8-b5e8-05427ee374bd", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "4881f727-e6a1-40d8-b5e8-05427ee374bd" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09.json deleted file mode 100644 index f64b60f6f6a362913f305b3c706cc94e8b37c235..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2689256a-6bec-4471-bd36-f8a6c3e799d4", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/1f766cd6-cb72-4d44-a02b-d648ea2b4e43"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "2689256a-6bec-4471-bd36-f8a6c3e799d4", - "type": "STRING", - "value": "09. Check that IVIM are generated in respect of a pre-defined repetition interval" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2689256a-6bec-4471-bd36-f8a6c3e799d4", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2689256a-6bec-4471-bd36-f8a6c3e799d4" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_01.json deleted file mode 100644 index fad1560df3010fbc56bc557bfe9262c73e04b7f2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "BOOL", - "value": true - }, - "PICS_T_GENIVIMMIN": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_T_GENIVIMMIN", - "newvalue": 4, - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "FLOAT", - "value": 4 - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVIMs are not generated more frequently than T_GenIvimMin", - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "STRING", - "value": "Check that IVIMs are not generated more frequently than T_GenIvimMin" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT sends a IVIM\r\n\tthen\r\n\t\tthe IUT does not send any IVIM before expiry of T_GenIvimMin", - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT sends a IVIM\r\n\tthen\r\n\t\tthe IUT does not send any IVIM before expiry of T_GenIvimMin" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f5f7c527-9f3e-41ca-8b59-8e4464fb224b" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_02.json deleted file mode 100644 index 101d8f75f16bd57125c17dbfcf4d2ce9e689ed4e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_09/TP_IS_IVIM_GFQ_TI_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "BOOL", - "value": true - }, - "PICS_T_GENIVIMMAX": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_T_GENIVIMMAX", - "newvalue": 4, - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "FLOAT", - "value": 4 - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVIMs are not generated less frequently than T_GenIvimMax", - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "STRING", - "value": "Check that IVIMs are not generated less frequently than T_GenIvimMax" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having generated several IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT sends a IVIM\r\n\tthen\r\n\t\tthe IUT sends another IVIM before expiry of T_GenIvimMax", - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having generated several IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT sends a IVIM\r\n\tthen\r\n\t\tthe IUT sends another IVIM before expiry of T_GenIvimMax" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "3728c5e6-44ad-45a3-8e07-c70cb94b6e9f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10.json deleted file mode 100644 index bc4cc203caa46e2e17c23310bab65ec42ae0f6c3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "6fc31ba4-136d-4e4b-a828-5bebbb5a65dd", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/8bbcc8c7-67ce-440e-b7d1-ed1d8a329a11"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "6fc31ba4-136d-4e4b-a828-5bebbb5a65dd", - "type": "STRING", - "value": "10. Check that the IVI Service activates repetition under the request from the ITS-S application" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6fc31ba4-136d-4e4b-a828-5bebbb5a65dd", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "6fc31ba4-136d-4e4b-a828-5bebbb5a65dd" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_01.json deleted file mode 100644 index c03ad06c716ee89f9b62b18eda84610ef84cebb6..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_UPDATE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_UPDATE", - "newvalue": true, - "origin": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT activates repetition on reception of a valid AppIVIM_Update request", - "origin": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4", - "type": "STRING", - "value": "Check that the IUT activates repetition on reception of a valid AppIVIM_Update request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tindicating IVIM_ID_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_Update indicating 'repetition interval' RI_1\r\n\tthen\r\n\t\t the IUT sends IVIM with respect to the 'repetition interval' RI_1\r\n\t\t \tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n", - "origin": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tindicating IVIM_ID_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_Update indicating 'repetition interval' RI_1\r\n\tthen\r\n\t\t the IUT sends IVIM with respect to the 'repetition interval' RI_1\r\n\t\t \tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b7268ba1-7604-40a0-af23-f22bbc2ae8d4" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_02.json deleted file mode 100644 index e72156fc6266e9c964e118c169981caaae899009..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_10/TP_IS_IVIM_EVRP_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_UPDATE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_UPDATE", - "newvalue": "true", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT deactivates repetition on reception of a valid AppIVIM_Update request", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "STRING", - "value": "Check that the IUT deactivates repetition on reception of a valid AppIVIM_Update request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tindicating IVIM_ID_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_Update indicating 'repetition interval' 0\r\n\tthen\r\n\t\t the IUT stops sending IVIM associated with IVIM_ID_1\r\n", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tindicating IVIM_ID_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_Update indicating 'repetition interval' 0\r\n\tthen\r\n\t\t the IUT stops sending IVIM associated with IVIM_ID_1\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2147483648", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "STRING", - "value": "2147483648" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "fcd406ea-f674-410e-83ca-4ec51fd5f99a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fcd406ea-f674-410e-83ca-4ec51fd5f99a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11.json deleted file mode 100644 index 155ce3b3a91a9e548bf04c6f5c9b571a1ad87416..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "31656d39-d665-44bc-8079-f3d3e6ce7165", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/77979574-9fcd-4f47-82e4-25b79b781873"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "31656d39-d665-44bc-8079-f3d3e6ce7165", - "type": "STRING", - "value": "11. Check that the IVI Service terminates IVM generation on validity duration expeiry or on termination request" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "31656d39-d665-44bc-8079-f3d3e6ce7165", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "31656d39-d665-44bc-8079-f3d3e6ce7165" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_01.json deleted file mode 100644 index 83df7ebb5746d114729d5d572a8c04890e1fa765..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "902eea56-fd8b-4374-95c3-2ef474dfef51", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "902eea56-fd8b-4374-95c3-2ef474dfef51", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT terminates IVM genration on validity duration expery", - "origin": "902eea56-fd8b-4374-95c3-2ef474dfef51", - "type": "STRING", - "value": "Check that the IUT terminates IVM genration on validity duration expery" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing validTo\r\n indicating CLT + 10 seconds\r\n and containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT is alerted of expiration of the time associated with validTo\r\n\tthen\r\n\t\tthe IUT stops ending IVIM associated with IVIM_ID_1", - "origin": "902eea56-fd8b-4374-95c3-2ef474dfef51", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing validTo\r\n indicating CLT + 10 seconds\r\n and containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT is alerted of expiration of the time associated with validTo\r\n\tthen\r\n\t\tthe IUT stops ending IVIM associated with IVIM_ID_1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "902eea56-fd8b-4374-95c3-2ef474dfef51", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "902eea56-fd8b-4374-95c3-2ef474dfef51", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "902eea56-fd8b-4374-95c3-2ef474dfef51" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_02.json deleted file mode 100644 index 429a8867019a795d129eb483c7662f65c03997b8..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_11/TP_IS_IVIM_EVTR_BV_02.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "480ba77e-b128-45cf-aa95-b3bf80c59092", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "480ba77e-b128-45cf-aa95-b3bf80c59092", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT terminates IVM genration on termination request", - "origin": "480ba77e-b128-45cf-aa95-b3bf80c59092", - "type": "STRING", - "value": "Check that the IUT terminates IVM genration on termination request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_termination request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'termination'", - "origin": "480ba77e-b128-45cf-aa95-b3bf80c59092", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_termination request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tcontaining iviStatus\r\n\t\t\t\t\t\tindicating 'termination'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "480ba77e-b128-45cf-aa95-b3bf80c59092", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "480ba77e-b128-45cf-aa95-b3bf80c59092", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "480ba77e-b128-45cf-aa95-b3bf80c59092" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_12.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_12.json deleted file mode 100644 index dd13a89e62a0e00f3236dc36eba56ce95c2186ac..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_12.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "5ae29c99-49a0-4854-ac47-d264bb2a0c99", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/e4cba9e5-2a65-4b7a-8caa-200865aad31e"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "5ae29c99-49a0-4854-ac47-d264bb2a0c99", - "type": "STRING", - "value": "12. Check that the IVI Service terminates IVM generation on cancellation request" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "5ae29c99-49a0-4854-ac47-d264bb2a0c99", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "5ae29c99-49a0-4854-ac47-d264bb2a0c99" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_12/TP_IS_IVIM_EVTR_BV_03.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_12/TP_IS_IVIM_EVTR_BV_03.json deleted file mode 100644 index 36fa451702ea53c31e9ef82c55bd3251eef08079..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_12/TP_IS_IVIM_EVTR_BV_03.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "1be44d46-55b4-416d-a85d-c1a17ded56cb", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "1be44d46-55b4-416d-a85d-c1a17ded56cb", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT terminates IVM genration on cancellation request", - "origin": "1be44d46-55b4-416d-a85d-c1a17ded56cb", - "type": "STRING", - "value": "Check that the IUT terminates IVM genration on cancellation request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing serviceProviderId\r\n\t\t\t\t\tindicating IVIM_SP_1\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_cancellation request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tand containing timeStamp\r\n\t\t\t\t\t\tindication IVM_CLT_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'cancellation'", - "origin": "1be44d46-55b4-416d-a85d-c1a17ded56cb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an IVIM\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing serviceProviderId\r\n\t\t\t\t\tindicating IVIM_SP_1\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'new'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_cancellation request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tand containing timeStamp\r\n\t\t\t\t\t\tindication IVM_CLT_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'cancellation'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "1be44d46-55b4-416d-a85d-c1a17ded56cb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "1be44d46-55b4-416d-a85d-c1a17ded56cb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "1be44d46-55b4-416d-a85d-c1a17ded56cb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_13.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_13.json deleted file mode 100644 index f067fb6e8b3e251a28a6abad16ce589c7ee576ec..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_13.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "635ab0f4-52c8-479d-a48d-dbb0b1e6d8c5", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/48b08012-a369-49d3-b0f6-eee95a02e76a"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "635ab0f4-52c8-479d-a48d-dbb0b1e6d8c5", - "type": "STRING", - "value": "13. Check that the IVI Service terminates IVM generation on negation request" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "635ab0f4-52c8-479d-a48d-dbb0b1e6d8c5", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "635ab0f4-52c8-479d-a48d-dbb0b1e6d8c5" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_13/TP_IS_IVIM_EVTR_BV_04.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_13/TP_IS_IVIM_EVTR_BV_04.json deleted file mode 100644 index 7b432afbdc0f7665278a0838c89e13f107437662..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_13/TP_IS_IVIM_EVTR_BV_04.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "a7df1667-051e-4e43-a076-1cd2496591af", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "a7df1667-051e-4e43-a076-1cd2496591af", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT terminates IVM genration on negation request", - "origin": "a7df1667-051e-4e43-a076-1cd2496591af", - "type": "STRING", - "value": "Check that the IUT terminates IVM genration on negation request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing serviceProviderId\r\n\t\t\t\t\tindicating IVIM_SP_1\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'update'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_termination request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tand containing serviceProviderId\r\n\t\t\t\t\t\tindicating IVIM_SP_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'negation'", - "origin": "a7df1667-051e-4e43-a076-1cd2496591af", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated an event\r\n\t\tcontaining ivi\r\n\t\t\tcontaining mandatory\r\n\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\tinicating IVIM_ID_1\r\n\t\t\t\tand containing serviceProviderId\r\n\t\t\t\t\tindicating IVIM_SP_1\r\n\t\t\t\tand containing iviStatus\r\n\t\t\t\t\tindicating 'update'\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppIVIM_termination request associated with IVIM_ID_1\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ivi\r\n\t\t\t\tcontaining mandatory\r\n\t\t\t\t\tcontaining iviIdentificationNumber \r\n\t\t\t\t\t\tindicating IVIM_ID_1\r\n\t\t\t\t\tand containing serviceProviderId\r\n\t\t\t\t\t\tindicating IVIM_SP_1\r\n\t\t\t\t\tand containing iviStatus\r\n\t\t\t\t\t\tindicating 'negation'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "a7df1667-051e-4e43-a076-1cd2496591af", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "a7df1667-051e-4e43-a076-1cd2496591af", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a7df1667-051e-4e43-a076-1cd2496591af" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_14.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_14.json deleted file mode 100644 index 4c01cbe169592db7fa04fef6c17c3ef2549a6eeb..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_14.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "a26ec8f7-0466-49f8-a8e2-49373802166d", - "type": "STRING", - "value": "implicitly tested by prev" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a26ec8f7-0466-49f8-a8e2-49373802166d", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/bb3d3790-fa2a-4cdc-8569-3f252de9f24f"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a26ec8f7-0466-49f8-a8e2-49373802166d", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a26ec8f7-0466-49f8-a8e2-49373802166d" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_19.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_19.json deleted file mode 100644 index 6b1142c228d48468ce869c8cb1484a8f3423a029..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_19.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b3bbef2a-1856-4d7f-91f3-37d82833e4b1", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/c3ba0b26-17cf-4dd8-90f3-941a01c66f96"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b3bbef2a-1856-4d7f-91f3-37d82833e4b1", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b3bbef2a-1856-4d7f-91f3-37d82833e4b1" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_20.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_20.json deleted file mode 100644 index f8009786cf7a4963fb5d6a9eead9300c1b8cd666..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_20.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "1b16380b-601e-4fd8-9b3d-ec444ca678ca", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/c5034f72-3698-4bcd-9169-243698e123ef", - "/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "1b16380b-601e-4fd8-9b3d-ec444ca678ca", - "type": "STRING", - "value": "17. Check BTP type and port number" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "1b16380b-601e-4fd8-9b3d-ec444ca678ca", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "1b16380b-601e-4fd8-9b3d-ec444ca678ca" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_20/TP_IS_IVI_COM_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_20/TP_IS_IVI_COM_BV_01.json deleted file mode 100644 index b34a0ac4178a00238f9f8c9ba665ccb24122d420..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_20/TP_IS_IVI_COM_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVIM uses BTP_B packet\r\nCheck that the destination port for IVIM is set to 2006", - "origin": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc", - "type": "STRING", - "value": "Check that IVIM uses BTP_B packet\r\nCheck that the destination port for IVIM is set to 2006" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\tan IVIM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM \r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2006'\r\n\t\t\t\tand containing a destination port info value set to '0'", - "origin": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\tan IVIM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM \r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2006'\r\n\t\t\t\tand containing a destination port info value set to '0'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ecca7875-c511-4f38-8ea7-cc240a7c2cbc" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_21.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_21.json deleted file mode 100644 index c0e43ee774d01ed773313d4a0fe6fb40b9a41465..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_21.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "0bb0bd84-a0de-4bbb-9ffa-c6c0325450e9", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/4aafd874-da69-4aa9-8142-ee95841e1434"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "0bb0bd84-a0de-4bbb-9ffa-c6c0325450e9", - "type": "STRING", - "value": "18. Check destination type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0bb0bd84-a0de-4bbb-9ffa-c6c0325450e9", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "0bb0bd84-a0de-4bbb-9ffa-c6c0325450e9" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_21/TP_IS_IVI_COM_BV_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_21/TP_IS_IVI_COM_BV_02.json deleted file mode 100644 index 9e4ee19ecfd8663b41e31e04040c65e3d145f9cb..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_21/TP_IS_IVI_COM_BV_02.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "40a007c2-9cf5-40b6-af46-3e1c8d057318", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "40a007c2-9cf5-40b6-af46-3e1c8d057318", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service encapsulates IVIM in a UNC with the HeaderType field set to the value of 2", - "origin": "40a007c2-9cf5-40b6-af46-3e1c8d057318", - "type": "STRING", - "value": "Check that TLM service encapsulates IVIM in a UNC with the HeaderType field set to the value of 2" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\ta IVIM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tencapsulated in a UNC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '2'\r\n", - "origin": "40a007c2-9cf5-40b6-af46-3e1c8d057318", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\ta IVIM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tencapsulated in a UNC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '2'\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "40a007c2-9cf5-40b6-af46-3e1c8d057318", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "40a007c2-9cf5-40b6-af46-3e1c8d057318", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "40a007c2-9cf5-40b6-af46-3e1c8d057318" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22.json deleted file mode 100644 index 0fc92b51bf13ed4503a75f926f5a8432ff06f848..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "ad6ca12a-d465-41cc-900f-3b1b75028f10", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/108bba89-25e3-47e4-878e-0c5de7a5092f"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "ad6ca12a-d465-41cc-900f-3b1b75028f10", - "type": "STRING", - "value": "01. Check that IVIM protocol version is set to 1" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "ad6ca12a-d465-41cc-900f-3b1b75028f10", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "ad6ca12a-d465-41cc-900f-3b1b75028f10" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_01.json deleted file mode 100644 index d473c3d0947054b171cdc5a2569d82faa60752f1..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_01.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "BOOL", - "value": true - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "yann" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 6" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\ta IVIM is generated\r\n\tthen\r\n\t\t the IUT sends a valid IVIM\r\n containing ITS PDU header\r\n containing protocolVersion\r\n indicating value '1'\r\n and containing messageID\r\n indicating value '6'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_02.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_02.json deleted file mode 100644 index e5dee368b454bae663da979da3381a76e894b9b6..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_RECEPTION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_RECEPTION", - "newvalue": "true", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT can successfully process all mandatory fields of IVIM", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "STRING", - "value": "Check that the IUT can successfully process all mandatory fields of IVIM" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having receive a valid IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid IVIM\r\n\tthen\r\n\t\t the IUT forwards the IVI Mcontent to upper layers\r\n and the IUT forwards the IVIM content to other facilities", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having receive a valid IVIM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid IVIM\r\n\tthen\r\n\t\t the IUT forwards the IVI Mcontent to upper layers\r\n and the IUT forwards the IVIM content to other facilities" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2147483648", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "STRING", - "value": "2147483648" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "85174c29-0808-41cf-bca2-1280db4c942a", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "85174c29-0808-41cf-bca2-1280db4c942a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_SND_BV_01.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_SND_BV_01.json deleted file mode 100644 index ebf878bfc52d48523863ff3e3d9e45b76c876bb8..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_22/TP_IS_IVI_MSGF_SND_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_IVIM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_IVIM_GENERATION", - "newvalue": true, - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that protocolVersion is set to 1 and messageID is set to 6", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 6" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\ta IVIM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '6'", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending IVIM\r\nensure that\r\n\twhen\r\n\t\ta IVIM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid IVIM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '6'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6f4ab62d-8a50-4a05-a2f7-806ac21ccd97" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC.json deleted file mode 100644 index 5b63d8e5791f10159e604cd6c3aeef8b84035c18..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f1473015-0156-4a39-bcd8-f237210003a2", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/09b4e90f-647e-40b8-bbfe-3b757cf53081"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f1473015-0156-4a39-bcd8-f237210003a2", - "type": "STRING", - "value": "IVI security parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f1473015-0156-4a39-bcd8-f237210003a2", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f1473015-0156-4a39-bcd8-f237210003a2" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_15.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_15.json deleted file mode 100644 index 1d891ecfef68e1b99ef7015306dc40b19f4ec3e1..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_15.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b92d76f7-7c67-49d9-8f9c-ebe078d32684", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/37041512-f1ea-427f-a8e6-e8f8c3f1a9f4", - "/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac" - ] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b92d76f7-7c67-49d9-8f9c-ebe078d32684", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b92d76f7-7c67-49d9-8f9c-ebe078d32684" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_16.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_16.json deleted file mode 100644 index c5dbb5dff0d13088d60db312b2497a0e319c0a11..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_16.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b5f37b79-d47f-407a-9eba-17c1a4f939a9", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/c6de9a60-98e3-4e25-aa6b-25757a753703"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b5f37b79-d47f-407a-9eba-17c1a4f939a9", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b5f37b79-d47f-407a-9eba-17c1a4f939a9" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_17.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_17.json deleted file mode 100644 index a2877a6994cad4a9245e0e4ee334ccd4afdacc9f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_17.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "0b3ddece-2c66-4dab-8d8b-3c503deb7834", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/9099b2b8-ed7b-4943-9a69-bb697d241c23", - "/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca" - ] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "0b3ddece-2c66-4dab-8d8b-3c503deb7834", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "0b3ddece-2c66-4dab-8d8b-3c503deb7834" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_18.json b/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_18.json deleted file mode 100644 index cbe6adc17ed35b3ac818b5d2e0a93179e3f2330d..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_IVI/IS_IVI_SEC/IS_IVI_18.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "08c8d599-a282-46b7-852d-a32b1bec0f8e", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/e3359386-7c08-4b84-9241-a47ef0d3ae95"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "08c8d599-a282-46b7-852d-a32b1bec0f8e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "08c8d599-a282-46b7-852d-a32b1bec0f8e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT.json b/requality/TS103301/root/Requirements/IS_RLT.json deleted file mode 100644 index b6f490f044ee67b547d1ddaa992e828052080c9a..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c054bd14-a063-435d-b8fe-de946adc5a8a", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/b735fdb9-6d23-48f4-b1b0-aab01f6bb2dd"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "02. Road and Lane Topology (RLT) service", - "origin": "c054bd14-a063-435d-b8fe-de946adc5a8a", - "type": "STRING", - "value": "02. Road and Lane Topology (RLT) service" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "c054bd14-a063-435d-b8fe-de946adc5a8a", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c054bd14-a063-435d-b8fe-de946adc5a8a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01.json deleted file mode 100644 index a7ed052d0d6b6a2c3198d4ac9572ee9df1c788be..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7b78b531-4764-4053-ac76-226fcd436476", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/c3059bb9-d9ca-4509-8d32-e216420f69a2"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7b78b531-4764-4053-ac76-226fcd436476", - "type": "STRING", - "value": "01. Check that RLT protocol version is set to 1" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7b78b531-4764-4053-ac76-226fcd436476", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7b78b531-4764-4053-ac76-226fcd436476" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_01.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_01.json deleted file mode 100644 index 25e46a418e7e2f02e85143851ed181d8c792f6ec..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": "true", - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "BOOL", - "value": "true" - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that protocolVersion is set to 1 and messageID is set to 5", - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 5" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\ta MAPEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '5'", - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\ta MAPEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '5'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "55e95e6d-f346-45a6-8544-732168be5078", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "55e95e6d-f346-45a6-8544-732168be5078" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_02.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_02.json deleted file mode 100644 index 7b686f3cc7623be6426b9b0446f1a3af9adcbc28..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_01/TP_IS_RLT_MSGF_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_RECEPTION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_RECEPTION", - "newvalue": true, - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "BOOL", - "value": true - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "BOOL", - "value": "false" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT can successfully process all mandatory fields of MAPEM received", - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "STRING", - "value": "Check that the IUT can successfully process all mandatory fields of MAPEM received" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having receive a valid MAPEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid MAPEM \r\n\tthen\r\n\t\tthe IUT forwards the MAPEM content to upper layers\r\n\t\tand the IUT forwards the MAPEM content to other facilities", - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having receive a valid MAPEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid MAPEM \r\n\tthen\r\n\t\tthe IUT forwards the MAPEM content to upper layers\r\n\t\tand the IUT forwards the MAPEM content to other facilities" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e28acade-8dbe-41fb-b209-113068498f13", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e28acade-8dbe-41fb-b209-113068498f13" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02.json deleted file mode 100644 index e878816a8ab2e3d0b396f0f55f19da7b31f2307b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "89695227-7171-4a17-b23a-67f57dfea9d3", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/c3436086-7d4a-4452-aab8-d48d11161c76"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "89695227-7171-4a17-b23a-67f57dfea9d3", - "type": "STRING", - "value": "02. Check the RLT message fragmenting" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "89695227-7171-4a17-b23a-67f57dfea9d3", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "89695227-7171-4a17-b23a-67f57dfea9d3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_01.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_01.json deleted file mode 100644 index 8a65ec0999edc30ac606878a0f041d328564ba3e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": true, - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "BOOL", - "value": true - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVI Service generates a new MAPEM on reception of a valid AppMAPEM_Trigger request", - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "STRING", - "value": "Check that IVI Service generates a new MAPEM on reception of a valid AppMAPEM_Trigger request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppMAPEM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM", - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppMAPEM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "b765c90c-a24e-4620-8a2b-acdd4039b8e6", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b765c90c-a24e-4620-8a2b-acdd4039b8e6" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_02.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_02.json deleted file mode 100644 index 3593d829aeabac2fae04bfef43fed27b54b163a5..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": "true", - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "BOOL", - "value": "true" - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that RLT Service transmits new content", - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "STRING", - "value": "Check that RLT Service transmits new content" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\n\t\tcontaining map\r\n\t\t\tnot containing LayerType\r\n\t\t\tand not containing LayerID\r\n\t\t\tand containing restrictionList\r\n\t\t\t\tindicating the value RL_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT is alerted about a new restrictionList indicating the value RL_2\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tcontaining map\r\n\t\t\t\tnot containing LayerType\r\n\t\t\t\tand not containing LayerID\r\n\t\t\t\tand containing restrictionList\r\n\t\t\t\t\tindicating indicating the value R_2", - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\n\t\tcontaining map\r\n\t\t\tnot containing LayerType\r\n\t\t\tand not containing LayerID\r\n\t\t\tand containing restrictionList\r\n\t\t\t\tindicating the value RL_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT is alerted about a new restrictionList indicating the value RL_2\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tcontaining map\r\n\t\t\t\tnot containing LayerType\r\n\t\t\t\tand not containing LayerID\r\n\t\t\t\tand containing restrictionList\r\n\t\t\t\t\tindicating indicating the value R_2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "ba9155bf-6a15-43d1-a0f3-894e3eff1df2" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_03.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_03.json deleted file mode 100644 index ce7e38e1c1cb64b9c38a27a9fee97593e72737a0..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_02/TP_IS_RLT_EVGN_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": "true", - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "BOOL", - "value": "true" - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that RLT Service transmits fragmented MAPEM when the message size exceeds the allowed message length ", - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "STRING", - "value": "Check that RLT Service transmits fragmented MAPEM when the message size exceeds the allowed message length " - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is alerted about a new content\r\n\t\t\tindicating a new value which exceeds the allowed message length \r\n\tthen\r\n\t\tthe IUT sends a first valid MAPEM\r\n\t\t\tcontaining map\r\n\t\t\t\tcontaining LayerType\r\n\t\t\t\tand containing LayerID\r\n\t\t\t\t\tindication a value LID_1\r\n\t\tand the IUT sends a second valid MAPEM\r\n\t\t\tcontaining map\r\n\t\t\t\tcontaining LayerType\r\n\t\t\t\tand containing LayerID\r\n\t\t\t\t\tindication a value LID_2 = LID_1 + 1\r\n", - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT is alerted about a new content\r\n\t\t\tindicating a new value which exceeds the allowed message length \r\n\tthen\r\n\t\tthe IUT sends a first valid MAPEM\r\n\t\t\tcontaining map\r\n\t\t\t\tcontaining LayerType\r\n\t\t\t\tand containing LayerID\r\n\t\t\t\t\tindication a value LID_1\r\n\t\tand the IUT sends a second valid MAPEM\r\n\t\t\tcontaining map\r\n\t\t\t\tcontaining LayerType\r\n\t\t\t\tand containing LayerID\r\n\t\t\t\t\tindication a value LID_2 = LID_1 + 1\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "a7b2b299-e1be-425d-81fd-54d244f16ab1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a7b2b299-e1be-425d-81fd-54d244f16ab1" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_03.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_03.json deleted file mode 100644 index ab6d8279c0b296f30b22cff733f5dc16ebc51f42..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_03.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "3166b003-3db3-4fbe-a50a-74edf00624ab", - "type": "STRING", - "value": "03. Check that SPATEM is always accompagnied with a MAPEM" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "3166b003-3db3-4fbe-a50a-74edf00624ab", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/87b10e4b-b1dc-449c-b9ac-23380151b75e"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "3166b003-3db3-4fbe-a50a-74edf00624ab", - "type": "STRING", - "value": "03. Check continious transmition with the SPAT messages" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3166b003-3db3-4fbe-a50a-74edf00624ab", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "3166b003-3db3-4fbe-a50a-74edf00624ab" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_03/TP_IS_RLT_COM_BV_01.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_03/TP_IS_RLT_COM_BV_01.json deleted file mode 100644 index 5f26765f6d0490e0a1c46d0c0f12ac24bac81d8a..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_03/TP_IS_RLT_COM_BV_01.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": "true", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "BOOL", - "value": "true" - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "BOOL", - "value": true - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": "true", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the RLT Service transmits continuously both MAPEM and SPATEM", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "STRING", - "value": "Check that the RLT Service transmits continuously both MAPEM and SPATEM" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\n\tand the IUT has not sent any SPATEM yet\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM_Start request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\tand the IUT sends a valid MAPEM", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\n\tand the IUT has not sent any SPATEM yet\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM_Start request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\tand the IUT sends a valid MAPEM" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e88f52a2-e9bf-4ae1-aae0-12c63d34d9e2" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_04.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_04.json deleted file mode 100644 index 20794174d84138dea3fee0dd32238b16bc245467..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_04.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "f2e1b279-640a-4313-94a2-1b8eb7871359", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/5aab70c2-219e-460f-9223-64c99800e70a", - "/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "f2e1b279-640a-4313-94a2-1b8eb7871359", - "type": "STRING", - "value": "04. Check BTP type and port number" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "f2e1b279-640a-4313-94a2-1b8eb7871359", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "f2e1b279-640a-4313-94a2-1b8eb7871359" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_04/TP_IS_RLT_COM_BV_02.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_04/TP_IS_RLT_COM_BV_02.json deleted file mode 100644 index 97770bc65767d6ead9e4e849bd62c62be7ba1335..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_04/TP_IS_RLT_COM_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": "true", - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "BOOL", - "value": "true" - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that MAPEM uses BTP_B packet\r\nCheck that the destination port for MAPEM is set to 2003", - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "STRING", - "value": "Check that MAPEM uses BTP_B packet\r\nCheck that the destination port for MAPEM is set to 2003" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\ta MAPEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2003'\r\n\t\t\t\tand containing a destination port info value set to '0'", - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\ta MAPEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2003'\r\n\t\t\t\tand containing a destination port info value set to '0'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "c546e7ed-07b2-4e97-84b6-d04c828c136d", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c546e7ed-07b2-4e97-84b6-d04c828c136d" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_05.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_05.json deleted file mode 100644 index 51853fa02e8504cd136cbf5df16afbe48ddaf3f3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_05.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "feefe000-c11e-41fb-81d8-332cde3b23a2", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/77a4a214-685d-4d91-b306-36ebef6c3db8"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "feefe000-c11e-41fb-81d8-332cde3b23a2", - "type": "STRING", - "value": "05. Check destination type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "feefe000-c11e-41fb-81d8-332cde3b23a2", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "feefe000-c11e-41fb-81d8-332cde3b23a2" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_05/TP_IS_RLT_COM_BV_03.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_05/TP_IS_RLT_COM_BV_03.json deleted file mode 100644 index 0b818dadd42dce618b18d1c26892bc1969d34dcb..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_05/TP_IS_RLT_COM_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_MAPEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_MAPEM_GENERATION", - "newvalue": "true", - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "BOOL", - "value": "true" - }, - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service encapsulates MAPEM in a GBC with the HeaderType field set to the value of 4", - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "STRING", - "value": "Check that TLM service encapsulates MAPEM in a GBC with the HeaderType field set to the value of 4" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\ta MAPEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'", - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending MAPEM\r\nensure that\r\n\twhen\r\n\t\ta MAPEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid MAPEM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "871a0c41-1d33-4f04-a026-fd170580fb73", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "871a0c41-1d33-4f04-a026-fd170580fb73" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC.json deleted file mode 100644 index 7d8ff2624e709e857e4594d4acae91a09ea3267e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "4bbc2a64-cb95-48c6-9717-f8e5256da105", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/ec702020-740d-4430-ba57-7b45b5d93273"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "4bbc2a64-cb95-48c6-9717-f8e5256da105", - "type": "STRING", - "value": "RLT security parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "4bbc2a64-cb95-48c6-9717-f8e5256da105", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "4bbc2a64-cb95-48c6-9717-f8e5256da105" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_06.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_06.json deleted file mode 100644 index ec089f46b2957d679f5bb145940cbe46c0abb0d3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_06.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b97aa487-a900-49ae-bbb9-b21bd8b2c056", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/f73eb6c1-2513-4e4a-a8d7-de4c80675bb4"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "b97aa487-a900-49ae-bbb9-b21bd8b2c056", - "type": "STRING", - "value": "Check RLT ITS ID value" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b97aa487-a900-49ae-bbb9-b21bd8b2c056", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b97aa487-a900-49ae-bbb9-b21bd8b2c056" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_07.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_07.json deleted file mode 100644 index 8c9878bea51617c80e3ad0536d9e98d80e3928bb..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_07.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a1f9a8ba-6bd4-4784-b2df-a7f60581e870", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "a1f9a8ba-6bd4-4784-b2df-a7f60581e870", - "type": "STRING", - "value": "Check RLT SSP version" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a1f9a8ba-6bd4-4784-b2df-a7f60581e870", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a1f9a8ba-6bd4-4784-b2df-a7f60581e870" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_08.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_08.json deleted file mode 100644 index a0eb83e92dc8e4793b22971d8b4aa6d7e86dcf26..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_08.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7b855fab-ee71-494e-89e5-1122041fa82d", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/299468b6-80e7-4a89-9e17-fcfec17120a3", - "/Documents/TS103301_V104_clean.xhtml/28cb2500-bdc6-433d-9a15-2c14136109ab", - "/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "7b855fab-ee71-494e-89e5-1122041fa82d", - "type": "STRING", - "value": "Check RLT Service specific parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7b855fab-ee71-494e-89e5-1122041fa82d", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7b855fab-ee71-494e-89e5-1122041fa82d" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_09.json b/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_09.json deleted file mode 100644 index b4fd9d1449cf8b78721c25b32a6dcbdb3c34d75c..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_RLT/IS_RLT_SEC/IS_RLT_09.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b8968333-8a81-40aa-837d-4b204ebd097e", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/4486101d-d3b2-4156-bbd5-8bcef139d100"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "b8968333-8a81-40aa-837d-4b204ebd097e", - "type": "STRING", - "value": "Check that unused SSP bits are set to 0" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "b8968333-8a81-40aa-837d-4b204ebd097e", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b8968333-8a81-40aa-837d-4b204ebd097e" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC.json b/requality/TS103301/root/Requirements/IS_TLC.json deleted file mode 100644 index ca9fc723fbf4d87616ad5333c2719fdad5dcc329..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c9d813f0-637d-4bbe-a6be-b1fe9062f427", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/e43b478a-ba35-4122-859f-18ad5768a7ca"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "04. Traffic Light Control (TLC) service", - "origin": "c9d813f0-637d-4bbe-a6be-b1fe9062f427", - "type": "STRING", - "value": "04. Traffic Light Control (TLC) service" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "c9d813f0-637d-4bbe-a6be-b1fe9062f427", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c9d813f0-637d-4bbe-a6be-b1fe9062f427" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02.json deleted file mode 100644 index 6dcec0219e1297be40ea23818b5c549f86f957b3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "dabbe9a7-057e-4371-9f88-d17c1e7e1781", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/9209867a-6a0f-4c16-aedc-d5f64435f14e"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "dabbe9a7-057e-4371-9f88-d17c1e7e1781", - "type": "STRING", - "value": "03. Check that the IUT identifies SREM with a unique request identifier" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "dabbe9a7-057e-4371-9f88-d17c1e7e1781", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "dabbe9a7-057e-4371-9f88-d17c1e7e1781" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_01.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_01.json deleted file mode 100644 index aef7a276c0a4954dfda007c52ca0926d126e6530..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "BOOL", - "value": "false" - }, - "PICS_SREM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SREM_GENERATION", - "newvalue": "true", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVI Service generates a new SREM on reception of a valid AppSREM_Trigger request (ITS-S)", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "STRING", - "value": "Check that IVI Service generates a new SREM on reception of a valid AppSREM_Trigger request (ITS-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SREM", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SREM" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "eb876e46-e31c-49b8-8725-48c611b618c9", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "eb876e46-e31c-49b8-8725-48c611b618c9" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_02.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_02.json deleted file mode 100644 index 4e7bd92fea81fbb46c90d7354c03514038aa5a9e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_02/TP_IS_TLC_EVGN_BV_02.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3", - "type": "BOOL", - "value": "false" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT identifies SREM with a unique request identifier (ITS-S)", - "origin": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3", - "type": "STRING", - "value": "Check that the IUT identifies SREM with a unique request identifier (ITS-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several SREM \r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new SREM \r\n\tthen\r\n\t\tthe IUT sends a valid SREM \r\n\t\t\tcontaining srm\r\n\t\t\t\tcontaining requests[0]\r\n\t\t\t\t\tcontaining requestID\r\n\t\t\t\t\t\tindicating an unused value", - "origin": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generated several SREM \r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new SREM \r\n\tthen\r\n\t\tthe IUT sends a valid SREM \r\n\t\t\tcontaining srm\r\n\t\t\t\tcontaining requests[0]\r\n\t\t\t\t\tcontaining requestID\r\n\t\t\t\t\t\tindicating an unused value" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "49392b6a-c99e-4fa9-bfa3-b8e6f0e273b3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_03.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_03.json deleted file mode 100644 index 4e457e9f7d27e814f30d0cb84529b5f72aa99a54..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_03.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "27adb70b-968e-4a07-a33c-6728206845af", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/b3f84797-487a-4c3e-a81e-258938163a1c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "27adb70b-968e-4a07-a33c-6728206845af", - "type": "STRING", - "value": "04. Check that the IUT increments the sequenceNumber when a SREM update is generated" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "27adb70b-968e-4a07-a33c-6728206845af", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "27adb70b-968e-4a07-a33c-6728206845af" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_03/TP_IS_TLC_EVUP_BV_01.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_03/TP_IS_TLC_EVUP_BV_01.json deleted file mode 100644 index 0202c510e533a07ad317ecf3e0cd3a3822bc0579..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_03/TP_IS_TLC_EVUP_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "6a9af32b-dd82-486f-a2ea-cb490b8900b7", - "type": "BOOL", - "value": "false" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "6a9af32b-dd82-486f-a2ea-cb490b8900b7", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT increments the sequenceNumber when a SREM update is generated", - "origin": "6a9af32b-dd82-486f-a2ea-cb490b8900b7", - "type": "STRING", - "value": "Check that the IUT increments the sequenceNumber when a SREM update is generated" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generate a SREM\r\n\t\tcontaining srm\r\n\t\t\tcontaining sequenceNumber\r\n\t\t\t\tindicating SREM_SN_1\r\n\t\t\tand containing requests[0]\r\n\t\t\t\tcontaining request\r\n\t\t\t\t\tcontaining requestID\r\n\t\t\t\t\t\tindicating SREM_RID_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_update request\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tcontaining ssm\r\n\t\t\t\tcontaining sequenceNumber\r\n\t\t\t\t\tindicating SREM_SN_1+ 1\r\n\t\t\t\tand containing requests[0]\r\n\t\t\t\t\tcontaining request\r\n\t\t\t\t\t\tcontaining requestID\r\n\t\t\t\t\t\t\tindicating SREM_RID_1", - "origin": "6a9af32b-dd82-486f-a2ea-cb490b8900b7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT having generate a SREM\r\n\t\tcontaining srm\r\n\t\t\tcontaining sequenceNumber\r\n\t\t\t\tindicating SREM_SN_1\r\n\t\t\tand containing requests[0]\r\n\t\t\t\tcontaining request\r\n\t\t\t\t\tcontaining requestID\r\n\t\t\t\t\t\tindicating SREM_RID_1\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_update request\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tcontaining ssm\r\n\t\t\t\tcontaining sequenceNumber\r\n\t\t\t\t\tindicating SREM_SN_1+ 1\r\n\t\t\t\tand containing requests[0]\r\n\t\t\t\t\tcontaining request\r\n\t\t\t\t\t\tcontaining requestID\r\n\t\t\t\t\t\t\tindicating SREM_RID_1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "6a9af32b-dd82-486f-a2ea-cb490b8900b7", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "6a9af32b-dd82-486f-a2ea-cb490b8900b7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6a9af32b-dd82-486f-a2ea-cb490b8900b7" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_04.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_04.json deleted file mode 100644 index 90d62d377d10f89977f8b5797c8122fd5c9b0cb1..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_04.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "63c1341e-4d36-481f-9ff2-f69f7e82ef6b", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/65f67d00-63ae-4d5e-9272-cecfef3beace", - "/Documents/TS103301_V104_clean.xhtml/d51284f2-a002-4664-b81f-c761eb425ec0" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "63c1341e-4d36-481f-9ff2-f69f7e82ef6b", - "type": "STRING", - "value": "05. Check that the IUT generates a SSEM using the request identification value set in reveived SREM (TCL-S)" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "63c1341e-4d36-481f-9ff2-f69f7e82ef6b", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "63c1341e-4d36-481f-9ff2-f69f7e82ef6b" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_04/TP_IS_TLC_EVGN_04.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_04/TP_IS_TLC_EVGN_04.json deleted file mode 100644 index 1fb1d871f7608e0aa642e0340e0e6b477a3ab5e3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_04/TP_IS_TLC_EVGN_04.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "18cc4dad-99ab-4886-abe4-e258efa7a455", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "18cc4dad-99ab-4886-abe4-e258efa7a455", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT generates a SSEM using the request identification value set in reveived SREM (TCL-S)", - "origin": "18cc4dad-99ab-4886-abe4-e258efa7a455", - "type": "STRING", - "value": "Check that the IUT generates a SSEM using the request identification value set in reveived SREM (TCL-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a SREM\r\n\t\t\tcontaining srm\r\n\t\t\t\tcontaining sequenceNumber\r\n\t\t\t\t\tindicating SREM_SN_1\r\n\tthen\r\n\t\t\tthe IUT sends a valid SSEM\r\n\t\t\t\tcontaining ssm\r\n\t\t\t\t\tcontaining sequenceNumber\r\n\t\t\t\t\t\tindicating SREM_SN_1", - "origin": "18cc4dad-99ab-4886-abe4-e258efa7a455", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a SREM\r\n\t\t\tcontaining srm\r\n\t\t\t\tcontaining sequenceNumber\r\n\t\t\t\t\tindicating SREM_SN_1\r\n\tthen\r\n\t\t\tthe IUT sends a valid SSEM\r\n\t\t\t\tcontaining ssm\r\n\t\t\t\t\tcontaining sequenceNumber\r\n\t\t\t\t\t\tindicating SREM_SN_1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "18cc4dad-99ab-4886-abe4-e258efa7a455", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "18cc4dad-99ab-4886-abe4-e258efa7a455", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "18cc4dad-99ab-4886-abe4-e258efa7a455" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_05.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_05.json deleted file mode 100644 index af6fc87b63c63aedf37f9e183125958bcefe76d0..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_05.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c7def9d1-717c-4c9c-a950-48ecb873eeb5", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/178ac26b-def1-4261-8bbf-5df1fdaa5636"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "c7def9d1-717c-4c9c-a950-48ecb873eeb5", - "type": "STRING", - "value": "06. Check that the IUT generates SSEM to \"overrules\" previous request" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c7def9d1-717c-4c9c-a950-48ecb873eeb5", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c7def9d1-717c-4c9c-a950-48ecb873eeb5" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12.json deleted file mode 100644 index 0aa47068408348e8d379ab3060f60f4c8ec18a72..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "954013c2-fdf3-471b-9432-1ce30d484532", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/3d7c60ed-c139-4fe2-9427-9d71ab81be08", - "/Documents/TS103301_V104_clean.xhtml/e3e378dc-8bd3-4a4e-8612-e12b901716f8", - "/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "954013c2-fdf3-471b-9432-1ce30d484532", - "type": "STRING", - "value": "08. Check BTP type and port number" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "954013c2-fdf3-471b-9432-1ce30d484532", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "954013c2-fdf3-471b-9432-1ce30d484532" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_01.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_01.json deleted file mode 100644 index f04bd63f15a34b46005101cc63dbb5ee3f28f46a..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "BOOL", - "value": "false" - }, - "PICS_SREM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SREM_GENERATION", - "newvalue": "true", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVIM uses BTP_B packet\r\nCheck that the destination port for IVIM is set to 2007", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "STRING", - "value": "Check that IVIM uses BTP_B packet\r\nCheck that the destination port for IVIM is set to 2007" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SREM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2007'\r\n\t\t\t\tand containing a destination port info value set to '0'", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SREM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2007'\r\n\t\t\t\tand containing a destination port info value set to '0'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "c49ea8a1-0601-46fc-af72-be074d949d49", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c49ea8a1-0601-46fc-af72-be074d949d49" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_02.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_02.json deleted file mode 100644 index 6ac9665faa31c3fd9094f8f5d7c42486147a1a09..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_12/TP_IS_TLC_COM_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "BOOL", - "value": "false" - }, - "PICS_SREM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SREM_GENERATION", - "newvalue": "true", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that IVIM uses BTP_B packet\r\nCheck that the destination port for IVIM is set to 2008", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "STRING", - "value": "Check that IVIM uses BTP_B packet\r\nCheck that the destination port for IVIM is set to 2008" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2008'\r\n\t\t\t\tand containing a destination port info value set to '0'", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to '2008'\r\n\t\t\t\tand containing a destination port info value set to '0'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "972d74cb-9fe8-4f6a-b317-a7d6ec743833", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "972d74cb-9fe8-4f6a-b317-a7d6ec743833" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13.json deleted file mode 100644 index 1b71280d038b1f5dac988fa493c3fd55b8ed114e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "origin": "107910a9-baa9-452a-a169-abb070a39b91", - "type": "BOOL", - "value": "false" - }, - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "107910a9-baa9-452a-a169-abb070a39b91", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/56f108ee-54e4-4f1a-94d4-a95839fadc3c"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "107910a9-baa9-452a-a169-abb070a39b91", - "type": "STRING", - "value": "09. Check destination type" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "107910a9-baa9-452a-a169-abb070a39b91", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "107910a9-baa9-452a-a169-abb070a39b91" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_03.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_03.json deleted file mode 100644 index 11e48e81e08db72c102570898e83e4e9fac8f923..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "BOOL", - "value": "false" - }, - "PICS_SREM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SREM_GENERATION", - "newvalue": "true", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service encapsulates SREM in a GBC with the HeaderType field set to the value of 4", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "STRING", - "value": "Check that TLM service encapsulates SREM in a GBC with the HeaderType field set to the value of 4" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SREM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'\r\n", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSREM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SREM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "84b6993f-8dfc-4c51-bc66-d80d61292faf", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "84b6993f-8dfc-4c51-bc66-d80d61292faf" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_04.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_04.json deleted file mode 100644 index 017cb54cb8799ae59faf06e7dcafcc16c8d7306e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_13/TP_IS_TLC_COM_BV_04.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "5450b10f-cbde-4863-936a-97c9227d6eea", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "5450b10f-cbde-4863-936a-97c9227d6eea", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service encapsulates IVIM in a GBC with the HeaderType field set to the value of 4", - "origin": "5450b10f-cbde-4863-936a-97c9227d6eea", - "type": "STRING", - "value": "Check that TLM service encapsulates IVIM in a GBC with the HeaderType field set to the value of 4" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'\r\n", - "origin": "5450b10f-cbde-4863-936a-97c9227d6eea", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "5450b10f-cbde-4863-936a-97c9227d6eea", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "5450b10f-cbde-4863-936a-97c9227d6eea", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "5450b10f-cbde-4863-936a-97c9227d6eea" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14.json deleted file mode 100644 index 74c3730745355fa7b1f3f7820591728fa3dfef59..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "64b04140-aa1b-4504-a093-c7a2526ccd1d", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/66399e8a-0632-497a-9f97-f2d870a4b31f"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "64b04140-aa1b-4504-a093-c7a2526ccd1d", - "type": "STRING", - "value": "02. Check that SSEM protocol version is set to 1" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "64b04140-aa1b-4504-a093-c7a2526ccd1d", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "64b04140-aa1b-4504-a093-c7a2526ccd1d" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_02.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_02.json deleted file mode 100644 index 09e51de859bf95058622ea6f74e1ec0c107e6347..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_02.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "6e98045a-269b-4299-b7c8-858af37c6920", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "6e98045a-269b-4299-b7c8-858af37c6920", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT can successfully process all mandatory fields of SREM received (TLC-S)", - "origin": "6e98045a-269b-4299-b7c8-858af37c6920", - "type": "STRING", - "value": "Check that the IUT can successfully process all mandatory fields of SREM received (TLC-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT forwards the SREM content to upper layers\r\n\t\tand the IUT generates a SSEM ", - "origin": "6e98045a-269b-4299-b7c8-858af37c6920", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT forwards the SREM content to upper layers\r\n\t\tand the IUT generates a SSEM " - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "6e98045a-269b-4299-b7c8-858af37c6920", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "6e98045a-269b-4299-b7c8-858af37c6920", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "6e98045a-269b-4299-b7c8-858af37c6920" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_04.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_04.json deleted file mode 100644 index cf4c9df337b31cabd9200d0195c702bdec304784..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_14/TP_IS_TLC_MSGF_BV_04.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "26f15513-346e-4caf-a315-7c99b6fc1033", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "26f15513-346e-4caf-a315-7c99b6fc1033", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that protocolVersion is set to 1 and messageID is set to 10 (TLC-S)", - "origin": "26f15513-346e-4caf-a315-7c99b6fc1033", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 10 (TLC-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '10'", - "origin": "26f15513-346e-4caf-a315-7c99b6fc1033", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT having receive a valid SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SSEM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '10'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "26f15513-346e-4caf-a315-7c99b6fc1033", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "26f15513-346e-4caf-a315-7c99b6fc1033", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "26f15513-346e-4caf-a315-7c99b6fc1033" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15.json deleted file mode 100644 index 8ba3ffe736aece8c3048e983be8e380e3284a5b5..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8854db6a-f1ed-4e86-bff5-a49e863311df", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/89b8cf8c-fbae-474e-81d7-1d550dd36762"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "8854db6a-f1ed-4e86-bff5-a49e863311df", - "type": "STRING", - "value": "01. Check that SREM protocol version is set to 1" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8854db6a-f1ed-4e86-bff5-a49e863311df", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8854db6a-f1ed-4e86-bff5-a49e863311df" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_01.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_01.json deleted file mode 100644 index d76cb7e8fd82b07e577bd14736c385c7c8ff1289..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "BOOL", - "value": "false" - }, - "PICS_SREM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SREM_GENERATION", - "newvalue": true, - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that protocolVersion is set to 1 and messageID is set to 9 (ITS-S)", - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 9 (ITS-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SREM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '9'", - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT is requested to generate a new SREM\r\n\tthen\r\n\t\tthe IUT sends a valid SREM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '9'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "004e60f3-5023-46b6-a4c1-85676a47aad7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "004e60f3-5023-46b6-a4c1-85676a47aad7" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_03.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_03.json deleted file mode 100644 index 34d1df764557530b143337c26263684a47e7597f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_15/TP_IS_TLC_MSGF_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "BOOL", - "value": "false" - }, - "PICS_SSEM_RECEPTION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SSEM_RECEPTION", - "newvalue": "true", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "BOOL", - "value": "true" - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT can successfully process all mandatory fields of SSEM received (ITS-S)", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "STRING", - "value": "Check that the IUT can successfully process all mandatory fields of SSEM received (ITS-S)" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having send a valid SREM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid SSEM\r\n\tthen\r\n\t\t the IUT forwards the SSEM content to upper layers\r\n and the IUT forwards the SSEM content to other facilities", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having send a valid SREM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid SSEM\r\n\tthen\r\n\t\t the IUT forwards the SSEM content to upper layers\r\n and the IUT forwards the SSEM content to other facilities" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c72dcbb2-ab88-4e3d-ae44-25419c2891c7" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC.json deleted file mode 100644 index fdcee5d0e3447269aa6c713208a69610502dc91e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "3294a633-8c39-48ac-a939-735fc225b567", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/fe74fe56-0d8e-476a-972b-aae7246a2b3a"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "3294a633-8c39-48ac-a939-735fc225b567", - "type": "STRING", - "value": "TLC security parameters" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "3294a633-8c39-48ac-a939-735fc225b567", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "3294a633-8c39-48ac-a939-735fc225b567" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_07.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_07.json deleted file mode 100644 index 82cea0d86e19dcace771ba00292d66abd2d2c6a4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_07.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "2b2b8ca9-de47-440f-810b-04cc91c0e174", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/845b1b76-e7cf-41aa-8bc9-2fb7f5d079cd"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "2b2b8ca9-de47-440f-810b-04cc91c0e174", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "2b2b8ca9-de47-440f-810b-04cc91c0e174" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_08.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_08.json deleted file mode 100644 index e1e2d70f673792781a25d711ae2610ed7b1fa9fc..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_08.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a65c9b95-e88e-4df7-ae74-ff13f59999e8", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a65c9b95-e88e-4df7-ae74-ff13f59999e8", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a65c9b95-e88e-4df7-ae74-ff13f59999e8" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_09.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_09.json deleted file mode 100644 index 62d11598d54566f78efcc65a3ef833aa2d374981..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_09.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "bc317937-e167-479b-9674-8911e37aa069", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/5bccff70-8411-49a4-86e8-6a2730ec8fa0", - "/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca" - ] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "bc317937-e167-479b-9674-8911e37aa069", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "bc317937-e167-479b-9674-8911e37aa069" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_10.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_10.json deleted file mode 100644 index 66542d0978ff28af19d9896fb43b37540af90cf2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_10.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a6d5abb6-9a4e-4290-856b-61f31a276271", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/5f0d0ede-e1b1-49ca-9612-6df4b53860fb"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "a6d5abb6-9a4e-4290-856b-61f31a276271", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a6d5abb6-9a4e-4290-856b-61f31a276271" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_11.json b/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_11.json deleted file mode 100644 index 1f69e4b1b382e6be1325e0d1104119da1b73c185..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLC/IS_TLC_SEC/IS_TLC_11.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7f1aaebf-4618-4765-8eb5-4f2ba9102f6f", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/dced6c4e-4e4b-402a-9452-492fe14438d3"] - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "7f1aaebf-4618-4765-8eb5-4f2ba9102f6f", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7f1aaebf-4618-4765-8eb5-4f2ba9102f6f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM.json b/requality/TS103301/root/Requirements/IS_TLM.json deleted file mode 100644 index d413e30bbb244c8064c6987009e4fc2a90c32272..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "360934a9-41cc-47fa-9a36-dcac77aa53c8", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/8724cfcb-6374-41c4-993d-1b5c319eb8cf"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "01. Traffic Light Maneuver (TLM) service", - "origin": "360934a9-41cc-47fa-9a36-dcac77aa53c8", - "type": "STRING", - "value": "01. Traffic Light Maneuver (TLM) service" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "360934a9-41cc-47fa-9a36-dcac77aa53c8", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "360934a9-41cc-47fa-9a36-dcac77aa53c8" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01.json deleted file mode 100644 index 1610c2c1d1d07a99c5315fca3c2a406225804d75..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "cc3744e3-44dd-4c98-b3e3-d269a871f606", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/d5639917-0102-42fe-9b78-eb662d5f982d"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "cc3744e3-44dd-4c98-b3e3-d269a871f606", - "type": "STRING", - "value": "01. Check the message protocol version" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "cc3744e3-44dd-4c98-b3e3-d269a871f606", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "cc3744e3-44dd-4c98-b3e3-d269a871f606" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_01.json deleted file mode 100644 index 243baec4c6efbb19a5f6244563ff17c10e18ee30..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "true", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "BOOL", - "value": "true" - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that protocolVersion is set to 1 and messageID is set to 4", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 4" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '4'", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining ITS PDU header\r\n\t\t\t\tcontaining protocolVersion\r\n\t\t\t\t\tindicating value '1'\r\n\t\t\t\tand containing messageID\r\n\t\t\t\t\tindicating value '4'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c1d0c04c-6c85-42dc-ab76-94a5d6435802" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_02.json deleted file mode 100644 index 170de06128b46d45784973a89d7c0169b06bd41f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "false", - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "BOOL", - "value": "false" - }, - "PICS_SPATEM_RECEPTION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_RECEPTION", - "newvalue": true, - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT can successfully process all mandatory fields of SPATEM received", - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "STRING", - "value": "Check that the IUT can successfully process all mandatory fields of SPATEM received" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having receive a valid SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid SPATEM\r\n\tthen\r\n\t\tthe IUT forwards the SPATEM content to upper layers\r\n\t\tand the IUT forwards the SPATEM content to other facilities", - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT having receive a valid SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives a valid SPATEM\r\n\tthen\r\n\t\tthe IUT forwards the SPATEM content to upper layers\r\n\t\tand the IUT forwards the SPATEM content to other facilities" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "80c0adc5-3394-47e7-b9af-1d98bed118aa", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "80c0adc5-3394-47e7-b9af-1d98bed118aa" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_SND_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_SND_BV_01.json deleted file mode 100644 index ed441e5fa4f17b7a491c4fb55d1f0182311f7085..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_01/TP_IS_TLM_MSGF_SND_BV_01.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "BOOL", - "value": "true" - }, - "_author": { - "isGenerated": false, - "key": "_author", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "yann" - }, - "_description": { - "isGenerated": false, - "key": "_description", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "Check that protocolVersion is set to 1 and messageID is set to 4" - }, - "_expectedResults": { - "isGenerated": false, - "key": "_expectedResults", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\t the IUT sends a valid SPATEM\r\n containing ITS PDU header\r\n containing protocolVersion\r\n indicating value '1'\r\n and containing messageID\r\n indicating value '4'" - }, - "_status": { - "isGenerated": false, - "key": "_status", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "complete" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c1d0c04c-6c85-42dc-ab76-94a5d6435802", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c1d0c04c-6c85-42dc-ab76-94a5d6435802" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02.json deleted file mode 100644 index 61e98a68df563327cafc7e2d0e034df568b99509..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8c78f3e7-2c0b-41c1-bd4f-f8a332539166", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/7af8529d-8e73-40ed-b3d9-9e77dd380972", - "/Documents/TS103301_V104_clean.xhtml/485c89bc-9da3-4c8e-be0b-63b01c34b306" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "8c78f3e7-2c0b-41c1-bd4f-f8a332539166", - "type": "STRING", - "value": "02. TLM service trigger, update, repetition and termination" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "8c78f3e7-2c0b-41c1-bd4f-f8a332539166", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8c78f3e7-2c0b-41c1-bd4f-f8a332539166" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_01.json deleted file mode 100644 index ef07275e5521c69085a56a1fd8bd1a6b14b45e4b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_01.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "true", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "BOOL", - "value": "true" - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM Service generates a new SPATEM on reception of a valid AppSPATEM _Start request", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "STRING", - "value": "Check that TLM Service generates a new SPATEM on reception of a valid AppSPATEM _Start request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT has not sent any SPATEM yet\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM_Start request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT has not sent any SPATEM yet\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM_Start request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "c67a7ed0-4493-43d6-a7d1-8393744a00b3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c67a7ed0-4493-43d6-a7d1-8393744a00b3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_02.json deleted file mode 100644 index 76220b37ffb6e8b4a2880605e15ecca85933fea0..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM Service generates SPATEM are time ordered", - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "STRING", - "value": "Check that TLM Service generates SPATEM are time ordered" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT has sent a SPATEM\r\nensure that\r\n\twhen\r\n\t\tseveral SPATEM are generated\r\n\tthen\r\n\t\tthe IUT sends SPATEM in time order", - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n and the IUT has sent a SPATEM\r\nensure that\r\n\twhen\r\n\t\tseveral SPATEM are generated\r\n\tthen\r\n\t\tthe IUT sends SPATEM in time order" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "96d09b79-0b70-4c3b-9274-85f6db9bfedb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "96d09b79-0b70-4c3b-9274-85f6db9bfedb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_03.json deleted file mode 100644 index 16c9808fcd8e5cf74ca8369a32d56c9ab0a116f5..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_03.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "true", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "BOOL", - "value": "true" - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM Service terminates on reception of a valid AppSPATEM _Stop request", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "STRING", - "value": "Check that TLM Service terminates on reception of a valid AppSPATEM _Stop request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM _Stop request from the application layer\r\n\tthen\r\n\t\tthe IUT stops sending SPATEM", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM _Stop request from the application layer\r\n\tthen\r\n\t\tthe IUT stops sending SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "4", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "STRING", - "value": "4" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "f1c011cb-b76a-4eda-9d71-008e234642c1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "f1c011cb-b76a-4eda-9d71-008e234642c1" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_04.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_04.json deleted file mode 100644 index ac1ac581cbd4ec162afaa25a72507fdf8d0a7739..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_02/TP_IS_TLM_EVGN_BV_04.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "BOOL", - "value": true - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM Service generates a new SPATEM on reception of a valid AppSPATEM_Trigger request", - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "STRING", - "value": "Check that TLM Service generates a new SPATEM on reception of a valid AppSPATEM_Trigger request" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM", - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives an AppSPATEM_Trigger request from the application layer\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "3", - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "STRING", - "value": "3" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "c33c4238-ed77-4c03-a5ba-415d9b2b0ec3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_03.json deleted file mode 100644 index a76337fca345daf339bbb950ce644351f32b979e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_03.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c6d61456-9a1e-41b8-a2bc-0a5248f53617", - "type": "LIST", - "value": ["/Documents/TS103301_V104_clean.xhtml/3dc31e63-315a-421b-b74a-0c41cf4ae097"] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "c6d61456-9a1e-41b8-a2bc-0a5248f53617", - "type": "STRING", - "value": "03. Check presence of destination area" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c6d61456-9a1e-41b8-a2bc-0a5248f53617", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c6d61456-9a1e-41b8-a2bc-0a5248f53617" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_03/TP_IS_TLM_COM_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_03/TP_IS_TLM_COM_BV_01.json deleted file mode 100644 index 7c53333fbbccb00fa4e3ec4b9d1b1e6fce24f94e..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_03/TP_IS_TLM_COM_BV_01.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "true", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "BOOL", - "value": "true" - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM Service provides the destination area in SPATEM", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "STRING", - "value": "Check that TLM Service provides the destination area in SPATEM" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaing spat\r\n\t\t\t\tcontaining regional\r\n\t\t\t\t\tcontaining at least on region\r\n\t\t\t\t\t\tindicating a regionId\r\n\t\t\t\t\t\tand indication a regExtValue", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaing spat\r\n\t\t\t\tcontaining regional\r\n\t\t\t\t\tcontaining at least on region\r\n\t\t\t\t\t\tindicating a regionId\r\n\t\t\t\t\t\tand indication a regExtValue" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "42936281-fb4f-4965-9993-4cb02f89a329", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "42936281-fb4f-4965-9993-4cb02f89a329" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_04.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_04.json deleted file mode 100644 index 20020eae02c8748ad5bea5e2db0dbb4cd04b77ec..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_04.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "attributes": { - "_locations": { - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "c3d05d16-e98f-442a-86c7-885bab67a146", - "type": "LIST", - "value": [ - "/Documents/TS103301_V104_clean.xhtml/ec4af833-ea05-49fb-b5b2-6a3ee65b1dcb", - "/Documents/TS103301_V104_clean.xhtml/287563c5-e856-4f03-9ac9-c698a9abc297" - ] - }, - "_name": { - "isGenerated": false, - "key": "_name", - "origin": "c3d05d16-e98f-442a-86c7-885bab67a146", - "type": "STRING", - "value": "04. Check BTP type and port number" - }, - "_type": { - "isGenerated": false, - "key": "_type", - "origin": "c3d05d16-e98f-442a-86c7-885bab67a146", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "c3d05d16-e98f-442a-86c7-885bab67a146" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_04/TP_IS_TLM_COM_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_04/TP_IS_TLM_COM_BV_02.json deleted file mode 100644 index acb239265c88c78ff95084804ce156aec1a75c55..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_04/TP_IS_TLM_COM_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "true", - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "BOOL", - "value": "true" - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that SPATEM uses BTP_B packet\r\nCheck that the destination port for SPATEM is set to 2004", - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "STRING", - "value": "Check that SPATEM uses BTP_B packet\r\nCheck that the destination port for SPATEM is set to 2004" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to 2004\r\n\t\t\t\tand containing a destination port info value set to 0", - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tencapsulated in a BTP-B packet\r\n\t\t\t\tcontaining a destination port value set to 2004\r\n\t\t\t\tand containing a destination port info value set to 0" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "8e75d9b8-bc8b-4fda-bc66-60dbeb98663b" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_05.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_05.json deleted file mode 100644 index 1da3ef246c5ae2d034a120bde97fdd010a83ba09..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_05.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "b1828126-6f56-4e7b-88af-9a70496e44f3", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/f85e8afe-948d-4164-9a06-70c8dc7b5ba9"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "05. Check destination type", - "origin": "b1828126-6f56-4e7b-88af-9a70496e44f3", - "type": "STRING", - "value": "05. Check destination type" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "b1828126-6f56-4e7b-88af-9a70496e44f3", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "b1828126-6f56-4e7b-88af-9a70496e44f3" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_05/TP_IS_TLM_COM_BV_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_05/TP_IS_TLM_COM_BV_03.json deleted file mode 100644 index 3ba1816afad40925c2dcc9d35768b79d25bfd691..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_05/TP_IS_TLM_COM_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": "true", - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "BOOL", - "value": "true" - }, - "PICS_SPATEM_GENERATION": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_SPATEM_GENERATION", - "newvalue": true, - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "yann", - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "STRING", - "value": "yann" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service encapsulates SPATEM in a GBC with the HeaderType field set to the value of 4", - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "STRING", - "value": "Check that TLM service encapsulates SPATEM in a GBC with the HeaderType field set to the value of 4" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\t the IUT sends a valid SPATEM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'", - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\t the IUT sends a valid SPATEM\r\n\t\t\tencapsulated in a GBC packet\r\n\t\t\t\tcontaining a correctly formatted Common Header\r\n\t\t\t\t\tcontaining HeaderType field\r\n\t\t\t\t\t\tindicating the value '4'" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "complete", - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "STRING", - "value": "complete" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "d1799295-2318-4ae2-9f74-4735531f4d0f", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "d1799295-2318-4ae2-9f74-4735531f4d0f" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC.json deleted file mode 100644 index ff7a13aa5bb223911b3247e6204cdebad2f451b9..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "PICS_GN_SECURITY": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_GN_SECURITY", - "newvalue": "true", - "origin": "8230423c-cfe8-4867-960d-e356d8d60c78", - "type": "STRING", - "value": "true" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8230423c-cfe8-4867-960d-e356d8d60c78", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/515ef264-826f-4dc4-b5d2-5a2ad8b288ba"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "06. TLM security parameters", - "origin": "8230423c-cfe8-4867-960d-e356d8d60c78", - "type": "STRING", - "value": "06. TLM security parameters" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "8230423c-cfe8-4867-960d-e356d8d60c78", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8230423c-cfe8-4867-960d-e356d8d60c78" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01.json deleted file mode 100644 index 4d063ad37c001f7009231ae69b45fb1d94d98609..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "7e897170-c354-4562-9e9c-ca90a61ca16d", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/2ce3cc2b-aa51-421e-a422-6a9e6cce2082"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "01. Check TLM ITS AID value", - "origin": "7e897170-c354-4562-9e9c-ca90a61ca16d", - "type": "STRING", - "value": "01. Check TLM ITS AID value" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "7e897170-c354-4562-9e9c-ca90a61ca16d", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "7e897170-c354-4562-9e9c-ca90a61ca16d" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01/TP_IS_TLM_SEC_SND_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01/TP_IS_TLM_SEC_SND_BV_01.json deleted file mode 100644 index 30651cddde58fd53d4fe9ad42faf938819431d69..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_01/TP_IS_TLM_SEC_SND_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "232d157a-2c71-4dec-b268-0566adbad2fb", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "232d157a-2c71-4dec-b268-0566adbad2fb", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service uses certificate containing valid ITS AID to sign SPATEM messages ", - "origin": "232d157a-2c71-4dec-b268-0566adbad2fb", - "type": "STRING", - "value": "Check that TLM service uses certificate containing valid ITS AID to sign SPATEM messages " - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining a correctly formatted Security Header\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137", - "origin": "232d157a-2c71-4dec-b268-0566adbad2fb", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining a correctly formatted Security Header\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "232d157a-2c71-4dec-b268-0566adbad2fb", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "232d157a-2c71-4dec-b268-0566adbad2fb", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "232d157a-2c71-4dec-b268-0566adbad2fb" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02.json deleted file mode 100644 index 20f5f08956b6cd98ef4d194fd816b48f7013802f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "661675e1-913c-4aaa-b69f-6e574089f621", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/c8ae979e-6c54-4b01-8ce1-0ce4e8b853ac"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "02. Check TLM SSP version", - "origin": "661675e1-913c-4aaa-b69f-6e574089f621", - "type": "STRING", - "value": "02. Check TLM SSP version" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "661675e1-913c-4aaa-b69f-6e574089f621", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "661675e1-913c-4aaa-b69f-6e574089f621" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SEC_SND_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SEC_SND_BV_02.json deleted file mode 100644 index e56a097657d0d4a167f969cfaf34f4ab436bbf65..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SEC_SND_BV_02.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service uses certificate containing valid Service Specific Permissions to sign SPATEM messages and the SSP version is set to 1 ", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "Check that TLM service uses certificate containing valid Service Specific Permissions to sign SPATEM messages and the SSP version is set to 1 " - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining a correctly formatted Security Header\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tindicating first octet = 01h\r\n", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining a correctly formatted Security Header\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tindicating first octet = 01h\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SSP_SND_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SSP_SND_BV_01.json deleted file mode 100644 index e56a097657d0d4a167f969cfaf34f4ab436bbf65..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SEC_02/TP_IS_TLM_SSP_SND_BV_01.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service uses certificate containing valid Service Specific Permissions to sign SPATEM messages and the SSP version is set to 1 ", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "Check that TLM service uses certificate containing valid Service Specific Permissions to sign SPATEM messages and the SSP version is set to 1 " - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining a correctly formatted Security Header\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tindicating first octet = 01h\r\n", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\nensure that\r\n\twhen\r\n\t\ta SPATEM is generated\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining a correctly formatted Security Header\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tindicating first octet = 01h\r\n" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "fb59e42d-06e0-4b73-b39f-b0acc9181fb1" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP.json deleted file mode 100644 index 0f37480055688acc318d5be52c810b9fd97870d9..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "attributes": { - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "8cfc5590-86b7-433e-810a-14c01a21b3d2", - "type": "LIST", - "value": [ - {"value": "/Documents/TS103301_V104_clean.xhtml/ffb90c26-8785-43c8-a067-454300b1482e"}, - {"value": "/Documents/TS103301_V104_clean.xhtml/02e92920-4241-4fd0-bb41-5e09fb7402ca"} - ] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "03. Check TLM Service specific parameters", - "origin": "8cfc5590-86b7-433e-810a-14c01a21b3d2", - "type": "STRING", - "value": "03. Check TLM Service specific parameters" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "8cfc5590-86b7-433e-810a-14c01a21b3d2", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "8cfc5590-86b7-433e-810a-14c01a21b3d2" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01.json deleted file mode 100644 index bd5eb81fdf688f8f6429fe46430e2d5ad979e624..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "0bfdbb71-bc84-4674-a948-d963b3098374", - "type": "STRING", - "value": "1" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "0bfdbb71-bc84-4674-a948-d963b3098374", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/49c99cf1-7c9a-4caf-9eac-1f9d01d11037"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "01. SSP IntersectionState", - "origin": "0bfdbb71-bc84-4674-a948-d963b3098374", - "type": "STRING", - "value": "01. SSP IntersectionState" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "0bfdbb71-bc84-4674-a948-d963b3098374", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "0bfdbb71-bc84-4674-a948-d963b3098374" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_RCV_BO_04.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_RCV_BO_04.json deleted file mode 100644 index 44a342be5cfc0269a0ea514b91ef9902a1a49e5b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_RCV_BO_04.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e849c78e-4ce3-11e6-beb8-9e71128cae77" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_RCV_BV_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_RCV_BV_03.json deleted file mode 100644 index 62d502bbd2b40c1a0822e0fcf690f6a4c43183e4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_RCV_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b10b808a-ca37-4af2-b9a6-85b1beea3e64" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_01.json deleted file mode 100644 index b3a43192bf0d71658aec1c5db9290f2c3bdb6d54..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_02.json deleted file mode 100644 index 24f0c01732b04cf94fcfdd30197c674901a1f315..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_01_SND_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e849cb6c-4ce3-11e6-beb8-9e71128cae77" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BO_05.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BO_05.json deleted file mode 100644 index 44a342be5cfc0269a0ea514b91ef9902a1a49e5b..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BO_05.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e849c78e-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e849c78e-4ce3-11e6-beb8-9e71128cae77" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BV_04.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BV_04.json deleted file mode 100644 index 62d502bbd2b40c1a0822e0fcf690f6a4c43183e4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_RCV_BV_04.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "b10b808a-ca37-4af2-b9a6-85b1beea3e64", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "b10b808a-ca37-4af2-b9a6-85b1beea3e64" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_SND_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_SND_BV_02.json deleted file mode 100644 index b3a43192bf0d71658aec1c5db9290f2c3bdb6d54..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_SND_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "16a3ab32-d0d7-4b8d-9eeb-09b8f15ac3f8" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_SND_BV_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_SND_BV_03.json deleted file mode 100644 index 24f0c01732b04cf94fcfdd30197c674901a1f315..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_01/TP_IS_TLM_SSP_SND_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e849cb6c-4ce3-11e6-beb8-9e71128cae77", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e849cb6c-4ce3-11e6-beb8-9e71128cae77" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02.json deleted file mode 100644 index d54d6dfa248d286447ec2437493407ddc9e86265..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "3c8eeb0b-8b8b-49eb-bb22-afce14c3f817", - "type": "STRING", - "value": "2" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "3c8eeb0b-8b8b-49eb-bb22-afce14c3f817", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/b7ffa69a-f51a-4120-81d8-99e5bebd6a08"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "02. SSP IntersectionState.status", - "origin": "3c8eeb0b-8b8b-49eb-bb22-afce14c3f817", - "type": "STRING", - "value": "02. SSP IntersectionState.status" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "3c8eeb0b-8b8b-49eb-bb22-afce14c3f817", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "3c8eeb0b-8b8b-49eb-bb22-afce14c3f817" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_RCV_BO_04.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_RCV_BO_04.json deleted file mode 100644 index 0912f4177ce1851c621411f215d29eacba4063e4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_RCV_BO_04.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_RCV_BV_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_RCV_BV_03.json deleted file mode 100644 index 3ab5d37b2e7c6373bb7027fc0d92ecd0993fcba7..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_RCV_BV_03.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e7816b09-cf25-4549-be61-6845a3c00e6c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_SND_BV_01.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_SND_BV_01.json deleted file mode 100644 index 8874d80a45f504f35138672b189e9d37f4c28667..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_SND_BV_01.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_SND_BV_02.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_SND_BV_02.json deleted file mode 100644 index 70ab8e70a697d607661ae9b3f02d502bb698c80a..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_02_SND_BV_02.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BO_09.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BO_09.json deleted file mode 100644 index 0912f4177ce1851c621411f215d29eacba4063e4..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BO_09.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "Check that the IUT discards the SPATEM message containing IntersectionState without additional information not permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 78h \r\n\tthen\r\n\t\tthe IUT discards the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a473f1cd-9f89-43b4-9a26-a5bc3bc38709" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BV_08.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BV_08.json deleted file mode 100644 index 3ab5d37b2e7c6373bb7027fc0d92ecd0993fcba7..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_RCV_BV_08.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_OBU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_OBU_ROLE", - "newvalue": true, - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "Check that the IUT accepts the SPATEM message containing IntersectionState without additional information permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT is able to process received SPATEM\r\nensure that\r\n\twhen\r\n\t\tthe IUT receives SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n\t\tembedded in GeoNetworking packet\r\n\t\t\tcontaining SecurityHeader\r\n\t\t\t\tcontaining SignerInfo header\r\n\t\t\t\t\tcontaining certificate\r\n\t\t\t\t\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\t\t\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\t\t\t\t\tcontaining its_aid\r\n\t\t\t\t\t\t\t\t\tindicating 137\r\n\t\t\t\t\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\t\t\t\t\tindicating 80h \r\n\tthen\r\n\t\tthe IUT accepts the SPATEM\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "2", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "2" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "e7816b09-cf25-4549-be61-6845a3c00e6c", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "e7816b09-cf25-4549-be61-6845a3c00e6c" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_06.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_06.json deleted file mode 100644 index 8874d80a45f504f35138672b189e9d37f4c28667..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_06.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "Check that TLM service sends a SPAT message containing IntersectionState without advisory speed and maneuver assist information when it is permitted by the signing certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 80h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT sends a valid SPATEM\r\n\t\t\tcontaining spat.intersections\r\n\t\t\t\tcontaining any items of type IntersectionState\r\n\t\t\t\t\tnot containing maneuverAssistList\r\n\t\t\t\t\tand not containing regional\r\n\t\t\t\t\tand containig states\r\n\t\t\t\t\t\tcontaining any item of type MovementEvent\r\n\t\t\t\t\t\t\tnot containing speeds\r\n\t\t\t\t\t\t\tand not containing maneuverAssistList\r\n\t\t\t\t\t\t\tand not containing regional\r\n" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "a1522414-f199-4f6d-b33d-1c6aa4a0ea44" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_07.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_07.json deleted file mode 100644 index 70ab8e70a697d607661ae9b3f02d502bb698c80a..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_02/TP_IS_TLM_SSP_SND_BV_07.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "attributes": { - "PICS_RSU_ROLE": { - "availability": "LOCAL", - "isGenerated": false, - "key": "PICS_RSU_ROLE", - "newvalue": true, - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "BOOL", - "value": true - }, - "_author": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_author", - "newvalue": "filatov", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "filatov" - }, - "_description": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_description", - "newvalue": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "Check that TLM service doesn't send a SPAT message containing IntersectionState if it is not permited by the certificate" - }, - "_expectedResults": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_expectedResults", - "newvalue": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "with\r\n\tthe IUT being in the \"initial state\"\r\n\tand the IUT is operating in secured mode\r\n\tand the IUT sending SPATEM\r\n\tand the IUT uses the certificate to sign SPATEM messages\r\n\t\tcontaining SecurityAttribute of type its_aid_ssp_list\r\n\t\t\tcontaining ItsAidSsp item\r\n\t\t\t\tcontaining its_aid\r\n\t\t\t\t\tindicating 137\r\n\t\t\t\tand containing service_specific_permissions\r\n\t\t\t\t\tcontaining first octet\r\n\t\t\t\t\t\tindicating 01h\r\n\t\t\t\t\tand containing second octet\r\n\t\t\t\t\t\tindicating 78h \r\nensure that\r\n\twhen\r\n\t\tthe IUT is triggered to send a SPATEM\r\n\t\t\tnot containing advisory speed\r\n\t\t\tand not containing maneuver assisting information\r\n\t\t\tand not containing public transport prioritization\r\n\tthen\r\n\t\tthe IUT doesn't send a SPATEM" - }, - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "1", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "1" - }, - "_status": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_status", - "newvalue": "in process", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "in process" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "TestPurpose", - "origin": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede", - "type": "STRING", - "value": "TestPurpose" - } - }, - "uuid": "deab79d7-f2f6-41f1-a9b0-2aa2b59f3ede" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_03.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_03.json deleted file mode 100644 index b9f92e4bb68926cb0617ab185a5a81f5920c04f6..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_03.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "3", - "origin": "a5782fc2-cb18-45e5-924e-d60030280a96", - "type": "STRING", - "value": "3" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "a5782fc2-cb18-45e5-924e-d60030280a96", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/a7ca0c8e-6558-424b-8486-031930010b01"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "03. SSP Advisory speed", - "origin": "a5782fc2-cb18-45e5-924e-d60030280a96", - "type": "STRING", - "value": "03. SSP Advisory speed" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "a5782fc2-cb18-45e5-924e-d60030280a96", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "a5782fc2-cb18-45e5-924e-d60030280a96" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_04.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_04.json deleted file mode 100644 index 712a06b3a0094e26a59eb01c3dbff8e7a9f0bbd3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_04.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "4", - "origin": "1f5c09a4-3f7a-4ff7-bb97-bed8add87605", - "type": "STRING", - "value": "4" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "1f5c09a4-3f7a-4ff7-bb97-bed8add87605", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/b9a1bb83-fea0-4b9c-be96-7177c58933b5"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "04. Public transport prioritization", - "origin": "1f5c09a4-3f7a-4ff7-bb97-bed8add87605", - "type": "STRING", - "value": "04. Public transport prioritization" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "1f5c09a4-3f7a-4ff7-bb97-bed8add87605", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "1f5c09a4-3f7a-4ff7-bb97-bed8add87605" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_05.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_05.json deleted file mode 100644 index d521422a09acfd32addca49aa12a4890682775e2..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_05.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "5", - "origin": "71adf42d-e4b4-462d-8059-c27c4dce4601", - "type": "STRING", - "value": "5" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "71adf42d-e4b4-462d-8059-c27c4dce4601", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/28724eed-9f77-4704-b683-9364ed74de37"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "05. Maneuver assisting information", - "origin": "71adf42d-e4b4-462d-8059-c27c4dce4601", - "type": "STRING", - "value": "05. Maneuver assisting information" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "71adf42d-e4b4-462d-8059-c27c4dce4601", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "71adf42d-e4b4-462d-8059-c27c4dce4601" -} \ No newline at end of file diff --git a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_06.json b/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_06.json deleted file mode 100644 index 8956cec257a9ecb4ddf8951132ee7157cbf3a369..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Requirements/IS_TLM/IS_TLM_SEC/IS_TLM_SSP/IS_TLM_SSP_06.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "attributes": { - "_index": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_index", - "newvalue": "6", - "origin": "292d0931-c354-4e87-8579-bd210cf63012", - "type": "STRING", - "value": "6" - }, - "_locations": { - "availability": "LOCAL", - "elements_type": "STRING", - "isGenerated": false, - "key": "_locations", - "origin": "292d0931-c354-4e87-8579-bd210cf63012", - "type": "LIST", - "value": [{"value": "/Documents/TS103301_V104_clean.xhtml/4bda289f-d3a6-42f9-9eea-f94b9a276478"}] - }, - "_name": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_name", - "newvalue": "06. Check that unused SSP bits are set to 0", - "origin": "292d0931-c354-4e87-8579-bd210cf63012", - "type": "STRING", - "value": "06. Check that unused SSP bits are set to 0" - }, - "_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "Requirement", - "origin": "292d0931-c354-4e87-8579-bd210cf63012", - "type": "STRING", - "value": "Requirement" - } - }, - "uuid": "292d0931-c354-4e87-8579-bd210cf63012" -} \ No newline at end of file diff --git a/requality/TS103301/root/Templates.json b/requality/TS103301/root/Templates.json deleted file mode 100644 index 0bda8e237244071e1c338eb5c189d34f38dd577f..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Templates.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "attributes": {"_type": { - "availability": "LOCAL", - "isGenerated": false, - "key": "_type", - "newvalue": "RestrictedFolder", - "origin": "8f55f0fc-3650-41c2-9951-bd99b086bc7a", - "type": "STRING", - "value": "RestrictedFolder" - }}, - "uuid": "8f55f0fc-3650-41c2-9951-bd99b086bc7a" -} \ No newline at end of file diff --git a/requality/TS103301/root/Types.json b/requality/TS103301/root/Types.json deleted file mode 100644 index 2dd2ebd5128c7c338dd9c25a500aa46cefbc24c3..0000000000000000000000000000000000000000 --- a/requality/TS103301/root/Types.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "attributes": {"_type": { - "isGenerated": false, - "key": "_type", - "origin": "2549caab-f0b1-4f19-983b-aaca17922c2b", - "type": "STRING", - "value": "NodeType" - }}, - "uuid": "2549caab-f0b1-4f19-983b-aaca17922c2b" -} \ No newline at end of file diff --git a/scripts/update_its_project.bash b/scripts/update_its_project.bash index e90b9c8ad4f5312735db453278c42bcdab43687c..85ecb1b17cd73590ca7408bb8a0e6a8ce1e65764 100755 --- a/scripts/update_its_project.bash +++ b/scripts/update_its_project.bash @@ -27,7 +27,7 @@ then mv ${HOME}/tmp/etsi_its.tar.bz2 ${HOME}/tmp/etsi_its.tar.`date +'%Y%m%d'`.bz2 fi find ${PATH_DEV_ITS} -name "*.o" -exec rm {} \; - tar jcvf ${HOME}/tmp/etsi_its.tar.bz2 ${PATH_DEV_ITS} + tar jhcvf ${HOME}/tmp/etsi_its.tar.bz2 ${PATH_DEV_ITS} rm -fr ${PATH_DEV_ITS} fi diff --git a/taconfig.xml b/taconfig.xml deleted file mode 100644 index 975bb9353028792d796bc2e06a9f63062738318c..0000000000000000000000000000000000000000 --- a/taconfig.xml +++ /dev/null @@ -1,131 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<testadapter> - <codec encode="LibItsCam_asn1"> - <plugin id="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERCanonicalUnalignedCodecProvider"/> - </plugin> - </codec> - <codec encode="LibItsDenm_asn1"> - <plugin id="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERCanonicalUnalignedCodecProvider"/> - </plugin> - </codec> - <codec encode="LibItsCdd_asn1"> - <plugin id="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERCanonicalUnalignedCodecProvider"/> - </plugin> - </codec> - <codec encode="LibItsMapemSpatem_asn1"> - <plugin id="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1.LibItsMapemSpatem_asn1PERCanonicalUnalignedCodecProvider"/> - </plugin> - </codec> - <codec encode="LibItsIvim_asn1"> - <plugin id="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1.LibItsIvim_asn1PERCanonicalUnalignedCodecProvider"/> - </plugin> - </codec> - <codec encode="LibItsSremSsem_asn1"> - <plugin id="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1.LibIteSremSsem_asn1PERCanonicalUnalignedCodecProvider"/> - </plugin> - </codec> - <codec encode=""> - <plugin id="com.testingtech.ttworkbench"> - <parameter id="class" value="org.etsi.its.tool.testingtech.Its_CodecProvider"/> - </plugin> - <parameter id="default" value="true"/> - </codec> - <extfunc> - <plugin id="com.testingtech.ttworkbench"> - <parameter id="class" value="org.etsi.its.tool.testingtech.ExternalFunctionsPluginProvider"/> - </plugin> - </extfunc> - <port> - <plugin id="com.testingtech.ttworkbench.sa"> - <parameter id="class" value="org.etsi.its.tool.testingtech.PluginAdapter"/> - </plugin> - <parameter id="taParams"> - <parameter id="DEBUG_ENABLED"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value>ALL</Values:value> - </Values:charstring> - </value> - </parameter> - <parameter id="camPort" value="BTP/GN/ETH"/> - <parameter id="denmPort" value="BTP/GN/ETH"/> - <parameter id="mapemSpatemPort" value="BTP/GN/ETH"/> - <parameter id="ivimPort" value="BTP/GN/ETH"/> - <parameter id="sremSsemPort" value="BTP/GN/ETH"/> - <parameter id="btpPort" value="GN/ETH"/> - <parameter id="geoNetworkingPort" value="ETH"/> - <parameter id="ipv6OverGeoNetworkingPort" value="Debug"/> - <parameter id="UpperTesterSettings" value="172.17.15.38:12345"/> - <parameter id="OfflineMode" value="false"/> <!-- Post-mortem ATS execution mode --> - <parameter id="PcapFile" value="pcap/vendor/TC_CAM_MSD_FMT_BV_01.pcap"/> - <parameter id="OffsetTime" value="1421661427.233361"/> <!-- Start at time in milliseconds since 1970-01-01, e.g. 1421661427.233361 --> - <parameter id="LocalEthernetMAC" value="00E08F008855"/> - <parameter id="IutEthernetTypeValue" value="0x8947"/> - <parameter id="TsBeaconInterval" value="1000"/> - <parameter id="TsLatitude" value="43551050"/> - <parameter id="TsLongitude" value="10298730"/> - <parameter id="LinkLayer_MTC" value="8BADF00D0100"/> - <parameter id="LinkLayer_NodeA" value="8BADF00D0101"/> - <parameter id="LinkLayer_NodeB" value="8BADF00D0102"/> - <parameter id="LinkLayer_NodeC" value="8BADF00D0103"/> - <parameter id="LinkLayer_NodeD" value="8BADF00D0104"/> - <parameter id="LinkLayer_NodeE" value="8BADF00D0105"/> - <parameter id="LinkLayer_NodeF" value="8BADF00D0106"/> - <parameter id="Gn6RemoteAdapterIp" value="172.17.15.38"/> - <parameter id="Gn6RemoteAdapterPort" value="42000"/> - <parameter id="TsItsAidOther" value="38"/> - <parameter id="UtSecuredMode" value="false"/> - <parameter id="TsSecuredRootPath" value="data/certificates"/> - <parameter id="TsSecuredConfiId"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value/> - </Values:charstring> - </value> - </parameter> - <parameter id="GnssScenarioSupport" value="${LibItsCommon_Pixits.PICS_GNSS_SCENARIO_SUPPORT}"/> - <parameter id="GnssControllerAddress"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value>10.73.224.145</Values:value> - </Values:charstring> - </value> - </parameter> - <parameter id="GnssScenario_StaticPos"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value>C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\StaticPos\StaticPos.scn</Values:value> - </Values:charstring> - </value> - </parameter> - <parameter id="GnssScenario_DynamicPos200m"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value>C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1000m\DynamicPos200m.scn</Values:value> - </Values:charstring> - </value> - </parameter> - <parameter id="GnssScenario_DynamicPos1000m"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value>C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1000m\DynamicPos1000m.scn</Values:value> - </Values:charstring> - </value> - </parameter> - <parameter id="GnssScenario_DynamicPos1500m"> - <value> - <Values:charstring xmlns:Values="Values.xsd" type="charstring"> - <Values:value>C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1500m\DynamicPos1500m.scn</Values:value> - </Values:charstring> - </value> - </parameter> - </parameter> - <parameter id="default" value="true"/> - </port> -</testadapter> diff --git a/testsystem.cfg b/testsystem.cfg deleted file mode 100644 index 0e7035ac7826b62fbfad87d056357d22c7f4d60e..0000000000000000000000000000000000000000 --- a/testsystem.cfg +++ /dev/null @@ -1,19 +0,0 @@ -[LOGGING] -FileMask := LOG_ALL | MATCHING -ConsoleMask := LOG_ALL | MATCHING -TimeStampFormat := DateTime -ConsoleTimeStampFormat := Time - -[MAIN_CONTROLLER] -LocalAddress := 127.0.0.1 -TCPPort := 12000 -NumHCs := 1 - -[EXECUTE] -ItsRSUsSimulator_TestCases.TC_RSUSIMU_BV_01 - -[MODULE_PARAMETERS] -LibCommon_Time.PX_TDONE := 30.000000 -LibCommon_Time.PX_TWAIT := 30.000000 -LibCommon_Sync.PX_TSYNC_TIME_LIMIT := 30.000000 -LibCommon_Sync.PX_TSHUT_DOWN_TIME_LIMIT := 30.000000 diff --git a/tt3plugins/EtsiCommon/TT3plugin.xml b/tt3plugins/EtsiCommon/TT3plugin.xml deleted file mode 100644 index 8b8acde59e6e7642abb080b3e7e10d3344be5b52..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiCommon/TT3plugin.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.common" name="ETSI Common" provider-name="ETSI" version="1.0.0.0"> - <runtime> - <library name="EtsiCommon.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - </dependency> -</plugin> diff --git a/tt3plugins/EtsiCommonAdapter/TT3plugin.xml b/tt3plugins/EtsiCommonAdapter/TT3plugin.xml deleted file mode 100644 index c1f0a5b641aca60eaa825f16fa4f9047f8ed3ded..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiCommonAdapter/TT3plugin.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.adapter" name="ETSI Common Adapter" provider-name="ETSI" version="1.0.0.0"> - <runtime> - <library name="EtsiCommonAdapter.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - <reference id="org.etsi.its.uppertester"/> - </dependency> -</plugin> diff --git a/tt3plugins/EtsiCommonCodec/TT3plugin.xml b/tt3plugins/EtsiCommonCodec/TT3plugin.xml deleted file mode 100644 index 4e6e238c5bfce70c2d4554bab155dd60e50a1e08..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiCommonCodec/TT3plugin.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.codec" name="ETSI Common Codec" provider-name="ETSI" version="1.0.0.0"> - <runtime> - <library name="EtsiCommonCodec.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - <reference id="org.etsi.common"/> - </dependency> -</plugin> diff --git a/tt3plugins/EtsiItsAdapter/Commsignia/rxjava-1.0.8.jar b/tt3plugins/EtsiItsAdapter/Commsignia/rxjava-1.0.8.jar deleted file mode 100644 index f60ebe1261612315d71f8f192333bb1a919ca806..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Commsignia/rxjava-1.0.8.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Commsignia/v2x-client-1.12.0-b185-javadoc.jar b/tt3plugins/EtsiItsAdapter/Commsignia/v2x-client-1.12.0-b185-javadoc.jar deleted file mode 100644 index f0987a2fa2de81325bfba5b25d3d23140cab0952..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Commsignia/v2x-client-1.12.0-b185-javadoc.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Commsignia/v2x-client-1.12.0-b185.jar b/tt3plugins/EtsiItsAdapter/Commsignia/v2x-client-1.12.0-b185.jar deleted file mode 100644 index b3f5f136804e572363a8a7c501c9405ca2da33ad..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Commsignia/v2x-client-1.12.0-b185.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/GSon/gson-2.3.jar b/tt3plugins/EtsiItsAdapter/GSon/gson-2.3.jar deleted file mode 100644 index a7f7ce5e993d6eba344ef9ea2c20ee525d67c7fa..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/GSon/gson-2.3.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/CryptoLib.jar b/tt3plugins/EtsiItsAdapter/Preserve/CryptoLib.jar deleted file mode 100644 index 9576032917653e96fa36099287b52bdf8d19cf76..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/CryptoLib.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar b/tt3plugins/EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar deleted file mode 100644 index 27d3481e6b4f6a59563de7adca2cd66fcc60a1f9..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/commons-codec-1.4.jar b/tt3plugins/EtsiItsAdapter/Preserve/commons-codec-1.4.jar deleted file mode 100644 index 458d432da88b0efeab640c229903fb5aad274044..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/commons-codec-1.4.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar b/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar deleted file mode 100644 index b006132485bb8c4c02d4b258aa7b67a3668b952b..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar b/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar deleted file mode 100644 index 6a5d70db109589389613b6be596fa2c35d1d6d23..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar b/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar deleted file mode 100644 index 0870fac93dc10d7598e2960989e9cadab6555909..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/joda-time-2.0.jar b/tt3plugins/EtsiItsAdapter/Preserve/joda-time-2.0.jar deleted file mode 100644 index 169a7a4d35de0c4b54e2484f4553917910b02aa4..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/joda-time-2.0.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar b/tt3plugins/EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar deleted file mode 100644 index e931ab75e4c52aea49746541e9cd2c1280419313..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/TT3plugin.xml b/tt3plugins/EtsiItsAdapter/TT3plugin.xml deleted file mode 100644 index 3ccb760b25e8aaf6161de693d83f71a514520a61..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/TT3plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.its.adapter" name="ETSI Its Adapter" provider-name="ETSI" version="1.0.0.0"> - <runtime> - <library name="EtsiItsAdapter.jar"/> - <library name="GSon/gson-2.3.jar"/> - <library name="jnetpcap-1.4.r1425/jnetpcap.jar"/> - <library name="jpcap-0.7/lib/jpcap.jar"/> - <library name="Preserve/bcprov-jdk16-146.jar"/> - <library name="Preserve/commons-codec-1.4.jar"/> - <library name="Preserve/CryptoLib.jar"/> - <library name="Preserve/de.fraunhofer.sit.c2x.pki.ca.jar"/> - <library name="Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar"/> - <library name="Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar"/> - <library name="Preserve/joda-time-2.0.jar"/> - <library name="Preserve/pax-logging-api-1.6.10.jar"/> - <library name="Commsignia/rxjava-1.0.8.jar"/> - <library name="Commsignia/v2x-client-1.12.0-b185.jar"/> - <library name="../../build"/> - <native path="GSon"/> - <native path="jpcap-0.7"/> - <native path="jnetpcap-1.4.r1425"/> - <native path="Preserve"/> - <native path="Commsignia"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - <reference id="org.etsi.adapter"/> - </dependency> -</plugin> diff --git a/tt3plugins/EtsiItsAdapter/exificient.jar b/tt3plugins/EtsiItsAdapter/exificient.jar deleted file mode 100644 index 4cea0b0a3690e8e0554874e4108cfaf756e8aebf..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/exificient.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt deleted file mode 100644 index 2f7d0555a7d48a045b25ea605bc45a3a38f51580..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt +++ /dev/null @@ -1,436 +0,0 @@ -################################################################################ -# -# Copyright (C) 2007-2010 Sly Technologies, Inc. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -################################################################################ - - jNetPcap Package - Change Log - -== Release 1.3.b4 (2010-12-15) == - -* Fixes - - - Memory swings - Object finalization is replaced with java Reference - cleanup. Memory is now managed through Reference and - ReferenceQueue mechanism. - - - - Various performance optimizations in JMemory and JBuffer class. Optimized - memory allocation path in JMemoryPool for certain object - types. - - - Fixed boundary check in Checksum calculation with truncated jumbo - Ethernet frames. - - - Fixed an issue when an JMemory based object tried to peer to itself. - - - Fixed JMemory resize issue. - - - Fixed Bug#3108615 - Ethernet FCS - FCS calculation and various Ethernet - header APIs that check for presence of FCS field, allow - verification, calculation and setting of new FCS value. - - -* Added - - - Added a new management class named DisposableGC which runs in - a background system thread and schedules native memory - cleanup. - - - Added several system properties (nio.mx, nio.ms, nio.blocksize) which - affect native memory allocation, limits and DisposableGC - behavior. - - - PcapPacket.peerAndScan - convenience method peering header and buffer - to a PcapPacket object. Implements certain optimizations - to perform the task faster. - - -* Changes - - - Changed the format of the debug output for - PcapPacket.State.toDebugString() method. The output produced - is more tabular with a table heading on top. - - - Removed no longer used classes and directories from source such as - tests/beta1.5, JReference class, JMemory.references field - -* Non-code changes - - - Added complete MANIFEST to jnetpcap.jar file, which describes version - information of the jNetPcap library being used. - - - Changed the native and java library files names to not include full - version information. The versioning is now fully accomplished - through the use of jnetpcap root distribution directory - instead. This allows easier switching between different - versions of jNetPcap. - - - Updated file headers which reflects the proper copyright and license - agreement (LGPL v3) - - - Updated all javadoc comments and tags for all classes - -== Release 1.3.b3 (2010-10-01) == - -* Fixes - - - Bug#3078703 - JMemory.transferTo(ByteBuffer) (array version) - - - Bug#3078704 - Debug message coming from Tcp header when options are parsed - -* Removed - - - org.jnetpcap.package.dissect - left over and unusable package intended for - the native dissector feature which has been removed from 1.3 - release - - - SipHandler interface - left over from analyzer feature that has been - removed from 1.3 release - -* Modifications/Updates - - - org.jnetpcap.protocol.voip - updated javadocs, cleaned up warnings on all - the classes in this package - -== Release 1.3.b2 (2010-09-26) == - -* Fixes - - - Bug#3062026 - Scanner.reloadAll() in JPacket.scan() - - - Bug#3062029 - Memory leak in native scanner reloadAll() tables - - - Bug#3062031 - @Bind method with multiple same headers, gets wrong header - - - Bug#3062035 - AnnotatedMethod doesn't open up method access perm - - - Bug#3062037 - Checksum.pseudoUDP coredumps on invalid headers - - - Bug#3062050 - Main scanner loop processes 0 length headers - - - Bug#3062053 - @Deprecated JPacket.getScanner method - - - Bug#3065968 - Missing sendPacket(JBuffer) implementation - - - Bug#3066662 - UDP header missing setter methods - - - Bug#3066959 - VLAN definition incorrectly assumes 802.1d as next header - - - Bug#2353774 - Tcp header incomplete - missing tcp options - - - Bug#3067088 - Ip4.Timestamp incorrectly initialized - - - Bug#3067096 - JPacket.toString() exceptions consume all output in progress - - - Bug#2933449 - SIP PRACK Message dosn't recognized - - - Bug#3018072 - Wrong scanning Sdp headers in Linux - - -== Release 1.3 final (2010-08-24) == - -* No code changes (b1 code thoroughly tested and deployed for several months) - -* Various build script changes - - - Added x86_64 builds - -== Release 1.3.b1 (2010-04-05) == - -* Fixes - - - Bug#2981951 - Intermittent crashes in scanner - - - Bug#2978441 - JRegistry.addBinding(JBinding) not working - - - Bug#2890736 - reopened bug ConcurrentModificationException in JMemoryPool - - - Bug#2906021 - Ethernet trailer end up in last header payload - - - Bug#2908252 - JFormatter invalid state after exception during format output - - - Bug#2908513 - exception thrown by Checksum for truncated or recursive ICMP - headers. - -* Added - - - Added testcase for Bug#2899902 ( buffer underflow on 64-bit systems) - -== Release 1.3.a1 (2009-11-06) == - -* Fixes - - - Bug#2890773 - PcapPacketHandler invalid PcapHeader peer - - - Bug#2890736 - JMemoryPool concurrent mod exception - - - Bug#2890094 - JPacket.toHexdump doesn't work on unintialized packets - - - Bug#2878768 - JMemoryPacket(int) constructor doesn't work - - - Bug#2857282 - Ip4.destination(byte[]) setter uses incorrect offset - - - Bug#2897714 - invalid (char *) to (int) conversion in packet_protocol.cpp - -* Added - - - Feature#2848659 - Add frame counter reset on JScanner - -== No Official 1.2 stable release == - -* Notes - - - Release 1.2 branch was deprecated and replaced with stable 1.3 branch - -== Release 1.2.rc5 (2009-3-18) == - -* Fixes - - - #2688877 - reported that debian package is missing .so soft link to .so.rc4 - main lib file. Will add that link in post-install to debian - package control file - - - #2648427 - PcapDumper.dump() core-dumps. A patch is available upon request. - - - #2557009 - LLC header problem - -* Added - - - Pcap.loop() and Pcap.dispatch() variation to allow the user to supply - JScanner. This allows JScanner internal buffer size to be changed by the - user - - - Added JPacket.setMemoryPool(). This allows the user to change the default - allocation block size of JMemoryPool for packets that are copied via the - constructor and transferTo() methods - - - Added analyzer support for Tcp/Ip family of protocols. This includes Ip - fragment reassembly, tcp segment sequencing and reassembly as well - - - Added Http and Html as CORE jnetpcap protocols supported by native scanner - -* Changed - - - Moved org.jnetpcap.packet.header package to new org.jnetpcap.protocol - package. Protocols are grouped into families of protocols, which are stored - under appropriate protocol suite sub-packages. - - -== Release 1.2.rc4 (2009-1-4) == - -* Fixes - - - #2469209 - Ip6 CORE protocol missing scanner - - - #2469205 - Unchecked exceptions consumed in dispatch handlers - - - #2469198 - PcapPacket.transferStateAndDataFrom(PcapPacket) not working - -* Added - - - JConfig class for managing configuration through properties - - - Activated java's logging system for logging messages - - - Address resolvers - resolve addresses and numbers to human labels such as - ip addresses to hostnames - -* Changes - - - Renamed annotation interface @FieldRuntime to @Dynamic - -* TODO - - - Mapped fields for protocols such as Http and SIP - - -== Release 1.2.rc3 (2008-12-22) == - -* Update to 1.2.rc2 - -* Fixes - - - #2458371 - Serious memory leak in JMemory - - - #2458376 - Invalid class name for an exception being thrown from JNI code - -* Added - - - Protocol to protocol binding and registration - - - Protocol header annotations; makes protocol definitions much cleaner and - easier to write - - - Protocols/java directory with some - new non core protocols being released; - Http and Html headers are included - - - Added several static methods to JMemory class which report on native memory - usage for jNetPcap library; since native memory is not reported in any JRE - statictics, the user can rely on these JMemory methods for monitoring - native memory usage - - - Added several getter methods to JBuffer class that retrieve UTF8 strings in - raw buffers - -* Changes - - - Main JNI scanner LOOP has been slightly rewritten to take advantage of - JHeaderScanner java objects, their bidnings and user written scanners - -* TODO - - - JField class still needs more cleanup; JFieldRuntime needs to be removed - completely - - - Formatting styles for field values need to be redone; currently too limited - in functionality - - - Add exception hooks; exception hooks rewrite exceptions being thrown to - include a lot more debug information that is useful when debugging a - protocol - -== Release 1.2.rc2 (2008-12-06) == - -* Update to 1.2.rc1 released on 2008-11-24 - -* Fixed - - - Fixed PcapPacket and JPacket class APIs - - - Fixed various memory related issues found with JMemory - -* Added - - - Added sub-header capabilities to JHeader and formatters - - - Added all Ip options to Ip4 header definition - - - Added all missing ICMP sub-header types - -* Known Issues - - - TCP header definition is missing its optional sub-headers - - - Java binding overrides are implemented but still not fully tested - - - Numerous javadoc typos and blank type comments - -== Release 1.2 (2008-11-24) == - -* Feature release - -* Added - - - #2292402 - Packet decoding framework - - - #2292455 - Memory management - - - #2292464 - Add a function to acquire network interface MAC address - - - #2292515 - Simplify capturing packets in multi-threaded environment - - - #2321006 - Deprecate: PcapHandler - - - #2321014 - Deprecate: PcapPktHdr - - - #2321017 - Deprecate: PcapInteger - - - #2321024 - Deprecate: certain loop, dispatch functions - -* Bugs - - - #2219738 - WinPcap.sendQueue ignores its parameter. - WinPcapSendQueue(int size) constructor was ignoring size - parameter and using a constant. - - - #2219729 - Memory leak in Pcap.loop(). - Memory leak in Pcap.loop method. Local JNI references were - accumulating causing out of memory errors in Pcap.loop when it - was set to loop forever. - -== Release 1.1 (2008-06-19) == - -* Maintenance release - -* Provides packages for: Fedora Core 8 (Linux), Debian 4 (Linux), Win32 (WinXP/Vista) - -* NO BUG FIXES - no bugs reported from the time of previous release - -== Release 1.0 (2007-12-21) == - -* First production release - -* Bug #1855589 - Win32 isInjectSupported returned incorrect value - -== Release 1.0b4 (2007-08-21) == - -* Linux support - -* Bug #1776380 - PcapBpfProgram exceptions on linux platform - -* Added - - - Pcap.inject, Pcap.isSendPacketSupported, Pcap.isInjectPacketSupported, - Pcap.lookupDev, Pcap.lookupNet - -== Release 1.0b3 == - -* No bugs found or reported since previous release - -* Additions to org.jnetpcap package - - - All core 'libpcap' functions - - - PcapClosedException, PcapExtensionNotAvailableException exceptions - -* Addtions of and to jnetpcap.org.winpcap package - WinPcap extensions - - + Nearly all WinPcap based functions, very few exceptions - -* Removed "commons-logging" dependency. Static initializers throw appropriate - exceptions directly during initialization failure. - -== Release 1.0b2 == - -* Bug #1767744 - PcapHandler object ptr error in loop() and dispatch() - This is a critical bug, where PcapHandler objects clobers the - parent Pcap object data after invocation through loop() or - dispatch() method. - -* Add a number of int constants to Pcap.java class to represent various return - codes, flags, and mode settings. Each constant has detailed explanation of - its usage and where it is be applicable. - -* openLive() method will now also return "warning" messages in errbuf, even if - result code from the OK was 0, meaning no error had occured, as per pcap - specification. - -* Possible issue uncovered, but not fixed in this release. - - - setting the snaplen value on openLinve() call does not seem to cause a - return of a truncated packet buffer from next(), nextEx(), dispatch() or - loop(). The buffer always contains the entire packet. Significant - debugging effort does not point to a bug in jNetPcap software but in - underlying WinPcap library. This could be in issue with particular Network - Interface Card in use. The issue is still under investigation, but the fix - to critical bug #1767744 can not be delayed. - -== Release 1.0b1 == - -* Initial release diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING deleted file mode 100644 index 3d90694ade2af6f840b175a00477c8a15cfc6eeb..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. \ No newline at end of file diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING.LESSER b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING.LESSER deleted file mode 100644 index f0156c535521aefeac49856f5e1299fb00070c60..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING.LESSER +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt deleted file mode 100644 index 41374b0c79ccfc10773af9feb23d2a69594bce3c..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt +++ /dev/null @@ -1,260 +0,0 @@ -################################################################################ -# -# Copyright (C) 2007-2010 Sly Technologies, Inc. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -################################################################################ - - - jNetPcap Package - Version 1.3.b4 - Release Notes - Created on 2010-12-15 - -INTRODUCTION: -============ - -This is a stable release beta #4 of jNetPcap library. The feature set for -1.3 release cycle is frozen and only bug fixes will be released in future -1.3 updates. - -Beta 4 addresses a significant memory utilization issue. Beta 4 replaced -Object finalization memory cleanup model, with java Reference and ReferenceQueue -managed objects. No classes in jNetPcap library rely on Object.finalize() to -perform any type of cleanup. Any class requiring cleanup, now uses the -java.lang.reference package mechanism to be notified when cleanup needs to -occur. This is Sun/Oracle recommended way of performing cleanup. - -Beta 4 adds a background system thread which schedules cleanup of resources. The -cleanup thread, named after the class implementing most of the functionality, -DisposableGC class, works in conjunction with memory allocation mechanism to -ensure that memory is kept within default limits of 64mb. - -Several system properties were added to control the behavior and limits of -DisposableGC. Properties 'nio.mx', 'nio.ms', 'nio.blocksize' control native -memory allocation. These properties can be defined on the command line -as '-Dnio.mx=64mb', '-Dnio.ms=64mb', '-Dnio.blocksize=32kb'. Property 'nio.mx' -defines an absolute limit on the amount of native memory that can be allocated. -When the limit is reached, and memory cleanup is unable to free sufficient -amount of memory to fulfill the original request, an OutOfMemory exception is -thrown. Property 'nio.ms' defines a soft limit, where forcible memory cleanup -is attempted, while memory requests continue to be honored. Property -'nio.blocksize' defines the minimum size for the smallest memory allocation -request. Memory is allocated in larger 'nio.blocksize' blocks and sub-allocated -per each allocation request. This prevents excessive system memory fragmentation, -improves overall performance (since most subsequent allocation requests are -fulfilled in java). - -The default values for all 3 properties are: nio.mx=64mb, nio.ms=64mb, -nio.blocksize=32kb. The defaults are applied to all platforms and hardware -architectures (32-bit and 64-bit). - -Beta 4 also improves some critical areas of jNetPcap API. Specifically, peering, -memory allocation and use of accessor methods in JBuffer class, are -significantly improved. - -The API classes are compiled with Java 1.5.X compiler and require Java 1.5 -compatibility. The package is platform dependent as there is a native library -components supplied for each supported operating system -(i.e. jnetpcap.dll file for win32 systems.) - -This release provides the API for a complete list of Libpcap's operations which -are to openLive, openOffline, openDead, compile filters, set them and many -others. For capturing packets, both packet at a time and dispatched handler -methods are implemented. Also various low level kernel buffer operations that -are natively available through WinPcap extension library are implemented as -well, but only available on windows based platforms. - -The javadoc API documentation and a user guide is available at the project's -website at: http://jnetpcap.org. - -== Installation Instructions == - -To install the library unzip the binary platform-dependent package into any -directory, or install the RPM package on unix based systems into its default -directories. There are 2 parts to setting up environment for jNetPcap. - - *) Win32 Dependency: jNetPcap requires WinPcap 3.1 or greater installed. - WinPcap version 4.0.1 or greater is recommended, but not - neccessary. (http://winpcap.org) - - *) FC notes: main files of interest from linux RPM package are installed - in the following locations: - - - /usr/lib/libjnetpcap.so - - /usr/share/java/jnetpcap-1.3.a1.jar - - /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs - - *) Debian notes: main files of interest from linux deb package are installed - in the following locations: - - - /usr/lib/libjnetpcap.so - - /usr/share/java/jnetpcap-1.3.a1.jar - - /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs - - 1) Add supplied jnetpcap-version.jar file to your build system's CLASSPATH. - The jar file is found at the root of the installation directory in zip - files and in /usr/share/java on linux systems. - - 2) Setup native jnetpcap dynamically loadable library. This varies between - operating systems. - - * On Win32 systems do only one of the following - - - copy the jnetpcap.dll library file, found at root of jnetpcap's - installation directory to one of the window's system folders. This - could be \windows or \windows\system32 directory. - - - add the jNetPcap's installation directory to system PATH variable. This - is the same variable used access executables and scripts. - - - Tell Java VM at startup exactly where to find jnetpcap.dll by setting - a java system property 'java.library.path' such as: - c:\> java -Djava.library.path=%JNETPCAP_HOME% - - - You can change working directory into the root of jnetpcap's - installation directory. - - * On unix based systems, use one of the following - - add /usr/lib directory to LD_LIBRARY_PATH variable as java JRE does not - look in this directory by default - - - Tell Java VM at startup exactly where to find jnetpcap.dll by setting - a java system property 'java.library.path' such as: - shell > java -Djava.library.path=$JNETPCAP_HOME - - - You can change working directory into the root of jnetpcap's - installation directory. - - * For further trouble shooting information, please see the following link: - (http://jnetpcap.wiki.sourceforge.net/Troubleshooting+native+library) - -== Project Website and Support == - -The project is actively maintained at (http://jnetpcap.org). - -Also please join project's jnetpcap-users@lists.sourceforge.net list, to discuss -the project or report bugs at (http://sourceforge.net/mail/?group_id=164277). - -== Distributed Jar Files == - -The file jnetpcap-version.jar provides the java implementation of the -public API. The jar file will not function on its own and requires that the -supplied "native shared library" be also utilized (see below.) Without the -library, most of the classes in this jar file will throw a java -'UnsatisfiedLinkException'. - -== Distributed native shared library == - -The base directory of the distributed package contains a "native shared library" -either called 'jnetpcap.dll' on windows platforms, or 'libjnetpcap.so' on -unix based systems. The library is required in order to utilize this -distribution. Most of the java classes included in this package will throw -'UnsatisfiedLinkException' without this library being loaded. - -An environment variable pointing to the directory where the native library -is located needs to be setup. This is either LD_LIBRARY_PATH on unix system, -or PATH variable on windows systems. The library resides within the jnetpcap -installation directory using zip packages and in /usr/lib directory using RPM -packages. - -Within the package zip file, jnetpcap-version-arch.zip that would be -'jnetpcap-version-arch' directory. - -== Dependencies == - - * On win32 systems - - - Install of WinPcap 3.1 or greater - - + This is the main program pacakge. It installs drivers and DLLs - (http://winpcap.org) - - - No requirement for cgywin or mingw for runtime support, only to build. - - - * To run supplied tests (optional) - - - jUnit any version - (http://www.junit.org/index.htm) - - * To build from source (compiled binaries provided in package bundle) - - - ANT build tool for both Java and C++ sources - (http://ant.apache.org) - - - Optinal ANT task for <CC> tag - (http://ant-contrib.sourceforge.net/cc.html) - - - Win32 MinGW with GCC (doesn't require 'cgywin' or any compatibility layers) - - - gcc on unix - -Both the jnetpcap-version.jar file and native jnetpcap library have to be -loaded in order to use this package. The jnetpcap-version.jar file needs -to be added to CLASSPATH, while the native library to either LD_LIBRARY_PATH -on unix system, or PATH variable on windows systems. - -Also if you want to run the included junit tests in the 'tests' sub directory, -you will need to included any version of 'jUnit' in the CLASSPATH. - -== Operating System Notes == - - * WinPcap OS support - - - "Starting from WinPcap 4.0beta3, support for the Windows 9x/ME family of - operating systems has been dropped. The last builds supporting such OSes - are WinPcap 3.1 and WinPcap 4.0beta2", source http://winpcap.org website. - - - Current version of jNetPcap has been tested with WinPcap versions 3.1, - 4.0, 4.0.1, 4.1.1 - - - jNetPcap will not work with versions prior to 3.1 including 3.0 itself. - - - WinPcap extension API is only available on windows based platforms. You - must use org.jnetpcap.winpcap.WinPcap.isSupport method to check if the - extension is available on this particular platform, even when code was - built under windows environment. The java classes are included even - on platforms that don't support WinPcap extensions, but those classes and - any methods inkoved will throw a PcapExtensionNotAvailableException. - - * On Linux/Debian - - - current release of jNetPcap only provides support for all linux based - operating platforms. The RPM package does not place any explicit - dependencies but does require libpcap RPM package to be installed. Any - version of 0.8 or above will do. - - - only org.jnetpcap package is supported on all Unix based platforms. - WinPcap extensions are disabled for non windows based platforms. (Use - WinPcap.isSupported() method to check for support.) - - * On Apple OS support - - - no immediate support planned, but will release support at some point. - - -== General Notes == - -This is a major feature release. Adds support for high level protocol analysis, -fixes several bugs, adds Http and Html header support and moves header package -to new protocol package. - -== Changes == - - * See CHANGE_LOG.txt in the doc/ directory - - diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/analysis.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/analysis.h deleted file mode 100644 index 5faa772a86367e9156eeb3c6ad83abdce286efa2..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/analysis.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Header for analysis_flow utility methods */ - -#ifndef _Included_analysis_h -#define _Included_analysis_h -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include <stdint.h> -#include <stdint.h> -#include "export.h" - -#include <jni.h> -#include "org_jnetpcap_packet_analysis_Analysis.h" -#include "org_jnetpcap_packet_analysis_AnalysisUtils.h" - -#define ROOT_TYPE org_jnetpcap_analysis_AnalysisUtils_ROOT_TYPE - -/* - * A header for every analysis object - */ -typedef struct analysis_t { - uint16_t type; - uint16_t len; // length so we can walk unknown analysis types -} analysis_t; - -/* - * Roots are embeded in packet_state_t and header_state_t objects - */ -typedef struct root_analysis_t { - uint16_t type; // == ROOT_TYPE - uint16_t len; // length so we can walk unknown analysis types - - analysis_t *child; -}; - - -typedef void (*native_analyzer_func_t)(packet_state_t *packet); -extern native_analyzer_func_t native_analyzers[]; - -typedef struct analyzer_t { - - native_analyzer_func_t analyzers[64][4]; - -} analyzer_t; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/export.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/export.h deleted file mode 100644 index 6f6f502fde805207cd228144e059ea11583339aa..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/export.h +++ /dev/null @@ -1,23 +0,0 @@ - -// Include this file after jni.h is included. It undefines MS compiler, def for -// gcc specific one. -// -#ifndef Include_export_h -#define Include_export_h - -// JNIEXPORT is designed for microsoft compilers, we're using gcc to compile -#ifdef JNIEXPORT -#undef JNIEXPORT -#endif -#undef JNIEXPORT -#define JNIEXPORT extern "C" - -#undef __declspec -#define __declspec(a) extern "C" - -#ifndef FALSE -#define TRUE 1 -#define FALSE !TRUE -#endif - -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_bpf.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_bpf.h deleted file mode 100644 index 90349f07d9945c01f3f06e9e0cf873441788cd10..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_bpf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_jnetpcap_bpf_h -#define _Included_jnetpcap_bpf_h -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include "export.h" - -#include <jni.h> - -extern jclass bpfProgramClass; - -extern jfieldID bpfProgramPhysicalFID; - -// Prototypes -bpf_program *getBpfProgram(JNIEnv *env, jobject obj); -void setBpfProgramPhysical(JNIEnv *env, jobject obj, jlong value); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_dumper.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_dumper.h deleted file mode 100644 index b46c047e3d2b49624d8dc98c61e23039988444f6..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_dumper.h +++ /dev/null @@ -1,27 +0,0 @@ -#include <jni.h> -/* Header for jnetpcap_dumper methods */ - -#ifndef _Included_org_jnetpcap_PcapDumper -#define _Included_org_jnetpcap_PcapDumper -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -extern jclass pcapDumperClass; - -extern jclass pcapDumperClass; - -extern jmethodID pcapDumperConstructorMID; - -extern jfieldID pcapDumperPhysicalFID; - -// Prototypes -void setPcapDumper(JNIEnv *env, jobject obj, pcap_dumper_t *dumper); -pcap_dumper_t *getPcapDumper(JNIEnv *env, jobject obj); -jobject newPcapDumper(JNIEnv *env, pcap_dumper_t *dumper); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_ids.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_ids.h deleted file mode 100644 index 89e25a7cae62c819a1f2c3dd9369873c2dfe4e79..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_ids.h +++ /dev/null @@ -1,89 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_jnetpcap_ids_h -#define _Included_jnetpcap_ids_h - -#include "export.h" - -#include <jni.h> - -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -extern jclass pcapClass; -extern jclass byteBufferClass; -extern jclass stringBuilderClass; -extern jclass pcapIfClass; -extern jclass pcapAddrClass; -extern jclass PcapSockAddrClass; -extern jclass pcapIntegerClass; -extern jclass JBufferHandlerClass; -extern jclass ByteBufferHandlerClass; -extern jclass JPacketHandlerClass; -extern jclass PcapPacketHandlerClass; - -extern jmethodID byteBufferIsDirectMID; -extern jmethodID bufferGetPositionMID; -extern jmethodID bufferGetLimitMID; -extern jmethodID bufferSetLimitMID; -extern jmethodID bufferSetPositionMID; -extern jmethodID bufferGetPositionMID; -extern jmethodID bufferGetCapacityMID; -extern jmethodID JBufferHandlerNextPacketMID; -extern jmethodID ByteBufferHandlerNextPacketMID; -extern jmethodID JPacketHandlerNextPacketMID; -extern jmethodID PcapPacketHandlerNextPacketMID; - - -extern jclass msIpAdapterIndexMapClass; - -extern jfieldID pcapPhysicalFID; -extern jfieldID pcapIntegerValueFID; - - -extern jfieldID PcapPktHdrSecondsFID; -extern jfieldID PcapPktHdrUSecondsFID; -extern jfieldID PcapPktHdrCaplenFID; -extern jfieldID PcapPktHdrLenFID; - -extern jfieldID PcapPktBufferFID; - -extern jfieldID pcapIfNextFID; -extern jfieldID pcapIfNameFID; -extern jfieldID pcapIfDescriptionFID; -extern jfieldID pcapIfAddressesFID; -extern jfieldID pcapIfFlagsFID; - -extern jfieldID pcapAddrNextFID; -extern jfieldID pcapAddrAddrFID; -extern jfieldID pcapAddrNetmaskFID; -extern jfieldID pcapAddrBroadaddrFID; -extern jfieldID pcapAddrDstaddrFID; - -extern jfieldID PcapSockAddrFamilyFID; -extern jfieldID PcapSockAddrDataFID; - -extern jmethodID pcapConstructorMID; -extern jmethodID pcapIfConstructorMID; -extern jmethodID PcapSockAddrConstructorMID; -extern jmethodID pcapAddrConstructorMID; -extern jmethodID msIpAdapterIndexMapMID; - -extern jmethodID appendMID; -extern jmethodID setLengthMID; - -extern jclass pcapStatClass; - -extern jfieldID pcapStatRecvFID; -extern jfieldID pcapStatDropFID; -extern jfieldID pcapStatIfDropFID; -extern jfieldID pcapStatCaptFID; -extern jfieldID pcapStatSentFID; -extern jfieldID pcapStatNetdropFID; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_utils.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_utils.h deleted file mode 100644 index 502d699f543f164962d4f301036d6a192d1fa690..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_utils.h +++ /dev/null @@ -1,179 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_org_jnetpcap_Pcap_utils -#define _Included_org_jnetpcap_Pcap_utils -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include "export.h" - -#include <jni.h> -#include "packet_jscanner.h" - -/* - * LIBPCAP versions that specify when each feature or function was first - * introduced. The format of the value is a collapsed version number. That is - * Actual libpcap version number 0.9.3 is first collapsed to 093 and then a - * 0x prefixed otherwise compiler complains that its a out-of-range octal value. - * So 0.9.3 becomes 0x093 and for our comparison purposes is sufficient to ensure - * correct libpcap version level. - */ -#define LIBPCAP_PCAP_SENDPACKET 0x093 -#define LIBPCAP_PCAP_INJECT 0x097 - - -#define ILLEGAL_STATE_EXCEPTION "java/lang/IllegalStateException" -#define ILLEGAL_ARGUMENT_EXCEPTION "java/lang/IllegalArgumentException" -#define CLASS_NOT_FOUND_EXCEPTION "java/lang/ClassNotFoundException" -#define NO_SUCH_METHOD_EXCEPTION "java/lang/NoSuchMethodException" -#define NO_SUCH_FIELD_EXCEPTION "java/lang/NoSuchFieldException" -#define INDEX_OUT_OF_BOUNDS_EXCEPTION "java/lang/IndexOutOfBoundsException" -#define NULL_PTR_EXCEPTION "java/lang/NullPointerException" -#define UNSUPPORTED_OPERATION_EXCEPTION "java/lang/UnsupportedOperationException" -#define PCAP_CLOSED_EXCEPTION "org/jnetpcap/PcapClosedException" -#define PCAP_EXTENSION_NOT_AVAILABLE_EXCEPTION "org/jnetpcap/PcapExtensionNotAvailableException" -#define OUT_OF_MEMORY_ERROR "java/lang/OutOfMemoryError" -#define BUFFER_OVERFLOW_EXCEPTION "java/nio/BufferOverflowException" -#define BUFFER_UNDERFLOW_EXCEPTION "java/nio/BufferUnderflowException" -#define READ_ONLY_BUFFER_EXCETPION "java/nio/ReadOnlyBufferException" -#define UNREGISTERED_SCANNER_EXCEPTION "org/jnetpcap/packet/UnregisteredHeaderException" -#define IO_EXCEPTION "java/io/IOException" - -extern jclass pcapClass; -extern jclass pcapHandlerClass; -extern jclass stringBuilderClass; - -extern jfieldID pcapPhysicalFID; -extern jfieldID pcapIfNextFID; - -extern jmethodID pcapConstructorMID; -extern jmethodID pcapHandlerMID; -extern jmethodID appendMID; -extern jmethodID setLengthMID; - -/* IDs for packet_jpacket.cpp file */ -extern jclass pcapPacketClass; -extern jmethodID pcapPacketConstructorMID; -extern jfieldID pcapStateFID; -extern jfieldID pcapHeaderFID; - - -// GENERIC utilities -const char *toCharArray(JNIEnv *env, jstring jstr, char *buf); -jstring toJavaString(JNIEnv *env, const char *buf); -jlong toLong(void *ptr); -void *toPtr(jlong lp); - -jclass getClass(JNIEnv *env, char *clazz); - - -/* - * PCAP class related utilities - */ - -/* - * Structure which holds information for a callback from dispatch and loop. - * Holds enough information so we can callback to Java handler and still return - * the original generic user data object. - */ -typedef struct pcap_user_data_t { - JNIEnv *env; - jobject obj; - jobject pcap; - jobject user; - jclass clazz; - jthrowable exception; // Any exceptions to rethrow - jmethodID mid; - pcap_t *p; - -} pcap_user_data_t; - -typedef struct cb_byte_buffer_t { - pcap_t *p; - jmethodID mid; - JNIEnv *env; // thread - jobject obj; // ByteBufferHandler - jobject pcap; - jthrowable exception; // Any exceptions to rethrow - jobject user; - jobject header; // PcapHeader -} cb_byte_buffer_t; - -typedef struct cb_jbuffer_t { - pcap_t *p; - jmethodID mid; - JNIEnv *env; // thread - jobject obj; // JBufferHandler - jobject pcap; - jthrowable exception; // Any exceptions to rethrow - jobject user; - jobject header; // PcapHeader - jobject buffer; // JBuffer -} cb_jbuffer_t; - -#define DEBUG_INJECT_PACKET_BREAK_LOOP 1 -typedef struct cb_packet_t { - pcap_t *p; - jmethodID mid; - JNIEnv *env; // thread - jobject obj; // JPacketHandler - jobject pcap; - jthrowable exception; // Any exceptions to rethrow - jobject user; - jobject header; // PcapHeader - jobject packet; // JPacket - jobject state; // JPacket.State - jint id; // Header ID - jobject scanner; // JScanner - int flags; // Flags used when inject packet is used - -} cb_jpacket_t; - - - -extern "C" -void pcap_callback(u_char*, const pcap_pkthdr*, const u_char*); -void cb_byte_buffer_dispatch(u_char*, const pcap_pkthdr*, const u_char*); -void cb_jbuffer_dispatch(u_char*, const pcap_pkthdr*, const u_char*); -void cb_pcap_packet_dispatch(u_char*, const pcap_pkthdr*, const u_char*); -void cb_pcap_dumper_handler(u_char*, const pcap_pkthdr*, const u_char*); - -pcap_t *getPcap(JNIEnv *env, jobject obj); -jmethodID getPcapHandlerMID(JNIEnv *env); -jfieldID getPcapPhysicalFID(JNIEnv *env, jclass clazz); -jlong getPhysical(JNIEnv *, jobject); -void setPhysical(JNIEnv *, jobject, jlong); -void setString(JNIEnv *env, jobject buffer, const char *); -jmethodID getPcapConstructorMID(JNIEnv *env, jclass clazz); -pcap_pkthdr *getPktHeader(JNIEnv *env, jobject jpkt_header, pcap_pkthdr *pkt_header); -void setPktHeader(JNIEnv *env, jobject jpkt_header, pcap_pkthdr *pkt_header); -void setPktBuffer(JNIEnv *env, jobject jpkt_buffer, jobject jbuffer); -jclass findClass(JNIEnv *env, const char *name); -jmethodID findMethod(JNIEnv *env, jobject obj, const char *name, const char *signature); - -jobject newPcapAddr(JNIEnv *env, jobject jlist, jmethodID MID_add, pcap_addr *addr); -jobject newPcapIf(JNIEnv *env, jobject jlist, jmethodID MID_add, pcap_if_t *ifp); -jobject newPcapSockAddr(JNIEnv *env, sockaddr *a); - -void setPcapStat(JNIEnv *env, jobject jstats, pcap_stat *stats); - -void throwException(JNIEnv *env, const char *exception, const char *message); -void throwVoidException(JNIEnv *env, const char *exception); - -/* - * Creates a new PcapPacket object, allocates a new memory block and copies - * header, state and packet data into the buffer. Then peers all the packet - * structures to point at the buffer. - */ -jobject transferToNewBuffer( - JNIEnv *env, - const pcap_pkthdr *pkt_header, - const u_char *pkt_data, - jobject state); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/mac_addr.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/mac_addr.h deleted file mode 100644 index 18fb8f4fbe2385c62e431d88672855f8ddb2f802..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/mac_addr.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef __MAC_ADDR_HDR__ -#define __MAC_ADDR_HDR__ - -extern "C" int mac_addr_dlpi ( char *dev, u_char *addr); -extern "C" int mac_addr_sys ( char *dev, u_char *addr); - -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jbuffer.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jbuffer.h deleted file mode 100644 index 30947f9ecf9719b47243bad819cdbfa53a2bd6c7..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jbuffer.h +++ /dev/null @@ -1,102 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_nio_jbuffer_h -#define _Included_nio_jbuffer_h -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include "export.h" - -#include <jni.h> - - -/**************************************************************** - * ************************************************************** - * - * JNI IDs - * - * ************************************************************** - ****************************************************************/ -extern jfieldID jbufferOrderFID; -extern jfieldID jbufferReadonlyFID; - -/**************************************************************** - * ************************************************************** - * - * ENDIAN MACROS - swap bytes for proper endianess - * - * ************************************************************** - ****************************************************************/ -#define ENDIAN16_ATOM_SWAP(data) (\ - ((((uint16_t)data) >> 8) & 0x00FF) | ((((uint16_t)data) << 8) & 0xFF00)) - -#define ENDIAN32_ATOM_SWAP(data) (\ - ( (((uint32_t)data) >> 24) & 0x000000FF) | ((((uint32_t)data) >> 8) & 0x0000FF00) |\ - ( (((uint32_t)data) << 8) & 0x00FF0000) | ((((uint32_t)data) << 24) & 0xFF000000)) - -#define ENDIAN64_ATOM_SWAP(data) (\ - ( (((uint64_t)data) >> 56) & 0x00000000000000FFLLU) | ((((uint64_t)data) >> 40) & 0x000000000000FF00LLU) |\ - ( (((uint64_t)data) >> 24) & 0x0000000000FF0000LLU) | ((((uint64_t)data) >> 8) & 0x00000000FF000000LLU) |\ - ( (((uint64_t)data) << 8) & 0x000000FF00000000LLU) | ((((uint64_t)data) << 24) & 0x0000FF0000000000LLU) |\ - ( (((uint64_t)data) << 40) & 0x00FF000000000000LLU) | ((((uint64_t)data) << 56) & 0xFF00000000000000LLU) \ - ) - -#define ENDIAN16_PTR_SWAP(data) \ - ((uint16_t)*(data + 0) << 8) | ((uint16_t)*(data + 1)) - -#define ENDIAN32_PTR_SWAP(data) \ - ((uint32_t)*(data + 0) << 24) | ((uint32_t)*(data + 3) ) |\ - ((uint32_t)*(data + 1) << 16) | ((uint32_t)*(data + 2) << 8) - -#define ENDIAN64_PTR_SWAP(data) \ - ((uint64_t)*(data + 0) << 56) | ((uint64_t)*(data + 7) ) |\ - ((uint64_t)*(data + 1) << 48) | ((uint64_t)*(data + 6) << 8) |\ - ((uint64_t)*(data + 2) << 40) | ((uint64_t)*(data + 5) << 16) |\ - ((uint64_t)*(data + 3) << 32) | ((uint64_t)*(data + 4) << 24) - -/* - * These macros test for requested BIG ENDIAN condition and appropriately define - * the correct byte swap macro for various CPU ENDIAN platforms. - * - * Usage - if cond is TRUE will ensure that BIG_ENDIAN is returned on both - * LITTLE AND BIG platforms. If cond is FALSE then LITTLE_ENDIAN will be - * returned. - */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define ENDIAN16_GET(big, data) ((big == JNI_TRUE)?ENDIAN16_ATOM_SWAP(data):data) -#define ENDIAN32_GET(big, data) ((big == JNI_TRUE)?ENDIAN32_ATOM_SWAP(data):data) -#define ENDIAN64_GET(big, data) ((big == JNI_TRUE)?ENDIAN64_ATOM_SWAP(data):data) - -#define BIG_ENDIAN16(data) ENDIAN16_ATOM_SWAP(data) -#define BIG_ENDIAN32(data) ENDIAN32_ATOM_SWAP(data) -#define BIG_ENDIAN64(data) ENDIAN64_ATOM_SWAP(data) - -#define LITTLE_ENDIAN16(data) data -#define LITTLE_ENDIAN32(data) data -#define LITTLE_ENDIAN64(data) data - -#elif __BYTE_ORDER == __BIG_ENDIAN -#define ENDIAN16_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN16_ATOM_SWAP(data)) -#define ENDIAN32_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN32_ATOM_SWAP(data)) -#define ENDIAN64_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN64_ATOM_SWAP(data)) - -#define BIG_ENDIAN16(data) data -#define BIG_ENDIAN32(data) data -#define BIG_ENDIAN64(data) data - -#define LITTLE_ENDIAN16(data) ENDIAN16_ATOM_SWAP(data) -#define LITTLE_ENDIAN32(data) ENDIAN32_ATOM_SWAP(data) -#define LITTLE_ENDIAN64(data) ENDIAN64_ATOM_SWAP(data) - -#else -# error "ENDIAN MACROS NOT DEFINED :(" -#endif - - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jmemory.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jmemory.h deleted file mode 100644 index 984942712171641e154b0ad2029f68004c9f4357..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jmemory.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_nio_jmemory_h -#define _Included_nio_jmemory_h -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include <stdint.h> -#include "export.h" - -#include <jni.h> - -typedef struct memory_usage_t { - uint64_t total_allocated; - uint64_t total_deallocated; - - uint64_t total_allocate_calls; - uint64_t total_deallocate_calls; - - uint64_t seg_0_255_bytes; - uint64_t seg_256_or_above_bytes; - - uint64_t max_direct; - uint64_t soft_direct; - uint64_t reserved_direct; - uint64_t available_direct; - -} memory_usage_t; - -typedef struct jni_global_ref_t { - int count; // Number of references held - jobject reference[]; // array of references held -} jni_global_ref_t; - - -extern jclass jmemoryClass; -extern jclass jmemoryPoolClass; -extern jclass jmemoryReferenceClass; - -extern jmethodID jmemoryToDebugStringMID; -extern jmethodID jmemoryMaxDirectMemoryBreachMID; -extern jmethodID jmemorySoftDirectMemoryBreachMID; -extern jmethodID jmemoryCleanupMID; -extern jmethodID jmemoryPeer0MID; -extern jmethodID jmemoryAllocateMID; -extern jmethodID jmemorySetSize0MID; - -extern jfieldID jmemoryPhysicalFID; -extern jfieldID jmemorySizeFID; -extern jfieldID jmemoryOwnerFID; -extern jfieldID jmemoryKeeperFID; -extern jfieldID jmemoryRefFID; -extern jfieldID jmemoryRefAddressFID; -extern jobject jmemoryPOINTER_CONST; // JMemory.POINTER constant reference - -extern jmethodID jmemoryPoolAllocateExclusiveMID; -extern jmethodID jmemoryPoolDefaultMemoryPoolMID; - -extern jobject defaultMemoryPool; - -extern memory_usage_t memory_usage; - -// Prototypes -void init_jmemory(JNIEnv *env); -void *getJMemoryPhysical(JNIEnv *env, jobject obj); -void setJMemoryPhysical(JNIEnv *env, jobject obj, jlong value); -void jmemoryCleanup(JNIEnv *env, jobject obj); - -jint jmemoryPeer(JNIEnv *env, jobject obj, const void *ptr, size_t length, jobject owner); - -char *jmemoryPoolAllocate(JNIEnv *env, size_t size, jobject *obj_ref); -void jmemoryResize(JNIEnv *env, jobject obj, size_t size); -char *jmemoryAllocate(JNIEnv *env, size_t size, jobject obj); -char *jmemoryToDebugString(JNIEnv *env, jobject obj, char *buf); - -#ifdef ENABLE_ASSERT -#define TOKEN_TO_STRING(TOK) # TOK -#define ASSERT(cond) if (!(cond)) { fprintf(stderr, "ASSERT FAILED: %s:%d \"%s\"\n", __FILE__, __LINE__, TOKEN_TO_STRING(cond)); fflush(stderr); exit(1);} -#else -#define ASSERT(cond) -#endif - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_flow.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_flow.h deleted file mode 100644 index e8c522572967c431e4a0af1a0d7c177fe99cd300..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_flow.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Header for analysis_flow utility methods */ - -#ifndef _Included_packet_flow_h -#define _Included_packet_flow_h -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include <stdint.h> -#include <stdint.h> -#include "export.h" - -#include <jni.h> -#include "org_jnetpcap_packet_JFlowKey.h" - -#define FLOW_KEY_PAIR_COUNT org_jnetpcap_packet_JFlowKey_FLOW_KEY_PAIR_COUNT - -struct scan_t; // Forward reference - -/* - * Flow key is made up of several key pairs. In order for a flow key to be - * equal to another flow key, all the pair values must match. The flow pairs - * can be bi-directional. If uni directional flag is not set, it means that the - * second array of pairs is also in use and the values there are exact pair - * reversal of the first array of pairs. - */ -typedef struct flow_key_t { - uint64_t header_map; // bitmap of header IDs part of this flowkey - uint32_t hash; // Hashcode -#define FLOW_KEY_FLAG_REVERSABLE_PAIRS org_jnetpcap_packet_JFlowKey_FLAG_REVERSABLE - uint16_t flags; // flags - uint16_t pair_count; // number of pairs upto FLOW_KEY_PAIR_COUNT - uint8_t id[FLOW_KEY_PAIR_COUNT]; - uint32_t forward_pair[FLOW_KEY_PAIR_COUNT][2]; - uint32_t reverse_pair[FLOW_KEY_PAIR_COUNT][2]; -} flow_key_t; - -/** - * Based on the first part of the key, it sets the second part of the key - * using reversed direction values for each pair. flow_key_t->pair[2] is a - * multi-dimensional array that has 2 sets of key pairs. [0] for forward keys - * and [1] for reverse direction keys. - */ -void flow_key_init(flow_key_t *key, int id); - -void process_flow_key(scan_t *scan); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_jscanner.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_jscanner.h deleted file mode 100644 index 3f4c548c9c4ebfb939dd431fb07399b7c12e7a01..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_jscanner.h +++ /dev/null @@ -1,374 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_jnetpcap_packet_jscanner_h -#define _Included_jnetpcap_packet_jscanner_h -#ifdef __cplusplus - -#include <stdint.h> - -#include "export.h" -#include "org_jnetpcap_packet_JScanner.h" -#include "org_jnetpcap_packet_JRegistry.h" -#include "org_jnetpcap_packet_JPacket_State.h" -#include "org_jnetpcap_packet_JHeader_State.h" -#include "org_jnetpcap_protocol_JProtocol.h" -#include "packet_flow.h" -#include "util_debug.h" - -/****************************** - ****************************** - */ -#define JREGISTRY org_jnetpcap_packet_JRegistry_ -#define MAX_ID_COUNT org_jnetpcap_packet_JRegistry_MAX_ID_COUNT -#define MAX_MAP_COUNT (MAX_ID_COUNT / 32) -#define FLAG_OVERRIDE_LENGTH org_jnetpcap_packet_JRegistry_FLAG_OVERRIDE_LENGTH -#define FLAG_OVERRIDE_BINDING org_jnetpcap_packet_JRegistry_FLAG_OVERRIDE_BINDING -#define FLAG_HEURISTIC_BINDING org_jnetpcap_packet_JRegistry_FLAG_HEURISTIC_BINDING -#define FLAG_HEURISTIC_PRE_BINDING org_jnetpcap_packet_JRegistry_FLAG_HEURISTIC_PRE_BINDING - -#define JSCANNER org_jnetpcap_packet_JScanner_ -#define MAX_ENTRY_COUNT org_jnetpcap_packet_JScanner_MAX_ENTRY_COUNT - -#define JPROTOCOL org_jnetpcap_protocol_JProtocol_ -#define PAYLOAD_ID org_jnetpcap_protocol_JProtocol_PAYLOAD_ID - -#define JPACKET org_jnetpcap_packet_JPacket_State_ -#define PACKET_FLAG_TRUNCATED org_jnetpcap_packet_JPacket_State_FLAG_TRUNCATED - -#define JHEADER org_jnetpcap_packet_JHeader_State_ -#define HEADER_FLAG_PREFIX_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_PREFIX_TRUNCATED -#define HEADER_FLAG_HEADER_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_TRUNCATED -#define HEADER_FLAG_PAYLOAD_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_PAYLOAD_TRUNCATED -#define HEADER_FLAG_GAP_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_GAP_TRUNCATED -#define HEADER_FLAG_POSTFIX_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_POSTFIX_TRUNCATED -#define HEADER_FLAG_HEURISTIC_BINDING org_jnetpcap_packet_JHeader_State_FLAG_HEURISTIC_BINDING -#define HEADER_FLAG_CRC_PERFORMED org_jnetpcap_packet_JHeader_State_FLAG_CRC_PERFORMED -#define HEADER_FLAG_CRC_INVALID org_jnetpcap_packet_JHeader_State_FLAG_CRC_INVALID -#define HEADER_FLAG_FRAGMENTED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_FRAGMENTED -#define HEADER_FLAG_SUBHEADERS_DISSECTED org_jnetpcap_packet_JHeader_State_FLAG_SUBHEADERS_DISSECTED -#define HEADER_FLAG_FIELDS_DISSECTED org_jnetpcap_packet_JHeader_State_FLAG_FIELDS_DISSECTED -#define HEADER_FLAG_IGNORE_BOUNDS org_jnetpcap_packet_JHeader_State_FLAG_IGNORE_BOUNDS -#define HEADER_FLAG_HEADER_FRAGMENTED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_FRAGMENTED - -/* Cumulative flags. Flags which are passed to subsequent encapsulated headers */ -#define CUMULATIVE_FLAG_HEADER_FRAGMENTED \ - HEADER_FLAG_HEADER_FRAGMENTED | \ - HEADER_FLAG_IGNORE_BOUNDS - -#define CUMULATIVE_FLAG_MASK CUMULATIVE_FLAG_HEADER_FRAGMENTED - -#define INVALID PAYLOAD_ID - -#define ACCESS(offset) if (is_accessible(scan, offset) == FALSE) return; - - -/****************************** - ****************************** - */ -extern jclass jheaderScannerClass; - -extern jmethodID scanHeaderMID; - - -/****************************** - ****************************** - */ - -// Forward references -struct scanner_t; -struct packet_state_t; -struct header_t; -struct scan_t; -struct dissect_t; - -/* - * Array of function pointers. These functions perform a per protocol scan - * and return the next header. They also return the length of the header in - * the supplied int pointer. - */ -void init_native_protocols(); -typedef void (*native_protocol_func_t)(scan_t *scan); -typedef int (*native_validate_func_t)(scan_t *scan); -typedef void (*native_dissect_func_t)(dissect_t *dissect); -typedef void (*native_debug_func_t)(void *hdr); - -extern native_protocol_func_t native_protocols[]; -extern native_validate_func_t native_heuristics[MAX_ID_COUNT][MAX_ID_COUNT]; -extern native_debug_func_t native_debug[]; -extern const char *native_protocol_names[]; - -void callJavaHeaderScanner(scan_t *scan); -void record_header(scan_t *scan); -void adjustForTruncatedPacket(scan_t *scan); - - -extern char str_buf[1024]; - - - -/** - * Experimental structures to be used in header dissection, that is complete header - * structural breakdown. dissected_t records individual field information within - * the header. Also record information about sub-headers which are within the - * main header. Structure within the header is bitbased not byte based since - * any field within a header might occur at any particular bit offset into the - * header. - * - * Dissectors only record information about non-static fields headers. Static - * fields don't need description since they are always at the same offset and - * length. - */ - -//#define DISSECTOR_TYPE_FIELD 1 -//#define DISSECTOR_TYPE_HEADER 2 -// -#define DISSECTOR_FLAG_FIELDS 0x0001 -#define DISSECTOR_FLAG_HEADERS 0x0002 -// -//typedef union dfield_t { -// uint8_t dt_id; -// uint16_t dt_flags; -// uint16_t dt_offset; // in bits -// uint16_t dt_length; // in bits -//} dfield_t; - -/* - * Structure maintains state for the duration of a header dissection. - */ -typedef struct dissect_t { - JNIEnv *env; - - packet_state_t *d_packet; - header_t *d_header; - scanner_t *d_scanner; - - uint8_t *d_buf; - int d_buf_len; - int d_offset; -} dissect_t; - -#define SCAN_STACK_SIZE 8 -typedef struct scan_stack_ { - - int next_id; - int offset; - -} scan_stack_t; - - -/* - * Structure maintains state for the duration of the scan in progress - * - * The structure keeps track of the packet buffer and 3 types of lengths. - * 1) mem_len is the actual total length of the buffer in memory - * 2) wire_len is the length of the original packet when it was captured before - * it was truncated - * 3) buf_len is the runtime/effectual length of the buffer used by the scanner - * methods. This length may shrink if a protocol uses postfix for padding - * or some kind of trailer. The buf_len field is reduced by the scanner - * for that header by the appropriate amount so that next header doesn't - * consider the previous header's postfix as valid part of the packet it - * needs to decode. - */ -typedef struct scan_t { - JNIEnv *env; - jobject jscanner; - jobject jpacket; - jobject jscan; // This structure as a java object - scanner_t *scanner; - - packet_state_t *packet; - header_t *header; - char *buf; - int buf_len; - int wire_len; - int mem_len; - int offset; - int length; - int id; - int next_id; - int flags; - int sctp_offset; - - int stack_index; // # of entries on the stack/Last index - scan_stack_t stack[SCAN_STACK_SIZE]; - - int hdr_prefix; - int hdr_gap; - int hdr_payload; - int hdr_postfix; - int hdr_flags; - int is_recorded; - - int hdr_count; - int hdr_index; - - int dport; // Transport destination port - int sport; // Transport source port -} scan_t; - -#define SCAN_IS_FRAGMENT(scan) (scan->flags & HEADER_FLAG_FRAGMENTED) -#define SCAN_IGNORE_BOUNDS(scan) (scan->flags & HEADER_FLAG_IGNORE_BOUNDS) -#define SCAN_IS_PREFIX_TRUNCATED(scan) (scan->flags & HEADER_FLAG_PREFIX_TRUNCATED) -#define SCAN_IS_HEADER_TRUNCATED(scan) (scan->flags & HEADER_FLAG_HEADER_TRUNCATED) -#define SCAN_IS_GAP_TRUNCATED(scan) (scan->flags & HEADER_FLAG_GAP_TRUNCATED) -#define SCAN_IS_PAYLOAD_TRUNCATED(scan) (scan->flags & HEADER_FLAG_PAYLOAD_TRUNCATED) -#define SCAN_IS_POSTFIX_TRUNCATED(scan) (scan->flags & HEADER_FLAG_POSTFIX_TRUNCATED) - -/* - * Each header "record" may have the following physical structure: - * +-------------------------------------------+ - * | prefix | header | gap | payload | postfix | - * +-------------------------------------------+ - * - * Offset points at the start of the header, not the prefix. In order to calculate - * the exact start of the record, you must subtract the prefix length from the - * offset as follows: - * - * prefix_offset = hdr_offset - hdr_prefix; - * - * To calculate the offset of the start of the payload: - * - * payload_offset = hdr_offset + hdr_length + hdr_gap; - * - * To calculate the offset of the start of the postfix - * - * postfix_offset = hdr_offset + hdr_length + hdr_gap + hdr_payload; - * - * To calculate the end of the header record: - * - * end_offset = hdr_offset + hdr_length + hdr_gap + hdr_payload + hdr_postifx; - * - * Note that most of the time the fields hdr_prefix, hdr_gap and hdr_postfix - * will be zero, but this structure does allow a more complex headers in a - * frame to exist. Some protocols have prefixes such Ethernet2 frames on BSD - * systems and a trailer (represented as a postfix) which may contains padding, - * CRC counters etc. Rtp header for example utilizes padding after its payload - * and so do many other protocols. As of right now, the author is not aware of - * any protocols utilizing an inter header-to-payload gap, which is another way - * of saying a header-padding. None the less, the structure for gap is - * represented here for future compatibility. - */ -typedef struct header_t { - uint8_t hdr_id; // header ID - - uint8_t hdr_prefix; // length of the prefix (preamble) before the header - uint8_t hdr_gap; // length of the gap between header and payload - uint16_t hdr_flags; // flags for this header - uint16_t hdr_postfix; // length of the postfix (trailer) after the payload - uint32_t hdr_offset; // offset into the packet_t->data buffer - uint32_t hdr_length; // length of the header in packet_t->data buffer - uint32_t hdr_payload; // length of the payload - - uint8_t hdr_subcount; // number of sub-headers - header_t *hdr_subheader; // Index of the first subheader in packet_t - - jobject hdr_analysis; // Java JAnalysis based object if not null -} header_t; - -#define ID2MAP(id) (id >> 5) -#define MASK2MAP(m) (map >> 32) -#define ID2MASK(id) ((uint64_t)((uint64_t)(id & ~0x1F) << 27) | (1ULL << (id & 0x1F))) - -#define PACKET_STATE_ADD_HEADER(pkt, id) pkt->pkt_header_map[ID2MAP(id)] |= ID2MASK(id) -#define PACKET_STATE_HAS_HEADER(pkt, id) (pkt->pkt_header_map[ID2MAP(id)] & ID2MAP(id) != 0) - -typedef struct packet_state_t { - flow_key_t pkt_flow_key; // Flow key calculated for this packet, must be first - uint8_t pkt_flags; // flags for this packet - jobject pkt_analysis; // Java JAnalysis based object if not null - uint64_t pkt_frame_num; // Packet's frame number assigned by scanner - uint64_t pkt_header_map[MAX_MAP_COUNT]; // bit map of presence of headers - - uint32_t pkt_wirelen; // Original packet size - uint32_t pkt_caplen; // Original packet size - - int8_t pkt_header_count; // total number of main headers found - header_t pkt_headers[]; // One per header + 1 more for payload - - int8_t pkt_subheader_count; // total number of sub headers found - header_t pkt_subheaders[]; // One per header + 1 more for payload -} packet_state_t; - -typedef struct scanner_t { - int32_t sc_len; // bytes allocated for sc_packets buffer - - uint64_t sc_cur_frame_num; // Current frame number - - uint32_t sc_flags[MAX_ID_COUNT]; // protocol flags -// uint64_t sc_native_header_scanner_map; // java binding map - - jobject sc_jscan; // Java JScan structure for interacting with java space - - jobject sc_java_header_scanners[MAX_ID_COUNT]; // java scanners - - /* - * A per scanner instance table that can be populated with native and - * java scanners at the same time. - */ - native_protocol_func_t sc_scan_table[MAX_ID_COUNT]; - native_validate_func_t sc_heuristics_table[MAX_ID_COUNT][MAX_ID_COUNT]; // Huristic - - - /* Packet and main header ring-buffer */ - int sc_offset; // offset into sc_packets for next packet - packet_state_t *sc_packet; // ptr into scanner_t where the first packet begins - - /* Sub-header ring buffer */ - int sc_sublen; // Length of the sub-header ring-buffer - int sc_subindex; // sub-header offset - header_t *sc_subheader; // ptr where first sub-headers begin - - int sc_heap_len; - int sc_heap_offset; - jobject sc_heap_owner; - uint8_t *sc_heap; - -} scanner_t; - - - -/****************************** - ****************************** - */ - -int scan(JNIEnv *env, jobject obj, jobject jpacket, scanner_t *scanner, packet_state_t *packet, - int first_id, char *buf, int buf_length, uint32_t wirelen); - -int scanJPacket(JNIEnv *env, jobject obj, jobject jpacket, jobject jstate, scanner_t *scanner, int first_id, char *buf, - int buf_length, uint32_t wirelen); - -int scanJavaBinding(scan_t *scan); - -uint64_t toUlong64(JNIEnv *env, jintArray ja); - -jint findHeaderById(packet_state_t *packet, jint id, jint instance); - -const char *id2str(int id); - -int validate(int id, scan_t *); -int validate_next(int id, scan_t *); - -/**** - * Temporarily backed out of C++ Debug class and G++ compiler - * -extern Debug scanner_logger; -extern Debug protocol_logger; -*****/ -/** - * Checks and calculates if there is enough data in the - * buffer to access entire header, if not the header's - * TRUNCATE flag is set and header's length set to wire_len. - * - * scan->length is the input and output with theoretical header length. - * scan->wire_len is the input with actual buffer length. - * scan->hdr_flags output with TRUNCATED flag set. - */ -int truncate_header(scan_t *scan); - -int is_accessible(scan_t *scan, int offset); - - - -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_protocol.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_protocol.h deleted file mode 100644 index b1925edb62269b275d0040bfed4b6d006c3d1409..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_protocol.h +++ /dev/null @@ -1,455 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_jnetpcap_packet_protocol_h -#define _Included_jnetpcap_packet_protocol_h -#ifdef __cplusplus - -#include <stdint.h> - -#include "export.h" -#include <jni.h> -#include "nio_jbuffer.h" -#include "org_jnetpcap_protocol_JProtocol.h" -#include "org_jnetpcap_packet_JScan.h" - -#define END_OF_HEADERS org_jnetpcap_packet_JScan_END_OF_HEADERS_ID -#define ETHERNET_ID org_jnetpcap_protocol_JProtocol_ETHERNET_ID -#define TCP_ID org_jnetpcap_protocol_JProtocol_TCP_ID -#define UDP_ID org_jnetpcap_protocol_JProtocol_UDP_ID -#define IEEE_802DOT3_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT3_ID -#define IEEE_802DOT2_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT2_ID -#define IEEE_SNAP_ID org_jnetpcap_protocol_JProtocol_IEEE_SNAP_ID -#define IP4_ID org_jnetpcap_protocol_JProtocol_IP4_ID -#define IP6_ID org_jnetpcap_protocol_JProtocol_IP6_ID -#define IEEE_802DOT1Q_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT1Q_ID -#define L2TP_ID org_jnetpcap_protocol_JProtocol_L2TP_ID -#define PPP_ID org_jnetpcap_protocol_JProtocol_PPP_ID -#define ICMP_ID org_jnetpcap_protocol_JProtocol_ICMP_ID -#define HTTP_ID org_jnetpcap_protocol_JProtocol_HTTP_ID -#define HTML_ID org_jnetpcap_protocol_JProtocol_HTML_ID -#define ARP_ID org_jnetpcap_protocol_JProtocol_ARP_ID -#define SIP_ID org_jnetpcap_protocol_JProtocol_SIP_ID -#define SDP_ID org_jnetpcap_protocol_JProtocol_SDP_ID -#define RTP_ID org_jnetpcap_protocol_JProtocol_RTP_ID -#define SLL_ID org_jnetpcap_protocol_JProtocol_SLL_ID - -#define SCTP_ID org_jnetpcap_protocol_JProtocol_SCTP_ID -#define SCTP_CHUNK_ID org_jnetpcap_protocol_JProtocol_SCTP_DATA_ID -#define SCTP_DATA_ID org_jnetpcap_protocol_JProtocol_SCTP_DATA_ID -#define SCTP_INIT_ID org_jnetpcap_protocol_JProtocol_SCTP_INIT_ID -#define SCTP_INIT_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_INIT_ACK_ID -#define SCTP_SACK_ID org_jnetpcap_protocol_JProtocol_SCTP_SACK_ID -#define SCTP_HEARTBEAT_ID org_jnetpcap_protocol_JProtocol_SCTP_HEARTBEAT_ID -#define SCTP_HEARTBEAT_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_HEARTBEAT_ACK_ID -#define SCTP_ABORT_ID org_jnetpcap_protocol_JProtocol_SCTP_ABORT_ID -#define SCTP_SHUTDOWN_ID org_jnetpcap_protocol_JProtocol_SCTP_SHUTDOWN_ID -#define SCTP_SHUTDOWN_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_SHUTDOWN_ACK_ID -#define SCTP_ERROR_ID org_jnetpcap_protocol_JProtocol_SCTP_ERROR_ID -#define SCTP_COOKIE_ID org_jnetpcap_protocol_JProtocol_SCTP_COOKIE_ID -#define SCTP_COOKIE_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_COOKIE_ACK_ID -#define SCTP_ECNE_ID org_jnetpcap_protocol_JProtocol_SCTP_ECNE_ID -#define SCTP_CWR_ID org_jnetpcap_protocol_JProtocol_SCTP_CWR_ID -#define SCTP_SHUTDOWN_COMPLETE_ID org_jnetpcap_protocol_JProtocol_SCTP_SHUTDOWN_COMPLETE_ID - -#define RTCP_ID org_jnetpcap_protocol_JProtocol_RTCP_SENDER_REPORT_ID -#define RTCP_CHUNK_ID org_jnetpcap_protocol_JProtocol_RTCP_SENDER_REPORT_ID -#define RTCP_SENDER_REPORT_ID org_jnetpcap_protocol_JProtocol_RTCP_SENDER_REPORT_ID -#define RTCP_RECEIVER_REPORT_ID org_jnetpcap_protocol_JProtocol_RTCP_RECEIVER_REPORT_ID -#define RTCP_SDES_ID org_jnetpcap_protocol_JProtocol_RTCP_SDES_ID -#define RTCP_BYE_ID org_jnetpcap_protocol_JProtocol_RTCP_BYE_ID -#define RTCP_APP_ID org_jnetpcap_protocol_JProtocol_RTCP_APP_ID - -#define NULL_HEADER_ID org_jnetpcap_protocol_JProtocol_NULL_HEADER_ID - -#define WEB_IMAGE_ID org_jnetpcap_protocol_JProtocol_WEB_IMAGE_ID - -#define NETBIOS_ID END_OF_HEADERS - -typedef struct null_header_ { - - uint32_t type; // PF_ protocol family type - -} null_header_t; - -#define SCTP_DATA_FLAG_LAST_SEG 0x01 -#define SCTP_DATA_FLAG_FIRST_SEG 0x02 -#define SCTP_DATA_FLAG_ORDERED 0x04 -#define SCTP_DATA_FLAG_DELAY 0x08 -/** - * SCTP Chunk - */ -typedef struct sctp_chunk_ { - - uint8_t type; - uint8_t flags; - uint16_t length; - -} sctp_chunk_t; - -#define SCTP_LEN 12 -/** - * Stream Control Transport Protocol - */ -typedef struct sctp_ { - - uint16_t sport; - uint16_t dport; - uint32_t tag; - uint32_t crc32; - -} sctp_t; - -/* - * Linux Socket Cooked Capture header - a pseudo header as DL substitute - */ -#define SLL_LEN 16 // total header length -#define SLL_ADDR_LEN 8 // length of address field - -typedef struct sll_t { - uint16_t sll_pkttype; // packet type - uint16_t sll_hatype; // link-layer address type - uint16_t sll_halen; // link-layer address length - uint8_t sll_addr[SLL_ADDR_LEN]; // link-layer address - uint16_t sll_protocol; // protocol -} sll_t; - -/* - * Realtime Transfer Protocol and extension - */ -#define RTP_LENGTH 12 -#define RTPX_LENGTH 4 - -typedef struct rtpx_t { - - uint16_t rtpx_profile; // Profile specific - uint16_t rtpx_len; // Length of extension header - -} rtpx_t; - -/* - * RTP and RTCP family of protocols - * See RFC3550 - */ - -/** - * RTCP SSRC Sender Report (section 3 of the header) - */ -typedef struct rtcp_ssrc_ { - uint32_t ssrc_id; // SSRC identifier of the source - uint32_t ssrc_fract_loss:8; // Fraction of RTP data lost - uint32_t ssrc_total_loss:24; // Cumulative of RTP data lost - uint32_t ssrc_high_seq; // Extended highest seq received - uint32_t ssrc_jitter; // Interarrival Jitter - uint32_t ssrc_lsr; // Last SR timestamp - uint32_t ssrc_dlsr; // Delay since last SR - -} rtcp_ssrc_t; - -/* - * RTCP Sender Report (SR) - * (Section 2 of the header) - */ -typedef struct rtcp_sr_ { - - uint64_t sr_ntp; // NTP timestamp - uint32_t sr_pkt_count; // Sender's packet count - uint32_t sr_octet_count; // Sender's octet count - -} rtcp_sr_t; - -/* - * RTCP - main static header present in every RTCP packet. - * RTCP packets are always on odd port number, while RTP on even (see RFC3550) - * (Section 1 of the header) - */ -typedef struct rtcp_ { - -# if __BYTE_ORDER == __LITTLE_ENDIAN - uint8_t rtcp_rc:5; // Reception Report Count (RC) - uint8_t rtcp_pad:1; - uint8_t rtcp_ver:2; // Must be 2 - -# elif __BYTE_ORDER == __BIG_ENDIAN - uint8_t rtcp_ver:2; // Must be 2 - uint8_t rtcp_pad:1; - uint8_t rtcp_rc:5; // Reception Report Count (RC) - -# else -# error "Adjust your <bits/endian.h> defines" -# endif - - uint8_t rtcp_type; // SR==200, RR==201 - uint16_t rtcp_len; // 32-bit word count (including header -1) - uint32_t rtcp_ssrc; // Synchronization source ID - -} rtcp_t; - - -typedef struct rtp_t { - -# if __BYTE_ORDER == __LITTLE_ENDIAN - uint8_t rtp_cc:4; - uint8_t rtp_ext:1; - uint8_t rtp_pad:1; - uint8_t rtp_ver:2; - - uint8_t rtp_type:7; - uint8_t rtp_marker:1; - -# elif __BYTE_ORDER == __BIG_ENDIAN - uint8_t rtp_ver:2; - uint8_t rtp_pad:1; - uint8_t rtp_ext:1; - uint8_t rtp_cc:4; - - uint8_t rtp_marker:1; - uint8_t rtp_type:7; - -# else -# error "Adjust your <bits/endian.h> defines" -# endif - - uint16_t rtp_seq; - uint32_t rtp_ts; - uint32_t rtp_ssrc; - -} rtp_t; - - -/* - * Address Resulution Protocol - */ -typedef struct arp_t { - uint16_t htype; - uint16_t ptype; - uint8_t hlen; - uint8_t plen; -} arp_t; - - -/* - * Internet Control Message Protocol - */ -typedef struct icmp_t { - uint8_t type; - uint8_t code; - uint16_t crc; - -} icmp_t; - -/* - * Point to Point Protocol - */ -typedef struct ppp_t { - uint8_t addr; - uint8_t control; - uint16_t protocol; -} ppt_t; - -/* - * Layer 2 tunneling protocol - */ -typedef struct l2tp_t { -# if __BYTE_ORDER == __LITTLE_ENDIAN - uint16_t p :1; - uint16_t o :1; - uint16_t res2 :1; - uint16_t s :1; - uint16_t res1 :2; - uint16_t l :1; - uint16_t t :1; - uint16_t version :4; - uint16_t res3 :4; -# elif __BYTE_ORDER == __BIG_ENDIAN - uint16_t t:1; - uint16_t l:1; - uint16_t res1:2; - uint16_t s:1; - uint16_t res2:1; - uint16_t o:1; - uint16_t p:1; - uint16_t res3:4; - uint16_t version:4; -# else -# error "Adjust your <bits/endian.h> defines" -# endif - -} l2tp_t; - -/* - * IEEE 802.1q VLAN header - */ -typedef struct vlan_t { - uint16_t priority :3; - uint16_t cfi :1; - uint16_t id :12; - - uint16_t type; -} vlan_t; - -/** - * SNAP IEEE - */ -typedef union snap_t { - uint32_t oui :24; - struct { - uint16_t reserved[1]; - uint16_t pid; - }; -} snap_t; - -/** - * LLC IEEE802.2 - */ -typedef struct llc_t { - uint8_t dsap; - uint8_t ssap; - uint8_t control; - union { - uint8_t info; - } ucontrol; -} llc_t; - -/** - * UDP structure - */ -typedef struct udp_t { - uint16_t sport; - uint16_t dport; - uint16_t length; - uint16_t checksum; - -} udp_t; - -/** - * TCP structure - */ -typedef struct tcp_t { - uint16_t sport; - uint16_t dport; - uint32_t seq; - uint32_t ack_seq; -# if __BYTE_ORDER == __LITTLE_ENDIAN - uint16_t res1 :4; - uint16_t doff :4; - uint16_t fin :1; - uint16_t syn :1; - uint16_t rst :1; - uint16_t psh :1; - uint16_t ack :1; - uint16_t urg :1; - uint16_t res2 :2; -# elif __BYTE_ORDER == __BIG_ENDIAN - uint16_t doff:4; - uint16_t res1:4; - uint16_t res2:2; - uint16_t urg:1; - uint16_t ack:1; - uint16_t psh:1; - uint16_t rst:1; - uint16_t syn:1; - uint16_t fin:1; -# else -# error "Adjust your <bits/endian.h> defines" -# endif - uint16_t window; - uint16_t check; - uint16_t urg_ptr; -} tcp_t; - -#define PROTO_ETHERNET_HEADER_LENGTH 14 -#define PROTO_802_3_MAX_LEN 0x600 - -/** - * Ethernet 2 structure - */ -typedef struct ethernet_t { - uint8_t dhost[6]; /* destination eth addr */ - uint8_t shost[6]; /* destination eth addr */ - uint16_t type; /* destination eth addr */ -} ethernet_t; - -/** - * IP v6 structure - * RFC 1883 - */ -typedef struct ip6 { - union { - struct ip6_hdrctl { - uint32_t ip6_un1_flow; /* 20 bits of flow-ID */ - uint16_t ip6_un1_plen; /* payload length */ - uint8_t ip6_un1_nxt; /* next header */ - uint8_t ip6_un1_hlim; /* hop limit */ - } ip6_un1; - uint8_t ip6_un2_vfc; /* 4 bits version, 4 bits class */ - } ip6_ctlun; - uint8_t ip6_src[16]; /* source address */ - uint8_t ip6_dst[16]; /* destination address */ -} ip6_t; - -#define ip6_vfc ip6_ctlun.ip6_un2_vfc -#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow -#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen -#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt -#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim -#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim - -#define IP6_HEADER_LENGTH 40 - -#define IP6_OPT_HOP_BY_HOP 0 -#define IP6_OPT_DEST_OPTIONS 60 -#define IP6_OPT_ROUTING_HEADER 43 -#define IP6_OPT_FRAGMENT_HEADER 44 -#define IP6_OPT_AUTH_HEADER 51 -#define IP6_OPT_SECURITY_HEADER 50 -#define IP6_OPT_MOBILITY_HEADER 135 -#define IP6_OPT_NO_NEXT_HEADER 59 - -/** - * IP v4 structure - */ -typedef struct ip4 { -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int ihl :4; - unsigned int version :4; -#elif __BYTE_ORDER == __BIG_ENDIAN - unsigned int version:4; - unsigned int ihl:4; -#else -# error "Please fix <bits/endian.h>" -#endif - uint8_t tos; - uint16_t tot_len; - uint16_t id; - uint16_t frag_off; // flags=3 bits, offset=13 bits - uint8_t ttl; - uint8_t protocol; - uint16_t check; - uint32_t saddr; - uint32_t daddr; - /*The options start here. */ -} ip4_t; - -#define IP4_FLAGS_MASK 0xE000 -#define IP4_FRAG_OFF_MASK ~IP4_FLAGS_MASK -#define IP4_FLAG_MF 0x2000 -#define IP4_FLAG_DF 0x4000 -#define IP4_FLAG_RESERVED 0x8000 - - -/**************************************************************** - * ************************************************************** - * - * Scanner's native and java per protocol prototypes - * - * ************************************************************** - ****************************************************************/ - -int lookup_ethertype(uint16_t type); -// -//void scan_ethernet (scan_t *scan); -//void scan_ip4 (scan_t *scan); - - -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc16.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc16.h deleted file mode 100644 index 147c9ac2ad2e8bc77aabed3f1cd5d1a6039bfbdd..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc16.h +++ /dev/null @@ -1,72 +0,0 @@ -/* crc16.h - * Declaration of CRC-16 routines and table - * - * 2004 Richard van der Hoff <richardv@mxtelecom.com> - * - * $Id: crc16.h 20485 2007-01-18 18:43:30Z guy $ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@xxxxxxxxxxxx> - * Copyright 1998 Gerald Combs - * - * Copied from README.developer - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#ifndef __CRC16_H_ -#define __CRC16_H_ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include <stdint.h> - -/* Calculate the CCITT/ITU/CRC-16 16-bit CRC - - (parameters for this CRC are: - Polynomial: x^16 + x^12 + x^5 + 1 (0x1021); - Start value 0xFFFF; - XOR result with 0xFFFF; - First bit is LSB) -*/ - -/** Compute CRC16 CCITT checksum of a buffer of data. - @param buf The buffer containing the data. - @param len The number of bytes to include in the computation. - @return The CRC16 CCITT checksum. */ -extern uint16_t crc16_ccitt(const uint8_t *buf, uint32_t len); - -/** Compute CRC16 X.25 CCITT checksum of a buffer of data. - @param buf The buffer containing the data. - @param len The number of bytes to include in the computation. - @return The CRC16 X.25 CCITT checksum. */ -extern uint16_t crc16_x25_ccitt(const uint8_t *buf, uint32_t len); - -/** Compute CRC16 CCITT checksum of a buffer of data. If computing the - * checksum over multiple buffers and you want to feed the partial CRC16 - * back in, remember to take the 1's complement of the partial CRC16 first. - @param buf The buffer containing the data. - @param len The number of bytes to include in the computation. - @param seed The seed to use. - @return The CRC16 CCITT checksum (using the given seed). */ -extern uint16_t crc16_ccitt_seed(const uint8_t *buf, uint32_t len, uint16_t seed); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* crc16.h */ diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc32.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc32.h deleted file mode 100644 index 9b12c0ecd52db2619c79eafc5b41fb3adaaf636c..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc32.h +++ /dev/null @@ -1,80 +0,0 @@ -/* crc32.h - * Declaration of CRC-32 routine and table - * - * $Id: crc32.h 24930 2008-04-12 12:31:53Z stig $ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * Copied from README.developer - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __UTIL_CRC32_H_ -#define __UTIL_CRC32_H_ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include <stdint.h> - -#define CRC32C_PRELOAD 0xffffffff - -/* - * Byte swap fix contributed by Dave Wysochanski <davidw@netapp.com>. - */ -#define CRC32C_SWAP(crc32c_value) \ - (((crc32c_value & 0xff000000) >> 24) | \ - ((crc32c_value & 0x00ff0000) >> 8) | \ - ((crc32c_value & 0x0000ff00) << 8) | \ - ((crc32c_value & 0x000000ff) << 24)) - -#define CRC32C(c,d) (c=(c>>8)^crc32c_table[(c^(d))&0xFF]) - -extern const uint32_t crc32c_table[256]; - -/** Compute CRC32C checksum of a buffer of data. - @param buf The buffer containing the data. - @param len The number of bytes to include in the computation. - @param crc The preload value for the CRC32C computation. - @return The CRC32C checksum. */ -extern uint32_t calculate_crc32c(const void *buf, int len, uint32_t crc); - -extern const uint32_t crc32_ccitt_table[256]; - -/** Compute CRC32 CCITT checksum of a buffer of data. - @param buf The buffer containing the data. - @param len The number of bytes to include in the computation. - @return The CRC32 CCITT checksum. */ -extern uint32_t crc32_ccitt(const uint8_t *buf, uint32_t len); - -/** Compute CRC32 CCITT checksum of a buffer of data. If computing the - * checksum over multiple buffers and you want to feed the partial CRC32 - * back in, remember to take the 1's complement of the partial CRC32 first. - @param buf The buffer containing the data. - @param len The number of bytes to include in the computation. - @param seed The seed to use. - @return The CRC32 CCITT checksum (using the given seed). */ -extern uint32_t crc32_ccitt_seed(const uint8_t *buf, uint32_t len, uint32_t seed); - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* util_crc32.h */ diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_debug.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_debug.h deleted file mode 100644 index aa41a4b4927c2fc92f0ceae13f3934b9e0071a33..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_debug.h +++ /dev/null @@ -1,96 +0,0 @@ - -// Include this file after jni.h is included. It undefines MS compiler, def for -// gcc specific one. -// -#ifndef Include_util_debug_h -#define Include_util_debug_h - -#define JNIEXPORT extern "C" - -#undef __declspec -#define __declspec(a) extern "C" - -#include <stdarg.h> - -#define DEBUG_MAX_LEVEL 10 - -#define DEBUG_TRACE 10 -#define DEBUG_INFO 8 -#define DEBUG_WARN 6 -#define DEBUG_ERROR 4 - -#define DEFAULT_LEVEL DEBUG_TRACE -#define DEFAULT_INDENT_CHAR '.' - -extern int debug_get_level(); -extern void debug_set_level(int level); -extern void debug_inc(); -extern void debug_dec(); -extern void debug_reset(); -extern void debug_vmsg(const char *type, const char *msg, const char *fmt, va_list ap); -extern void debug_msg(const char *type, const char *msg, const char *fmt, ...); -extern void debug_trace(const char *msg, const char *fmt, ...); -extern void debug_warn(const char *msg, const char *fmt, ...); -extern void debug_error(const char *msg, const char *fmt, ...); -extern void debug_info(const char *msg, const char *fmt, ...); -extern void debug_enter(const char *method); -extern void debug_exit(const char *method); - -#define DEBUG_MAX_NAME 256 -#define DEBUG_DEFAULT_LEVEL TRACE - -/*** - ******** Temporarily backedout -class Debug { -public: - enum Level { - ALL, - TRACE, - INFO, - WARN, - ERR, - NONE, - UNDEFINED - }; - -private: - Level level; - int indentation; - char indentBuffer[DEBUG_MAX_LEVEL + 2]; - char indentChar; - Debug *parent; - char name[DEBUG_MAX_NAME]; - -public: - Debug(const char *name, Debug *parent); - Debug(const char *name); - Debug(const char *name, Level defaultLevel); - ~Debug() { } - void setLevel(Level level); - Level getLevel(); - void inc(); - void dec(); - void reset(); - - void msg(Level type, char *msg, char *fmt, ...); - void trace(char *msg, char *fmt, ...); - void info(char *msg, char *fmt, ...); - void warn(char *msg, char *fmt, ...); - void error(char *msg, char *fmt, ...); - - void enter(char *method); - void exit(char *method); - - -private: - void vmsg(Level type, char *msg, char *fgm, va_list ap); - char *indent(); - char *getLevelName(Level level); - static char *levelNames[ERR + 1]; - static Debug global_logger; - static Debug null_logger; -}; - -****************/ - -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_in_cksum.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_in_cksum.h deleted file mode 100644 index d4eb7fa0b8f7e2b5eb6a7cff4c302db59ab9b0a2..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_in_cksum.h +++ /dev/null @@ -1,63 +0,0 @@ -/* in_cksum.h - * Declaration of Internet checksum routine. - * - * $Id: in_cksum.h 12117 2004-09-28 00:06:32Z guy $ - */ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include <stdio.h> -#include <stdint.h> -#include <jni.h> - -typedef struct { - const uint8_t *ptr; - int len; -} vec_t; - -extern uint16_t in_cksum(const vec_t *vec, int veclen); -extern uint16_t in_cksum_shouldbe(uint16_t sum, uint16_t computed_sum); - -typedef union { - uint8_t c[2]; - uint16_t s; -} pad_t; - -extern int in_checksum_pad_to_even( - vec_t *vec, - int veclen, - pad_t *pad); - -extern int in_checksum_skip_crc16_field( - const uint8_t *buf, // Buffer ptr - vec_t *vec, - int len, - int crc_offset); - -extern int in_checksum_add_ip_pseudo_header( - const uint8_t *buf, - vec_t *vec, - int type, - int len, - uint32_t phdr[2]); - -extern uint16_t psuedo_ip4_tcp( - JNIEnv *env, - const uint8_t *mem, - size_t size, - jint ip4, - jint tcp); - -uint16_t psuedo_ip6_tcp( - JNIEnv *env, - const uint8_t *mem, - size_t size, - jint ip6, - jint tcp); - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ext.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ext.h deleted file mode 100644 index f4586f84aa86736bbff4aa25ef9e4e020f928588..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ext.h +++ /dev/null @@ -1,18 +0,0 @@ -#include <jni.h> -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_org_jnetpcap_WinPcapExtensions -#define _Included_org_jnetpcap_WinPcapExtensions -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -extern jclass winPcapClass; - -// Prototypes - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ids.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ids.h deleted file mode 100644 index 282a6e3561927039cb04bec3240dcd51d4a9e873..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ids.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_winpcap_ids_h -#define _Included_winpcap_ids_h -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -#include "export.h" - -#include <jni.h> - -// WinPcapSamp -extern jclass winPcapSampClass; -extern jfieldID winPcapSampPhysicalFID; -extern jmethodID winPcapSampConstructorMID; - -// WinPcapStat -extern jclass WinPcapStatClass; -extern jmethodID WinPcapStatConstructorMID; - -// WinPcapRmtAuth -extern jclass winPcapRmtAuthClass; -extern jfieldID winPcapRmtAuthTypeFID; -extern jfieldID winPcapRmtAuthUsernameFID; -extern jfieldID winPcapRmtAuthPasswordFID; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_stat_ex.h b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_stat_ex.h deleted file mode 100644 index c0f2335fe5d4c4db614150fcb91be9d8e28f0439..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_stat_ex.h +++ /dev/null @@ -1,22 +0,0 @@ -#include <jni.h> -/* Header for jnetpcap_utils utility methods */ - -#ifndef _Included_org_jnetpcap_WinWinPcapStat -#define _Included_org_jnetpcap_WinWinPcapStat -#ifdef __cplusplus -extern "C" { -#define EXTERN extern "C" -#endif - -extern jclass winWinPcapStatClass; - -// Prototypes -jobject newWinPcapStat(JNIEnv *env); -void setWinPcapStat(JNIEnv *env, jobject jstats, struct pcap_stat *stats, - int size); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll deleted file mode 100644 index edf51016b60f48cc33645d374730297d073e859e..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll deleted file mode 100644 index b905ece0a94b356844f25119aca33663b8a8d3a9..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll and /dev/null differ diff --git a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar b/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar deleted file mode 100644 index 7f48c3770df8c7fdb268f5535ebbe981f7a9d8a9..0000000000000000000000000000000000000000 Binary files a/tt3plugins/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar and /dev/null differ diff --git a/tt3plugins/EtsiItsCommonCodec/TT3plugin.xml b/tt3plugins/EtsiItsCommonCodec/TT3plugin.xml deleted file mode 100644 index 13eea0e2f3c92906b736c42ff93c4e8285b4957b..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsCommonCodec/TT3plugin.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.its.codec" name="ETSI Its Common Codec" provider-name="ETSI" version="1.0.0.0"> - <runtime> - <library name="EtsiItsCommonCodec.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - </dependency> -</plugin> diff --git a/tt3plugins/EtsiItsExternalFunctions/TT3plugin.xml b/tt3plugins/EtsiItsExternalFunctions/TT3plugin.xml deleted file mode 100644 index 78ec01e740be2e2a366a7fc0cc2a806470a5ee31..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsExternalFunctions/TT3plugin.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.its.ttcn.ItsExternalFunctionsProvider" name="ETSI Its External functions" provider-name="ETSI" version="1.0.0.0"> - <runtime> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - </dependency> -</plugin> diff --git a/tt3plugins/EtsiItsUpperTester/TT3plugin.xml b/tt3plugins/EtsiItsUpperTester/TT3plugin.xml deleted file mode 100644 index d089b6ac05b9d509b203b3b7017bc1fe79e92c85..0000000000000000000000000000000000000000 --- a/tt3plugins/EtsiItsUpperTester/TT3plugin.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.its.uppertester" name="ETSI Its Upper Tester" provider-name="ETSI" version="1.0.0.0"> - <runtime> - <library name="EtsiItsUpperTester.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - </dependency> -</plugin> diff --git a/tt3plugins/LibIteSremSsem_asn1/TT3plugin.xml b/tt3plugins/LibIteSremSsem_asn1/TT3plugin.xml deleted file mode 100644 index 64336fd1d75606e5049a30d7034ec3eebc864d6d..0000000000000000000000000000000000000000 --- a/tt3plugins/LibIteSremSsem_asn1/TT3plugin.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1" - name="LibIteSremSsem_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibIteSremSsem_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibIteSremSsem_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules DSRC ITS_Container ElectronicRegistrationIdentificationVehicleDataModule REGION AddGrpC"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1.LibIteSremSsem_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1.Libitesremssem_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DSRC"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="ElectronicRegistrationIdentificationVehicleDataModule"/> - <parameter id="module" value="REGION"/> - <parameter id="module" value="AddGrpC"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibIteSremSsem_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules DSRC ITS_Container ElectronicRegistrationIdentificationVehicleDataModule REGION AddGrpC"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1.LibIteSremSsem_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1.Libitesremssem_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DSRC"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="ElectronicRegistrationIdentificationVehicleDataModule"/> - <parameter id="module" value="REGION"/> - <parameter id="module" value="AddGrpC"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibIteSremSsem_asn1/lib/LibIteSremSsem_asn1.jar b/tt3plugins/LibIteSremSsem_asn1/lib/LibIteSremSsem_asn1.jar deleted file mode 100644 index 0a5ae1b74cce18bc5fd2e5e8e02d80874128f6ff..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibIteSremSsem_asn1/lib/LibIteSremSsem_asn1.jar and /dev/null differ diff --git a/tt3plugins/LibItsCam_asn1/TT3plugin.xml b/tt3plugins/LibItsCam_asn1/TT3plugin.xml deleted file mode 100644 index 0fedd865d3427aafbdd82e9c01ad4b296ba319fb..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsCam_asn1/TT3plugin.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1" - name="LibItsCam_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibItsCam_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsCam_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules ITS_Container CAM_PDU_Descriptions"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.Libitscam_asn1"/> - <parameter id="modules"> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="CAM_PDU_Descriptions"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsCam_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules ITS_Container CAM_PDU_Descriptions"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.Libitscam_asn1"/> - <parameter id="modules"> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="CAM_PDU_Descriptions"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibItsCam_asn1/lib/LibItsCam_asn1.jar b/tt3plugins/LibItsCam_asn1/lib/LibItsCam_asn1.jar deleted file mode 100644 index bcd15af92b62455a6fdbf0ece0301df839cc2634..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibItsCam_asn1/lib/LibItsCam_asn1.jar and /dev/null differ diff --git a/tt3plugins/LibItsCdd_asn1/TT3plugin.xml b/tt3plugins/LibItsCdd_asn1/TT3plugin.xml deleted file mode 100644 index dc4059ecb3bfbeea008e3e872a603b960f15c511..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsCdd_asn1/TT3plugin.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1" - name="LibItsCdd_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibItsCdd_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsCdd_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules ITS_Container"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.Libitscdd_asn1"/> - <parameter id="modules"> - <parameter id="module" value="ITS_Container"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsCdd_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules ITS_Container"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.Libitscdd_asn1"/> - <parameter id="modules"> - <parameter id="module" value="ITS_Container"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibItsCdd_asn1/lib/LibItsCdd_asn1.jar b/tt3plugins/LibItsCdd_asn1/lib/LibItsCdd_asn1.jar deleted file mode 100644 index ce0757694ea1501cb5ecd5601f6b364d0c1e87c4..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibItsCdd_asn1/lib/LibItsCdd_asn1.jar and /dev/null differ diff --git a/tt3plugins/LibItsDenm_asn1/TT3plugin.xml b/tt3plugins/LibItsDenm_asn1/TT3plugin.xml deleted file mode 100644 index e5635bbe17b87a5d5c783de23eccac4b279d60a2..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsDenm_asn1/TT3plugin.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1" - name="LibItsDenm_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibItsDenm_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsDenm_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules DENM_PDU_Descriptions ITS_Container"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.Libitsdenm_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DENM_PDU_Descriptions"/> - <parameter id="module" value="ITS_Container"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsDenm_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules DENM_PDU_Descriptions ITS_Container"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.Libitsdenm_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DENM_PDU_Descriptions"/> - <parameter id="module" value="ITS_Container"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibItsDenm_asn1/lib/LibItsDenm_asn1.jar b/tt3plugins/LibItsDenm_asn1/lib/LibItsDenm_asn1.jar deleted file mode 100644 index a45e56549af93982e09e615fcc9ad21c61af0a6d..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibItsDenm_asn1/lib/LibItsDenm_asn1.jar and /dev/null differ diff --git a/tt3plugins/LibItsFntp_TypesAndValues/TT3plugin.xml b/tt3plugins/LibItsFntp_TypesAndValues/TT3plugin.xml deleted file mode 100644 index a9827dd06ef31d03b8d463f2c6f80577469c87fe..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsFntp_TypesAndValues/TT3plugin.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.its.codec.ttcn.LibItsFntp_TypesAndValuesCodec" name="LibItsFntp_TypesAndValues Codec" provider-name="STF424_ITS_Test_Platform" version="1.0.0.0"> - <runtime> - <library name="LibItsFntp_TypesAndValuesCodec.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="org.etsi.its.codec"/> - </dependency> -</plugin> diff --git a/tt3plugins/LibItsFsap_TypesAndValues/TT3plugin.xml b/tt3plugins/LibItsFsap_TypesAndValues/TT3plugin.xml deleted file mode 100644 index 9d16f14e770ac4c4f9aa63da371f63aed69d8f87..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsFsap_TypesAndValues/TT3plugin.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.its.codec.ttcn.LibItsFsap_TypesAndValuesCodec" name="LibItsFsap_TypesAndValues Codec" provider-name="STF424_ITS_Test_Platform" version="1.0.0.0"> - <runtime> - <library name="LibItsFsap_TypesAndValuesCodec.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="org.etsi.its.codec"/> - </dependency> -</plugin> diff --git a/tt3plugins/LibItsIvim_asn1/TT3plugin.xml b/tt3plugins/LibItsIvim_asn1/TT3plugin.xml deleted file mode 100644 index 99ff1e030a3756f3b3389df7952044892174f821..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsIvim_asn1/TT3plugin.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1" - name="LibItsIvim_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibItsIvim_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsIvim_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules AVIAEINumberingAndDataStructures EfcDsrcApplication ITS_Container ElectronicRegistrationIdentificationVehicleDataModule CITSapplMgmtIDs EfcDsrcGeneric IVI"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1.LibItsIvim_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1.Libitsivim_asn1"/> - <parameter id="modules"> - <parameter id="module" value="AVIAEINumberingAndDataStructures"/> - <parameter id="module" value="EfcDsrcApplication"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="ElectronicRegistrationIdentificationVehicleDataModule"/> - <parameter id="module" value="CITSapplMgmtIDs"/> - <parameter id="module" value="EfcDsrcGeneric"/> - <parameter id="module" value="IVI"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsIvim_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules AVIAEINumberingAndDataStructures EfcDsrcApplication ITS_Container ElectronicRegistrationIdentificationVehicleDataModule CITSapplMgmtIDs EfcDsrcGeneric IVI"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1.LibItsIvim_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1.Libitsivim_asn1"/> - <parameter id="modules"> - <parameter id="module" value="AVIAEINumberingAndDataStructures"/> - <parameter id="module" value="EfcDsrcApplication"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="ElectronicRegistrationIdentificationVehicleDataModule"/> - <parameter id="module" value="CITSapplMgmtIDs"/> - <parameter id="module" value="EfcDsrcGeneric"/> - <parameter id="module" value="IVI"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibItsIvim_asn1/lib/LibItsIvim_asn1.jar b/tt3plugins/LibItsIvim_asn1/lib/LibItsIvim_asn1.jar deleted file mode 100644 index 4580b9cf4d986ec35d800fe8902e8057d0189ade..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibItsIvim_asn1/lib/LibItsIvim_asn1.jar and /dev/null differ diff --git a/tt3plugins/LibItsMapSpat_asn1/TT3plugin.xml b/tt3plugins/LibItsMapSpat_asn1/TT3plugin.xml deleted file mode 100644 index 1283c33fddac4e201c99f1006374d1c279b6182e..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsMapSpat_asn1/TT3plugin.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1" - name="LibItsMapSpat_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibItsMapSpat_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsMapSpat_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules DSRC ITS_Container MAP_SPAT_ETSI REG_D REGION"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.LibItsMapSpat_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.Libitsmapspat_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DSRC"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="MAP_SPAT_ETSI"/> - <parameter id="module" value="REG_D"/> - <parameter id="module" value="REGION"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsMapSpat_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules DSRC ITS_Container MAP_SPAT_ETSI REG_D REGION"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.LibItsMapSpat_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.Libitsmapspat_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DSRC"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="MAP_SPAT_ETSI"/> - <parameter id="module" value="REG_D"/> - <parameter id="module" value="REGION"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar b/tt3plugins/LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar deleted file mode 100644 index cf66eefd534819aa71ab10c7bc5f816e4c27a5e5..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar and /dev/null differ diff --git a/tt3plugins/LibItsMapemSpatem_asn1/TT3plugin.xml b/tt3plugins/LibItsMapemSpatem_asn1/TT3plugin.xml deleted file mode 100644 index 8c86887c391a6bf48e9fe5e2733305c8442dbc2b..0000000000000000000000000000000000000000 --- a/tt3plugins/LibItsMapemSpatem_asn1/TT3plugin.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd"> - -<plugin id="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1" - name="LibItsMapemSpatem_asn1 ASN.1 Codec Plugin" - version="1.0.0" - provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support "> - - <runtime> - <library name="lib/LibItsMapemSpatem_asn1.jar"/> - </runtime> - - <dependency> - <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/> - </dependency> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsMapemSpatem_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules DSRC ITS_Container ElectronicRegistrationIdentificationVehicleDataModule REGION AddGrpC"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1.LibItsMapemSpatem_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1.Libitsmapemspatem_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DSRC"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="ElectronicRegistrationIdentificationVehicleDataModule"/> - <parameter id="module" value="REGION"/> - <parameter id="module" value="AddGrpC"/> - </parameter> - </extension> - - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="name" value="LibItsMapemSpatem_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/> - <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules DSRC ITS_Container ElectronicRegistrationIdentificationVehicleDataModule REGION AddGrpC"/> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1.LibItsMapemSpatem_asn1PERBasicUnalignedCodecProvider"/> - <parameter id="apiOnly" value="true"/> - <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/> - <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1.Libitsmapemspatem_asn1"/> - <parameter id="modules"> - <parameter id="module" value="DSRC"/> - <parameter id="module" value="ITS_Container"/> - <parameter id="module" value="ElectronicRegistrationIdentificationVehicleDataModule"/> - <parameter id="module" value="REGION"/> - <parameter id="module" value="AddGrpC"/> - </parameter> - </extension> - - -</plugin> diff --git a/tt3plugins/LibItsMapemSpatem_asn1/lib/LibItsMapemSpatem_asn1.jar b/tt3plugins/LibItsMapemSpatem_asn1/lib/LibItsMapemSpatem_asn1.jar deleted file mode 100644 index d3bab3aefc36141ccf0315a69f80ec228d344e30..0000000000000000000000000000000000000000 Binary files a/tt3plugins/LibItsMapemSpatem_asn1/lib/LibItsMapemSpatem_asn1.jar and /dev/null differ diff --git a/tt3plugins/MainCodec/TT3plugin.xml b/tt3plugins/MainCodec/TT3plugin.xml deleted file mode 100644 index 41108af7fdb992ba0e68f9616bf7da0ecfc0687b..0000000000000000000000000000000000000000 --- a/tt3plugins/MainCodec/TT3plugin.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="org.etsi.ttcn.codec.MainCodec" name="Main Codec" provider-name="STF462" version="1.0.0.0"> - <runtime> - <library name="MainCodec.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - <reference id="com.testingtech.ttworkbench.sa"/> - </dependency> -</plugin> diff --git a/tt3plugins/TT_TestSystem/TT3plugin.xml b/tt3plugins/TT_TestSystem/TT3plugin.xml deleted file mode 100644 index 292f6593081aca3789bf51f0d1a54d3180d8a2c8..0000000000000000000000000000000000000000 --- a/tt3plugins/TT_TestSystem/TT3plugin.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="com.testingtech.ttworkbench" name="Testing Technologies TTworkbench Integration" provider-name="Testing Technologies IST GmbH" version="1.0.0.0"> - <runtime> - </runtime> - <dependency> - <reference id="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1"/> - <reference id="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1"/> - <reference id="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1"/> - <reference id="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1"/> - <reference id="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1"/> - <reference id="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1"/> - <reference id="org.etsi.its.tool.testingtech.Its_CodecProvider"/> - <reference id="org.etsi.its.tool.testingtech.LibItsV2G_TypesAndValuesCodec"/> - <reference id="org.etsi.its.ttcn.ItsExternalFunctionsProvider"/> - <reference id="org.etsi.its.adapter"/> - <reference id="org.etsi.ttcn.codec"/> - <reference id="org.etsi.codec"/> - <reference id="com.testingtech.ttworkbench.sa"/> - </dependency> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.tool.testingtech.Its_CodecProvider"/> - <parameter id="name" value="Main ITS Codec"/> - <parameter id="description" value="Main ITS Codec"/> - </extension> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="encoding" value="LibItsDenm_asn1"/> - <parameter id="name" value="DENM ASN.1 Codec"/> - <parameter id="description" value="ASN.1 External Codec (DENM)"/> - </extension> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="encoding" value="LibItsCam_asn1"/> - <parameter id="name" value="CAM ASN.1Codec"/> - <parameter id="description" value="ASN.1 External Codec (CAM)"/> - </extension> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="encoding" value="LibItsCdd_asn1"/> - <parameter id="name" value="CDD ASN.1 Codec"/> - <parameter id="description" value="ASN.1 External Codec (CDD)"/> - </extension> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapemSpatem_asn1.LibItsMapemSpatem_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="encoding" value="LibItsMapemSpatem_asn1"/> - <parameter id="name" value="MAPEM/SPATEM ASN.1 Codec"/> - <parameter id="description" value="ASN.1 External Codec (Mapem/Spatem)"/> - </extension> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsIvim_asn1.LibItsIvim_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="encoding" value="LibItsIvim_asn1"/> - <parameter id="name" value="IVIM ASN.1 Codec"/> - <parameter id="description" value="ASN.1 External Codec (Ivim)"/> - </extension> - <extension point="com.testingtech.ttcn.extension.CodecProvider"> - <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibIteSremSsem_asn1.LibIteSremSsem_asn1PERCanonicalUnalignedCodecProvider"/> - <parameter id="encoding" value="LibItsSremSsem_asn1"/> - <parameter id="name" value="SREM/SSEM ASN.1 Codec"/> - <parameter id="description" value="ASN.1 External Codec (SremSsem)"/> - </extension> - <extension point="com.testingtech.ttcn.extension.ExternalFunctionsProvider"> - <parameter id="class" value="org.etsi.its.tool.testingtech.ExternalFunctionsPluginProvider"/> - <parameter id="name" value="Its External Function"/> - <parameter id="description" value="The implementation of the external functions defined in the ITS project."/> - </extension> -</plugin> diff --git a/tt3plugins/TT_TestSystem_SA/TT3plugin.xml b/tt3plugins/TT_TestSystem_SA/TT3plugin.xml deleted file mode 100644 index 8aa00de71399a6410b02344149a60985c0c3dfb8..0000000000000000000000000000000000000000 --- a/tt3plugins/TT_TestSystem_SA/TT3plugin.xml +++ /dev/null @@ -1,263 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd"> -<plugin id="com.testingtech.ttworkbench.sa" name="Testing Technologies TTworkbench Integration System Adapter" provider-name="Testing Technologies IST GmbH" version="1.0.0.0"> - <runtime> - <library name="TT_TestSystem.jar"/> - <library name="../../build"/> - </runtime> - <dependency> - </dependency> - <extension point="com.testingtech.ttcn.tri.extension.PortPluginProvider"> - <parameter id="class" value="org.etsi.its.tool.testingtech.PluginAdapter"/> - <parameter id="taParams"> - <parameter id="taParamDeclaration"> - <parameter id="name" value="DEBUG_ENABLED"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="ALL"/> - <parameter id="description" value="Set to ALL/INFO/OFF to activate full/medium/no traces"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="camPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="CamSource"/> - <parameter id="description" value="Define the port/layer configuration for CAM"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="denmPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="DenmSource"/> - <parameter id="description" value="Define the port/layer configuration for DENM"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="mapemSpatemPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="MapemSpatemSource"/> - <parameter id="description" value="Define the port/layer configuration for MAPEM-SPATEM"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="ivimPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="IvimSource"/> - <parameter id="description" value="Define the port/layer configuration for IVIM"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="sremSsemPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="SremSsemSource"/> - <parameter id="description" value="Define the port/layer configuration for SREM-SSEM"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="btpPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BtpSource"/> - <parameter id="description" value="Define the port/layer configuration for BTP"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="geoNetworkingPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="GnSource"/> - <parameter id="description" value="Define the port/layer configuration for GeoNetworking"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="ipv6OverGeoNetworkingPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="Gn6Source"/> - <parameter id="description" value="Define the port/layer configuration for GeoNetworking over IPv6"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="v2gPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="Debug"/> - <parameter id="description" value="Define the port/layer configuration for V2G"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="UpperTesterSettings"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="192.168.56.11:2222"/> - <parameter id="description" value="Define the Upper Tester settings for communication with Upper Tester"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="OfflineMode"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="false"/> - <parameter id="description" value="Post-mortem ATS execution mode"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="PcapFile"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value=""/> - <parameter id="description" value="PCAP file location, e.g. pcap/vendor/uc1.pcap"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="OffsetTime"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="0"/> - <parameter id="description" value="Start at time in seconds since 1970-01-01, e.g. 1421661427.233361"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LocalEthernetMAC"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="0025645B0CED"/> - <parameter id="description" value="Define the MAC address of the Ethernet interface connected to the IUT device"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="IutEthernetTypeValue"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="0x8947"/> - <parameter id="description" value="Define the Ethernet type value used by the IUT"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LinkLayer_NodeA"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BABEBABE0001"/> - <parameter id="description" value="Link-Layer address of component NodeA"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LinkLayer_NodeB"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BABEBABE0002"/> - <parameter id="description" value="Link-Layer address of component NodeB"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LinkLayer_NodeC"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BABEBABE0003"/> - <parameter id="description" value="Link-Layer address of component NodeC"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LinkLayer_NodeD"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BABEBABE0004"/> - <parameter id="description" value="Link-Layer address of component NodeD"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LinkLayer_NodeE"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BABEBABE0005"/> - <parameter id="description" value="Link-Layer address of component NodeE"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="LinkLayer_NodeF"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="BABEBABE0006"/> - <parameter id="description" value="Link-Layer address of component NodeF"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="Gn6RemoteAdapterIp"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="192.168.56.11"/> - <parameter id="description" value="IP address of GN6 remote Adapter"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="Gn6RemoteAdapterPort"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="42000"/> - <parameter id="description" value="UDP port of GN6 remote Adapter"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="TsBeaconInterval"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="1000"/> - <parameter id="description" value="Interval between each beacon sent by TS (ms)"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="TsLatitude"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="7000"/> - <parameter id="description" value="Latitude of Test System"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="TsLongitude"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="520000"/> - <parameter id="description" value="Longitude of Test System"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="V2gTsRole"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="SECC"/> - <parameter id="description" value="Is TS SECC or EVCC"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="V2gSeccAddress"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="FE80::1"/> - <parameter id="description" value="V2gSeccAddress"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="V2gSeccPort"/> - <parameter id="type" value="integer"/> - <parameter id="default" value="32000"/> - <parameter id="description" value="V2gSeccPort"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="UtSecuredMode"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="false"/> - <parameter id="description" value="UpperTester Secured mode status"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="TsSecuredRootPath"/> - <parameter id="type" value="charstring"/> - <parameter id="default"/> - <parameter id="description" value="Secured root path to access certificates and private keys"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="TsSecuredConfiId"/> - <parameter id="type" value="charstring"/> - <parameter id="default"/> - <parameter id="description" value="Secured configuration identifier"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="TsItsAidOther"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="38"/> - <parameter id="description" value="ITS-AID for other profile"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="GnssControllerAddress"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="192.168.89.106"/> - <parameter id="description" value="IP address of GNSS Controller"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="GnssScenarioSupport"/> - <parameter id="type" value="boolean"/> - <parameter id="default"> - <value> - <Values:boolean xmlns:Values="Values.xsd" type="boolean"> - <Values:value>true</Values:value> - </Values:boolean> - </value> - </parameter> - <parameter id="description" value="Is GNSS scenario support available?"/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="GnssScenario_StaticPos"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\StaticPos\StaticPos.scn"/> - <parameter id="description" value="Path to the GNSS scenario - static position."/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="GnssScenario_DynamicPos200m"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos200m\DynamicPos200m.scn"/> - <parameter id="description" value="Path to the GNSS scenario - dynamic position 200m."/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="GnssScenario_DynamicPos1000m"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1000m\DynamicPos1000m.scn"/> - <parameter id="description" value="Path to the GNSS scenario - dynamic position 1000m."/> - </parameter> - <parameter id="taParamDeclaration"> - <parameter id="name" value="GnssScenario_DynamicPos1500m"/> - <parameter id="type" value="charstring"/> - <parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1500m\DynamicPos1500m.scn"/> - <parameter id="description" value="Path to the GNSS scenario - dynamic position 1500m."/> - </parameter> - </parameter> - <parameter id="name" value="ITS System Adapter"/> - <parameter id="description" value="The ITS System Adapter providing the communication functionality to and from the SUT."/> - </extension> -</plugin> diff --git a/ttcn/AtsPki/ItsPki_TestCases.ttcn b/ttcn/AtsPki/ItsPki_TestCases.ttcn index aa947719bd07a4d3c3a1ac57d02187ba444e10e0..42739b66850e46fe265b144f53928fdeb82deda7 100644 --- a/ttcn/AtsPki/ItsPki_TestCases.ttcn +++ b/ttcn/AtsPki/ItsPki_TestCases.ttcn @@ -736,7 +736,7 @@ module ItsPki_TestCases { } // Test component configuration - f_cfHttpUp(); // Default value: CERT_TS_A_EA, CERT_TS_A_EC, CERT_IUT_A_EA + f_cfHttpUp("CERT_EA"); // Default value: CERT_TS_A_EA, CERT_TS_A_EC, CERT_IUT_A_EA // Test adapter configuration diff --git a/ttcn/TestCodec/TestCodec_Pki.ttcn b/ttcn/TestCodec/TestCodec_Pki.ttcn index 673f29d0d73335b316d2a7b745c909351033c84d..7af4d214ce83f10dfa0a0028be38723e02fa0796 100644 --- a/ttcn/TestCodec/TestCodec_Pki.ttcn +++ b/ttcn/TestCodec/TestCodec_Pki.ttcn @@ -156,7 +156,7 @@ module TestCodec_Pki { // Secure InnerEcRequestSignedForPoP message v_inner_ec_request_signed_for_pop_msg := encvalue(m_etsiTs102941Data_inner_ec_request_signed_for_pop(v_inner_ec_request_signed_for_pop)); - if (f_build_pki_secured_message(v_private_key, valueof(m_signerIdentifier_self), int2oct(0, 8), v_publicKeyCompressed, v_compressedMode, bit2oct(v_inner_ec_request_signed_for_pop_msg), v_ieee1609dot2_signed_and_encrypted_data) == false) { + if (f_build_pki_secured_message(v_private_key, valueof(m_signerIdentifier_self), int2oct(0, 8), v_publicKeyCompressed, v_compressedMode, ''O, bit2oct(v_inner_ec_request_signed_for_pop_msg), v_ieee1609dot2_signed_and_encrypted_data) == false) { setverdict(fail, "Failed to secure InnerEcRequest message"); stop; } @@ -183,7 +183,7 @@ module TestCodec_Pki { } // Decrypt InnerEcRequest - f_decrypt(v_private_key, v_dec_ieee1609dot2_encrypted_and_signed_data, v_dec_ieee1609dot2_signed_data); + f_decrypt(v_private_key, v_dec_ieee1609dot2_encrypted_and_signed_data, ''O, v_dec_ieee1609dot2_signed_data); log("v_dec_ieee1609dot2_signed_data= ", v_dec_ieee1609dot2_signed_data); // Verify signature @@ -481,9 +481,9 @@ module TestCodec_Pki { // Build secured PKI message v_enc_msg := encvalue(m_etsiTs102941Data_inner_ec_response(v_inner_ec_response)); if (ischosen(v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0)) { - v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0, 0, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); + v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0, 0, ''O, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); } else { - v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_1, 1, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); + v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_1, 1, ''O, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); } if (v_ret == false) { setverdict(fail, "Failed to secure InnerEcResponse message"); @@ -512,7 +512,7 @@ module TestCodec_Pki { } // Decrypt InnerEcResponse - f_decrypt(v_private_enc_key_cert_ts_a_ea, v_dec_ieee1609dot2_encrypted_and_signed_data, v_dec_ieee1609dot2_signed_data); + f_decrypt(v_private_enc_key_cert_ts_a_ea, v_dec_ieee1609dot2_encrypted_and_signed_data, ''O, v_dec_ieee1609dot2_signed_data); log("v_dec_ieee1609dot2_signed_data= ", v_dec_ieee1609dot2_signed_data); // Verify signature @@ -690,9 +690,9 @@ module TestCodec_Pki { // Build secured PKI message v_enc_msg := encvalue(m_etsiTs102941Data_authorization_validation_response(v_authorization_validation_response)); if (ischosen(v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0)) { - v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0, 0, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); + v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0, 0, ''O, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); } else { - v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_1, 1, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); + v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_1, 1, ''O, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data); } if (v_ret == false) { setverdict(fail, "Failed to secure InnerEcResponse message"); @@ -721,7 +721,7 @@ module TestCodec_Pki { } // Decrypt InnerEcResponse - f_decrypt(v_private_enc_key_cert_ts_a_ea, v_dec_ieee1609dot2_encrypted_and_signed_data, v_dec_ieee1609dot2_signed_data); + f_decrypt(v_private_enc_key_cert_ts_a_ea, v_dec_ieee1609dot2_encrypted_and_signed_data, ''O, v_dec_ieee1609dot2_signed_data); log("v_dec_ieee1609dot2_signed_data= ", v_dec_ieee1609dot2_signed_data); // Verify signature diff --git a/ttcn/TestCodec/TestCodec_SignedAndEncryptedMessages.ttcn b/ttcn/TestCodec/TestCodec_SignedAndEncryptedMessages.ttcn index 317f73c6fbfcb9782c097fe2f8f73200665e06d9..41ef807f4e041adb4a8d0ede8dc825b05cf80d5c 100644 --- a/ttcn/TestCodec/TestCodec_SignedAndEncryptedMessages.ttcn +++ b/ttcn/TestCodec/TestCodec_SignedAndEncryptedMessages.ttcn @@ -89,7 +89,24 @@ module TestCodec_SignedAndEncryptedMessages { } /** - * @desc Test AES 128 CCM using test vectors provided by IEEE Std 1609.2-2017 Annex D + * @desc Test HMAC-SH256 using test vectors provided by IEEE Std 1609.2-2017 Annex D + * @return The encrypted message + */ + testcase tc_test_hmac_sha256_test4() runs on TCType system TCType { + var octetstring v_k := '0102030405060708090a0b0c0d0e0f10111213141516171819'O; + var octetstring v_m := 'cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd'O; + var octetstring v_t := '82558a389a443c0ea4cc819899f2083a'O; + + var octetstring v_result := fx_test_hmac_sha256(v_k, v_m); + if (match(v_t, v_result)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + /** + * @desc Test AES 128 CCM using test vectors provided by IEEE Std 1609.2-2017 Annex D.1 * @return The encrypted message */ testcase tc_test_encrypt_aes_128_ccm_test_1() runs on TCType system TCType { @@ -157,6 +174,212 @@ module TestCodec_SignedAndEncryptedMessages { } } + testcase tc_test_encrypt_aes_128_gcm_test_1() runs on TCType system TCType { + var octetstring v_k := 'E58D5C8F8C9ED9785679E08ABC7C8116'O; + var octetstring v_n := 'A9F593C09EAEEA8BF0C1CF6A'O; + var octetstring v_pt := '9169155B08B07674CBADF75FB46A7B0D'O; + var octetstring v_ct := 'A6342013D623AD6C5F6882469673AE33'O; + + var octetstring v_result := fx_test_encrypt_aes_128_gcm_test(v_k, v_n, v_pt); + if (match(v_ct, v_result)) { + setverdict(pass); + } else { + setverdict(fail); + + } + + v_result := fx_test_encrypt_aes_128_gcm_test(v_k, v_n, v_result); + if (match(v_pt, v_result)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + /** + * @desc Test ECIES encryption using NIST-P256 + * @see IEEE Std 1609.2-2017 Clause 5.3.5 Public key encryption algorithms: ECIES + * @see https://www.nominet.uk/researchblog/how-elliptic-curve-cryptography-encryption-works/ + * @see http://digital.csic.es/bitstream/10261/32671/1/V2-I2-P7-13.pdf + * @return The encrypted message + */ + testcase tc_test_encryptWithEciesNistp256WithSha256_1() runs on TCType system TCType { + + var Oct32 v_privateEphemeralKey := '1384C31D6982D52BCA3BED8A7E60F52FECDAB44E5C0EA166815A8159E09FFB42'O; + var Oct32 v_publicEphemeralKeyX; + var Oct32 v_publicEphemeralKeyY; + var octetstring v_salt := 'A6B7B52554B4203F7E3ACFDB3A3ED8674EE086CE5906A7CAC2F8A398306D3BE9'O; + var Oct32 v_recipientPrivateKey := '060E41440A4E35154CA0EFCB52412145836AD032833E6BC781E533BF14851085'O; + var Oct32 v_recipientPublicKeyX := '8C5E20FE31935F6FA682A1F6D46E4468534FFEA1A698B14B0B12513EED8DEB11'O; + var Oct32 v_recipientPublicKeyY := '1270FEC2427E6A154DFCAE3368584396C8251A04E2AE7D87B016FF65D22D6F9E'O; + var octetstring v_cyphered_message; + var octetstring v_decyphered_message; + var Oct16 v_authentication_vector; + var Oct16 v_encrypted_sym_key; + var Oct12 v_nonce; + + // Cypher text is the symetric encryption key + v_cyphered_message := fx_test_encryptWithEciesNistp256WithSha256('9169155B08B07674CBADF75FB46A7B0D'O, v_privateEphemeralKey, v_recipientPublicKeyX, v_recipientPublicKeyY, v_salt, v_publicEphemeralKeyX, v_publicEphemeralKeyY, v_encrypted_sym_key, v_authentication_vector, v_nonce); + log("v_cyphered_message=", v_cyphered_message); + if (v_publicEphemeralKeyX != 'F45A99137B1BB2C150D6D8CF7292CA07DA68C003DAA766A9AF7F67F5EE916828'O) { + setverdict(fail, "Wrong public ephemeral key X"); + } else if (v_publicEphemeralKeyY != 'F6A25216F44CB64A96C229AE00B479857B3B81C1319FB2ADF0E8DB2681769729'O) { + setverdict(fail, "Wrong public ephemeral key Y"); + } else if (v_encrypted_sym_key != 'A6342013D623AD6C5F6882469673AE33'O) { + setverdict(fail, "Wrong encrypted key"); + } else if (v_authentication_vector != '80e1d85d30f1bae4ecf1a534a89a0786'O) { + setverdict(fail, "Wrong authentication vector"); + } else { + setverdict(pass, "Encryption succeed"); + } + + v_decyphered_message := fx_decryptWithEciesNistp256WithSha256(v_cyphered_message, v_recipientPrivateKey, v_publicEphemeralKeyX, 1, v_encrypted_sym_key, v_authentication_vector, v_nonce, v_salt); + log("v_decyphered_message=", v_decyphered_message); + if ('9169155B08B07674CBADF75FB46A7B0D'O != v_decyphered_message) { + setverdict(fail, "Failed to decrypt"); + } else { + setverdict(pass, "Decryption succeed"); + } + } // End of testcase tc_test_encryptWithEciesNistp256WithSha256_1 + + /** + * @desc Test ECIES encryption using NIST-P256 + * @see IEEE Std 1609.2-2017 Clause 5.3.5 Public key encryption algorithms: ECIES + * @see https://www.nominet.uk/researchblog/how-elliptic-curve-cryptography-encryption-works/ + * @see http://digital.csic.es/bitstream/10261/32671/1/V2-I2-P7-13.pdf + * @return The encrypted message + */ + testcase tc_test_encryptWithEciesNistp256WithSha256_2() runs on TCType system TCType { + + var Oct32 v_privateEphemeralKey := 'D418760F0CB2DCB856BC3C7217AD3AA36DB6742AE1DB655A3D28DF88CBBF84E1'O; + var Oct32 v_publicEphemeralKeyX; + var Oct32 v_publicEphemeralKeyY; + var octetstring v_salt := '9169155B08B07674CBADF75FB46A7B0D'O; + var Oct32 v_recipientPrivateKey := '060E41440A4E35154CA0EFCB52412145836AD032833E6BC781E533BF14851085'O; + var Oct32 v_recipientPublicKeyX := '8C5E20FE31935F6FA682A1F6D46E4468534FFEA1A698B14B0B12513EED8DEB11'O; + var Oct32 v_recipientPublicKeyY := '1270FEC2427E6A154DFCAE3368584396C8251A04E2AE7D87B016FF65D22D6F9E'O; + var octetstring v_cyphered_message; + var octetstring v_decyphered_message; + var Oct16 v_authentication_vector; + var Oct16 v_encrypted_sym_key; + var Oct12 v_nonce; + + // Cypher text is the symetric encryption key + v_cyphered_message := fx_test_encryptWithEciesNistp256WithSha256('9169155B08B07674CBADF75FB46A7B0D'O, v_privateEphemeralKey, v_recipientPublicKeyX, v_recipientPublicKeyY, v_salt, v_publicEphemeralKeyX, v_publicEphemeralKeyY, v_encrypted_sym_key, v_authentication_vector, v_nonce); + log("v_cyphered_message=", v_cyphered_message); + if (v_publicEphemeralKeyX != 'EE9CC7FBD9EDECEA41F7C8BD258E8D2E988E75BD069ADDCA1E5A38E534AC6818'O) { + setverdict(fail, "Wrong public ephemeral key X"); + } else if (v_publicEphemeralKeyY != '5AE3C8D9FE0B1FC7438F29417C240F8BF81C358EC1A4D0C6E98D8EDBCC714017'O) { + setverdict(fail, "Wrong public ephemeral key Y"); + } else if (v_encrypted_sym_key != '87F98EB59319410C4662A36896050E8C'O) { + setverdict(fail, "Wrong encrypted key"); + } else if (v_authentication_vector != 'B172706220E6F234E857C153E87AA534'O) { + setverdict(fail, "Wrong authentication vector"); + } else { + setverdict(pass); + } + + v_decyphered_message := fx_decryptWithEciesNistp256WithSha256(v_cyphered_message, v_recipientPrivateKey, v_publicEphemeralKeyX, 1, v_encrypted_sym_key, v_authentication_vector, v_nonce, v_salt); + log("v_decyphered_message=", v_decyphered_message); + if ('9169155B08B07674CBADF75FB46A7B0D'O != v_decyphered_message) { + setverdict(fail, "Failed to decrypt"); + } else { + setverdict(pass, "Decryption succeed"); + } + } // End of testcase tc_test_encryptWithEciesNistp256WithSha256_2 + + /** + * @desc Test ECIES encryption using NIST-P256 + * @see IEEE Std 1609.2-2017 Clause 5.3.5 Public key encryption algorithms: ECIES + * @see https://www.nominet.uk/researchblog/how-elliptic-curve-cryptography-encryption-works/ + * @see http://digital.csic.es/bitstream/10261/32671/1/V2-I2-P7-13.pdf + * @return The encrypted message + */ + testcase tc_test_encryptWithEciesNistp256WithSha256_3() runs on TCType system TCType { + + var Oct32 v_privateEphemeralKey := '1384C31D6982D52BCA3BED8A7E60F52FECDAB44E5C0EA166815A8159E09FFB42'O; + var Oct32 v_publicEphemeralKeyX; + var Oct32 v_publicEphemeralKeyY; + var octetstring v_salt := '05BED5F867B89F30FE5552DF414B65B9DD4073FC385D14921C641A145AA12051'O; // Wrong value in IEEE Std 1609.2-2017 + var Oct32 v_recipientPrivateKey := 'DA5E1D853FCC5D0C162A245B9F29D38EB6059F0DB172FB7FDA6663B925E8C744'O; + var Oct32 v_recipientPublicKeyX := '8008B06FC4C9F9856048DA186E7DC390963D6A424E80B274FB75D12188D7D73F'O; + var Oct32 v_recipientPublicKeyY := '2774FB9600F27D7B3BBB2F7FCD8D2C96D4619EF9B4692C6A7C5733B5BAC8B27D'O; + var octetstring v_cyphered_message; + var octetstring v_decyphered_message; + var Oct16 v_authentication_vector; + var Oct16 v_encrypted_sym_key; + var Oct12 v_nonce; + + // Cypher text is the symetric encryption key + v_cyphered_message := fx_test_encryptWithEciesNistp256WithSha256('687E9757DEBFD87B0C267330C183C7B6'O, v_privateEphemeralKey, v_recipientPublicKeyX, v_recipientPublicKeyY, v_salt, v_publicEphemeralKeyX, v_publicEphemeralKeyY, v_encrypted_sym_key, v_authentication_vector, v_nonce); + log("v_cyphered_message=", v_cyphered_message); + if (v_publicEphemeralKeyX != 'F45A99137B1BB2C150D6D8CF7292CA07DA68C003DAA766A9AF7F67F5EE916828'O) { + setverdict(fail, "Wrong public ephemeral key X"); + } else if (v_publicEphemeralKeyY != 'F6A25216F44CB64A96C229AE00B479857B3B81C1319FB2ADF0E8DB2681769729'O) { + setverdict(fail, "Wrong public ephemeral key Y"); + } else if (v_encrypted_sym_key != '1F6346EDAEAF57561FC9604FEBEFF44E'O) { + setverdict(fail, "Wrong encrypted key"); + } else if (v_authentication_vector != '373c0fa7c52a0798ec36eadfe387c3ef'O) { + setverdict(fail, "Wrong authentication vector"); + } else { + setverdict(pass); + } + + v_decyphered_message := fx_decryptWithEciesNistp256WithSha256(v_cyphered_message, v_recipientPrivateKey, v_publicEphemeralKeyX, 1, v_encrypted_sym_key, v_authentication_vector, v_nonce, v_salt); + log("v_decyphered_message=", v_decyphered_message); + if ('687E9757DEBFD87B0C267330C183C7B6'O != v_decyphered_message) { + setverdict(fail, "Failed to decrypt"); + } else { + setverdict(pass, "Decryption succeed"); + } + } // End of testcase tc_test_encryptWithEciesNistp256WithSha256_3 + + /** + * @desc Test ECIES encryption using NIST-P256 + * @see IEEE Std 1609.2-2017 Clause 5.3.5 Public key encryption algorithms: ECIES + * @see https://www.nominet.uk/researchblog/how-elliptic-curve-cryptography-encryption-works/ + * @see http://digital.csic.es/bitstream/10261/32671/1/V2-I2-P7-13.pdf + * @return The encrypted message + */ + testcase tc_test_encryptWithEciesNistp256WithSha256_4() runs on TCType system TCType { + + var Oct32 v_privateEphemeralKey := '4624A6F9F6BC6BD088A71ED97B3AEE983B5CC2F574F64E96A531D2464137049F'O; + var Oct32 v_publicEphemeralKeyX; + var Oct32 v_publicEphemeralKeyY; + var octetstring v_salt := '05BED5F867B89F30FE5552DF414B65B9DD4073FC385D14921C641A145AA12051'O; // Wrong value in IEEE Std 1609.2-2017 + var Oct32 v_recipientPrivateKey := 'DA5E1D853FCC5D0C162A245B9F29D38EB6059F0DB172FB7FDA6663B925E8C744'O; + var Oct32 v_recipientPublicKeyX := '8008B06FC4C9F9856048DA186E7DC390963D6A424E80B274FB75D12188D7D73F'O; + var Oct32 v_recipientPublicKeyY := '2774FB9600F27D7B3BBB2F7FCD8D2C96D4619EF9B4692C6A7C5733B5BAC8B27D'O; + var octetstring v_cyphered_message; + var octetstring v_decyphered_message; + var Oct16 v_authentication_vector; + var Oct16 v_encrypted_sym_key; + var Oct12 v_nonce; + + // Cypher text is the symetric encryption key + v_cyphered_message := fx_test_encryptWithEciesNistp256WithSha256('687E9757DEBFD87B0C267330C183C7B6'O, v_privateEphemeralKey, v_recipientPublicKeyX, v_recipientPublicKeyY, v_salt, v_publicEphemeralKeyX, v_publicEphemeralKeyY, v_encrypted_sym_key, v_authentication_vector, v_nonce); + log("v_cyphered_message=", v_cyphered_message); + if (v_publicEphemeralKeyX != '121AA495C6B2C07A2B2DAEC36BD207D6620D7E6081050DF5DE3E9696868FCDCA'O) { + setverdict(fail, "Wrong public ephemeral key X"); + } else if (v_publicEphemeralKeyY != '46C31A1ABEA0BDDAAAAEFBBA3AFDBFF1AC8D196BC313FC130926810C05503950'O) { + setverdict(fail, "Wrong public ephemeral key Y"); + } else if (v_encrypted_sym_key != '6CFD13B76436CD0DB70244FAE380CBA1'O) { + setverdict(fail, "Wrong encrypted key"); + } else if (v_authentication_vector != 'c8bf18ac796b0b1d3a1256d3a91676c8'O) { + setverdict(fail, "Wrong authentication vector"); + } else { + setverdict(pass); + } + + v_decyphered_message := fx_decryptWithEciesNistp256WithSha256(v_cyphered_message, v_recipientPrivateKey, v_publicEphemeralKeyX, 1, v_encrypted_sym_key, v_authentication_vector, v_nonce, v_salt); + log("v_decyphered_message=", v_decyphered_message); + if ('687E9757DEBFD87B0C267330C183C7B6'O != v_decyphered_message) { + setverdict(fail, "Failed to decrypt"); + } else { + setverdict(pass, "Decryption succeed"); + } + } // End of testcase tc_test_encryptWithEciesNistp256WithSha256_4 + /** * @desc Test ECIES encryption using NIST-P256 * @see IEEE Std 1609.2-2017 Clause 5.3.5 Public key encryption algorithms: ECIES @@ -219,7 +442,7 @@ module TestCodec_SignedAndEncryptedMessages { ); log("v_signed_data = ", v_signed_data); v_encMsg := encvalue(valueof(v_signed_data)); - v_cypheredPayload := f_encryptWithEciesNistp256WithSha256(bit2oct(v_encMsg), v_tsPublicKeyCompressed, v_tsCompressedMode, v_publicEphemeralKeyCompressed, v_ephemeralKeyModeCompressed, v_encrypted_sym_key, v_authentication_vector, v_nonce); + v_cypheredPayload := f_encryptWithEciesNistp256WithSha256(bit2oct(v_encMsg), v_tsPublicKeyCompressed, v_tsCompressedMode, ''O, v_publicEphemeralKeyCompressed, v_ephemeralKeyModeCompressed, v_encrypted_sym_key, v_authentication_vector, v_nonce); v_recipientId := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_encMsg))); // IEEE Std 1609.2a-2017 Clause 6.3.34 PKRecipientInfo // Fill Certificate template with the public compressed keys (canonical form) if (v_ephemeralKeyModeCompressed == 0) { @@ -325,7 +548,7 @@ module TestCodec_SignedAndEncryptedMessages { ); log("v_signed_data = ", v_signed_data); v_encMsg := encvalue(valueof(v_signed_data)); - v_cypheredPayload := f_encryptWithEciesNistp256WithSha256(bit2oct(v_encMsg), v_tsPublicKeyCompressed, v_tsCompressedMode, v_publicEphemeralKeyCompressed, v_ephemeralKeyModeCompressed, v_encrypted_sym_key, v_authentication_vector, v_nonce); + v_cypheredPayload := f_encryptWithEciesNistp256WithSha256(bit2oct(v_encMsg), v_tsPublicKeyCompressed, v_tsCompressedMode, ''O, v_publicEphemeralKeyCompressed, v_ephemeralKeyModeCompressed, v_encrypted_sym_key, v_authentication_vector, v_nonce); v_recipientId := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_encMsg))); // IEEE Std 1609.2a-2017 Clause 6.3.34 PKRecipientInfo // Fill Certificate template with the public compressed keys (canonical form) if (v_ephemeralKeyModeCompressed == 0) { @@ -356,7 +579,7 @@ module TestCodec_SignedAndEncryptedMessages { ); log("v_encrypted_data = ", v_encrypted_data); - if (f_decrypt(v_tsPrivateKey, valueof(v_encrypted_data), v_decrypted_data) == false) { + if (f_decrypt(v_tsPrivateKey, valueof(v_encrypted_data), ''O, v_decrypted_data) == false) { setverdict(fail, "f_decrypt failed"); } else { log("v_decrypted_data = ", v_decrypted_data); @@ -430,7 +653,7 @@ module TestCodec_SignedAndEncryptedMessages { ); log("v_signed_data = ", v_signed_data); v_encMsg := encvalue(valueof(v_signed_data)); - v_cypheredPayload := f_encryptWithEciesNistp256WithSha256(bit2oct(v_encMsg), v_tsPublicKeyCompressed, v_tsCompressedMode, v_publicEphemeralKeyCompressed, v_ephemeralKeyModeCompressed, v_encrypted_sym_key, v_authentication_vector, v_nonce); + v_cypheredPayload := f_encryptWithEciesNistp256WithSha256(bit2oct(v_encMsg), v_tsPublicKeyCompressed, v_tsCompressedMode, ''O, v_publicEphemeralKeyCompressed, v_ephemeralKeyModeCompressed, v_encrypted_sym_key, v_authentication_vector, v_nonce); v_recipientId := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_encMsg))); // IEEE Std 1609.2a-2017 Clause 6.3.34 PKRecipientInfo // Fill Certificate template with the public compressed keys (canonical form) if (v_ephemeralKeyModeCompressed == 0) { @@ -461,7 +684,7 @@ module TestCodec_SignedAndEncryptedMessages { ); log("v_encrypted_data = ", v_encrypted_data); - if (f_decrypt(v_tsPrivateKey, valueof(v_encrypted_data), v_decrypted_data) == false) { + if (f_decrypt(v_tsPrivateKey, valueof(v_encrypted_data), ''O, v_decrypted_data) == false) { setverdict(fail, "f_decrypt failed"); stop; } @@ -569,7 +792,7 @@ module TestCodec_SignedAndEncryptedMessages { ); log("v_encrypted_data = ", v_encrypted_data); - if (f_decrypt(v_tsPrivateKey, valueof(v_encrypted_data), v_decrypted_data) == false) { + if (f_decrypt(v_tsPrivateKey, valueof(v_encrypted_data), ''O, v_decrypted_data) == false) { setverdict(fail, "f_decrypt failed"); } else { log("v_decrypted_data = ", v_decrypted_data); @@ -702,9 +925,15 @@ module TestCodec_SignedAndEncryptedMessages { execute(tc_test_hmac_sha256_test1()); execute(tc_test_hmac_sha256_test2()); execute(tc_test_hmac_sha256_test3()); + execute(tc_test_hmac_sha256_test4()); execute(tc_test_encrypt_aes_128_ccm_test_1()); execute(tc_test_encrypt_aes_128_ccm_test_2()); execute(tc_test_encrypt_aes_128_ccm_test_3()); + execute(tc_test_encrypt_aes_128_gcm_test_1()); + execute(tc_test_encryptWithEciesNistp256WithSha256_1()); + execute(tc_test_encryptWithEciesNistp256WithSha256_2()); + execute(tc_test_encryptWithEciesNistp256WithSha256_3()); + execute(tc_test_encryptWithEciesNistp256WithSha256_4()); execute(tc_encrypted_signed_message_1()); execute(tc_decrypted_signed_message_2()); execute(tc_decrypted_signed_message_3()); diff --git a/unittests/codec/ttcn/test_CommonCodec.ttcn3 b/unittests/codec/ttcn/test_CommonCodec.ttcn3 deleted file mode 100644 index 7c89f88b4483049f985256b940d929fc02329a04..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_CommonCodec.ttcn3 +++ /dev/null @@ -1,76 +0,0 @@ -module test_CommonCodec /*language "TTCN-3:2009 Advanced Parameterization"*/ { - - import from LibItsSecurity_TestSystem all; - - type component TCType extends ItsSecurityBaseComponent { } - - type record TestRecord { - bitstring bs optional - } - - function test_decodePDU<PDUType>(in template PDUType p_pdu, in template (present) octetstring p_expEncMsg) runs on TCType { - var PDUType v_decMsg; - var bitstring v_encMsg; - var integer v_res := 0; - - v_res := decvalue(oct2bit(valueof(p_expEncMsg)), v_decMsg); - select (v_res) { - case (0) { - if(match(v_decMsg, p_pdu)) { - setverdict(pass); - } else { - setverdict(fail); - } - } - case (1) { - setverdict(fail, "Decoding failed."); - } - case (2) { - setverdict(fail, "Not enough bits."); - } - } // End of 'select' statement - } // End of function test_decodePDU<PDUType> - - function test_PDU<PDUType>(in PDUType p_pdu, in boolean p_decode:=true, in template (omit) bitstring p_expEncMsg:=omit) runs on TCType { - var PDUType v_decMsg; - var bitstring v_encMsg; - var integer v_res := 0; - var TestRecord v_tr := { bs := p_expEncMsg } - - v_encMsg := encvalue(p_pdu); - log("Encoded message: ", bit2oct(v_encMsg)); - - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - - if (ispresent(v_tr.bs)) { - if (not match(v_encMsg, p_expEncMsg)) { - setverdict(fail, "Encoding failed, not the expected result!"); - stop; - } - } - - setverdict(pass, "Encoding passed."); - - if (p_decode == true) { - v_res := decvalue(v_encMsg, v_decMsg); - select (v_res) { - case (0) { - if(match(v_decMsg, p_pdu)) { - setverdict(pass); - } else { - setverdict(fail); - } - } - case (1) { - setverdict(fail, "Decoding failed."); - } - case (2) { - setverdict(fail, "Not enough bits."); - } - } - } - } // End of function test_PDU<PDUType> -} \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsBtp_TypesAndValues.ttcn b/unittests/codec/ttcn/test_LibItsBtp_TypesAndValues.ttcn deleted file mode 100644 index 33560f3514aef2ca63a57b2b7345edadcee0a1b1..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsBtp_TypesAndValues.ttcn +++ /dev/null @@ -1,337 +0,0 @@ -module test_LibItsBtp_TypesAndValues /*language "TTCN-3:2009 Advanced Parameterization"*/ { - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - - // LibItsBtp - import from LibItsBtp_TypesAndValues all; - import from LibItsBtp_TestSystem all; - import from LibItsBtp_Templates all; - - import from test_CommonCodec all; - - group LibItsBtp_testCases { - - group LibItsBtp_DummyTemplates { - - template (value) UtBtpTrigger m_utEventBtpA := { - btpA := { - btpAHeader := { - destinationPort := 1234, - sourcePort := 5678 - } - } - } - - template (value) UtBtpTrigger m_utEventBtpB := { - btpB := { - btpBHeader := { - destinationPort := 123, - destinationPortInfo := 432 - } - } - } - - template BtpInd m_btpInd(template (present) BtpPacket p_btpPkt) := { - msgIn := p_btpPkt - } - - template (value) BtpPacket m_btpA_Without_Payload ( - template (value) BtpPortId p_destPort, - template (value) BtpPortId p_sourcePort - ):= { - header := { - btpAHeader := { - destinationPort := p_destPort, - sourcePort := p_sourcePort - } - }, - payload := omit - } - - template BtpPacket m_btpA_With_Payload ( - in template (value) BtpPortId p_destPort, - in template (value) BtpPortId p_sourcePort, - in template DecodedBtpPayload p_decodedPayload, - in template (value) octetstring p_rawPayload - ) := { - header := { - btpAHeader := { - destinationPort := p_destPort, - sourcePort := p_sourcePort - } - }, - payload := { - decodedPayload := p_decodedPayload, - rawPayload := p_rawPayload - } - } - - template BtpPacket mw_btpA_With_Payload ( - in template (present) BtpPortId p_destPort, - in template (present) BtpPortId p_sourcePort, - in template DecodedBtpPayload p_decodedPayload, - in template (present) octetstring p_rawPayload - ) := { - header := { - btpAHeader := { - destinationPort := p_destPort, - sourcePort := p_sourcePort - } - }, - payload := { - decodedPayload := p_decodedPayload, - rawPayload := p_rawPayload - } - } - - template (value) BtpPacket m_btpB_Without_Payload ( - template (value) BtpPortId p_destPort, - template (value) BtpPortId p_destinationPortInfo - ):= { - header := { - btpBHeader := { - destinationPort := p_destPort, - destinationPortInfo := p_destinationPortInfo - } - }, - payload := omit - } - - } // End of group LibItsBtp_DummyTemplates - - group testAcPrimitives { - } // End of group testAcPrimitives - - group testBtpPrimitiveMessages { - - // /** - // * @desc validate BtpReq/BTP type A - // * @verdict Pass on success, Fail otherwise - // */ - // testcase tc_BtpReq_A() runs on TCType system TCType { - // test_PDU<BtpReq>( - // m_btpReq( m_btpA_Without_Payload (1234, 5678)), - // true, - // oct2bit('4b000a34000732000404d2162e'O)); - // } - // - // /** - // * @desc validate BtpReq/BTP type A with payload - // * @verdict Pass on success, Fail otherwise - // */ - // testcase tc_BtpReq_A_With_Payload() runs on TCType system TCType { - // test_PDU<BtpReq>( - // m_btpReq( - // m_btpAWithPorts ( - // 1234, - // 5678, - // { - // decodedPayload := omit, - // rawPayload := 'ca5caded'O - // } // End of 'payload' field - // )), - // true, - // oct2bit('4b000e34000b32000404d2162eca5caded'O)); - // } - // - // /** - // * @desc validate BtpReq/BTP type A with payload - // * @verdict Pass on success, Fail otherwise - // */ - // testcase tc_BtpReq_A_With_DenmPayload() runs on TCType system TCType { - // test_PDU<BtpReq>( - // m_btpReq( - // m_btpAWithPorts ( - // 1234, - // 5678, - // { - // decodedPayload := { - // denmPacket := { - // header := { - // protocolVersion := 0, - // messageID := 1, - // generationTime := 1319187879132 - // }, - // denm := { - // management := { - // actionID := { - // stationID := 2339, - // sequenceNo := 29 - // }, - // dataVersion := 0, - // expiryTime := 1319187938835, - // frequency := omit, - // reliability := 0, - // isNegation := false - // }, - // situation := { - // trafficFlowEffect := omit, - // situation := { cause := 103, subCause := 0 }, - // linkedCause := omit, - // severity := informative, - // eventCharact := omit, - // vehicleCommonParameters := omit, - // profile := omit - // }, - // location := { - // eventPosition := { - // eventPositionCurrentDefinition := { - // refPosition := { - // longitude := { hemisphere := east, degree := 0 }, - // latitude := { hemisphere := north, degree := 0 }, - // elevation := 0, - // heading := 0, - // streetName := omit, - // positionConfidence := 0, - // elevationConfidence := 0, - // roadSegmentID := omit - // }, - // eventSpeed := 0 - // } - // }, - // locationRef := { - // trace := { - // traceID := 0, - // waypoints := { - // { ptLat := { hemisphere := south, degree := 0 }, - // ptLong := { hemisphere := west, degree := 0 }, - // ptAlt := 0 - // } - // } - // } - // }, - // relevanceArea := { - // geoAreaCenterLatitude := { hemisphere := south, degree := 0 }, - // geoAreaCenterLongitude := { hemisphere := west, degree := 0 }, - // shape := {circle := { radius := 0 } }, - // directionalityFilter := noFilter, - // disseminationAreaSize := omit - // } - // } - // } // End of 'denm' field - // } // End of 'denmPacket' field - // }, // End of 'decodedPayload' field - // rawPayload := '0001013325b994dc400001246003a0002664b74fc2600067002d80000000000000000013880000007ffd00a0000000400000000013880085a80000001000000000000000'O - // } // End of 'payload' field - // )), - // true, - // oct2bit('4b004e34004b32000404d2162e0001013325b994dc400001246003a0002664b74fc2600067002d80000000000000000013880000007ffd00a0000000400000000013880085a80000001000000000000000'O)); - // } - // - /** - * @desc validate BtpReq/BTP type B - * @verdict Pass on success, Fail otherwise - */ - testcase tc_BtpReq_B() runs on TCType system TCType { - test_PDU<BtpReq>( - m_btpReq( m_btpB_Without_Payload (4321, 8765)), - true, - oct2bit('10E1223D'O)); - } - - /** - * @desc validate BtpReq/BTP type B with payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_BtpReq_B_With_Payload() runs on TCType system TCType { - test_PDU<BtpReq>( - m_btpReq( - m_btpBWithPorts ( - 4321, - 8765, - { - decodedPayload := omit, - rawPayload := 'F1A7F007ED'O - } // End of 'payload' field - )), - true, - oct2bit('10E1223DF1A7F007ED'O)); - } - - /** - * @desc validate BtpInd/BTP type A - * @verdict Pass on success, Fail otherwise - */ - testcase tc_BtpInd_A() runs on TCType system TCType { - test_PDU<BtpInd>( - m_btpInd( m_btpA_Without_Payload (4321, 8765)), - true, - oct2bit('10E1223D'O)); - } - - /** - * @desc validate BtpInd/BTP type A with payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_BtpInd_A_With_Payload() runs on TCType system TCType { - test_PDU<BtpInd>( - m_btpInd( - m_btpAWithPorts ( - 4321, - 8765, - { - decodedPayload := omit, - rawPayload := 'F1A7F007ED'O - } // End of 'payload' field - )), - true, - oct2bit('10E1223DF1A7F007ED'O)); - } - - testcase tc_BtpInd_A_With_CamPayload() runs on TCType system TCType { - test_decodePDU<BtpInd>( - { msgIn := mw_btpA_With_Payload(4321, 8765, ?, ?) }, - '10E1223D01020001B20788B80059F48D95CDEFC8C5E0020020002461A83C000004805A100C4528399D4C387FFF80'O - ); - } - - testcase tc_BtpInd_A_With_TrunkatedCamPayload() runs on TCType system TCType { - test_decodePDU<BtpInd>( - { msgIn := mw_btpA_With_Payload(4321, 8765, ?, ?) }, - '10E1223D000c32000410e1223d00000133256c5b1e40000248d6c0000000000000000009c4080000003ffe83e80004000000000000007ffd7ffe00'O - ); - - if (getverdict() == fail) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_BtpInd_A_With_DenmPayload() runs on TCType system TCType { - test_decodePDU<BtpInd>( - { msgIn := mw_btpA_With_Payload(4321, 8765, ?, ?) }, - '10E1223D01010001b207c70000d90380000a084901ea828212407b8cfa46cae6f7e4630001001000186a000009600c05b00000dffff7fffd8ce40400'O - ); - } - - } // End of group testBtpPrimitiveMessages - - group LibItsBtp_testCases { - - testcase tc_BTP_A() runs on TCType system TCType { - test_PDU<BtpPacket>(m_btpA (BtpPayload:{decodedPayload := omit, rawPayload := '0102030405'O } ), true, oct2bit('000000000102030405'O)); - } - - } // End of group LibItsBtp_testCases - - group testUtEvent { - - testcase tc_UtBtpInitialize() runs on TCType system TCType { - test_PDU<UtInitialize>(m_btpInitialize, false); - } - - testcase tc_UtEvent_A() runs on TCType system TCType { - test_PDU<UtBtpTrigger>(m_utEventBtpA, false); - } - - testcase tc_UtEvent_B() runs on TCType system TCType { - test_PDU<UtBtpTrigger>(m_utEventBtpB, false); - } - - } // End of group testUtEvent - - } // End of group LibItsBtp_testCases - -} // End of module test_LibItsBtp_TypesAndValues \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsCam_TypesAndValues.ttcn b/unittests/codec/ttcn/test_LibItsCam_TypesAndValues.ttcn deleted file mode 100644 index 3da095cddc2b64a266d390a5b9825c4e7abbff8f..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsCam_TypesAndValues.ttcn +++ /dev/null @@ -1,186 +0,0 @@ -module test_LibItsCam_TypesAndValues /*language "TTCN-3:2009 Advanced Parameterization"*/ { - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from CAM_PDU_Descriptions language "ASN.1:1997"all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - import from LibItsCommon_Templates all; - - // AtsCam - import from LibItsCam_TestSystem all; - import from LibItsCam_Templates all; - import from LibItsCam_TypesAndValues all; - import from LibItsCam_Functions all; - import from LibItsCommon_Functions all; - - import from test_CommonCodec all; - - group LibItsCam_testCases { - - group camTemplates { - - template (value) CAM m_camMsg( - StationID p_stationId, - GenerationDeltaTime p_generationTime - ) := { - header := { - protocolVersion := 1, - messageID := 2, - stationID := p_stationId - }, - cam := { - generationDeltaTime := p_generationTime, - camParameters := { - basicContainer := { - stationType := StationType_passengerCar_, - referencePosition := { - latitude := f_integer2Latitude(f_getTsLatitude()), - longitude := f_integer2Longitude(f_getTsLongitude()), - positionConfidenceEllipse := { - semiMajorConfidence := SemiAxisLength_oneCentimeter_, - semiMinorConfidence := SemiAxisLength_oneCentimeter_, - semiMajorOrientation := HeadingValue_wgs84North_ - }, - altitude := { - altitudeValue := AltitudeValue_referenceEllipsoidSurface_, - altitudeConfidence := unavailable - } - } - }, - highFrequencyContainer := { - basicVehicleContainerHighFrequency := { - heading := { - headingValue := HeadingValue_wgs84North_, //0 - headingConfidence := 10 - }, - speed := { - speedValue := 45, - speedConfidence := 5 - }, - driveDirection := forward, - vehicleLength := { - vehicleLengthValue := 50, - vehicleLengthConfidenceIndication := noTrailerPresent - }, - vehicleWidth := 21, - longitudinalAcceleration := { - longitudinalAccelerationValue := LongitudinalAccelerationValue_unavailable_, - longitudinalAccelerationConfidence := AccelerationConfidence_unavailable_ - }, - curvature := { - curvatureValue := CurvatureValue_straight_, - curvatureConfidence := unavailable - }, - curvatureCalculationMode := yawRateUsed, - yawRate := { - yawRateValue := YawRateValue_straight_, - yawRateConfidence := unavailable - }, - accelerationControl := omit, - lanePosition := omit, - steeringWheelAngle := omit, - lateralAcceleration := omit, - verticalAcceleration := omit, - performanceClass := omit, - cenDsrcTollingZone := omit - } - }, - lowFrequencyContainer := omit, - specialVehicleContainer := omit - } - } - }; - - } // End of group camTemplates - - group testAcEvent { - - testcase tc_acSetAtCertificate() runs on TCType system TCType { - test_PDU<AcSecPrimitive>(m_acEnableSecurity("AT_IUT_1"), false); - } - - testcase tc_acSecResponse() runs on TCType system TCType { - test_decodePDU<AcSecResponse>(AcSecResponse:?, '040101'O); - } - - } // End of group testAcEvent - - group testUtEvent { - - testcase tc_UtCamInitialize() runs on TCType system TCType { - test_PDU<UtInitialize>(m_camInitialize, false); - } - - testcase tc_changeHeading() runs on TCType system TCType { - test_PDU<UtCamTrigger>(m_changeHeading(5), false); - } - - testcase tc_changePosition() runs on TCType system TCType { - test_PDU<UtChangePosition>( - UtChangePosition: { - latitude := 49845, - longitude := 631, - elevation := 512 - }, - false - ); - } - - testcase tc_changeSpeed() runs on TCType system TCType { - test_PDU<UtCamTrigger>(m_changeSpeed(2), false); - } - - testcase tc_UtCamEventInd_01() runs on TCType system TCType { - var octetstring v_data := '23002901020001b207b2f40056b49d200d693a40000200200030d41e0000012016840310a50733a9870fffd0'O; - test_decodePDU<UtCamEventInd>(UtCamEventInd:?, v_data); - } - - } // End of group testUtEvent - - group testCamPrimitiveMessages { - - testcase tc_CamReq() runs on TCType system TCType { - log("v_camReq=", m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime - ) - )); - log("v_camReq=", bit2oct(encvalue(m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime - ) - )))); - test_PDU<CamReq>( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime - ) - ), - true, - oct2bit('01020001B20788B80059F48D95CDEFC8C6000200200030D41E0000012016840310A50733A9870FFFD0'O) - ); - } - - testcase tc_encodeCamTemplate() runs on TCType system TCType { - var template (value) CamReq v_camReq := m_camReq( - m_camMsg_vehicle_HF_BV( - f_getTsStationId(), - f_getCurrentTime() mod 65536, // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime - m_tsPosition - ) - ); - log("v_camReq=", v_camReq); - log("v_camReq=", bit2oct(encvalue(v_camReq))); - - } - - } // End of group testCamPrimitiveMessages - - } // End of group LibItsCam_testCases -} \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsDenm_TypesAndValues.ttcn b/unittests/codec/ttcn/test_LibItsDenm_TypesAndValues.ttcn deleted file mode 100644 index d2764b075a075866c22e3ec56b8b2678f773bd7a..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsDenm_TypesAndValues.ttcn +++ /dev/null @@ -1,129 +0,0 @@ -module test_LibItsDenm_TypesAndValues /*language "TTCN-3:2009 Advanced Parameterization"*/ { - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - - // AtsCam - import from LibItsDenm_TestSystem all; - import from LibItsDenm_Templates all; - import from LibItsDenm_TypesAndValues all; - - import from LibItsDenm_Functions all; - import from LibItsCommon_Functions all; - - import from test_CommonCodec all; - - group LibItsDenm_testCases { - - group testDenmPrimitiveMessages { - - testcase tc_DenmReq() runs on TCType system TCType { - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - - test_PDU<DenmReq>( - m_denmReq( - m_denmPdu( - m_denm( - m_denmMgmtCon( - m_tsActionId - ), - v_situation, - m_denmLocation_zeroDelta - ) - ) - ) - ); - } - - testcase tc_DenmInd() runs on TCType system TCType { - - test_decodePDU<DenmInd>( - mw_denmInd(?), - '01010ac83c18c605641e0c00000a4fa98248e293ea60ef8d453481c6ea53ad7ffffffe11dbba1f00280b600cfdf0f9900003bedd4f073b19c0180e22699d7318ce01106fb8b3c300c6700aeeFFFFFFFFFFFFFFFFFFFFFFFF'O - ); - - } - - } // End of group testDenmPrimitiveMessages - - group testUtEvent { - - testcase tc_UtDenmInitialize() runs on TCType system TCType { - test_PDU<UtInitialize>(m_denmInitialize, false); - } - - testcase tc_eventSituation() runs on TCType system TCType { - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - - test_PDU<UtDenmTrigger>( - m_utTriggerEvent( - v_situation - ), - false - ); - } - - testcase tc_UtDenmTrigger_01() runs on TCType system TCType { - test_PDU<UtDenmTrigger>( - m_utTriggerEvent( - m_situation( - CauseCodeType_vehicleBreakdown_, - VehicleBreakdownSubCauseCode_unavailable_ - ) - ), - false - ); - } - - testcase tc_UtDenmTrigger_02() runs on TCType system TCType { - const TransmissionInterval c_repetitionInterval := c_interval_1sec; // INTERVAL_1 - const ValidityDuration c_validityDuration := c_duration_10sec; // DURATION_2 - const ValidityDuration c_repetitionDuration := c_validityDuration; // DURATION_1 - // Local variables - var template (value) SituationContainer v_situation := m_situation ( CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_ ); - test_PDU<UtDenmTrigger>( - m_utTriggerEvent( - m_situation( - CauseCodeType_vehicleBreakdown_, - VehicleBreakdownSubCauseCode_unavailable_ - ), - c_validityDuration, - c_repetitionDuration, - c_repetitionInterval - ), - false - ); - } - - testcase tc_UtDenmUpdate_01() runs on TCType system TCType { - test_PDU<UtDenmUpdate>( - m_utUpdateEvent( - m_tsActionId(10), - m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_) - ), - false - ); - } - - testcase tc_UtDenmTriggerResult_01() runs on TCType system TCType { - test_decodePDU<UtDenmTriggerResult>( - UtDenmTriggerResult:?, - '1101000082350001'O - ); - } - - testcase tc_UtDenmUpdateResult_01() runs on TCType system TCType { - test_decodePDU<UtDenmUpdateResult>( - UtDenmTriggerResult:?, - '1301000082350001'O - ); - } - - } // End of group testUtEvent - - } // End of group LibItsDenm_testCases -} \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsExternalFunctions.ttcn3 b/unittests/codec/ttcn/test_LibItsExternalFunctions.ttcn3 deleted file mode 100644 index c8d27be9c601cab05584d818d4d9f9b0c8c9472e..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsExternalFunctions.ttcn3 +++ /dev/null @@ -1,834 +0,0 @@ -module test_LibItsExternalFunctions { - - // LibCommon - import from LibCommon_BasicTypesAndValues {type UInt8;} - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from CAM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_Functions all; - - // LibItsCam - import from LibItsCam_Templates all; - - // LibItsIpv6OverGeoNetworking - import from LibItsIpv6OverGeoNetworking_TypesAndValues { - type Ipv6Address, RouterAdvertisementMsg; - } - import from LibItsIpv6OverGeoNetworking_Functions all; - - // LibItsSecurity - import from LibItsSecurity_TypesAndValues all; - import from LibItsSecurity_Functions all; - - import from test_CommonCodec all; - - template (value) UInt8 m_ICMPv6_protocoId := 58; // = 0x3a: ICMPv6 protocol ID - - group externalFunction_testCases { - - group testValues_01 { - - template (value) Ipv6Address m_src_01 := 'fe80000000000000020086fffe0580da'O; // fe80::200:86ff:fe05:80da - - template (value) Ipv6Address m_dst_01 := 'fe80000000000000026097fffe0769ea'O; // fe80::260:97ff:fe07:69ea - - template (value) octetstring m_ipv6Payload_01 := '8700000000000000fe80000000000000026097fffe0769ea01010000860580da'O; - // template (value) octetstring m_ipv6Payload_01 := '870068bd00000000fe80000000000000026097fffe0769ea01010000860580da'O; - /*template (value) RouterAdvertisementMsg m_ipv6Payload := { - icmpType := c_rtAdvMsg, - icmpCode := 0, - checksum := '68bd'O, - curHopLimit := , - managedConfigFlag, - otherConfigFlag, - homeAgentFlag, - reserved, - routerLifetime, - reachableTime, - retransTimer, - rtAdvOptions := omit - }*/ - - template (value) integer m_payloadLength_01 := 32; - - template octetstring mw_checksum_01 := '68bd'O; - - } // End of group testValues_01 - - group testValues_02 { - - template (value) Ipv6Address m_src_02 := '2001ffff000000000000000000000002'O; - - template (value) Ipv6Address m_dst_02 := '2001ffff000000000000000000000001'O; - - template (value) octetstring m_ipv6Payload_02 := '80000000636801004a43ec45d23f0b0008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'O; - // template (value) octetstring m_ipv6Payload_02 := '8000dc4b636801004a43ec45d23f0b0008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'O; - - template (value) integer m_payloadLength_02 := 64; - - template octetstring mw_checksum_02 := 'dc4b'O; - - } // End of group testValues_02 - - group testValues_03 { - - template (value) Ipv6Address m_src_03 := '2001ffff000000000000000000000001'O; // 2001:ffff::1 - - template (value) Ipv6Address m_dst_03 := '2001ffff000000000000000000000002'O; // 2001:ffff::2 - - template (value) octetstring m_ipv6Payload_03 := '8100000072680500b043ec45f3500b0008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'O; - // template (value) octetstring m_ipv6Payload_03 := '8100413a72680500b043ec45f3500b0008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'O; - - template (value) integer m_payloadLength_03 := 64; - - template octetstring mw_checksum_03 := '413a'O; - - } // End of group testValues_03 - - group externalFunctionsGN { - - testcase tc_computePositionUsingDistance_01() runs on TCType system TCType { - var ReferencePosition v_referencePosition; - var float v_offSet; - - v_referencePosition := valueof(m_tsPosition); - v_offSet := 1000.0; - - log("v_referencePosition = ", v_referencePosition); - fx_computePositionUsingDistance( - v_referencePosition.latitude, - v_referencePosition.longitude, - v_offSet, - v_referencePosition.positionConfidenceEllipse.semiMajorOrientation, - v_referencePosition.latitude, - v_referencePosition.longitude - ); - log("New position = lat:", v_referencePosition.latitude, ", lon:", v_referencePosition.longitude); - - setverdict(pass); - } - - testcase tc_computeIPv6Checksum_01() runs on TCType system TCType { - var octetstring v_checksum; - - v_checksum := f_computeIPv6CheckSum( - m_src_01, - m_dst_01, - m_payloadLength_01, - m_ipv6Payload_01, - m_ICMPv6_protocoId); - - if (match(v_checksum, mw_checksum_01) == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_computeIPv6Checksum_02() runs on TCType system TCType { - var octetstring v_checksum; - - v_checksum := f_computeIPv6CheckSum( - m_src_02, - m_dst_02, - m_payloadLength_02, - m_ipv6Payload_02, - m_ICMPv6_protocoId); - - if (match(v_checksum, mw_checksum_02) == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_computeIPv6Checksum_03() runs on TCType system TCType { - var octetstring v_checksum; - - v_checksum := f_computeIPv6CheckSum( - m_src_03, - m_dst_03, - m_payloadLength_03, - m_ipv6Payload_03, - m_ICMPv6_protocoId); - - if (match(v_checksum, mw_checksum_03) == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - } // End of group externalFunctionsGN - - group externalFunctionsSec { - - testcase tc_generateKeyPair_01() runs on TCType system TCType { - var boolean v_result; - var octetstring/*UInt64*/ v_privateKey; - var octetstring v_publicKeyX; - var octetstring v_publicKeyY; - - v_result := fx_generateKeyPair(v_privateKey, v_publicKeyX, v_publicKeyY); - log("v_result = ", v_result); - log("privateKey = ", v_privateKey); - log("publicKeyX = ", v_publicKeyX); - log("publicKeyY = ", v_publicKeyY); - - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_hashWithSha256_01() runs on TCType system TCType { - var octetstring v_data; - var octetstring v_hash := ''O; - - v_data := 'DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF'O; - v_hash := f_hashWithSha256(v_data); - log("v_hash = ", v_hash); - - setverdict(pass); - } - - testcase tc_signWithEcdsaNistp256WithSha256_01() runs on TCType system TCType { - var boolean v_result; - var octetstring v_toBeSignedSecuredMessage; - var octetstring/*UInt64*/ v_privateKey; - var octetstring v_publicKeyX; - var octetstring v_publicKeyY; - var octetstring v_hash, v_sign; - - fx_generateKeyPair(v_privateKey, v_publicKeyX, v_publicKeyY); - log("privateKey = ", v_privateKey); - log("publicKeyX = ", v_publicKeyX); - log("publicKeyY = ", v_publicKeyY); - - v_toBeSignedSecuredMessage := '0203811D80020209010727A031EE3F372C01008091000004EA807A2D6CC220D563C6C74047C764407AF5F21240C403A40697294A94CF3CF0846C8DF447DA62EAC49DBA51EEC4AF7C8B1E0BCC67822626B2112E2FC56BE4C1010100044F0CBC2A8AF10F5476AE4180828D9C62D82215E0EDCBDCAB74AA49C1B6D260455E949EA97B9A98F64BDA55FA2441F4BE82BB45DB1B4F9B194B5471A6058F6E8602202006C04080C04081240153C13EED5A391AED0303181DB9CF7C052616001DB9566E0526872A1D53F0D0052783500000EBEECFB8A931E5FBA5138808836CEC66EE5C99095693DDFE235076B91C8E2B0013DEAEB76EC813F6C205333E0050434FE7F29F2980C352B7FB1578CE2AA6F394000000004E526ED10203000004D20000162E002F2200200010800000000100BC21A4FEDECABEEF0001E240000012F8000002A38037269401'O; - v_hash := f_hashWithSha256(v_toBeSignedSecuredMessage); - log("length v_hash = ", lengthof(v_hash)); - log("v_hash = ", v_hash); - v_sign := fx_signWithEcdsaNistp256WithSha256(v_toBeSignedSecuredMessage, v_privateKey); - log("length v_sign = ", lengthof(v_sign)); - log("v_sign = ", v_sign); - - - log(substr(v_sign, 2, 32)); - log(substr(v_sign, 34, 32)); - - - v_result := fx_verifyWithEcdsaNistp256WithSha256(v_toBeSignedSecuredMessage, v_sign, v_publicKeyX, v_publicKeyY); - log("v_result = ", v_result); - - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - } // End of group externalFunctionsSec - - group externalFunctionsGeodesic { - - testcase tc_dms2dd() runs on TCType system TCType { - - if (48.857253 != f_dms2dd(48, 51, 26.1108, "N")) { // Latitude Paris - setverdict(fail); - } - if (2.294489 != f_dms2dd(2, 17, 40.16, "E")) { // Longitude Paris - setverdict(fail); - } - if (42.560225 != f_dms2dd(42, 33, 36.81, "N")) { // Latitude Ackley, Iowa - setverdict(fail); - } - if (-93.057803 != f_dms2dd(93, 3, 28.09, "W")) { // Longitude Ackley, Iowa - setverdict(fail); - } - if (-33.962156 != f_dms2dd(33, 57, 43.76, "S")) { // Latitude Port Elisabeth, South Africa - setverdict(fail); - } - if (25.623722 != f_dms2dd(25, 37, 25.40, "E")) { // Longitude , Port ElisabethSouth Africa - setverdict(fail); - } - if (35.674131 != f_dms2dd(35, 40, 26.87, "N")) { // Latitude Tokyo - setverdict(fail); - } - if (139.770375 != f_dms2dd(139, 46, 13.35, "E")) { // Longitude Tokyo - setverdict(fail); - } - if (-37.823108 != f_dms2dd(37, 49, 23.19, "S")) { // Latitude Melbourne - setverdict(fail); - } - if (144.977039 != f_dms2dd(144, 58, 37.34, "E")) { // Longitude Melbourne - setverdict(fail); - } - if (-54.657792 != f_dms2dd(54, 39, 28.05, "S")) { // Latitude Faro San Diego - setverdict(fail); - } - if (65.119572 != f_dms2dd(65, 7, 10.46, "E")) { // Longitude Faro San Diego - setverdict(fail); - } - if (42.0 != f_dms2dd(42, 0, 0.0, "N")) { // Longitude Faro San Diego - setverdict(fail); - } - if (0.0 != f_dms2dd(37, 49, 23.29, "A")) { // Latitude - setverdict(fail); - } - else { - setverdict(pass); - } - } - - testcase tc_isValidPolygonalRegion_01() runs on TCType system TCType { - var boolean v_result; - var PolygonalRegion v_polygonalArea; - - v_result := f_isValidPolygonalRegion(v_polygonalArea); - - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isValidPolygonalRegion_02() runs on TCType system TCType { - var boolean v_result; - var PolygonalRegion v_polygonalArea; - - v_polygonalArea := {}; - - v_result := f_isValidPolygonalRegion(v_polygonalArea); - - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isValidPolygonalRegion_03() runs on TCType system TCType { - var boolean v_result; - var PolygonalRegion v_polygonalArea; - - v_polygonalArea := { - { // Darmstadt, Germany - latitude := 498716540, - longitude := 8638208 - }, - { - latitude := 498685550, - longitude := 8641105 - }, - { - latitude := 492040400, - longitude := 8647560 - } - }; - - v_result := f_isValidPolygonalRegion(v_polygonalArea); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsidePolygonalRegion_01() runs on TCType system TCType { - var boolean v_result; - var PolygonalRegion v_polygonalArea; - var ThreeDLocation v_location; - - v_polygonalArea := { - { // Sisteron, France - latitude := f_ddlat2int(f_dms2dd(44, 11, 56.91, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 56, 33.28, "E")) - }, - { // Nice, France - latitude := 437101728, - longitude := 7261953 - }, - { // Marseille, france - latitude := f_ddlat2int(f_dms2dd(43, 17, 39.40, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 21, 29.19, "E")) - }, - { // Cevennes National Park, france - latitude := f_ddlat2int(f_dms2dd(44, 19, 23.34, "N")), - longitude := f_ddlon2int(f_dms2dd(3, 35, 39.21, "E")) - } - }; - v_location := { // Location outside: Brest, France - latitude := f_ddlat2int(f_dms2dd(48, 23, 35.91, "N")), - longitude := f_ddlon2int(f_dms2dd(4, 29, 16.65, "W")), - elevation := '0000'O - }; - v_result := f_isLocationInsidePolygonalRegion(v_polygonalArea, v_location); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_location := { // Location inside: Forcalquier, France - latitude := f_ddlat2int(f_dms2dd(43, 57, 47.40, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 46, 47.42, "E")), - elevation := '0000'O - }; - v_result := f_isLocationInsidePolygonalRegion(v_polygonalArea, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsidePolygonalRegion_03() runs on TCType system TCType { - var boolean v_result; - var PolygonalRegion v_polygonalArea; - var ThreeDLocation v_location; - - v_polygonalArea := { // Florida, Usa - { // Upper left corner - latitude := 310002130, - longitude := -87584839 - }, - { - latitude := 310096290, - longitude := -85003052 - }, - { - latitude := 307267260, - longitude := -84838257 - }, - { - latitude := 305849620, - longitude := -82168579 - }, - { - latitude := 307361700, - longitude := -81476441 - }, - { // Upper right corner - latitude := 290023750, - longitude := -80795288 - }, - { - latitude := 268965980, - longitude := -79938355 - }, - { - latitude := 258137380, - longitude := -80059204 - }, - { - latitude := 249302800, - longitude := -80454712 - }, - { - latitude := 244011350, - longitude := -81817017 - }, - { - latitude := 247009270, - longitude := -81959839 - }, - { - latitude := 249502030, - longitude := -81124878 - }, - { - latitude := 260015000, - longitude := -82014771 - }, - { - latitude := 278332470, - longitude := -83014527 - }, - { - latitude := 288389000, - longitude := -82871704 - }, - { - latitude := 299872930, - longitude := -84091187 - }, - { - latitude := 295390530, - longitude := -85134888 - }, - { - latitude := 302723520, - longitude := -86475220 - }, - { - latitude := 302818390, - longitude := -87628784 - } - }; - v_location := { // Location inside: Forcalquier, France - latitude := 308211200, - longitude := -87255249, - elevation := '0000'O - }; - v_result := f_isLocationInsidePolygonalRegion(v_polygonalArea, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_location := { // Location outside: Forcalquier, France - latitude := 439599330, - longitude := 5780711, - elevation := '0000'O - }; - v_result := f_isLocationInsidePolygonalRegion(v_polygonalArea, v_location); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsideRectangularRegion_01() runs on TCType system TCType { - var boolean v_result; - var RectangularRegions v_rectangularAreas; - var ThreeDLocation v_location; - - v_rectangularAreas := - { - { // Wyoming, USA - { // Upper left corner - latitude := f_ddlat2int(f_dms2dd(45, 0, 0.0, "N")), - longitude := f_ddlon2int(f_dms2dd(111, 0, 0.0, "W")) - }, - { // Lower right corner - latitude := f_ddlat2int(f_dms2dd(41, 0, 0.0, "N")), - longitude := f_ddlon2int(f_dms2dd(104, 0, 0.0, "W")) - } - } - }; - v_location := { // Location outside: Kimball Muni/robert E Arraj Field, Nebraska - latitude := f_ddlat2int(f_dms2dd(41, 11, 17.0, "N")), - longitude := f_ddlon2int(f_dms2dd(103, 40, 38.6, "W")), - elevation := '0000'O - } - v_result := f_isLocationInsideRectangularRegion(v_rectangularAreas, v_location); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_location := { // Location inside: Bridger Creek Airport, Wyoming - latitude := f_ddlat2int(f_dms2dd(43, 20, 25.85, "N")), - longitude := f_ddlon2int(f_dms2dd(107, 41, 13.29, "W")), - elevation := '0000'O - } - v_result := f_isLocationInsideRectangularRegion(v_rectangularAreas, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsideCircularRegion_01() runs on TCType system TCType { - var boolean v_result; - var CircularRegion v_circularArea; - var ThreeDLocation v_location; - - v_circularArea := - { - { // Center: Heathrow Airport, Great Britain - latitude := f_ddlat2int(f_dms2dd(51, 28, 20.57, "N")), - longitude := f_ddlon2int(f_dms2dd(0, 27, 3.38, "W")) - }, - 2000 // Radius in meters: 2 Km - }; - v_location := { // Location outside: Sheffield Town Hall, Great Britain - latitude := f_ddlat2int(f_dms2dd(53, 22, 49.38, "N")), - longitude := f_ddlon2int(f_dms2dd(1, 28, 12.12, "W")), - elevation := '0000'O - } - v_result := f_isLocationInsideCircularRegion(v_circularArea, v_location); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - v_location := { // Location inside: Harlington Baptist Church, Great Britain - latitude := f_ddlat2int(f_dms2dd(51, 29, 12.73, "N")), - longitude := f_ddlon2int(f_dms2dd(0, 26, 7.6, "W")), - elevation := '0000'O - } - v_result := f_isLocationInsideCircularRegion(v_circularArea, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsideIdentifiedRegion_01() runs on TCType system TCType { - var boolean v_result; - var IdentifiedRegion v_area; - var ThreeDLocation v_location; - - v_area := { - region_dictionary := e_iso_3166_1, // ISO 3166-1 - region_identifier := 250, // France - local_region := 83 // Var - } - - v_location := { // Location ouside: Harlington Baptist Church, Great Britain - latitude := f_ddlat2int(f_dms2dd(51, 29, 12.73, "N")), - longitude := f_ddlon2int(f_dms2dd(0, 26, 7.6, "W")), - elevation := '0000'O - } - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_location := { // Location inside: Les oliviers de la mairie, place Villeneuve Bargemon, Marseille, France - latitude := f_ddlat2int(f_dms2dd(43, 17, 48.57, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 22, 9.61, "E")), - elevation := '0000'O - } - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_location := { // Location inside: Cattedrale St Leonce e battistero, Frejus, France - latitude := f_ddlat2int(f_dms2dd(43, 25, 58.13, "N")), - longitude := f_ddlon2int(f_dms2dd(6, 44, 11.18, "E")), - elevation := '0000'O - } - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsideIdentifiedRegion_02() runs on TCType system TCType { - var boolean v_result; - var IdentifiedRegion v_area; - var ThreeDLocation v_location; - - v_area := { - region_dictionary := e_iso_3166_1, // ISO 3166-1 - region_identifier := 1024, // Unknown country code - local_region := 0 - } - - v_location := { // Location outside: Les oliviers de la mairie, place Villeneuve Bargemon, Marseille, France - latitude := f_ddlat2int(f_dms2dd(43, 17, 48.57, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 22, 9.61, "E")), - elevation := '0000'O - } - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsideIdentifiedRegion_03() runs on TCType system TCType { - var boolean v_result; - var IdentifiedRegion v_area; - var ThreeDLocation v_location; - - v_area := { - region_dictionary := e_un_stats, // UN states - region_identifier := 250, // France code in UN - local_region := 0 - } - - v_location := { // Location inside: Les oliviers de la mairie, place Villeneuve Bargemon, Marseille, France - latitude := f_ddlat2int(f_dms2dd(43, 17, 48.57, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 22, 9.61, "E")), - elevation := '0000'O - } - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_location := { // Location inside: Les oliviers de la mairie, place Villeneuve Bargemon, Marseille, France - latitude := f_ddlat2int(f_dms2dd(43, 17, 48.57, "N")), - longitude := f_ddlon2int(f_dms2dd(5, 22, 9.61, "E")), - elevation := '0000'O - } - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isLocationInsideIdentifiedRegion_04() runs on TCType system TCType { - var boolean v_result; - var IdentifiedRegion v_area; - var ThreeDLocation v_location; - - v_area := { - region_dictionary := e_iso_3166_1, // ISO 3166-1 - region_identifier := 528, // France - local_region := 0 // Var - } - - v_location := { latitude := 51478701, longitude := 5654746, elevation := '0000'O }; - v_result := f_isLocationInsideIdentifiedRegion(v_area, v_location); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - } - - testcase tc_isPolygonalRegionInside_01() runs on TCType system TCType { - var boolean v_result; - var PolygonalRegion v_parent, v_region; - - v_parent := { - } - v_region := { - } - - v_result := f_isPolygonalRegionInside(v_parent, v_region); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_parent := { - { // Forteza, Brasil - latitude := f_ddlat2int(f_dms2dd(3, 51, 51.317, "S")), - longitude := f_ddlon2int(f_dms2dd(38, 23, 10.429, "W")) - }, - { // Sao Paulo, Brasil - latitude := f_ddlat2int(f_dms2dd(23, 43, 30.042, "S")), - longitude := f_ddlon2int(f_dms2dd(46, 30, 58.007, "W")) - }, - { // Douradina, Brasil - latitude := f_ddlat2int(f_dms2dd(21, 59, 1.685, "S")), - longitude := f_ddlon2int(f_dms2dd(54, 38, 45.585, "W")) - }, - { // Sorriso, Brasil - latitude := f_ddlat2int(f_dms2dd(12, 58, 59.332, "S")), - longitude := f_ddlon2int(f_dms2dd(55, 5, 13.476, "W")) - } - }; - v_region := { - }; - - v_result := f_isPolygonalRegionInside(v_parent, v_region); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_result := f_isPolygonalRegionInside(v_parent, v_region); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_region := { // Part of the region inside - { // Goias, Brasil - latitude := f_ddlat2int(f_dms2dd(13, 9, 15.754, "S")), - longitude := f_ddlon2int(f_dms2dd(49, 38, 10.429, "W")) - }, - { // Araguaiana, Brasil - latitude := f_ddlat2int(f_dms2dd(15, 9, 25.105, "S")), - longitude := f_ddlon2int(f_dms2dd(51, 31, 33.164, "W")) - }, - { // Espirito Santo, Brasil - latitude := f_ddlat2int(f_dms2dd(20, 52, 45.635, "S")), - longitude := f_ddlon2int(f_dms2dd(40, 48, 11.601, "W")) - } - } - v_result := f_isPolygonalRegionInside(v_parent, v_region); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_region := { // Region inside - { // Goias, Brasil - latitude := f_ddlat2int(f_dms2dd(13, 9, 15.754, "S")), - longitude := f_ddlon2int(f_dms2dd(49, 38, 10.429, "W")) - }, - { // Araguaiana, Brasil - latitude := f_ddlat2int(f_dms2dd(15, 9, 25.105, "S")), - longitude := f_ddlon2int(f_dms2dd(51, 31, 33.164, "W")) - }, - { // Piaui, Brasil - latitude := f_ddlat2int(f_dms2dd(10, 8, 30.954, "S")), - longitude := f_ddlon2int(f_dms2dd(45, 21, 45.175, "W")) - } - } - v_result := f_isPolygonalRegionInside(v_parent, v_region); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_region := { // Region Outside - { // Naramjos, Peru - latitude := f_ddlat2int(f_dms2dd(5, 44, 49.827, "S")), - longitude := f_ddlon2int(f_dms2dd(77, 30, 50.537, "W")) - }, - { // Tarapoto, Peru - latitude := f_ddlat2int(f_dms2dd(6, 30, 3.237, "S")), - longitude := f_ddlon2int(f_dms2dd(76, 20, 18.603, "W")) - }, - { // Cajamarca, Peru - latitude := f_ddlat2int(f_dms2dd(7, 10, 37.923, "S")), - longitude := f_ddlon2int(f_dms2dd(78, 30, 49.658, "W")) - } - } - v_result := f_isPolygonalRegionInside(v_parent, v_region); - if (v_result == false) { - setverdict(pass); - } else { - setverdict(fail); - } - - v_result := f_isPolygonalRegionInside(v_region, v_region); - if (v_result == true) { - setverdict(pass); - } else { - setverdict(fail); - } - - } - - } // End of group externalFunctionsGeodesic - - } // End of group externalFunction_testCases - -} // End of module test_LibItsExternalFunctions \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsFntp_TypesAndValues.ttcn3 b/unittests/codec/ttcn/test_LibItsFntp_TypesAndValues.ttcn3 deleted file mode 100644 index 2a01e915994e0c5e84339f6cf21ae1123e6f81a5..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsFntp_TypesAndValues.ttcn3 +++ /dev/null @@ -1,2 +0,0 @@ -module test_LibItsFntp_TypesAndValues { -} // End of module test_LibItsFntp_TypesAndValues \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsFsap_TypesAndValues.ttcn3 b/unittests/codec/ttcn/test_LibItsFsap_TypesAndValues.ttcn3 deleted file mode 100644 index 4f010929915f9dd62dd579cfbba6d8cef45166f1..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsFsap_TypesAndValues.ttcn3 +++ /dev/null @@ -1,2 +0,0 @@ -module test_LibItsFsap_TypesAndValues { -} // End of module test_LibItsFsap_TypesAndValues \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsGeoNetworking_TypesAndValues.ttcn b/unittests/codec/ttcn/test_LibItsGeoNetworking_TypesAndValues.ttcn deleted file mode 100644 index 291615d4ce2778ee2da9952d9089597dbc962d92..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsGeoNetworking_TypesAndValues.ttcn +++ /dev/null @@ -1,3583 +0,0 @@ -module test_LibItsGeoNetworking_TypesAndValues /*language "TTCN-3:2009 Advanced Parameterization"*/ { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - import from LibCommon_DataStrings all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from CAM_PDU_Descriptions language "ASN.1:1997"all; - import from DENM_PDU_Descriptions language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - import from LibItsCommon_Templates all; - import from LibItsCommon_Functions all; - - // LibItsExternal - import from LibItsExternal_TypesAndValues all; - - // LibItsCam - import from LibItsCam_TypesAndValues all; - import from LibItsCam_TestSystem all; - import from LibItsCam_Templates 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; - - // LibItsGeoNetworking - import from LibItsGeoNetworking_TypesAndValues all; - import from LibItsGeoNetworking_Templates all; - import from LibItsGeoNetworking_Functions all; - import from LibItsGeoNetworking_TestSystem all; - import from LibItsGeoNetworking_Pixits all; - import from LibItsGeoNetworking_Pics all; - - // AtsSecurity - import from AtsSecurity_Functions all; - -// import from LibItsIpv6OverGeoNetworking_TypesAndValues all; -// import from LibItsIpv6OverGeoNetworking_Templates all; -// import from LibItsExternal_TypesAndValues all; - - import from test_CommonCodec all; - - import from test_LibItsBtp_TypesAndValues { - template all - }; - - group LibItsGeoNetworking_testCases { - - group LibItsGeoNetworking_DummyTemplates { - - /** - * @desc Dummy template for GN_Address - */ - template (value) GN_Address m_dummyGnAddrIut := { - typeOfAddress := e_manual, - stationType := e_roadSideUnit, - stationCountryCode := 33, - mid := 'a4fedecabeef'O - } - - /** - * @desc Dummy template for long position vector - */ - template (value) LongPosVector m_dummyLongPosVectorIut := { - gnAddr := m_dummyGnAddrIut, - timestamp_ := 123456, - latitude := 4856, - longitude := 675, - pai := '1'B, - speed := 55, - heading := 9876 - } - - template (value) GN_Address m_dummyGnAddrNodeA := { - typeOfAddress := e_manual, - stationType := e_pedestrian, - stationCountryCode := 49, - mid := 'a4fdea5ea5ed'O - } - - template (value) GN_Address m_dummyGnAddrNodeB := { - typeOfAddress := e_manual, - stationType := e_specialVehicle, - stationCountryCode := 50, - mid := 'a40102030405'O - } - - template (value) GN_Address m_dummyGnAddrNodeC := { - typeOfAddress := e_manual, - stationType := e_moped, - stationCountryCode := 42, - mid := 'deadbabebeef'O - } - - template (value) LongPosVector m_dummyLongPosVectorNodeA := { - gnAddr := m_dummyGnAddrNodeA, - timestamp_ := 875, - latitude := 265, - longitude := 789, - pai := '0'B, - speed := 80, - heading := 548 - } - - template (value) LongPosVector m_dummyLongPosVectorNodeB := { - gnAddr := m_dummyGnAddrNodeB, - timestamp_ := 4585, - latitude := 126, - longitude := 123, - pai := '0'B, - speed := 45, - heading := 125 - } - - template (value) LongPosVector m_dummyLongPosVectorNodeC := { - gnAddr := m_dummyGnAddrNodeC, - timestamp_ := 23644, - latitude := 23754, - longitude := 49645, - pai := '0'B, - speed := 110, - heading := 23 - } - - template (value) Area m_dummyArea1 := { - geoAreaPosLatitude := 298376, - geoAreaPosLongitude := 32745, - distanceA := 1234, - distanceB := 6078, - angle := 9123 - } - - template (value) Area m_dummyArea2 := { - geoAreaPosLatitude := 873548, - geoAreaPosLongitude := 2837, - distanceA := 8765, - distanceB := 4321, - angle := 4567 - } - - template (value) GeoBroadcastArea m_dummyGeoBroadcastArea1 := { - geoBroadcastSubType := e_geoBroadcastRect, - geoBroadcastArea := m_dummyArea1 - } - - template (value) GeoBroadcastArea m_dummyGeoBroadcastArea2 := { - geoBroadcastSubType := e_geoBroadcastElip, - geoBroadcastArea := m_dummyArea2 - } - - template (value) GeoAnycastArea m_dummyGeoAnycastArea1 := { - geoAnycastSubType := e_geoAnycastCircle, - geoAnycastArea := m_dummyArea1 - } - - template (value) GeoAnycastArea m_dummyGeoAnycastArea2 := { - geoAnycastSubType := e_geoAnycastRect, - geoAnycastArea := m_dummyArea2 - } - - /** - * @desc Send template for GeoUnicast header - * @param p_sourceLongPosVec Long position vector of source - * @param p_destinationLongPosVec Long position vector of destination - * @param p_senderLongPosVec Long position vector of sender - * @param p_seqNumber Sequence number of GeoUnicast packet - */ - template (value) ExtendedHeader m_geoUnicastHeaderBtp( - in template (value) LongPosVector p_sourceLongPosVec, - in template (value) ShortPosVector p_dstPosVector, - in template (value) UInt16 p_seqNumber - ) := { - geoUnicastHeader := { - seqNumber := p_seqNumber, - reserved := c_uInt8Zero, - srcPosVector := p_sourceLongPosVec, - dstPosVector := p_dstPosVector - } - } - - } // End of group LibItsGeoNetworking_DummyTemplates - - group camTemplates { - - template (value) CAM m_camMsg( - StationID p_stationId, - GenerationDeltaTime p_generationTime - ) := { - header := { - protocolVersion := 1, - messageID := 2, - stationID := p_stationId - }, - cam := { - generationDeltaTime := p_generationTime, - camParameters := { - basicContainer := { - stationType := StationType_passengerCar_, - referencePosition := { - latitude := f_integer2Latitude(f_getTsLatitude()), - longitude := f_integer2Longitude(f_getTsLongitude()), - positionConfidenceEllipse := { - semiMajorConfidence := SemiAxisLength_oneCentimeter_, - semiMinorConfidence := SemiAxisLength_oneCentimeter_, - semiMajorOrientation := HeadingValue_wgs84North_ - }, - altitude := { - altitudeValue := AltitudeValue_referenceEllipsoidSurface_, - altitudeConfidence := unavailable - } - } - }, - highFrequencyContainer := { - basicVehicleContainerHighFrequency := { - heading := { - headingValue := HeadingValue_wgs84North_, //0 - headingConfidence := 10 - }, - speed := { - speedValue := 45, - speedConfidence := 5 - }, - driveDirection := forward, - vehicleLength := { - vehicleLengthValue := 50, - vehicleLengthConfidenceIndication := noTrailerPresent - }, - vehicleWidth := 21, - longitudinalAcceleration := { - longitudinalAccelerationValue := LongitudinalAccelerationValue_unavailable_, - longitudinalAccelerationConfidence := AccelerationConfidence_unavailable_ - }, - curvature := { - curvatureValue := CurvatureValue_straight_, - curvatureConfidence := unavailable - }, - curvatureCalculationMode := yawRateUsed, - yawRate := { - yawRateValue := YawRateValue_straight_, - yawRateConfidence := unavailable - }, - accelerationControl := omit, - lanePosition := omit, - steeringWheelAngle := omit, - lateralAcceleration := omit, - verticalAcceleration := omit, - performanceClass := omit, - cenDsrcTollingZone := omit - - } - }, - lowFrequencyContainer := omit, - specialVehicleContainer := omit - } - } - }; - - } // End of group camTemplates - - group testAcPrimitives { - -// /** -// * -// * @desc validate StartBeaconing primitive -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_startBeaconing() runs on TCType system TCType { -// test_PDU<AcGnPrimitive>( -// m_startBeaconing( -// m_beaconHeader(m_dummyLongPosVectorIut).beaconHeader), -// true, -// oct2bit('010027050024001000000000000a9421a4fedecabeef0001e240000012f8000002a300372694020e6248'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// -// /** -// * -// * @desc validate StartBeaconing primitive for roadside equipment -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_startBeaconingRoadside() runs on TCType system TCType { -// test_PDU<AcGnPrimitive>( -// m_startBeaconingRoadSide, -// true, -// oct2bit('010027050024001000000000000a4c00deadbeef00030000000017d75cf005f5e10003e8000000140000'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// testcase tc_startBeaconingRoadside_NEC() runs on TCType system TCType { -// test_PDU<AcGnPrimitive>( -// m_startBeaconingRoadSide_NEC, -// true, -// oct2bit('010027050024101000000000000a4c00deadbeef0002c90c152800004e20000000000000000000000000'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// testcase tc_startBeaconingRoadside_NEC_1() runs on TCType system TCType { -// test_PDU<AcGnPrimitive>( -// m_startBeaconingRoadSide_NEC_1, -// true, -// oct2bit('010027050024101000000000000a4c00deadbeef0003c926268affffd8f0000000000000000000000000'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// -// /** -// * @desc validate StartPassBeaconing primitive -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_startPassBeaconing() runs on TCType system TCType { -// test_PDU<AcGnPrimitive>( -// m_startPassBeaconing( -// m_beaconHeader(m_dummyLongPosVectorIut).beaconHeader), -// true, -// oct2bit('010027070024001000000000000a9421a4fedecabeef0001e240000012f8000002a300372694020e6248'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// -// /** -// * @desc validate StartBeaconingMultipleNeighbour primitive -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_startBeaconingMultipleNeighbour() runs on TCType system TCType { -// test_PDU<AcGnPrimitive>( -// m_startBeaconingMultipleNeighbour( -// m_beaconHeader(m_dummyLongPosVectorIut).beaconHeader, -// 3), -// true, -// oct2bit('01002b090028001000000000000a9421a4fedecabeef0001e240000012f8000002a300372694020e624800000003'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// - /** - * @desc validate StopBeaconing primitive - * @verdict Pass on success, Fail otherwise - */ - testcase tc_stopBeaconing() runs on TCType system TCType { - test_PDU<AcGnPrimitive>(m_stopBeaconing, true, oct2bit('0001'O)); - } - - /** - * @desc validate StopPassBeaconing primitive - * @verdict Pass on success, Fail otherwise - */ - testcase tc_stopPassBeaconing() runs on TCType system TCType { - test_PDU<AcGnPrimitive>(m_stopPassBeaconing, true, oct2bit('0003'O)); - } - - /** - * @desc validate StopBeaconingMultipleNeighbour - * @verdict Pass on success, Fail otherwise - */ - testcase tc_stopBeaconingMultipleNeighbour() runs on TCType system TCType { - test_PDU<AcGnPrimitive>(m_stopBeaconingMultipleNeighbour, true, oct2bit('0005'O)); - } - - /** - * @desc validate AcGetLongPosVector - * @verdict Pass on success, Fail otherwise - */ - testcase tc_getLongPosVector() runs on TCType system TCType { - test_PDU<AcGnPrimitive>(m_getLongPosVector(m_dummyGnAddrIut), true, oct2bit('0006BC21A4FEDECABEEF'O)); // Check log for TC_GEONW_FDV_COH_BV_01 TC to retrieve the frame - } - -// /** -// * @desc validate AcGnResponse -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_longPosVector() runs on TCType system TCType { -// test_decodePDU<AcGnResponse>(mw_getLongPosVectorAny(m_dummyGnAddrIut), '0300270c00249421a4fedecabeef000030aa000030aa000030aa000030aa000030aa000030aa000030aa'O); // Check log for TC_GEONW_FDV_COH_BV_01 TC to retrieve the frame -// } -// -// /** -// * @desc validate AcGnResponse with a NULL LongPosVector -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_longPosVectorWithNullLongPosVector() runs on TCType system TCType { -// test_decodePDU<AcGnResponse>(mw_getLongPosVectorAny(m_dummyGnAddrIut), '03000b0c00088400000000000001FFFFFFFFFFFF'O); // Check log for TC_GEONW_PON_LPV_BV_01 TC to retrieve the frame -// } -// - /** - * @desc validate AcEnableSecurity - * @verdict Pass on success, Fail otherwise - */ - testcase tc_enableSecurity() runs on TCType system TCType { - if (f_loadCertificates("dummy") == true) { - setverdict(fail); - stop; - } - - // Setup certificates memory cache - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_PDU<AcSecPrimitive>( - m_acEnableSecurity( - "TA_CERT_A" - ), - false - ); - } - - /** - * @desc validate AcDisableSecurity - * @verdict Pass on success, Fail otherwise - */ - testcase tc_disableSecurity() runs on TCType system TCType { - test_PDU<AcSecPrimitive>( - m_acDisableSecurity, - false - ); - } - - } // End of group testAcPrimitives - - group testDeviceSigning { - - /** - * @desc This function build and sign the SecureMessage part covered by the signature process - * @param p_securedMessage The signed SecureMessage part - * @param p_unsecuredPayload The unsigned payload (e.g. a beacon) - * @param p_threeDLocation The ThreeDLocation value - * @param p_headerFileds Additional HeaderFields - * @return true on success, false otherwise - * @verdict Unchanged - */ - function f_buildGnSecuredOtherMessageWithDeviceCertificate( - out template (value) SecuredMessage p_securedMessage, - in octetstring p_signedPayload, - in ThreeDLocation p_threeDLocation, - in template (value) Certificate p_deviceCertificate, - in Oct32 p_devicePrivateKey, - in template (omit) HeaderFields p_hearderFields := omit - ) return boolean { - - // Local variables - var octetstring v_secPayload, v_signature; - var Oct32 v_hash; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - - // Create SecuredMessage payload to be signed - v_toBeSignedSecuredMessage := m_toBeSignedSecuredMessage( - { // Field HeaderFields - m_header_field_signer_info( - m_signerInfo_certificate( - p_deviceCertificate - ) // End of template m_signerInfo_certificate - ), // End of template m_header_field_signer_info - m_header_field_generation_time(1000 * f_getCurrentTime()), // In us - m_header_field_generation_location( - p_threeDLocation - ) - }, // End of field HeaderFields - m_payload_signed( - p_signedPayload - ), - e_signature - ); - v_secPayload := bit2oct(encvalue(v_toBeSignedSecuredMessage)); - log("f_buildGnSecuredOtherMessageWithDeviceCertificate:ithDeviceCertificate v_toBeSignedSecuredMessage: ", v_secPayload); - - // FIXME BUG Framework already compute the hash -// // Calculate the hash of the SecuredMessage payload to be signed -// v_hash := f_hashWithSha256(v_secPayload); -// log("f_buildGnSecuredOtherMessageWithDeviceCertificate: v_hash: ", v_hash); - - // Signed payload - v_signature := fx_signWithEcdsaNistp256WithSha256( - v_secPayload, - p_devicePrivateKey - ); - log("f_buildGnSecuredOtherMessageWithDeviceCertificate: v_signature: ", v_signature); - - p_securedMessage := m_securedMessage( // See Clause 7.3 Generic security profile for other signed messages - v_toBeSignedSecuredMessage.header_fields, - v_toBeSignedSecuredMessage.payload_field, - { - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_y_coordinate_only( - substr(v_signature, 2, 32) - ), - substr(v_signature, 34, 32) - ) - ) - ) - } - ); // End of template md_securedMessage_profileOther - - return true; - } // End of function f_buildGnSecuredOtherMessageWithDeviceCertificate - - testcase tc_checkDeviceSignature_01() runs on TCType system TCType { - // Local variables - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload; - var template (value) SecuredMessage v_securedMessage; - var Certificate v_aaCertificate, v_atCertificate; - var HeaderFields v_mandatoryHeaders := {}; - var HeaderField v_signerInfo; - var template (value) SecPayload p_payloadField := m_payload_signed(v_gnPayload); - var template (omit) SignerInfoType p_signerInfoType := e_certificate; - var template (omit) HeaderFields p_headerFields := { - m_header_field_generation_time(1000 * f_getCurrentTime()), // In us - m_header_field_its_aid_CAM - }; - var template (omit) charstring p_certificateName := cc_taCert_EC; - var boolean p_addMissingHeaders := true; - - f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - - // Add CAM payload - v_gnNonSecuredPacket.payload := valueof( - f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg_vehicle_HF_BV( - f_getTsStationId(), - f_getCurrentTime() mod 65536, // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime - LibItsCam_Templates.m_tsPosition - )))))); - log("v_gnNonSecuredPacket=", v_gnNonSecuredPacket); - - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload=", v_gnPayload); - - // Load certificates if required - if (f_prepareCertificates(p_certificateName, v_aaCertificate, v_atCertificate) == false) { - setverdict(fail); - stop; - } - log("v_aaCertificate=", v_aaCertificate); - log("v_atCertificate=", v_atCertificate); - - if (p_addMissingHeaders == true) { - // Prepare mandatory headers - if (valueof(p_signerInfoType) == e_certificate) { // Add the AT certificate - v_signerInfo := valueof( - m_header_field_signer_info( - m_signerInfo_certificate( - v_atCertificate - ))); - } - if (valueof(p_signerInfoType) == e_certificate_chain) { // Add the AT certificate + AA Certificate - v_signerInfo := valueof( - m_header_field_signer_info( - m_signerInfo_certificates( - { - v_aaCertificate, - v_atCertificate - } - ) - )); - } - if (valueof(p_signerInfoType) == e_certificate_digest_with_sha256) { // Add the AT certificate digest - v_signerInfo := valueof( - m_header_field_signer_info( - m_signerInfo_digest( - f_calculateDigestFromCertificate(v_atCertificate) - ))); - } - v_mandatoryHeaders := { - v_signerInfo, - valueof(m_header_field_generation_time(1000 * f_getCurrentTime())), // In us - valueof(m_header_field_its_aid(c_its_aid_CAM)) - } - } - log("v_mandatoryHeaders=", v_mandatoryHeaders); - - log("v_securedMessage=", v_securedMessage); - - setverdict(pass); - } - - testcase tc_checkDeviceSignature_02() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwBeaconPacket( // Non secured GN beacon - m_dummyLongPosVectorIut - ) - ) - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - log("vc_atCertificate= ", vc_atCertificate); - log("vc_signingPrivateKey= ", vc_signingPrivateKey); - f_buildGnSecuredOtherMessageWithDeviceCertificate( - v_securedMessageBeacon, - v_gnPayload, - m_threeDLocation( - 1234, - 5678, - '002F'O - ), - vc_atCertificate, - vc_signingPrivateKey - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwBeaconPacket( - m_dummyLongPosVectorIut - ), - v_securedMessageBeacon - ) // End of template m_geoNwBeaconPacket - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - log("Secured beacon: ", v_encMsg); - setverdict(pass, "Encoding passed."); - // Decode it - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_securedMessageBeacon, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - } // End of group testSecurityFunctions - - group testGeoNetPrimitiveMessages { - - /** - * @desc validate GeoNetworkingReq/Beacon - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_Beacon() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A0010800000000100BC21A4FEDECABEEF0001E240000012F8000002A380372694FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBeaconPacket( - m_dummyLongPosVectorIut - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - true, - oct2bit(v_buffer) - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Beacon with certificate digest in header fields - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredBeacon_digest() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwBeaconPacket( // Non secured GN beacon - m_dummyLongPosVectorIut - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwBeaconPacket( - m_dummyLongPosVectorIut - ), - v_securedMessageBeacon - ) // End of template m_geoNwBeaconPacket - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - log("Secured beacon: ", v_encMsg); - setverdict(pass, "Encoding passed."); - // Decode it - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured GeoNetworkingReq/Beacon with certificate in header fields - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredBeacon_certificate() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwBeaconPacket( // Non secured GN beacon - m_dummyLongPosVectorIut - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwBeaconPacket( - m_dummyLongPosVectorIut - ), - v_securedMessageBeacon - ) // End of template m_geoNwBeaconPacket - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - log("Secured beacon: ", v_encMsg); - setverdict(pass, "Encoding passed."); - // Decode it - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured GeoNetworkingReq/Beacon - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredBeacon_WithAdditionalHeaders() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - log("vc_signingPrivateKey=", vc_signingPrivateKey); - log("vc_encryptPrivateKey=", vc_encryptPrivateKey); - log("vc_aaCertificate=", vc_aaCertificate); - log("vc_atCertificate=", vc_atCertificate); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwBeaconPacket( // Non secured GN beacon - m_dummyLongPosVectorIut - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ), - { - { - type_ := e_request_unrecognized_certificate, - headerField := { - digests := { '00CAFE'O } - } - } - } - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwBeaconPacket( - m_dummyLongPosVectorIut - ), - v_securedMessageBeacon - ) // End of template m_geoNwBeaconPacket - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - log("Secured beacon: ", v_encMsg); - setverdict(pass, "Encoding passed."); - // Decode it - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured digest GeoNetworkingReq/LsRequest - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_LsRequestPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A0060800000000A0030390000BC21A4FEDECABEEF0001E240000012F8000002A380372694BC21A4FEDECABEEFFFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwLsRequestPacket( - m_dummyLongPosVectorIut, - 12345, - m_dummyGnAddrIut - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer) - ); - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured digest GeoNetworkingReq/LsRequest - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestLsRequestPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwLsRequestPacket( - m_dummyLongPosVectorIut, - 12345, - m_dummyGnAddrIut - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwLsRequestPacket( - m_dummyLongPosVectorIut, - 12345, - m_dummyGnAddrIut - ), // End of template m_geoNwLsRequestPacket - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - - setverdict(pass, "Encoding passed."); - // Decode it - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("Secured beacon: ", v_encMsg); - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/LsReply - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_LsReplyPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A0061800000000A0030390000BC21A4FEDECABEEF0001E240000012F8000002A3803726948431A4FDEA5EA5ED0000036B0000010900000315FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwLsReplyPacket( - m_dummyLongPosVectorIut, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorNodeA), - 12345 - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer) - ); - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/LsReply - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredLsReplyPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwLsReplyPacket( - m_dummyLongPosVectorIut, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorNodeA), - 12345 - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwLsReplyPacket( - m_dummyLongPosVectorIut, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorNodeA), - 12345 - ), // End of template m_geoNwLsReplyPacket - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - - setverdict(pass, "Encoding passed."); - // Decode it - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("Secured beacon: ", v_encMsg); - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/NwShb - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_NwShbPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A00508000000F0A00BC21A4FEDECABEEF0001E240000012F8000002A3803726940000000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwShbPacket( - m_dummyLongPosVectorIut - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false - ); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate GeoNetworkingReq/NwShb with a CAM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_NwShbPacketWithBtpPayloadCam() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A10508000002E0A00BC21A4FEDECABEEF0001E240000012F8000002A380372694000000000000000001020001B20788B80059F48D95CDEFC8C5E0020020002461A83C000004805A100C4528399D4C387FFF80FFFFFFFFFFFF'O; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwShbPacket( - m_dummyLongPosVectorIut - ))); - v_gnReq.msgOut.gnPacket.packet.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - - test_PDU<GeoNetworkingReq>( - v_gnReq, - false - ); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 46; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate GeoNetworkingReq/NwShb with a DENM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_NwShbPacketWithBtpPayloadDenm() runs on TCType system TCType { - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A20508000003C0A00BC21A4FEDECABEEF0001E240000012F8000002A3803726940000000007D2000001010001B207C70000D90380000A0843ABBBE28210EAF534FA46CAE6F7E4630001001000186A000009600C05B00000DFFFF7FFFD8CE40400FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_btpB) { - log("PX_GN_UPPER_LAYER shall be set to e_btpB"); - setverdict(inconc); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwShbPacket( - m_dummyLongPosVectorIut - ))); - v_gnReq.msgOut.gnPacket.packet.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_denmReq( - m_denmPdu( - m_denm( - m_denmMgmtCon( - m_tsActionId - ), - v_situation, - m_denmLocation_zeroDelta - ) - ) - ) - ) - ) - ); - - test_PDU<GeoNetworkingReq>( - v_gnReq, - false - ); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 60; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/NwShb - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredNwShbPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwShbPacket( - m_dummyLongPosVectorIut - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwShbPacket( - m_dummyLongPosVectorIut - ), // End of template m_geoNwLsReplyPacket - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with digest GeoNetworkingReq/NwShb with a CAM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestNwShbPacketWithBtpPayloadCam() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredCam( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload) - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 45; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with digest GeoNetworkingReq/NwShb with a CAM payload and one additional header field - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestNwShbPacketWithBtpPayloadCam_withMoreHeaders_1() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredCam( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - { - m_header_field_unrecognised_certificate( - f_HashedId3FromHashedId8( - vc_aaCertificate.signer_info.signerInfo.digest - ) - ) - } - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 45; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with digest GeoNetworkingReq/NwShb with a CAM payload and two additional header field - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestNwShbPacketWithBtpPayloadCam_withMoreHeaders_2() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredCam( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - { - m_header_field_generation_location( - vc_location - ), - m_header_field_unrecognised_certificate( - f_HashedId3FromHashedId8( - vc_aaCertificate.signer_info.signerInfo.digest - ) - ) - } - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 45; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with digest GeoNetworkingReq/NwShb with a CAM payload and three additional header field - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestNwShbPacketWithBtpPayloadCam_withMoreHeaders_3() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredCam( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - { - m_header_field_signer_info( - m_signerInfo_certificate( - vc_aaCertificate - )), - m_header_field_generation_location( - vc_location - ), - m_header_field_unrecognised_certificate( - f_HashedId3FromHashedId8( - vc_aaCertificate.signer_info.signerInfo.digest - ) - ) - } - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 45; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with certificate GeoNetworkingReq/NwShb with a CAM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredCertificateNwShbPacketWithBtpPayloadCam() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredCam( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 45; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with certificate chain GeoNetworkingReq/NwShb with a CAM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredCertCertificateNwShbPacketWithBtpPayloadCam() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_camReq( - m_camMsg( - f_getTsStationId(), - 35000 - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredCam( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_chain - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 45; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured with digest GeoNetworkingReq/NwShb with a DENM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestNwShbPacketWithBtpPayloadDenm() runs on TCType system TCType { - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_btpB) { - log("PX_GN_UPPER_LAYER shall be set to e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwShbPacket( - m_dummyLongPosVectorIut - ); - // Add DENM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_denmReq( - m_denmPdu( - m_denm( - m_denmMgmtCon( - m_tsActionId - ), - v_situation, - m_denmLocation_zeroDelta - ) - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Encode it - v_gnPayload := bit2oct( // Create GN payload - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - - f_buildGnSecuredDenm( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - log("v_gnReq= ", v_gnReq); - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 60; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/TSB ExtendedHeader - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_TsbHeaderPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GeoNetworkingPacket v_geoNetworkingPacket; - var octetstring v_payload := 'CAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECA'O; - var octetstring v_buffer := '01002B0A0051800000480A00269400008431A4FDEA5EA5ED0000036B000001090000031500500224CAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECAFFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - setverdict(inconc); - stop; - } - - v_geoNetworkingPacket := m_geoNwPacketWithOctetstringPayload( - m_commonHeader( - PX_GN_UPPER_LAYER, - m_tsbHeaderType, - m_trafficClass, - c_defaultHopLimit - ), - m_tsbHeader( - 9876, - m_dummyLongPosVectorNodeA - ), - v_payload - ); - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - v_geoNetworkingPacket.packet - )); - log("v_gnReq :", v_gnReq); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer) - ); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := lengthof(v_payload); - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/TSB ExtendedHeader - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredTsbHeaderPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GeoNetworkingPacket v_geoNetworkingPacket; - var octetstring v_gnPayload, v_encMsg; - var octetstring v_payload := 'CAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECA'O; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_geoNetworkingPacket := m_geoNwPacketWithOctetstringPayload( - m_commonHeader( - PX_GN_UPPER_LAYER, - m_tsbHeaderType, - m_trafficClass, - c_defaultHopLimit - ), - m_tsbHeader( - 9876, - m_dummyLongPosVectorNodeA - ), - v_payload - ); - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - v_geoNetworkingPacket.packet - )); - v_gnPayload := bit2oct( // Create GN payload - encvalue( - v_gnReq.msgOut.gnPacket.packet - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnReq.msgOut.gnPacket.packet, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := lengthof(v_payload); - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/Anycast - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_AnycastPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_buffer := '01002B0A00308000000F0A001DE60000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D217BE23A3000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - m_dummyLongPosVectorNodeB, - 7654, - m_dummyGeoAnycastArea1 - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Anycast - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredAnycastPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwAnycastPacket( - m_dummyLongPosVectorNodeB, - 7654, - m_dummyGeoAnycastArea1 - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwAnycastPacket( - m_dummyLongPosVectorNodeB, - 7654, - m_dummyGeoAnycastArea1 - ), - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/Anycast with hop limit - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_AnycastPacketWithHopLimit() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var ExtendedHeader v_header := null; - var octetstring v_buffer := '01002B0A00308000000F05001DE60000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D217BE23A3000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwAnycastPacket( - m_dummyLongPosVectorNodeB, - 7654, - m_dummyGeoAnycastArea1, - c_defaultHopLimit / 2 - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Anycast with hop limit - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredAnycastPacketWithHopLimit() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwAnycastPacket( - m_dummyLongPosVectorNodeB, - 7654, - m_dummyGeoAnycastArea1, - c_defaultHopLimit / 2 - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwAnycastPacket( - m_dummyLongPosVectorNodeB, - 7654, - m_dummyGeoAnycastArea1, - c_defaultHopLimit / 2 - ), - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/Unicast - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_UnicastPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var ExtendedHeader v_header := null; - var octetstring v_buffer := '01002B0A00208000000F0A001DE60000A832A40102030405000011E90000007E0000007B002D007DBC21A4FEDECABEEF0001E240000012F8000002A344454641554C545F5041594C4F4144FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - m_dummyLongPosVectorNodeB, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorIut), - 7654 - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Anycast - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestUnicastPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwUnicastPacket( - m_dummyLongPosVectorNodeB, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorIut), - 7654 - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwUnicastPacket( - m_dummyLongPosVectorNodeB, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorIut), - 7654 - ), - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - log("SecuredMsg=", v_encMsg); - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/Unicast with hop limit - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_UnicastPacketWithHopLimit() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var ExtendedHeader v_header := null; - var octetstring v_buffer := '01002B0A00208000000F01001DE60000A832A40102030405000011E90000007E0000007B002D007DBC21A4FEDECABEEF0001E240000012F8000002A344454641554C545F5041594C4F4144FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwUnicastPacket( - m_dummyLongPosVectorNodeB, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorIut), - 7654, - 1 - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Anycast with hop limit - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredUnicastPacketWithHopLimit() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwUnicastPacket( - m_dummyLongPosVectorNodeB, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorIut), - 7654, - 1 - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwUnicastPacket( - m_dummyLongPosVectorNodeB, - f_longPosVector2ShortPosVector(m_dummyLongPosVectorIut), - 7654, - 1 - ), - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/Broadcast - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_BroadcastPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var ExtendedHeader v_header := null; - var octetstring v_buffer := '01002B0A00418000000F0A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D217BE23A3000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ))); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Broadcast - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredBroadcastPacket() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var octetstring v_gnPayload, v_encMsg; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnPayload := bit2oct( // Create GN payload - encvalue( - m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ) - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ), - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingReq/Broadcast with payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_BroadcastPacketWithBtpPayload() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var GeoNetworkingPacket v_geoNetworkingPacket; - var octetstring v_payload := 'CAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECA'O; - var octetstring v_buffer := '01002B0A0041800000480A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D2162E23A30000CAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECAFFFFFFFFFFFF'O; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - v_gnNonSecuredPacket := m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ); - v_geoNetworkingPacket := m_geoNwPacketWithOctetstringPayload( - v_gnNonSecuredPacket.commonHeader, - v_gnNonSecuredPacket.extendedHeader, - v_payload - ); - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - v_geoNetworkingPacket.packet - )); - log("v_gnReq :", v_gnReq); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := lengthof(v_payload); - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate GeoNetworkingReq/Broadcast with payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_BroadcastPacketWithPayloadDenm() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var GeoNetworkingPacket v_geoNetworkingPacket; - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - var octetstring v_buffer := '01002B0A20418000003C0A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D217BE23A3000007D2000001010001B207C70000D90380000A0843F2F2828210FCBCACFA46CAE6F7E4630001001000186A000009600C05B00000DFFFF7FFFD8CE40400FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_btpB) { - log("PX_GN_UPPER_LAYER shall be set to e_btpB"); - stop; - } - - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ))); - v_gnReq.msgOut.gnPacket.packet.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_denmReq( - m_denmPdu( - m_denm( - m_denmMgmtCon( - m_tsActionId - ), - v_situation, - m_denmLocation_zeroDelta - ) - ) - ) - ) - ) - ); - log("v_gnReq :", v_gnReq); - test_PDU<GeoNetworkingReq>( - v_gnReq, - false, - oct2bit(v_buffer)); - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 60; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_buffer - ); - } - - /** - * @desc validate secured GeoNetworkingReq/Broadcast with payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredBroadcastPacketWithBtpPayload() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var GeoNetworkingPacket v_geoNetworkingPacket; - var octetstring v_gnPayload, v_encMsg; - var octetstring v_payload := 'CAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECACAFEDECA'O; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ); - v_geoNetworkingPacket := m_geoNwPacketWithOctetstringPayload( - v_gnNonSecuredPacket.commonHeader, - v_gnNonSecuredPacket.extendedHeader, - v_payload - ); - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwPdu( - v_geoNetworkingPacket.packet - )); - v_gnPayload := bit2oct( // Create GN payload - encvalue( - v_gnReq.msgOut.gnPacket.packet - ) - ); - f_buildGnSecuredOtherMessage( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnReq.msgOut.gnPacket.packet, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg=", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := lengthof(v_payload); - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured digest GeoNetworkingReq/Broadcast with DENM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredDigestBroadcastPacketWithBtpDenm() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var GeoNetworkingPacket v_geoNetworkingPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - var octetstring v_buffer := '01002B0A2041800000390A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D2162E23A300000000000001010001B207C0000D903800000000006072000000188593E91B2B9BDF918BC00400400000C35000C16C0010E0000800018CE00000FFFFFFFFFFFF'O; - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_btpB) { - log("PX_GN_UPPER_LAYER shall be set to e_btpB"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add DENM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_denmReq( - m_denmPdu( - m_denm( - m_denmMgmtCon( - m_tsActionId - ), - v_situation, - m_denmLocation_zeroDelta - ) - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredDenm( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate_digest_with_sha256, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 60; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate secured dcertificate GeoNetworkingReq/Broadcast with DENM payload - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetReq_SecuredCertificateBroadcastPacketWithBtpDenm() runs on TCType system TCType { - var GeoNetworkingReq v_gnReq; - var GnNonSecuredPacket v_gnNonSecuredPacket; - var GeoNetworkingPacket v_geoNetworkingPacket; - var octetstring v_gnPayload, v_encMsg; - var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_); - var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage; - var template (value) SecuredMessage v_securedMessageBeacon; - - if (PX_GN_UPPER_LAYER != e_btpB) { - log("PX_GN_UPPER_LAYER shall be set to e_btpB"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - // Build signed SecuredMessage - v_gnNonSecuredPacket := m_geoNwBroadcastPacket( - m_dummyLongPosVectorNodeB, - 3456, - m_dummyGeoBroadcastArea1 - ); - log("v_gnNonSecuredPacket= ", v_gnNonSecuredPacket); - // Add CAM payload - v_gnNonSecuredPacket.payload := f_adaptPayload_m( - bit2oct( - encvalue( - m_denmReq( - m_denmPdu( - m_denm( - m_denmMgmtCon( - m_tsActionId - ), - v_situation, - m_denmLocation_zeroDelta - ) - ) - ) - ) - ) - ); - log("v_gnNonSecuredPacket.payload= ", v_gnNonSecuredPacket.payload); - // Encode it - v_gnPayload := bit2oct( - encvalue( - v_gnNonSecuredPacket - ) - ); - log("v_gnPayload= ", v_gnPayload); - f_buildGnSecuredDenm( - v_securedMessageBeacon, - m_payload_signed(v_gnPayload), - e_certificate, - m_threeDLocation( - 1234, - 5678, - '002F'O - ) - ); - log("v_securedMessageBeacon= ", v_securedMessageBeacon); - - // Build secured Gn packet - v_gnReq := m_geoNwReq_linkLayerBroadcast( - m_geoNwSecPdu( - v_gnNonSecuredPacket, - v_securedMessageBeacon - ) // End of template m_geoNwSecPdu - ); // End of template m_geoNwReq_linkLayerBroadcast - - // Encode it - v_encMsg := bit2oct(encvalue(v_gnReq)); - log("v_encMsg= ", v_encMsg); - if (not isbound(v_encMsg)) { - setverdict(fail, "Encoding failed!"); - stop; - } - setverdict(pass, "Encoding passed."); - // Decode it - v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 60; - test_decodePDU<GeoNetworkingReq>( - v_gnReq, - v_encMsg - ); - log("v_gnReq: ", v_gnReq); - - if (decvalue(oct2bit(v_encMsg), v_gnReq) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnReq.msgOut.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingInd/Beacon - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetInd_Beacon() runs on TCType system TCType { - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd_withLinkLayerDestination( - mw_geoNwPdu( - mw_geoNwBeaconPacket( - ? - ) - ), - 'FFFFFFFFFFFF'O - ), - '01002B0A0010800000000100BC21A4FEDECABEEF0001E240000012F8000002A380372694FFFFFFFFFFFF'O - ); - } - - /** - * @desc validate secured GeoNetworkingInd/Beacon - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetInd_SecuredBeacon() runs on TCType system TCType { - var GeoNetworkingInd v_gnInd; - var octetstring v_decMsg := '02002B0A021E80015024A224729A4C800000013981FD42941003000004D20000162E002F01200010800000000100BC21A4FEDECABEEF0001E240000012F8000002A380372694430100027714B9A92AC942E36C0B8A87C516770251A24AB00394FBD2C01A9105CA677A95968A816454027D23D26F0CD335C12D111D8FD7D02A85DA45FB2F3E6C99BFE0EAFFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd( - mw_geoNwSecPdu( - mdw_securedMessage, - mw_geoNwBeaconPacket( - ? - ) - ) - ), - v_decMsg - ); - - // Check signature - if (decvalue(oct2bit(v_decMsg), v_gnInd) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnInd.msgIn.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - /** - * @desc validate GeoNetworkingInd/LsReply - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetInd_LsRequestPacket() runs on TCType system TCType { - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd_withLinkLayerDestination( - mw_geoNwPdu( - mw_geoNwLsRequestPacket( - 12345, - ? - ) - ), - 'FFFFFFFFFFFF'O - ), - '01002B0A0060800000000A0030390000BC21A4FEDECABEEF0001E240000012F8000002A380372694BC21A4FEDECABEEFFFFFFFFFFFFF'O - ); - } - - /** - * @desc validate secured GeoNetworkingInd/LsReply - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetInd_SecuredLsRequestPacket() runs on TCType system TCType { - var GeoNetworkingInd v_gnInd; - var octetstring v_decMsg := '02002B0A021E80015024A224729A4C800000013981FF5C67A803000004D20000162E002F012C0060800000000A0030390000BC21A4FEDECABEEF0001E240000012F8000002A380372694BC21A4FEDECABEEF430100027C8D3FE7CCA30FFBE6CC7D3C7C31F06EDB8976268F584052C4112C9D9FA1180DF3F389DB64926D40C9A4EB72BCB81A41641018A980703C3CB1BD1BF7482B58E6FFFFFFFFFFFF'O; - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd_withLinkLayerDestination( - mw_geoNwSecPdu( - mdw_securedMessage, - mw_geoNwLsRequestPacket( - 12345, - ? - ) - ), - 'FFFFFFFFFFFF'O - ), - v_decMsg - ); - - - // Check signature - if (decvalue(oct2bit(v_decMsg), v_gnInd) == 0) { - if (f_verifyGnSecuredMessageSignatureWithCertificate(v_gnInd.msgIn.gnPacket.securedMsg, vc_atCertificate) == true) { - setverdict(pass, "Signature check succeed."); - } else { - setverdict(fail, "Signature check failed."); - } - } else { - setverdict(fail, "Decoding failed."); - } - } - - testcase tc_GeoNetInd_ShbHeaderPacket() runs on TCType system TCType { - - if (PX_GN_UPPER_LAYER != e_any) { - log("PX_GN_UPPER_LAYER shall be set to e_any"); - stop; - } - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd_withLinkLayerDestination( - mw_geoNwPdu( - mw_geoNwShbPacket( - ?, - ? - ) - ), - 'FFFFFFFFFFFF'O - ), - '01002B0A00508000000F0A00BC21A4FEDECABEEF0001E240000012F8000002A3803726940000000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O - ); - } - - testcase tc_GeoNetInd_SecuredDigest() runs on TCType system TCType { - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd( - mw_geoNwSecPdu( - mdw_securedMessage, - mw_geoNwAnyPacket_withPayload( - ? - ))), - '02002b0a0201168001b893358ab25faf640000000148c57ff5ec05000254005210508000002e0a00bc21a4fedecabeeff6c53234000012f8000002a3803726940000000007d1000001020001b20788b80059f48d95cdefc8c5e0020020002461a83c000004805a100c4528399d4c387fff80430100020000f9a888a78d9053507a828711deef7f38d470736fc07bbb7f4bf044ed0d80325b6d55af32e9aeaa69b281132ce3f596ef5eaf4281aa8c4f0398ab126d3f90b855ffffffffffff'O - ); - } - - testcase tc_GeoNetInd_SecuredCertificate_DENM() runs on TCType system TCType { - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd( - mw_geoNwSecPdu( - mdw_securedMessage, - mw_geoNwAnyPacket_withPayload( - ? - ))), - '02002B0A028124800202015024A224729A4C80010080950000044D8F459AD7485EF21803B7CB9B6D857CCD721542BFE99FACFFB3DF44C34140593126362569F78A5169EBB0FC878B9AD07DDC2B36D01E83C02EABE71210C879DF010100046AE865F5E00290B2BE93D1F26D9857F7B19E53D213846B2C276247DCCED022AC244258C9D1ACF2E3F8BF750F952B02C81ACA013AC018C56F85C4A7E68E9587780220210AC040800100C0408101002401146B4B831A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D00527835000002E7F2FCB38E1418219A51808983988739DFDC649DA209EA6C59319117374E0ED4DBED15F51C6D3106883DCE308A9E6A8E314EA24E8322DDFB02971FDB8C22B26000001398255A96C2803000004D20000162E002F05C04081017020418000003C0A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D217BE23A3000007D2000001010001B207C70000D90380000A084446EB02821111BACCFA46CAE6F7E4630001001000186A000009600C05B00000DFFFF7FFFD8CE40400430100024AD9813B0BE1B67A8C1AB211D28C6BFC5FE3EA1A3AC5349DB6FF06FBAFF708C54466E608FEAE8AA565F4EA793CCC5D1726679CD59FFA6FD00FB5A61569D343E4FFFFFFFFFFFF'O - ); - } - - testcase tc_GeoNetInd_SecuredCertificate_CAM() runs on TCType system TCType { - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd( - mw_geoNwSecPdu( - mdw_securedMessage, - mw_geoNwAnyPacket_withPayload( - ? - ))), - '02002B0A028119800202015024A224729A4C80010080950000044D8F459AD7485EF21803B7CB9B6D857CCD721542BFE99FACFFB3DF44C34140593126362569F78A5169EBB0FC878B9AD07DDC2B36D01E83C02EABE71210C879DF010100046AE865F5E00290B2BE93D1F26D9857F7B19E53D213846B2C276247DCCED022AC244258C9D1ACF2E3F8BF750F952B02C81ACA013AC018C56F85C4A7E68E9587780220210AC040800100C0408101002401146B4B831A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D00527835000002E7F2FCB38E1418219A51808983988739DFDC649DA209EA6C59319117374E0ED4DBED15F51C6D3106883DCE308A9E6A8E314EA24E8322DDFB02971FDB8C22B260000013981EF9678B805C04080015110508000002D0A00BC21A4FEDECABEEF0001E240000012F8000002A3803726940000000007D2000001020001B20788B80059F48D95CDEFC8C6000200200030D41E0000012016840310A50733A9870FFFD0430100022457F8BB0467B2C62318395A56BBF0004BE8E486D1186586CB385D332DDE83EA511F53431CE38F6F13835DEA3AF3F20D3FC84341EE87090992FC1E05AD6ECA2BFFFFFFFFFFFF'O - ); - } - - /** - * @desc validate secured GeoNetworkingInd/SHB with certificates chain - * @verdict Pass on success, Fail otherwise - */ - testcase tc_GeoNetInd_SecuredShbCAMWithCertificatesChain() runs on TCType system TCType { - var GeoNetworkingInd v_gnInd; - var octetstring v_decMsg := '02002B0A028231800382200201FABD6A8FA6CAB3740210455453495F506C7567746573745F41418091000004F4A81DE17B3BBFD8ABB276D9F1FF8290FCC5FF8863E8B251398E9DDB81A9FDC1268AED92B4B15099AB0BCE24378BE907D5EF0E7F3FB69C1A84C9FC5452A20A2C010100043288A11BE5A5781D7C206DAF3080FBEB52AE945F809CF266D029EA1CD57042303288A11BE5A5781D7C206DAF3080FBEB52AE945F809CF266D029EA1CD570423002202006C04080C040812401146B4B831A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D00527835000009C26B3AA8A670471D89ECD7DB76E907B5D7F5C519E6C2FCB362A7DC225172BD176E7AF6E54754D30B4F18F80B9130B80C99EAAAF65C2A9D8A587C9B7ED629F6202015024A224729A4C80010080950000044D8F459AD7485EF21803B7CB9B6D857CCD721542BFE99FACFFB3DF44C34140593126362569F78A5169EBB0FC878B9AD07DDC2B36D01E83C02EABE71210C879DF010100046AE865F5E00290B2BE93D1F26D9857F7B19E53D213846B2C276247DCCED022AC244258C9D1ACF2E3F8BF750F952B02C81ACA013AC018C56F85C4A7E68E9587780220210AC040800100C0408101002401146B4B831A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D00527835000002E7F2FCB38E1418219A51808983988739DFDC649DA209EA6C59319117374E0ED4DBED15F51C6D3106883DCE308A9E6A8E314EA24E8322DDFB02971FDB8C22B260000013981F04477B005C04080015110508000002D0A00BC21A4FEDECABEEF0001E240000012F8000002A3803726940000000007D2000001020001B20788B80059F48D95CDEFC8C6000200200030D41E0000012016840310A50733A9870FFFD043010002388DEF19AE517360CA2D84BF2CE360B6B65B553A2D21B8329DC9897DFD45117452EAD22250846919E58E0C7E28A25F69423A120491D17BEB08FD38C3A454E63CFFFFFFFFFFFF'O; - var bitstring v_decode; - - if ((PX_GN_UPPER_LAYER != e_btpA) and (PX_GN_UPPER_LAYER != e_btpB)) { - log("PX_GN_UPPER_LAYER shall be set to e_btpA or e_btpB"); - setverdict(inconc); - stop; - } - - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_decodePDU<GeoNetworkingInd>( - mw_geoNwInd( - mw_geoNwSecPdu( - mdw_securedMessage( - superset( - mw_header_field_signer_info_certificate_chain( - ? - ) - ) - ) - ) - ), - v_decMsg - ); - - } - - } // End of testGeoNetPrimitiveMessages - - group testUtEvent { - - testcase tc_UtGnInitialize() runs on TCType system TCType { - test_PDU<UtInitialize>(m_gnInitialize, false); - } - - testcase tc_UtSecGnInitialize() runs on TCType system TCType { - // Load certificates & keys - if (f_loadCertificates(PX_IUT_SEC_CONFIG_NAME) == false) { - setverdict(fail); - stop; - } - f_setGenerationLocation( - f_getTsLatitude(), - f_getTsLongitude() - ); - - test_PDU<UtInitialize>(m_secGnInitialize(f_calculateDigestFromCertificate(vc_atCertificate)), false); - } - - testcase tc_UtInitializeResult() runs on TCType system TCType { - test_decodePDU<UtInitializeResult>(UtInitializeResult:true, '0101'O); - } - - testcase tc_UtGnTrigger_01() runs on TCType system TCType { - test_PDU<UtGnTrigger>( - m_generateShbMessageWithPayload( - char2oct("PAYLOAD") - ), - false - ); - } - - testcase tc_UtGnTrigger_02() runs on TCType system TCType { - test_PDU<UtGnTrigger>( - m_generateTsbMessage, - false - ); - } - - testcase tc_UtGnTrigger_03() runs on TCType system TCType { - test_PDU<UtGnTrigger>( - m_generateTsbMessageWithLifetime(c_lifetime), - false - ); - } - - testcase tc_UtGnTrigger_04() runs on TCType system TCType { - test_PDU<UtGnTrigger>( - m_generateTsbMessageWithTrafficClass( - valueof( - m_trafficClass( - e_scfDisabled - ))), - false - ); - } - - testcase tc_UtGnTrigger_05() runs on TCType system TCType { - test_PDU<UtGnTrigger>( - m_generateTsbMessage, - false - ); - } - - testcase tc_UtGnEventInd_01() runs on TCType system TCType { - var octetstring v_data := '55003007d1000001020001b20712244059f48d95cdefc8c6000200200030d41e0000012016840310a50733a9870fffd0004000'O; - test_decodePDU<UtGnEventInd>(UtGnEventInd:?, v_data); - } - - } // End of group testUtEvent - - } // End of group LibItsGeoNetworking_testCases - -} // End of module test_LibItsGeoNetworking_TypesAndValues \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsIpv6OverGeoNetworking_TypesAndValues.ttcn3 b/unittests/codec/ttcn/test_LibItsIpv6OverGeoNetworking_TypesAndValues.ttcn3 deleted file mode 100644 index 63a9e3d6549e479b52d523507a5588d4466f845c..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsIpv6OverGeoNetworking_TypesAndValues.ttcn3 +++ /dev/null @@ -1,520 +0,0 @@ -module test_LibItsIpv6OverGeoNetworking_TypesAndValues /*language "TTCN-3:2009 Advanced Parameterization"*/ { -// import from LibCommon_BasicTypesAndValues all; -// import from LibItsCommon_TypesAndValues all; -// import from LibItsIpv6OverGeoNetworking_TestSystem all; -// import from LibItsGeoNetworking_TypesAndValues all; -// import from LibItsGeoNetworking_Templates all; -// import from LibItsGeoNetworking_Pixits { -// modulepar PX_GN_UPPER_LAYER -// }; -// import from LibItsIpv6OverGeoNetworking_TypesAndValues all; -// import from LibItsIpv6OverGeoNetworking_Templates all; -// import from LibItsExternal_TypesAndValues all; -// import from test_CommonCodec all; -// -// group LibItsGeoNetworking_DummyTemplates { -// -// template (value) GN_Address m_dummyGnAddrNodeA := { -// typeOfAddress := e_manual, -// stationType := { -// vehicleStation := { -// stationType := e_vehicleStation, -// vsKind := e_bus -// } -// }, -// stationSubType := e_private, -// stationCountryCode := 49, -// mid := 'a4fdea5ea5ed'O -// } -// -// template (value) LongPosVector m_dummyLongPosVectorNodeA := { -// gnAddr := m_dummyGnAddrNodeA, -// timestamp := 875, -// latitude := 265, -// longitude := 789, -// speed := 80, -// heading := 548, -// altitude := 12, -// timeAccuracy := 5, -// posAccuracy := 1, -// speedAccuracy := 3, -// headingAccuracy := 1, -// altitudeAccuracy := 2 -// } -// -// template (value) Area m_dummyArea1 := { -// geoAreaPosLatitude := 298376, -// geoAreaPosLongitude := 32745, -// distanceA := 1234, -// distanceB := 5678, -// angle := 9123 -// } -// -// template (value) GeoBroadcastArea m_dummyGeoBroadcastArea1 := { -// geoBroadcastSubType := e_geoBroadcastRect, -// geoBroadcastArea := m_dummyArea1 -// } -// -// } // End of group LibItsGeoNetworking_DummyTemplates -// -// group LibItsIpv6OverGeoNetworking_DummyTemplates { -// -// template (value) IPv6OverGeoNetworkingInd m_ipv6OverGeoNwInd( -// charstring p_interface, -// MacAddress p_srcMacAddr, -// MacAddress p_dstMacAddr, -// Ipv6Packet p_ipv6Packet -// ) := { -// interface := p_interface, -// macSourceAddress := p_srcMacAddr, -// macDestinationAddress := p_dstMacAddr, -// ipv6Packet := p_ipv6Packet -// } -// -// template (value) AcGn6InterfaceInfoList m_trueAcInterfaceInfoList := { -// { -// interfaceName := "lo", -// ipv6AddressList := { -// '00000000000000000000000000000001'O -// } -// }, -// { -// interfaceName := "eth1", -// ipv6AddressList := { -// 'FE8000000000000002D012FFFEF1ED0E'O -// } -// }, -// { -// interfaceName := "wlan0", -// ipv6AddressList := { -// '200106603013F0050000000000000001'O, -// 'FE80000000000000021BB1FFFEB18AA3'O -// } -// }, -// { -// interfaceName := "tun0", -// ipv6AddressList := { -// '200106603013F0071400001BB1B18AA3'O, -// 'FE800000000000001400001BB1B18AA3'O -// } -// } -// } // End of temlate m_trueAcInterfaceInfoList -// -// template (value) AcGn6InterfaceInfoList m_dummyAcInterfaceInfoList := { -// { -// interfaceName := "Interface #0", -// ipv6AddressList := { -// '1001061804000000000000005199cc70'O, -// '1001061804000000000000005199cc71'O, -// '1001061804000000000000005199cc72'O -// } -// }, -// { -// interfaceName := "Interface #1", -// ipv6AddressList := { -// '2001061804000000000000005199cc70'O, -// '2001061804000000000000005199cc71'O, -// '2001061804000000000000005199cc72'O -// } -// }, -// { -// interfaceName := "Interface #2", -// ipv6AddressList := { -// '3001061804000000000000005199cc70'O, -// '3001061804000000000000005199cc71'O, -// '3001061804000000000000005199cc72'O -// } -// } -// } -// -// template AcGn6Response m_dummyAcInterfaceInfos (template (present) AcGn6InterfaceInfoList p_interfaceInfoList) := { -// interfaceInfoList := p_interfaceInfoList -// } -// -// template (value) AcGn6Primitive m_dummyAcGetInterfaceInfos := { -// getInterfaceInfos := 3 -// } -// -// } // End of group LibItsIpv6OverGeoNetworking_DummyTemplates -// -// group ipv6_DummyTemplates { // See http://www.zytrax.com/tech/protocols/ipv6-formats.html -// -// template (value) MacAddress m_srcMacAddress_01 := '0000860580da'O; -// template (value) MacAddress m_dstMacAddress_01 := '0060970769ea'O; -// template (value) Ipv6Address m_src_01 := 'fe80000000000000020086fffe0580da'O; -// template (value) Ipv6Address m_dst_01 := 'fe80000000000000026097fffe0769ea'O; -// -// template (value) MacAddress m_srcMacAddress_02 := '0000860580da'O; -// template (value) MacAddress m_dstMacAddress_02 := '0060970769ea'O; -// template (value) Ipv6Address m_src_02 := 'fe80000000000000020086fffe0580da'O; -// template (value) Ipv6Address m_dst_02 := 'fe80000000000000026097fffe0769ea'O; -// -// template (value) MacAddress m_srcMacAddress_03 := '0000860580da'O; -// template (value) MacAddress m_dstMacAddress_03 := '0060970769ea'O; -// template (value) Ipv6Address m_src_03 := 'fe80000000000000020086fffe0580da'O; -// template (value) Ipv6Address m_dst_03 := 'fe80000000000000026097fffe0769ea'O; -// template RtAdvOptions m_rtAdvOpt_srcLinkLayerAddr_03 := { -// srcLinkLayerAddr := { -// icmpType := c_srcLinkLayerAddress, -// optionLength := 8, -// linkLayerAddr := '00000000860580da'O -// }, -// prefixInfoList := omit, -// otherOption := omit -// } -// -// template (value) MacAddress m_srcMacAddress_04 := '0060970769ea'O; -// template (value) MacAddress m_dstMacAddress_04 := '333300000001'O; -// template (value) Ipv6Address m_src_04 := 'fe80000000000000026097fffe0769ea'O; -// template (value) Ipv6Address m_dst_04 := 'ff020000000000000000000000000001'O; -// template SrcLinkLayerAddress m_srcLinkLayerAddr_04 := { -// icmpType := c_srcLinkLayerAddress, -// optionLength := 8, -// linkLayerAddr := '00000060970769ea'O -// } -// template RtAdvOptions m_rtAdvOpt_prefixOpt_04 ( -// in template (value) UInt8 p_prefixLength, -// in template (value) UInt1 p_lFlag, -// in template (value) UInt1 p_aFlag, -// in template (value) UInt32 p_validLifetime, -// in template (value) UInt32 p_preferredLifetime, -// in template (value) Ipv6Address p_prefix, -// in template (value) SrcLinkLayerAddress p_srcLinkLayerAddr -// ):={ -// srcLinkLayerAddr := p_srcLinkLayerAddr, -// prefixInfoList := { -// m_prefixInfo( -// p_prefixLength, -// p_lFlag, -// p_aFlag, -// p_validLifetime, -// p_preferredLifetime, -// p_prefix -// ) -// }, -// otherOption := omit -// } -// } // End of group ipv6_DummyTemplates -// -// group testAcPrimitives { -// -// /** -// * -// * @desc validate AcGn6Primitive primitive -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_ipv6GetInterfaceInfo() runs on TCType system TCType { -// test_PDU<AcGn6Primitive>( -// m_dummyAcGetInterfaceInfos, -// true, -// oct2bit('02000400000003'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// } -// -// /** -// * @desc validate AcGn6Response -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_ipv6InterfaceInfoList() runs on TCType system TCType { -// test_PDU<AcGn6Response>( -// m_dummyAcInterfaceInfos(m_dummyAcInterfaceInfoList), -// true, -// oct2bit('0400be6700bb030c496e74657266616365202330031001061804000000000000005199cc701001061804000000000000005199cc711001061804000000000000005199cc720c496e74657266616365202331032001061804000000000000005199cc702001061804000000000000005199cc712001061804000000000000005199cc720c496e74657266616365202332033001061804000000000000005199cc703001061804000000000000005199cc713001061804000000000000005199cc72'O) // Check for 'LibItsGeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ) -// } -// -// testcase tc_ipv6InterfaceInfoList2() runs on TCType system TCType { -// test_decodePDU<AcGn6Response>( -// m_dummyAcInterfaceInfos(m_trueAcInterfaceInfoList), -// '04007804026c6f0100000000000000000000000000000001046574683101fe8000000000000002d012fffef1ed0e05776c616e3002200106603013f0050000000000000001fe80000000000000021bb1fffeb18aa30474756e3002200106603013f0071400001bb1b18aa3fe800000000000001400001bb1b18aa3'O -// ) -// } -// -// } // End of group testAcPrimitives -// -// group ipv6 { -// -// testcase tc_geoNetReq_icmpv6_noAdvOptions() runs on TCType system TCType { -// if (PX_GN_UPPER_LAYER != e_ipv6) { -// log("PX_GN_UPPER_LAYER shall be set to e_ipv6"); -// setverdict(inconc); -// stop; -// } -// test_PDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #0", -// m_srcMacAddress_01, -// m_dstMacAddress_01, -// m_ipv6Packet( -// m_src_01, -// m_dst_01, -// c_noNextHdr, -// omit -// ) -// ), -// true, -// oct2bit('4f00410c496e746572666163652023300000860580da0060970769ea6000000000003bfffe80000000000000020086fffe0580dafe80000000000000026097fffe0769ea'O) // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ) -// } -// -// testcase tc_geoNetReq_icmpv6_withAdvOptions_prefixOpt() runs on TCType system TCType { -// var Ipv6Packet v_ipv6Packet := null; -// var octetstring v_buffer := '4f00710c496e746572666163652023310000860580da0060970769ea6000000000303afffe80000000000000020086fffe0580dafe80000000000000026097fffe0769ea8600273dff00ffffffffffff00000000030400c00000001e0000001e000000002001061804000000000000005199cc70'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// -// if (PX_GN_UPPER_LAYER != e_ipv6) { -// log("PX_GN_UPPER_LAYER shall be set to e_ipv6"); -// setverdict(inconc); -// stop; -// } -// -// test_PDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #1", -// m_srcMacAddress_02, -// m_dstMacAddress_02, -// m_ipv6Packet( -// m_src_02, -// m_dst_02, -// c_icmpHdr, -// m_rtAdvWithOptions( -// m_rtAdvOpt_prefixOpt( -// 0, -// c_lFlag1, -// c_aFlag1, -// c_validLifetime30s, -// c_preferredLifetime30s, -// '2001061804000000000000005199cc70'O -// ) -// ) -// ) -// ), -// false, -// oct2bit(v_buffer) -// ); -// v_ipv6Packet := m_ipv6Packet( -// m_src_02, -// m_dst_02, -// c_icmpHdr, -// m_rtAdvWithOptions( -// m_rtAdvOpt_prefixOpt( -// 0, -// c_lFlag1, -// c_aFlag1, -// c_validLifetime30s, -// c_preferredLifetime30s, -// '2001061804000000000000005199cc70'O -// ) -// ) -// ); -// v_ipv6Packet.ipv6Hdr.payloadLength := 48; -// v_ipv6Packet.ipv6Payload.routerAdvMsg.checksum := '273d'O; -// test_decodePDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #1", -// m_srcMacAddress_02, -// m_dstMacAddress_02, -// v_ipv6Packet -// ), -// v_buffer -// ); -// } -// -// testcase tc_geoNetReq_icmpv6_withAdvOptions_linkLayerAddr() runs on TCType system TCType { -// var Ipv6Packet v_ipv6Packet := null; -// var octetstring v_buffer := '4f005b0c496e746572666163652023310000860580da0060970769ea60000000001a3afffe80000000000000020086fffe0580dafe80000000000000026097fffe0769ea86006b8eff00ffffffffffff00000000010800000000860580da'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// -// if (PX_GN_UPPER_LAYER != e_ipv6) { -// log("PX_GN_UPPER_LAYER shall be set to e_ipv6"); -// setverdict(inconc); -// stop; -// } -// test_PDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #1", -// m_srcMacAddress_03, -// m_dstMacAddress_03, -// m_ipv6Packet( -// m_src_03, -// m_dst_03, -// c_icmpHdr, -// m_rtAdvWithOptions( -// m_rtAdvOpt_srcLinkLayerAddr_03 -// ) -// ) -// ), -// false, -// oct2bit(v_buffer) // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// v_ipv6Packet := m_ipv6Packet( -// m_src_03, -// m_dst_03, -// c_icmpHdr, -// m_rtAdvWithOptions( -// m_rtAdvOpt_srcLinkLayerAddr_03 -// ) -// ); -// v_ipv6Packet.ipv6Hdr.payloadLength := 26; -// v_ipv6Packet.ipv6Payload.routerAdvMsg.checksum := '6B8E'O; -// test_decodePDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #1", -// m_srcMacAddress_03, -// m_dstMacAddress_03, -// v_ipv6Packet -// ), -// v_buffer -// ); -// } -// -// testcase tc_geoNetReq_icmpv6_withAdvOptions_prefixOpt_linkLayerAddr() runs on TCType system TCType { -// var Ipv6Packet v_ipv6Packet := null; -// var octetstring v_buffer := '4f007b0c496e746572666163652023310060970769ea33330000000160000000003a3afffe80000000000000026097fffe0769eaff02000000000000000000000000000186001221ff00ffffffffffff00000000010800000060970769ea030440c00036ee800036ee80000000003ffe0507000000010000000000000000'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// -// if (PX_GN_UPPER_LAYER != e_ipv6) { -// log("PX_GN_UPPER_LAYER shall be set to e_ipv6"); -// setverdict(inconc); -// stop; -// } -// test_PDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #1", -// m_srcMacAddress_04, -// m_dstMacAddress_04, -// m_ipv6Packet( -// m_src_04, -// m_dst_04, -// c_icmpHdr, -// m_rtAdvWithOptions( -// m_rtAdvOpt_prefixOpt_04( -// 64, -// c_lFlag1, -// c_aFlag1, -// 3600000, -// 3600000, -// '3ffe0507000000010000000000000000'O, -// m_srcLinkLayerAddr_04 -// ) -// ) -// ) -// ), -// false, -// oct2bit(v_buffer) // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// ); -// v_ipv6Packet := m_ipv6Packet( -// m_src_04, -// m_dst_04, -// c_icmpHdr, -// m_rtAdvWithOptions( -// m_rtAdvOpt_prefixOpt_04( -// 64, -// c_lFlag1, -// c_aFlag1, -// 3600000, -// 3600000, -// '3ffe0507000000010000000000000000'O, -// m_srcLinkLayerAddr_04 -// ) -// ) -// ); -// v_ipv6Packet.ipv6Hdr.payloadLength := 58; -// v_ipv6Packet.ipv6Payload.routerAdvMsg.checksum := '1221'O; -// test_decodePDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #1", -// m_srcMacAddress_04, -// m_dstMacAddress_04, -// v_ipv6Packet -// ), -// v_buffer -// ); -// } -// } // End of group ipv6 -// -// group testIpv6OverGeoNetPrimitiveMessages { -// -// /** -// * @desc validate IPv6OverGeoNetworkingReq -// * @verdict Pass on success, Fail otherwise -// */ -// testcase tc_ipv6OverGeoNetReq() runs on TCType system TCType { -// var Ipv6Packet v_ipv6Packet := null; -// var octetstring v_buffer := '4f00690c496e7465726661636520233000508d4938ea00b0d0c7c19d60000000002806ff2001061804000000000000005199cc70200106180001800000000000000000058c9b00506ae7073600000000a0021630299c00000204058c0402080a00dd1a390000000001030302'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// -// if (PX_GN_UPPER_LAYER != e_ipv6) { -// log("PX_GN_UPPER_LAYER shall be set to e_ipv6"); -// setverdict(inconc); -// stop; -// } -// test_PDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #0", -// '00508d4938ea'O, -// '00b0d0c7c19d'O, -// m_ipv6Packet( -// '2001061804000000000000005199cc70'O, -// '20010618000180000000000000000005'O, -// 6, -// { octetstringMsg := '8c9b00506ae7073600000000a0021630299c00000204058c0402080a00dd1a390000000001030302'O } ) ), -// false, -// oct2bit(v_buffer)); -// v_ipv6Packet := m_ipv6Packet( -// '2001061804000000000000005199cc70'O, -// '20010618000180000000000000000005'O, -// 6, -// { octetstringMsg := '8c9b00506ae7073600000000a0021630299c00000204058c0402080a00dd1a390000000001030302'O } -// ); -// v_ipv6Packet.ipv6Hdr.payloadLength := 40; // payload length = 40 -// test_decodePDU<IPv6OverGeoNetworkingReq>( -// m_ipv6OverGeoNwReq( -// "Interface #0", -// '00508d4938ea'O, -// '00b0d0c7c19d'O, -// v_ipv6Packet -// ), -// v_buffer -// ); -// } -// -// testcase tc_ipv6OverGeoNetInd() runs on TCType system TCType { -// var Ipv6Packet v_ipv6Packet := null; -// var octetstring v_buffer := '4e00690c496e7465726661636520233000b0d0c7c19d00508d4938ea60000000002806ff2001061804000000000000005199cc70200106180001800000000000000000058c9b00506ae7073600000000a0021630299c00000204058c0402080a00dd1a390000000001030302'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump -// -// if (PX_GN_UPPER_LAYER != e_ipv6) { -// log("PX_GN_UPPER_LAYER shall be set to e_ipv6"); -// setverdict(inconc); -// stop; -// } -// test_PDU<IPv6OverGeoNetworkingInd>( -// m_ipv6OverGeoNwInd( -// "Interface #0", -// '00b0d0c7c19d'O, -// '00508d4938ea'O, // On purpose: IUT must use this value -// m_ipv6Packet( // payload length = 40 -// '2001061804000000000000005199cc70'O, -// '20010618000180000000000000000005'O, -// 6, -// { octetstringMsg := '8c9b00506ae7073600000000a0021630299c00000204058c0402080a00dd1a390000000001030302'O } ) ), -// false, -// oct2bit(v_buffer) -// ); -// v_ipv6Packet := m_ipv6Packet( -// '2001061804000000000000005199cc70'O, -// '20010618000180000000000000000005'O, -// 6, -// { octetstringMsg := '8c9b00506ae7073600000000a0021630299c00000204058c0402080a00dd1a390000000001030302'O } -// ); -// v_ipv6Packet.ipv6Hdr.payloadLength := 40; // payload length = 40 -// test_decodePDU<IPv6OverGeoNetworkingInd>( -// m_ipv6OverGeoNwReq( -// "Interface #0", -// '00b0d0c7c19d'O, -// '00508d4938ea'O, // On purpose: IUT must use this value -// v_ipv6Packet -// ), -// v_buffer -// ); -// } -// -// } -// -} // End of module test_LibItsIpv6OverGeoNetworking_TypesAndValues \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsMapSpat_TypesAndValues.ttcn3 b/unittests/codec/ttcn/test_LibItsMapSpat_TypesAndValues.ttcn3 deleted file mode 100644 index 22e53bdc0887d5aa52ecc2d95763460072689c01..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsMapSpat_TypesAndValues.ttcn3 +++ /dev/null @@ -1,115 +0,0 @@ -module test_LibItsMapemSpatem_TypesAndValues { - - // LibCommon - import from LibCommon_BasicTypesAndValues all; - import from LibCommon_DataStrings all; - - // LibIts - import from ITS_Container language "ASN.1:1997" all; - import from MAPEM_PDU_Descriptions language "ASN.1:1997" all; - import from SPATEM_PDU_Descriptions language "ASN.1:1997" all; - import from DSRC language "ASN.1:1997" all; - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - - // LibItsMapSpat - import from LibItsMapemSpatem_TypesAndValues all; - import from LibItsMapemSpatem_Templates all; - import from LibItsMapemSpatem_TestSystem all; - - import from test_CommonCodec all; - - group LibItsMapemSpatem_testCases { - - group utPrimitives { - - testcase tc_UtInitialize() runs on TCType system TCType { - test_PDU<UtInitialize>(m_mapemSpatemInitialize, false); - } - - testcase tc_UtInitializeResult() runs on TCType system TCType { - test_decodePDU<UtInitializeResult>(UtInitializeResult:true, '0101'O); - } - - testcase tc_UtMapSpatTrigger_01() runs on TCType system TCType { - test_PDU<UtMapemSpatemTrigger>( - m_utTriggerEvent( - startTLMService - ), - false - ); - } - - testcase tc_UtMapSpatTrigger_02() runs on TCType system TCType { - test_PDU<UtMapemSpatemTrigger>( - m_utTriggerEvent( - spatemNewContent - ), - false - ); - } - - testcase tc_UtMapSpatTriggerResult() runs on TCType system TCType { - test_decodePDU<UtMapemSpatemTriggerResult>(UtMapemSpatemTriggerResult:?, 'A10105'O); - } - - } // End of group utPrimitives - - group testMapSpatPrimitiveMessages { - - testcase tc_MapSpatReq_01() runs on TCType system TCType { - var MapemReq v_mapReq; - - v_mapReq := valueof(m_mapemReq(m_mapemPdu(m_defaultMapem))); - log("v_mapReq=", v_mapReq); - test_PDU<MapemReq>( - v_mapReq, - false - ); - test_decodePDU<MapemReq>( - v_mapReq, - '01050001B2074004800500FFFFFFFFFFFFFFFFFFFFFFFF'O - ) - } - - testcase tc_MapSpatReq_02() runs on TCType system TCType { - var SpatemReq v_spatReq; - - v_spatReq := valueof( - m_spatemReq( - m_spatemPdu( - m_spatem(m_intersections) - ))); - log("v_spatReq=", v_spatReq); - test_PDU<SpatemReq>( - v_spatReq, - false - ); - test_decodePDU<SpatemReq>( - v_spatReq, - '01040001B2074130000000BB8520000002000080FFFFFFFFFFFFFFFFFFFFFFFF'O - ) - } - - testcase tc_MapSpatInd_01() runs on TCType system TCType { - - test_decodePDU<MapemInd>( - mw_mapemInd(mw_mapemPdu), - '01050001B2074004800500FFFFFFFFFFFFFFFFFFFFFFFF'O - ); - } - - testcase tc_MapSpatInd_02() runs on TCType system TCType { - - test_decodePDU<SpatemInd>( - mw_spatemInd(mw_spatemPdu), - '01040001B2074130000000BB8520000002000080FFFFFFFFFFFFFFFFFFFFFFFF'O - ); - } - - } // End of group testMapSpatPrimitiveMessages - - } // End of group LibItsMapemSpatem_testCases - -} // End of module test_LibItsMapemSpatem_TypesAndValues \ No newline at end of file diff --git a/unittests/codec/ttcn/test_LibItsSecurity_TypesAndValues.ttcn3 b/unittests/codec/ttcn/test_LibItsSecurity_TypesAndValues.ttcn3 deleted file mode 100644 index 561439d368898935928acc296d80695e08d27653..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_LibItsSecurity_TypesAndValues.ttcn3 +++ /dev/null @@ -1,2319 +0,0 @@ -module test_LibItsSecurity_TypesAndValues { - - // LibCommon - import from LibItsCommon_Functions all; - import from LibCommon_DataStrings all; - - // LibItsCommon - import from LibItsCommon_TypesAndValues all; - import from LibItsCommon_Templates all; - import from LibItsCommon_Functions all; - - // LibItsSecurity - import from LibItsSecurity_TypesAndValues all; - import from LibItsSecurity_Templates all; - import from LibItsSecurity_Functions all; - import from LibItsSecurity_Pixits all; - - // TestUnits - import from test_CommonCodec all; - - group LibItsSecurity_testCases { - - group securityAcPrimitives { - - /** - * @desc Validate Security AcPrimitive - */ - testcase tc_acEnableSecurity() runs on TCType system TCType { - - f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); - vc_location := { - 22345, - 54321, - '0000'O - }; - - test_PDU<AcSecPrimitive>( - m_acEnableSecurity( - "TA_CERT_A" - ), - false - ); - } - - } // End of group securityAcPrimitives - - group basicFormatElements { - - /** - * @desc Validate PublicKey/EccPoint - * @verdict Pass on success, Fail otherwise - */ - testcase tc_PublicKey_eccPoint_01() runs on TCType system TCType { - test_PDU<PublicKey>( - m_publicKey_eccPoint( - m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ) - ) - ); - } // End of testcase tc_PublicKey_eccPoint_01 - - /** - * @desc Validate PublicKey/EccPoint - * @verdict Pass on success, Fail otherwise - */ - testcase tc_PublicKey_eccPoint_02() runs on TCType system TCType { - test_PDU<PublicKey>( - m_publicKey_eccPoint( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ) - ) - ); - } // End of testcase tc_PublicKey_eccPoint_02 - - /** - * @desc Validate PublicKey/EccPoint - * @verdict Pass on success, Fail otherwise - */ - testcase tc_PublicKey_aesccm_01() runs on TCType system TCType { - test_PDU<PublicKey>( - m_publicKey_aesccm( - m_aesccm( - m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ) - ) - ) - ); - } // End of testcase tc_PublicKey_aesccm_01 - - /** - * @desc Validate PublicKey/EccPoint - * @verdict Pass on success, Fail otherwise - */ - testcase tc_PublicKey_aesccm_02() runs on TCType system TCType { - test_PDU<PublicKey>( - m_publicKey_aesccm( - m_aesccm( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ) - ) - ) - ); - } // End of testcase tc_PublicKey_aesccm_02 - - /** - * @desc Validate EcdsaSignature - * @remark The EccPointType of R shall be set to x_coordinate_only - * @verdict Pass on success, Fail otherwise - */ - testcase tc_EcdsaSignature_01() runs on TCType system TCType { - test_PDU<EcdsaSignature>( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ); - } // End of testcase tc_EcdsaSignature_01 - - testcase tc_Duration_01() runs on TCType system TCType { - test_PDU<Duration>( - m_duration_in_seconds( - 456 - ) - ); - } // End of testcase tc_Duration_01 - - /** - * @desc Validate Time64WithStandardDeviation - * @verdict Pass on success, Fail otherwise - */ - testcase tc_Time64WithStandardDeviation_01() runs on TCType system TCType { - test_PDU<Time64WithStandardDeviation>( - m_time64WithStandardDeviation( - oct2int('FACEB00C'O), - 128 - ) - ); - } // End of testcase tc_Time64WithStandardDeviation_01 - - /** - * @desc Validate TwoDLocation - * @verdict Pass on success, Fail otherwise - */ - testcase tc_TwoDLocation_01() runs on TCType system TCType { - test_PDU<TwoDLocation>( - m_twoDLocation( - 22345, - 54321 - ) - ); - } // End of testcase tc_TwoDLocation_01 - - /** - * @desc Validate ThreeDLocation - * @verdict Pass on success, Fail otherwise - */ - testcase tc_ThreeDLocation_01() runs on TCType system TCType { - test_PDU<ThreeDLocation>( - m_threeDLocation( - 12345, - 54321, - int2oct(1024, 2) - ) - ); - } // End of testcase tc_ThreeDLocation_01 - - testcase tc_EncryptionParameters_01() runs on TCType system TCType { - test_PDU<EncryptionParameters>( - m_encryptionParameters_aes_128_ccm( - '010203040506070808080808'O - ) - ); - } // End of testcase tc_EncryptionParameters_01 - - testcase tc_GeographicRegion_01() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_circle( - m_twoDLocation( - 22345, - 54321 - ), - 2550 - ) - ); - } // End of testcase tc_EncryptionParameters_01 - - testcase tc_GeographicRegion_02() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_rectangle( - m_twoDLocation( - 22345, - 54321 - ), - m_twoDLocation( - 2*22345, - 2*54321 - ) - ) - ); - } // End of testcase tc_EncryptionParameters_02 - - testcase tc_GeographicRegion_03() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_polygonial( - { - m_twoDLocation( - 22345, - 54321 - ), - m_twoDLocation( - 2*22345, - 2*54321 - ) - } - ) - ); - } // End of testcase tc_EncryptionParameters_03 - - template (value) IdentifiedRegion m_identifiedRegion_01 := { - region_dictionary := e_un_stats, - region_identifier := 3, - local_region := 10 - } // End of template m_identifiedRegion_01 - - template (value) IdentifiedRegion m_identifiedRegion_02 := { - region_dictionary := e_iso_3166_1, - region_identifier := 4567, - local_region := 78 - } // End of template m_identifiedRegion_01 - - template (value) IdentifiedRegion m_identifiedRegion_03 := { - region_dictionary := e_iso_3166_1, - region_identifier := 2, - local_region := 2184 - } // End of template m_identifiedRegion_03 - - template (value) IdentifiedRegion m_identifiedRegion_04 := { - region_dictionary := e_iso_3166_1, - region_identifier := 2, - local_region := 9 * 2184 - } // End of template m_identifiedRegion_04 - - testcase tc_GeographicRegion_04() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_identifiedRegion( - m_identifiedRegion_01 - ) - ); - } // End of testcase tc_GeographicRegion_04 - - testcase tc_GeographicRegion_05() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_identifiedRegion( - m_identifiedRegion_02 - ) - ); - } // End of testcase tc_GeographicRegion_05 - - testcase tc_GeographicRegion_06() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_identifiedRegion( - m_identifiedRegion_03 - ) - ); - } // End of testcase tc_GeographicRegion_06 - - testcase tc_GeographicRegion_07() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_identifiedRegion( - m_identifiedRegion_04 - ) - ); - } // End of testcase tc_GeographicRegion_07 - - testcase tc_GeographicRegion_08() runs on TCType system TCType { - test_PDU<GeographicRegion>( - m_geographicRegion_nonce - ); - } // End of testcase tc_GeographicRegion_08 - - } // End of group basicFormatElements - - group securityHeader { - - testcase tc_Payload_01() runs on TCType system TCType { - test_PDU<SecPayload>( - m_payload_signed_external - ); - } // End of testcase tc_Payload_01 - - testcase tc_Payload_02() runs on TCType system TCType { - test_PDU<SecPayload>( - m_payload_unsecured('DEEDBEEF'O) - ); - } // End of testcase tc_Payload_02 - - testcase tc_Payload_03() runs on TCType system TCType { - test_PDU<SecPayload>( - m_payload_signed('DEEDBEEF'O) - ); - } // End of testcase tc_Payload_03 - - testcase tc_Payload_04() runs on TCType system TCType { - test_PDU<SecPayload>( - m_payload_encrypted('DEEDBEEF'O) - ); - } // End of testcase tc_Payload_04 - - testcase tc_Payload_05() runs on TCType system TCType { - test_PDU<SecPayload>( - m_payload_signed_and_encrypted('DEEDBEEF'O) - ); - } // End of testcase tc_Payload_05 - - testcase tc_HeaderField_01() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_generation_time( - 123456789 - ) - ); - } // End of testcase tc_HeaderField_01 - - testcase tc_HeaderField_02() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_generation_time_with_standard_deviation( - m_time64WithStandardDeviation( - oct2int('FACEB00C'O), - 128 - ) - ) - ); - } // End of testcase tc_HeaderField_02 - - testcase tc_HeaderField_03() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_expiry_time( - 3600 - ) - ); - } // End of testcase tc_HeaderField_03 - - testcase tc_HeaderField_04() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_generation_location( - m_threeDLocation( - -12345, - -54321, - int2oct(1024, 2) - ) - ) - ); - } // End of testcase tc_HeaderField_04 - - testcase tc_HeaderField_05() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_unrecognised_certificate( - '060708'O - ) - ); - } // End of testcase tc_HeaderField_05 - - testcase tc_HeaderField_06() runs on TCType system TCType { - test_PDU<HeaderField>( - mw_header_field_its_aid(36) - ); - } // End of testcase tc_HeaderField_06 - - testcase tc_HeaderField_07() runs on TCType system TCType { - test_PDU<HeaderField>( - mw_header_field_its_aid(37) - ); - } // End of testcase tc_HeaderField_07 - - testcase tc_HeaderField_08() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_its_aid( - 12345 - ) - ); - } // End of testcase tc_HeaderField_08 - - testcase tc_HeaderField_09() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_signer_info( - m_signerInfo_self - ) - ); - } // End of testcase tc_HeaderField_09 - - testcase tc_HeaderField_10() runs on TCType system TCType { - test_PDU<HeaderField>( - m_header_field_enc_params( - m_encryptionParameters_aes_128_ccm( - '010203040506070808080808'O - ) - ) - ); - } // End of testcase tc_HeaderField_10 - - testcase tc_TrailerField_01() runs on TCType system TCType { - test_PDU<TrailerField>( - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ) - ) - ); - } // End of testcase tc_TrailerField_01 - - testcase tc_SecuredMessage_01() runs on TCType system TCType { - test_PDU<SecuredMessage>( - m_secureMessage_dummy - ); - } // End of testcase tc_SecuredMessage_01 - - template (value) SecuredMessage m_secureMessageCAMs_01 - modifies m_secureMessage_dummy := { - header_fields := { - m_header_field_signer_info( - m_signerInfo_digest('0102030405060708'O) - ), - m_header_field_signer_info( - m_signerInfo_digest('1020304050607080'O) - ) - }, - payload_field := m_payload_signed('DEEDBEEF01'O), - trailer_fields := { - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ) - ) - } - } // End of template tc_SecuredMessage_01 - - template (value) SecuredMessage m_secureMessage_02 - modifies m_secureMessage_dummy := { - header_fields := { - m_header_field_signer_info( - m_signerInfo_digest('0102030405060708'O) - ), - m_header_field_signer_info( - m_signerInfo_digest('1020304050607080'O) - ) - }, - payload_field := m_payload_signed('DEEDBEEF01'O), - trailer_fields := { - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ) - ), - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O, - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ), - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ) - ) - ) - } - } // End of template m_secureMessage_02 - - template (value) SecuredMessage m_secureMessageCAMs - modifies m_secureMessage_dummy := { - header_fields := { - m_header_field_signer_info( - m_signerInfo_digest('0102030405060708'O) - ), - m_header_field_generation_time(1000 * f_getCurrentTime()), - m_header_field_its_aid_CAM - }, - payload_field := m_payload_signed('DEEDBEEF01'O), - trailer_fields := { - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ) - ), - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O, - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ), - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ) - ) - ) - } - } // End of template m_secureMessageCAMs - - template (value) SecuredMessage m_secureMessageDENMs - modifies m_secureMessage_dummy := { - header_fields := { - m_header_field_signer_info( - m_signerInfo_digest('0102030405060708'O) - ), - m_header_field_generation_time(1000 * f_getCurrentTime()), - m_header_field_generation_location( - m_threeDLocation( - 12345, - 54321, - int2oct(1024, 2) - ) - ), - m_header_field_its_aid_DENM - }, - payload_field := m_payload_signed('DEEDBEEF01'O), - trailer_fields := { - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ) - ), - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O, - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ), - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ) - ) - ) - } - } // End of template m_secureMessageDENMs - - template (value) SecuredMessage m_secureMessageOthers - modifies m_secureMessage_dummy := { - header_fields := { - m_header_field_signer_info( - m_signerInfo_digest('0102030405060708'O) - ), - m_header_field_generation_time(1000 * f_getCurrentTime()), - m_header_field_generation_location( - m_threeDLocation( - 12345, - 54321, - int2oct(1024, 2) - ) - ) - }, - payload_field := m_payload_signed('DEEDBEEF01'O), - trailer_fields := { - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ), - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ) - ) - ), - m_trailer_field_signature( - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O, - '00008A08AE40EC69030C056E48152F7A14F72BA4F305C2E6AA31997ABE93E7FD'O - ), - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O - ) - ) - ) - } - } // End of template m_secureMessageOthers - - testcase tc_SecuredMessage_02() runs on TCType system TCType { - test_PDU<SecuredMessage>( - m_secureMessage_02 - ); - } // End of testcase tc_SecuredMessage_02 - - testcase tc_SecuredMessage_03() runs on TCType system TCType { - test_PDU<SecuredMessage>( - m_secureMessageCAMs - ); - - if (match(valueof(m_secureMessageCAMs), mdw_securedMessage_CAMs) == true) { - setverdict(pass, "Basic"); - } - if (match(valueof(m_secureMessageCAMs), mdw_securedMessage_CAMs(mw_header_field_signer_info_digest)) == true) { - setverdict(pass, "With digest"); - } - if (match(valueof(m_secureMessageCAMs), mdw_securedMessage_CAMs(mw_header_field_signer_info_certificate)) == false) { - setverdict(pass, "With certificate mismatch"); - } - if (match(valueof(m_secureMessageCAMs), mdw_securedMessage_DENMs) == true) { - setverdict(fail, "Shall not match with DENM template"); - stop; - } - if (match(valueof(m_secureMessageCAMs), mdw_securedMessage_Others) == true) { - setverdict(fail, "Shall not match with Other template"); - stop; - } - } // End of testcase tc_SecuredMessage_03 - - testcase tc_SecuredMessage_04() runs on TCType system TCType { - test_PDU<SecuredMessage>( - m_secureMessageDENMs - ); - - if (match(valueof(m_secureMessageDENMs), mdw_securedMessage_DENMs) == true) { - setverdict(pass, "Basic"); - } - if (match(valueof(m_secureMessageDENMs), mdw_securedMessage_DENMs(mw_header_field_signer_info_digest)) == true) { - setverdict(pass, "With digest"); - } - if (match(valueof(m_secureMessageDENMs), mdw_securedMessage_DENMs(mw_header_field_signer_info_certificate)) == false) { - setverdict(pass, "With certificate mismatch"); - } - if (match(valueof(m_secureMessageDENMs), mdw_securedMessage_CAMs) == true) { - setverdict(fail, "Shall not match with CAM template"); - stop; - } - if (match(valueof(m_secureMessageDENMs), mdw_securedMessage_Others) == true) { - setverdict(fail, "Shall not match with Other template"); - stop; - } - } // End of testcase tc_SecuredMessage_04 - - testcase tc_SecuredMessage_05() runs on TCType system TCType { - test_PDU<SecuredMessage>( - m_secureMessageOthers - ); - - if (match(valueof(m_secureMessageOthers), mdw_securedMessage_Others) == true) { - setverdict(pass, "Basic"); - } - if (match(valueof(m_secureMessageOthers), mdw_securedMessage_Others(mw_header_field_signer_info_digest)) == true) { - setverdict(pass, "With digest"); - } - if (match(valueof(m_secureMessageOthers), mdw_securedMessage_Others(mw_header_field_signer_info_certificate)) == false) { - setverdict(pass, "With certificate mismatch"); - } - if (match(valueof(m_secureMessageOthers), mdw_securedMessage_CAMs) == true) { - setverdict(fail, "Shall not match with CAM template"); - stop; - } - if (match(valueof(m_secureMessageOthers), mdw_securedMessage_CAMs) == true) { - setverdict(fail, "Shall not match with CAM template"); - stop; - } - if (match(valueof(m_secureMessageOthers), mdw_securedMessage_DENMs) == true) { - setverdict(fail, "Shall not match with DENM template"); - stop; - } - } // End of testcase tc_SecuredMessage_05 - - } // End of group securityHeader - - group certificates { - - testcase tc_SubjectInfo_01() runs on TCType system TCType { - test_PDU<SubjectInfo>( - m_subject_info_root_ca('DEADBEEF'O) - ); - } // End of testcase tc_SubjectInfo_01 - - testcase tc_SubjectInfo_02() runs on TCType system TCType { - test_PDU<SubjectInfo>( - m_subject_info_revocation('DE5EA5ED'O) - ); - } // End of testcase tc_SubjectInfo_02 - - testcase tc_SubjectAttribute_01() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_verification_key( - m_publicKey_eccPoint( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ) - ) - ) - ); - } // End of testcase tc_SubjectAttribute_01 - - testcase tc_SubjectAttribute_02() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_encryption_key( - m_publicKey_eccPoint( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ) - ) - ) - ); - } // End of testcase tc_SubjectAttribute_02 - - testcase tc_SubjectAttribute_03() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_reconstruction_value( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - 'D89D70110B4AB76904CBD27578420F0814380A5E4183F42AE602BE903EE606F8'O, - '639D5CB825989E92F0A77B31EF65DE5B3505C75FD7B12BA64DBA89897DCB4043'O - ) - ) - ); - } // End of testcase tc_SubjectAttribute_03 - - testcase tc_SubjectAttribute_04() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_assurance_level( - m_subjectAssurance( - '101'B, - '11'B - ) - ) - ); - } // End of testcase tc_SubjectAttribute_04 - - testcase tc_SubjectAttribute_05() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_its_aid_list( - { - 9 * 2184, - 7 * 2184, - 5 * 2184, - 3 * 2184, - 2184 - } - ) - ); - } // End of testcase tc_SubjectAttribute_05 - - testcase tc_SubjectAttribute_06() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_its_aid_ssp_list( - { - { - 9 * 2184, - m_sspTest - }, - { - 7 * 2184, - m_sspTest - }, - { - 5 * 2184, - m_sspTest - }, - { - 3 * 2184, - m_sspTest - }, - { - 2184, - m_sspTest - } - } - ), - true, - oct2bit('2115C04CC80100BBB80100AAA801009998010088880100'O) - ); - } // End of testcase tc_SubjectAttribute_06 - - testcase tc_SubjectAttribute_07() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_its_aid_ssp_list( - { - { - 36, - { - version := '00'O, - sspContainer := omit - } - }, - { - 37, - { - version := '00'O, - sspContainer := omit - } - } - } - ), - true - ); - } // End of testcase tc_SubjectAttribute_07 - - testcase tc_SubjectAttribute_08() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_its_aid_ssp_list( - { - { - 36, - m_sspCAM_vehicle - }, - { - 37, - m_sspDENM_vehicle - } - } - ), - true - ); - } // End of testcase tc_SubjectAttribute_08 - - testcase tc_SubjectAttribute_09() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_its_aid_list( - { - 1631, - 1632 - } - ), - true - ); - } // End of testcase tc_SubjectAttribute_09 - - testcase tc_SubjectAttribute_10() runs on TCType system TCType { - test_PDU<SubjectAttribute>( - m_subject_attribute_its_aid_ssp_list( - { - { - 1631, - { - '00'O, - omit - } - }, - { - 1632, - { - '00'O, - omit - } - } - } - ), - true - ); - } // End of testcase tc_SubjectAttribute_10 - - testcase tc_SubjectAssurance_01() runs on TCType system TCType { - test_PDU<SubjectAssurance>( - m_subjectAssurance( - '101'B, - '11'B - ) - ); - } // End of testcase tc_SubjectAssurance_01 - - testcase tc_ValidityRestriction_01() runs on TCType system TCType { - test_PDU<ValidityRestriction>( - m_validity_restriction_time_end( - 12345 - ) - ); - } // End of testcase tc_ValidityRestriction_01 - - testcase tc_ValidityRestriction_02() runs on TCType system TCType { - test_PDU<ValidityRestriction>( - m_validity_restriction_time_start_and_end( - 12345, - 12378 - ) - ); - } // End of testcase tc_ValidityRestriction_02 - - testcase tc_ValidityRestriction_03() runs on TCType system TCType { - test_PDU<ValidityRestriction>( - m_validity_restriction_time_start_and_duration( - 12345, - m_duration_in_seconds( - 456 - ) - ) - ); - } // End of testcase tc_ValidityRestriction_03 - - testcase tc_ValidityRestriction_04() runs on TCType system TCType { - test_PDU<ValidityRestriction>( - m_validity_restriction_region( - m_geographicRegion_identifiedRegion( - m_identifiedRegion_02 - ) - ) - ); - } // End of testcase tc_ValidityRestriction_04 - - testcase tc_ValidityRestriction_05() runs on TCType system TCType { - test_PDU<ValidityRestriction>( - m_validity_restriction_region( - m_geographicRegion_circle( - { - 43616908, - 7052847 - }, - 10000 - ) - ) - ); - } // End of testcase tc_ValidityRestriction_05 - - - /** - * @desc Root certificate self signed - * @verdict - */ - testcase tc_Certificate_01() runs on TCType system TCType { - test_PDU<Certificate>( - m_certificate( - m_signerInfo_self, - m_subject_info_root_ca('455453495f506c7567746573745f526f6f74'O), // ETSI_Plugtest_Root - { - m_subject_attribute_verification_key( - m_publicKey_eccPoint( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - '63eb5c4ea82bc6a6b27e5857a075dce18f0e3cdc01d42896418b23f68872e41a'O, - 'd04f5dfcdc2be224986e15147840ff21f709dcb6503a416207e1b8e1ce395c2a'O - ) - ) - ), - m_subject_attribute_verification_key( - m_publicKey_aesccm( - m_aesccm( - m_eccPointecdsa_nistp256_with_sha256_uncompressed( - '4dff56b92fcf680ee694ee58473f9f7d37516c3708f108a5185c185c5f159f02'O, - 'f47aa5d2514f593245dd6575613114182dc83ec67ac2a7b6726421d94c55184b'O - ) - ) - ) - ) - }, // End of field subject_attributes - { - }, // End of field validity_restrictions - m_signature( - m_ecdsaSignature( - m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only( - 'd06ff2baf762e9618cac21bd110f271ea2a7c91355dca14753fc9a0dded1ab34'O - ), - '71db2dd2ba840126e2904297f34386ccdfe86a0ebe0e585748517a5da49808b4'O - ) - ) - ) // End of template m_certificate - ); - } // End of testcase tc_Certificate_01 - - template (value) octetstring m_rootCertificate := '02000412455453495f506c7567746573745f526f6f748091000004a0ce08d329fd7be6b5af8fde7dad64e57fa5ff54dfaf9ec42b7443193c1f9d9d48e3c03250e59f895b17ca1e68cd8f5f1e9b1b06eddd0b98dfde91e88fa1199501010004e82c1957b1da51b5a00f29e51db151b30bd6ef29bd0c2f3e8e5cf457826f8660e59e4783e9b4b2a5b455263183ea88b18ae7e2d90ec805260213978014d1b2bf02202006c04080c0408124011464b4031a5617030303181db9cf7c052616001db9566e0526872a1d53f0d0052783500000a83ef7af9f3509189db625cd2e30eaefaf4f5b604d36389ece4f06b37a3923cf13ce5734485e25e360a7cf386eee795debbe9c61586de56b4fbd46d704109956'O; - template (value) octetstring m_aaCertificate := '02016da94961ba3e28810210455453495f506c7567746573745f41418091000004c368a797aa7943e4176aa5004d37eec5e12b92fea6b9630a9e197a10702f0f495c775d0e12bdbb21eb18648409443072ff2a383d51b5f7a5a7dca88434b5bb8801010004b244be4855cbb05cc7302903d043fe36d5abaa1b331b8c4de3e74c212cfac113b244be4855cbb05cc7302903d043fe36d5abaa1b331b8c4de3e74c212cfac11302202006c04080c0408124011464b4031a5617030303181db9cf7c052616001db9566e0526872a1d53f0d00527835000004c004618e92921341bcded2f15c58f50aa3590e59a3a798fe1a3b2364d66d8823b855859920f3e7f96e66f85ce90cee26ac71cb2ee9fbeecb64747ce19c50804'O; - template (value) octetstring m_atCertificate := '0201ebdb26e96a88ea1b01008095000004ceb7c449075ce00c1e7e1f997d443194dcf904f01f6149d4287bdcdb3bad251aa882d59fe8747108e2980c663353967a152c5b27cd83e055f93bc9b9da265859010100044d1c988453d69cae826f8a14f46d672d000b777c606a05b1b622a11f356fb2facba1fa6f2fb2ba44d47765dc6062966ded39161a5222799af887508767b657ec0220210ac040800100c04081010024011464b4031a5617030303181db9cf7c052616001db9566e0526872a1d53f0d005278350000050804677f295dbd99a64aaec8d100f07efd14234a6152012fd1371c32ff1e4479543df14c2de7d744c8526ed330bca75f05e30361a25c11dd2c83bbdf495f81f'O; - - testcase tc_Certificate_02() runs on TCType system TCType { - test_decodePDU<Certificate>( - mw_certificate_dummy, - m_rootCertificate - ); - } // End of testcase tc_Certificate_02 - - testcase tc_Certificate_03() runs on TCType system TCType { - test_decodePDU<Certificate>( - mw_certificate_dummy, - m_aaCertificate - ); - } // End of testcase tc_Certificate_03 - - testcase tc_Certificate_04() runs on TCType system TCType { - test_decodePDU<Certificate>( - mw_certificate_dummy, - m_atCertificate - ); - } // End of testcase tc_Certificate_04 - - testcase tc_Certificate_05() runs on TCType system TCType { - var Certificate v_ca; - var Certificate v_aa; - var Certificate v_at; - var bitstring v_encMsg; - var integer v_res; - var HashedId8 v_hashedId8; - var HashedId3 v_hashedId3; - - // AT certificate - v_res := decvalue(oct2bit(m_atCertificate), v_at); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - // AA certificate - v_res := decvalue(oct2bit(m_aaCertificate), v_aa); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - // CA certificate - v_res := decvalue(oct2bit(m_rootCertificate), v_ca); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - - // AT-AA certificates - v_hashedId8 := f_calculateDigestFromCertificate(v_aa); - if (v_hashedId8 != v_at.signer_info.signerInfo.digest) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8(v_at.signer_info.signerInfo.digest)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - // AA-CA certificate - v_hashedId8 := f_calculateDigestFromCertificate(v_ca); - log("ca v_hashedId8=", v_hashedId8); - log("aa digest=", v_aa.signer_info.signerInfo.digest); - if (v_hashedId8 != v_aa.signer_info.signerInfo.digest) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8(v_aa.signer_info.signerInfo.digest)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - // CA-CA certificate - v_hashedId8 := f_calculateDigestFromCertificate(v_ca); - if (v_hashedId8 != '6DA94961BA3E2881'O) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8('6DA94961BA3E2881'O)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - setverdict(pass, "All Digests match."); - } // End of testcase tc_Certificate_05 - - testcase tc_Certificate_06() runs on TCType system TCType { - const octetstring c_rootCertificate := '02000412455453495F506C7567746573745F526F6F748091000004D901D55569384486DD3304FCFD89A970011A66A5F18BC2BB1D492E2BF19B56C3EEEAE3795D67E398081AD6A7E276147F97902C87811B565E302928141AF3EF61010100043B3D45D5DB2F9540BA3EB2644F5920DCB365FDA9F572817DC1FE1EBBB54CD8B51CFF642167EB4492F953655F80007E51569369F3A95EC045CF4D4743E80E1C6602202006C04080C0408124011464B4031A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D0052783500000FEEBD0AEC2ACB4C20553000190C8874894239446A6949C5421D67C297EC8D2E1DCB4316C5E01B59D6965AE7007F6694821498215D1FB4D3A48BB56F6C21F4D85'O; - const octetstring c_aaCertificate := '0201BCEC64124B3681F70210455453495F506C7567746573745F41418091000004B47B1576C9752B022B81CC89319D1F60F833F5F8CBF47EC8DC1E5557E5628BAEDD779C0CBD524911A21EDD6DEAE510BBA782D0F023D4A0AC6FCC239BF8CF0A98010100046EE4A2877E59CE258EDDEEA154F9491D6894E13D491128E1BF414CBE66E43EBD6EE4A2877E59CE258EDDEEA154F9491D6894E13D491128E1BF414CBE66E43EBD02202006C04080C0408124011464B4031A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D005278350000001F386CA0B4B468A83154547AF33ED3B62B706B3A2F39AA00F00C55C13056CC5C6D037B0E51BB41DBC2B6A999CF04012FE34D3C12E32B8AACCF43F690B6613D4'O; - const octetstring c_atCertificate := '02016280AF8B397B202A01008095000004AD05720B46FD03AD21544B3F05924E45924F3D2D82C63259B3646309D00A40705B8A36BAA5E14172E38BDE9E1E974130D042A996B90E5BAE6765665452A17A65010100042EF8A6DD5E650B7A31A628B471380E1C2D73E1A33586D08590F667D95123F53CEE26883D1B3C066A388D43DA5A9396FB75C73309A0D50D0A6BF43C315ED42B9E0220210AC040800100C04081010024011464B4031A5617030303181DB9CF7C052616001DB9566E0526872A1D53F0D005278350000049EC38CE35F28DE07D3CC922C6DED74EF8514F422D076C0282E8BDFB95564A6C885BE5C7259AC3EAB497D6D9BB7EB4FA84005616A4E0FE4374513F1A9CFD55B7'O; - - var Certificate v_ca; - var Certificate v_aa; - var Certificate v_at; - var bitstring v_encMsg; - var integer v_res; - var HashedId8 v_hashedId8; - var HashedId3 v_hashedId3; - var boolean isSignatureOk; - - // AT certificate - v_res := decvalue(oct2bit(c_atCertificate), v_at); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - // AA certificate - v_res := decvalue(oct2bit(c_aaCertificate), v_aa); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - // CA certificate - v_res := decvalue(oct2bit(c_rootCertificate), v_ca); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - - // AT-AA certificates - v_hashedId8 := f_calculateDigestFromCertificate(v_aa); - if (v_hashedId8 != v_at.signer_info.signerInfo.digest) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8(v_at.signer_info.signerInfo.digest)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - isSignatureOk := f_verifyCertificateSignatureWithIssuingCertificate( - v_at, - v_aa - ); - log("Signature AA/AT: ", isSignatureOk); - - // AA-CA certificate - v_hashedId8 := f_calculateDigestFromCertificate(v_ca); - if (v_hashedId8 != v_aa.signer_info.signerInfo.digest) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8(v_aa.signer_info.signerInfo.digest)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - // CA-CA certificate - v_hashedId8 := f_calculateDigestFromCertificate(v_ca); - if (v_hashedId8 != 'bcec64124b3681f7'O) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8('bcec64124b3681f7'O)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - setverdict(pass, "All Digests match."); - } // End of testcase tc_Certificate_06 - - /** - * Test certificate from Denis tool - * @desc - * @verdict - */ - testcase tc_Certificate_07() runs on TCType system TCType { - const octetstring c_rootCertificate := '020004004B000004966296BF6D47B5ED66DB32605D1074BCBAC97B5A73FE0D4413F6A1818D6D7E9A966296BF6D47B5ED66DB32605D1074BCBAC97B5A73FE0D4413F6A1818D6D7E9A02E02004865F866009014A9618814C774C0100004337D4953FCEBC99FD481A103514CE23B0E85511D2FC55B8CF98941A5436843ACA9B85949F2DF85F9D4D3E8A150EAB3D5004DF0B3DE3972216328615E5A7F816'O; - const octetstring c_aaCertificate := '0201e76042b201a5435502004b000004b80fbbf4b87fdc12ebd7f3dcb689ec1bd2f2ab4c76c158ae7cf5cefbd5a65bb8b80fbbf4b87fdc12ebd7f3dcb689ec1bd2f2ab4c76c158ae7cf5cefbd5a65bb802e02004865f866015014a9618814c774c01030119ff697804342dd62710000016852db5022a8799bfe0bd9b0226c87a83e3df70557e27b759119550d5273674b42a7e5586af5d61098dabc7785ac3b4189bad28a9fa7f430824fcd0f464b548'O; - const octetstring c_atCertificate := '02012a83ff49822ac92d01004b000004b7e7eab1eb9046831e9b0e868aefb6475b0a6ee8bcd7eadbcb80883f53ae1c51b7e7eab1eb9046831e9b0e868aefb6475b0a6ee8bcd7eadbcb80883f53ae1c5102802104865f010015014a9618814c774c01030119ff697804342dd627100000bcb445ceccdea6b38f196aaab2050d300b966a884a4ac653984b4a3104fbb97cab0d808608cafbb22753d90b0cce256f46830075b6653e973fd56daf99bc4535'O; - - var Certificate v_ca; - var Certificate v_aa; - var Certificate v_at; - var bitstring v_encMsg; - var integer v_res; - var HashedId8 v_hashedId8; - var HashedId3 v_hashedId3; - - // AT certificate - v_res := decvalue(oct2bit(c_atCertificate), v_at); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - v_hashedId8 := f_calculateDigestFromCertificate(v_at); - log("AT hashedId8=", v_hashedId8); - // AA certificate - v_res := decvalue(oct2bit(c_aaCertificate), v_aa); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - // CA certificate - v_res := decvalue(oct2bit(c_rootCertificate), v_ca); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - - // AT-AA certificates - v_hashedId8 := f_calculateDigestFromCertificate(v_aa); - if (v_hashedId8 != v_at.signer_info.signerInfo.digest) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8(v_at.signer_info.signerInfo.digest)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - // AA-CA certificate - v_hashedId8 := f_calculateDigestFromCertificate(v_ca); - if (v_hashedId8 != v_aa.signer_info.signerInfo.digest) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8(v_aa.signer_info.signerInfo.digest)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - // CA-CA certificate - v_hashedId8 := f_calculateDigestFromCertificate(v_ca); - if (v_hashedId8 != 'e76042b201a54355'O) { - setverdict(fail, "Digest does not match."); - stop; - } else { - setverdict(pass, "Digest match."); - } - if (substr(v_hashedId8, lengthof(v_hashedId8) - 3, 3) != f_HashedId3FromHashedId8('e76042b201a54355'O)) { - setverdict(fail, "HashedId3 digest does not match."); - stop; - } else { - setverdict(pass, "HashedId3 digest match."); - } - - setverdict(pass, "All Digests match."); - } // End of testcase tc_Certificate_07 - - testcase tc_Certificate_V2X_Pilot_PKI_08() runs on TCType system TCType { - const octetstring c_f5425279310c0379_RootCA := '0200040c547275737465645f526f6f74808d000004f1817dd05116b855a853f80db171a3a470d43170ea7eefd8ef392d66ecefbe501ceba19963c9b6447574424fff1bb89485743f4d09a72b715fc73c87e5f70a110101000441279a383b80c812b72b1a5f5c3c590e5041c634a1adcc4ce58393ca046d3c619717aef634f7d80d5f6a29fa7f86ebf823ace0097a71ee0df0793034b0d3797c02e0200224250b0114b12b03154e0d83030000007d12badf99d7070bcb237ed1fa7a5d86fd47e6aba8e616b35e95a2856fc6e26a493e1215bcee8bea18b8ed52fb240716c4d4ec7d7c0167f0f032cbb87df611d9'O; - const octetstring c_d30e8c02c886e433_RootCA_untrusted := '0200040e556e747275737465645f526f6f74808d00000453044fe97af60b6a7eb604bd9bacb5758d37c2f29eeb9e2de2b003b669164913f018e4d881bdf8e8a097abf720725678953a943078d6cc76f2855ac745f8ad610101000410df9d1c28c9880200d697d07e05a884469dbffc4eb7a8ea047ca4435abd185654ebd4cafa0142359d953d0774f6aebb43e5904cf5a284116566f4139b3c60b202e0200224250b0114b12b03154e0d8303000000fbb987cbc9483b8efd2eb3f06389de14bdecc777085bc9cecb906521fa70613f1822c3d34b4c992edbd2cef9d4d8b0697d79a327b3c3309f5985713b09270944'O; - const octetstring c_5388dec640c6e19e_AA := '0201f5425279310c0379020a547275737465645f4141808d00000401418e994657434a71e034e530b1e77a8afac37561132c83d45c442499228ca78573f14be034a4958108a654cac60f15bb35907e33d0e97f8d7eaf64a1f43547010100047c5c8d8b86cf8a00a53f3cd23fccf13d078555cc8ef27dc439780eb8ef376237ff668055da476cc82956f6febfa051a6d927e70d826db0338e42819f026aebaa02e0200224250b0114b12b03154e0d83030000005145571104d52dd7094c577719c7ca430d59608d5fefd10db3e61b7c5fd3e4716224f96ed5ab4eb7f860c15347b66e23ea12e0a186a1a80b96c6e5de05416a87'O; - const octetstring c_a0f336b87f0794b0_AA := '0201f5425279310c0379020a547275737465645f4141808d00000432b9c37ac51d25863a7872ef405db43df37fa73411b2c0539fd39df38828f86c946cb09039c0a9694a650d9104ba62c5a7588aef8f68935f0d170373968131cd01010004e6c956fbedcc969935be832e4de599cbfd687d81495c58b3c12028f92489d4af76b64d340be2ace8d7e2a789fe09a5f3b84f5e65bf54a07faf74696131e762e302e0200224250b0114b12b03154e0d8303000000cc6255f38bc8844fac2a31de3420e65f23dbc97dc866c840516328f27850b3520fc2a812a49dd989bfb0ece408e53b375006974d1da4efd6fc5465b3f8946183'O; - const octetstring c_d6dfbc3d713ffa0b_AA_untrusted := '0201d30e8c02c886e433020c556e747275737465645f4141808d000004eccc0e42d736b60cfc3fc9b9179ec27f7a371e81ef32467a4a9d56140d9a3a9a50c5d1429f5bdb8ca1ee8b785f72078d2c27028031b73dea8b6871d10d249f5f010100043d76177ad277cb6e29b3a02805b5c6c9ad26c03c74fd306f9afb664f33901edf9918825007ee128bd691607c5b97726af7dab805aefedd617c77e461dc98dca202e0200224250b0114b12b03154e0d83030000007a5f8c8d97f1b0bec546247bdeb27c28eb4b494ed2a0d62b0da776d53977e3b157178a401fd694383f927abad2b5786635f28572aab6b228896ccf0148e0d53b'O; - - // TEST_certs_keys_issued_by_5388dec640c6e19e - const octetstring c_Test_AT1 := '02015388dec640c6e19e010052000004b27d4d442f58e065f8d500478929bc843940f3c34d46c5475803c03594e35bd7e0132fd01634e86d4f50f7f2366988e12525232d00d03e98fc21ca8e5d0af37002e0210b24030100002504010000000b0114e9db83154cbc0203000000553c8d2b8a4e53f3d84a8837beebe83d5c7f68484ac5efceefcc7b0bc5e9531754aaf58bf90790a10f2fd11796a85e13dffaac6073d2068465da733994cd0c71'O; - const octetstring c_Test_AT2 := '02015388dec640c6e19e010052000004512c08862ef51fb8d937d078e915d12490b2e0c7ff41511858eec565cab83ec9306d92b0c202cad663b3f90c9d94ec48d27617801610c6d131f1b8b18e67427002e0210b24030100002504010000000b0114e9db83154cbc0203000000f84f10facd1f08b1592ae23b4239456e702b4023a8298bf4a30bc0022f06f5aa56bbfd3b792b00abcaeb6b41d34f3987d5a7f217f7f9f4195c1e85c701fce8f2'O; - const octetstring c_Test_AT3 := '02015388dec640c6e19e010032000002eaf5a876793ef5d8d2d154ce23e777da0ae088ae43f60652f88fef5dbe31dc3302e0210b24030100002504010000000b0114e9db83154cbc0203000000ff55b10325379ed83208d800c56746a634e78e513c96f2566329407c9540a65666dc4a0af48f649a44b6cc151aa203f054d5d095fa6184bddf08bf1f14852500'O; - const octetstring c_Test_AT4 := '02015388dec640c6e19e0100520000046c26d3f315e24aaac677eca6c1e82a096203b66406cf04465a01cc086018139e12e400bb4f19c901bb9fcf7268f88faed2285b52707a693c74e7b992552d7dbc02e0210b24030100002504010000000f0114e9db83154cbc0203040002100000007372e270aaa5fc350b23ab78d1fa43cf4505989a13a653d93beed2d3b89a59417321a185353d86484da24e24be96b9a691f2b9ca037bce41ca95d98204dcfa6a'O; - const octetstring c_Test_AT5 := '02015388dec640c6e19e010052000004068490605eff205098119eb7fc21c8229bc1529486364227cf2f42b5feb60604a923c63abe701f5342cfa0aacdc1f3f079e201d4a9029903295121186b9caf4f02e0210b2403010000250401000000150114e9db83154cbc0203011eae5f88035a297427100000408c0cec5b3111c4ade6143947d2d8a810604fcd2d3f34caa3e028e30fa9e69684f24bc84ef81f3c8ac49151b6884ad3797f3b53cbb2484691c6b94e0891014f'O; - const octetstring c_Test_AT6 := '02015388dec640c6e19e010052000004040344c037457b086cf2c5632c36d93817c66e8bb2452afc654e01f068de0bbfacca05a311618d721a36af440f646897744e3f9970acacec918cde0fcacf9b6502e0210b24030100002504010000001c0114e9db83154cbc020302101eb1cbe6035385741ea90a6a0369c6f40000cad16afc42c06012beb7c1ccd615054a19ea004621fd097ffda2b547b1a6f303ccea2244fc68323ea6451b369ceb1303729271810673494967e6b9a329aed6b3'O; - const octetstring c_Test_AT7 := '02015388dec640c6e19e01005200000463e4bb1f5849006b0418a511901e43f58d73466e9e4125071f289b6b8bf0c9fdf000aa250ef97a1343d349528993398579c037cea10f3eef5c1fd191d3e5227902e0210b24030100002504010000002c0114e9db83154cbc020303201eb1cbe6035385741eb225b403687c9a1ea90a6a0369c6f41ea732ee03552aaa0000ce5d790b9f7def755bca1834791f1b365376b0487d8d1868736d8946e4da52d0d06671334ace63a162c47691ec6adb771aa21300dd702f1680bc80b46366a9be'O; - const octetstring c_Test_AT8 := '02015388dec640c6e19e010052000004c48438ae701f058212c71792856e82d3b6e4fb83c447d677de4689e1495a45034fa4ed9251d94ff36ee8998913d876116bfd8127b185aa3498695b1b9823d41f02e0210b24030120002504010000000b0114e9db83154cbc0203000000d531fe87847967a64addf20de995dce65d490746776b2c631267fbee6596c450902625f179bb81ec788832caa19bbd0445bae6f698110f5a99e75c725050c46f'O; - const octetstring c_Test_AT9 := '02015388dec640c6e19e010080960000043283ee6ea46183575f370c76aceb8f7f20783de875c5667919b58a22a56f9fa2b10b2080890bdc3c754f9c43d2bb3fe9cea67618ce146143626eca01a4d1d6bd01010004b735a6076b3846844fca761da0cc3e9fd45df819b0e2a00cbc5cd036f7bf3ff76f220e547d6d0c951b207cc2ed17fe7b2baaee184097eacc5fa9507918d15df502e0210b24030100002504010000000b0114e9db83154cbc02030000003d31e17204242b5b6fce62f0ab8cb04a908b8526fdd817ac89a56468e3ebdecfa65d298919da05c2448f06a848d8155fe3f5c3e3ac2a09197fa69165e8c2c3f3'O; - // TEST_certs_keys_issued_by_a0f336b87f0794b0 - const octetstring c_Test_AT10 := '0201a0f336b87f0794b001005200000450f73a9ce15e633d252d5b72763a9fbb31c180d4a3e594c9791c30188c7d9d16ccef80fa7ddad2ce546f79670b6312d8d27cb550d00e5439642ae08fbcb3429902e0210b24030100002504010000000b0114e9db83154cbc0203000000db779353b4571c5fb27e34b06ab2ae0c4e1a63a3a5360ff3cc733a51b634234d46d224dc93166f5cd57c06632779682b9e2c97f305e5d191d2cda97e5bf64b08'O; - // TEST_certs_keys_issued_by_d6dfbc3d713ffa0b - const octetstring c_Test_AT11 := '0201d6dfbc3d713ffa0b010052000004981b5375947df6313cb896e12bfc4acae7fac74dcdf5651780c1f0a7286a068b21b88b850cf4773862e14ec4a4a83a1c919ae846438c1695fd7d4e857945a62f02e0210b24030100002504010000000b0114e9db83154cbc02030000006d5db9a286fb5449513c63a15dd46200d808157a9c0c6a08f6bc6b0dcd563a6f399ae68e5dd567dce6310dcf87979e89ae551a1a5e65db30b1f547856316190b'O; - // Conformance_aa_certificates - const octetstring c_ts_a_ea := '0201F5425279310C03790300490000041CFD0EB0134DEE22E3E28974F926C438CD6C758FAA32E8F97836C6F909C86F22F9393DE71242623B035118CBD40F702F9956AFECB6BF8273BAE95A8CF100D3A10280200224250B0114B12B03154E0D830300000069E4AC13C211A397FF07172FF01215ED4C76CE7320355BE16B63F38B61C19F336BA906CBA60C0FB6193974EE77D24588752EC720540DABF7483DF901580FB0FC'O; - const octetstring c_ts_a_ec := '0201B13F33BBB46A144400004D00000437381483C1BCD2C3CD052C78B3BC0AB9E0E342D1523738A37254DF1964EE63A6D2B4B4297C2A49A16161EA6AE5D7FF46BFC8CF864B6BE69F19694E980A7E62BE026021062401002501000B0114B12B03154E0D83030000006E4C06158CF66040664FE86FA55A108A55F9723385EB1C813E53BA9DA9AA1DBD6A7F321FFA54DE6868B7875CA2E843EFA4050EED73FE7D067F5EBAD26C8EDAAD'O; - const octetstring c_ts_b_aa := '0201F5425279310C03790200490000047265610C8D5101D7E998A2DCF7D7BCA91300E143EE4665B8709AFE62EDAF3E49645D1A8A7A90354D18FF2BC639FC212E0EBF6BCD620CED02335845C8A8DA96CE028020022425150114B12B03154E0D8303011EAE5F88035A297427100000787F14C1E8CDBA1DC7769FFD1A66BF94AB2BDEEA0BFBA89EA746DCAFADE185F592E898C0208A39633952C4A3E8822E85EFA16ABD161E34F095B2721BE3EBE5D6'O; - const octetstring c_ts_c_aa := '0201F5425279310C03790200490000043585280881F01B193BFA87C2B0E166DF0E6D02D3F7CE31DE6584C5595CDBA74B2ACEA72A363DC88192DBA03EB2AD9FE873B63FE8F8952B132664A7BD9C0414A40280200224251C0114B12B03154E0D830302101EB53B5A0350AD721EA782620363A1D400004511AFEC51CFE055EB1A73D098085EAD9A4D4981BB24F14FB205758A78D1BA1538A104F03464D57D3C306CC459B6D9010F1CB6F0096CFB7CE4C852E0872699C8'O; - const octetstring c_ts_d_aa := '0201F5425279310C0379020049000004E3B6F0C104B8821636AF9D196DFD8141C91D38D5F15F1A9D05A354786E6AC878CBB16E09D9B394CF867A408803562F6C23965C9C8DA0E03103CEEE3C26D82D700280200224252C0114B12B03154E0D830303201EBC15E203472DCE1EBC15E2036D169C1EA0A3F2036D169C1EA0A3F203472DCE00002C829FF62D0423816237AF47FE5D83E70113D50F08A083772EE6C25AE1C6D367F09D76D9AE55CC70558EADE1E62826BF0DECAF9570FB5225014A7E13AA5DB0A6'O; - const octetstring c_ts_e_aa := '0201F5425279310C03790200490000042642D6E413BE9621193FA99395931CF2684F4F4C4B9A289E63053F337C324D514BE57B30888232405406147CB55604CA88453DF3EE8EE8A25384D5F701D4B3990280200224250F0114B12B03154E0D830304000210000000EA54BA28008335DFB9F0237488F2CC3DDE57D59C7858FDA4317B9F373060B302D6E1C7D8AFF00910735F772E6A297F241DA8BF34754A075195C644F4D2DC53BE'O; - - var Certificate v_f5425279310c0379_RootCA; - var Certificate v_5388dec640c6e19e_AA, v_a0f336b87f0794b0_AA, v_d6dfbc3d713ffa0b_AA_untrusted; - var Certificate v_atCertificate; - var Certificate v_decMsg; - var HashedId8 v_hashedId8; - var integer v_res; - var boolean v_result; - - // f5425279310c0379_RootCA - v_res := decvalue(oct2bit(c_f5425279310c0379_RootCA), v_f5425279310c0379_RootCA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("f5425279310c0379_RootCA: ", v_f5425279310c0379_RootCA); - v_hashedId8 := f_calculateDigestFromCertificate(v_f5425279310c0379_RootCA); - log("f5425279310c0379_RootCA: v_hashedId8", v_hashedId8); - - // d30e8c02c886e433_RootCA_untrusted - v_res := decvalue(oct2bit(c_d30e8c02c886e433_RootCA_untrusted), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("d30e8c02c886e433_RootCA_untrusted: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("d30e8c02c886e433_RootCA_untrusted: v_hashedId8", v_hashedId8); - - // 5388dec640c6e19e_AA - v_res := decvalue(oct2bit(c_5388dec640c6e19e_AA), v_5388dec640c6e19e_AA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("5388dec640c6e19e_AA: ", v_5388dec640c6e19e_AA); - v_hashedId8 := f_calculateDigestFromCertificate(v_5388dec640c6e19e_AA); - log("5388dec640c6e19e_AA: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_5388dec640c6e19e_AA, - v_f5425279310c0379_RootCA - ); - if (v_result == true) { - setverdict(pass, "5388dec640c6e19e_AA: Certificate verification match"); - } else { - setverdict(fail, "5388dec640c6e19e_AA: Certificate verification mismatch"); - stop; - } - - // a0f336b87f0794b0_AA - v_res := decvalue(oct2bit(c_a0f336b87f0794b0_AA), v_a0f336b87f0794b0_AA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("a0f336b87f0794b0_AA: ", v_a0f336b87f0794b0_AA); - v_hashedId8 := f_calculateDigestFromCertificate(v_a0f336b87f0794b0_AA); - log("a0f336b87f0794b0_AA: v_hashedId8", v_hashedId8); - - // c_d6dfbc3d713ffa0b_AA_untrusted - v_res := decvalue(oct2bit(c_d6dfbc3d713ffa0b_AA_untrusted), v_d6dfbc3d713ffa0b_AA_untrusted); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("d6dfbc3d713ffa0b_AA_untrusted: ", v_d6dfbc3d713ffa0b_AA_untrusted); - v_hashedId8 := f_calculateDigestFromCertificate(v_d6dfbc3d713ffa0b_AA_untrusted); - log("d6dfbc3d713ffa0b_AA_untrusted: v_hashedId8", v_hashedId8); - - // _Test_AT1 - v_res := decvalue(oct2bit(c_Test_AT1), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT1: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT1: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT1: Certificate verification match"); - } else { - setverdict(fail, "Test_AT1: Certificate verification mismatch"); - } - - // _Test_AT2 - v_res := decvalue(oct2bit(c_Test_AT2), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT2: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT2: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT2: Certificate verification match"); - } else { - setverdict(fail, "Test_AT2: Certificate verification mismatch"); - } - - // _Test_AT3 - v_res := decvalue(oct2bit(c_Test_AT3), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT3: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT3: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT3: Certificate verification match"); - } else { - setverdict(fail, "Test_AT3: Certificate verification mismatch"); - stop; - } - - // _Test_AT4 - v_res := decvalue(oct2bit(c_Test_AT4), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT4: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT4: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT4: Certificate verification match"); - } else { - setverdict(fail, "Test_AT4: Certificate verification mismatch"); - stop; - } - - // _Test_AT5 - v_res := decvalue(oct2bit(c_Test_AT5), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT5: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT5: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT5: Certificate verification match"); - } else { - setverdict(fail, "Test_AT5: Certificate verification mismatch"); - } - - // _Test_AT6 - v_res := decvalue(oct2bit(c_Test_AT6), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT6: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT6: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT6: Certificate verification match"); - } else { - setverdict(fail, "Test_AT6: Certificate verification mismatch"); - stop; - } - - // _Test_AT7 - v_res := decvalue(oct2bit(c_Test_AT7), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT7: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT7: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT7: Certificate verification match"); - } else { - setverdict(fail, "Test_AT7: Certificate verification mismatch"); - stop; - } - - // _Test_AT8 - v_res := decvalue(oct2bit(c_Test_AT8), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT8: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT8: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT8: Certificate verification match"); - } else { - setverdict(fail, "Test_AT8: Certificate verification mismatch"); - stop; - } - - // _Test_AT9 - v_res := decvalue(oct2bit(c_Test_AT9), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT9: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT9: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT9: Certificate verification match"); - } else { - setverdict(fail, "Test_AT9: Certificate verification mismatch"); - stop; - } - - // _Test_AT10 - v_res := decvalue(oct2bit(c_Test_AT10), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT10: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT10: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_a0f336b87f0794b0_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT10: Certificate verification match"); - } else { - setverdict(fail, "Test_AT10: Certificate verification mismatch"); -// stop; - } - - // _Test_AT11 - v_res := decvalue(oct2bit(c_Test_AT11), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT11: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT11: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_d6dfbc3d713ffa0b_AA_untrusted - ); - if (v_result == true) { - setverdict(pass, "Test_AT11: Certificate verification match"); - } else { - setverdict(fail, "Test_AT11: Certificate verification mismatch"); -// stop; - } - - v_res := decvalue(oct2bit(c_ts_a_ea), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("c_ts_a_ea: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("c_ts_a_ea: v_hashedId8", v_hashedId8); - - v_res := decvalue(oct2bit(c_ts_a_ec), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("c_ts_a_ec: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("c_ts_a_ec: v_hashedId8", v_hashedId8); - - v_res := decvalue(oct2bit(c_ts_b_aa), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("c_ts_b_aa: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("c_ts_b_aa: v_hashedId8", v_hashedId8); - - v_res := decvalue(oct2bit(c_ts_c_aa), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("c_ts_c_aa: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("c_ts_c_aa: v_hashedId8", v_hashedId8); - - v_res := decvalue(oct2bit(c_ts_d_aa), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("c_ts_d_aa: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("c_ts_d_aa: v_hashedId8", v_hashedId8); - - v_res := decvalue(oct2bit(c_ts_e_aa), v_decMsg); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("c_ts_e_aa: ", v_decMsg); - v_hashedId8 := f_calculateDigestFromCertificate(v_decMsg); - log("c_ts_e_aa: v_hashedId8", v_hashedId8); - - setverdict(pass, "All Digests match."); - } // End of testcase tc_Certificate_V2X_Pilot_PKI_08 - - testcase tc_Certificate_V2X_Pilot_PKI_Autotalk() runs on TCType system TCType { - const octetstring c_f5425279310c0379_RootCA := '0200040c547275737465645f526f6f74808d000004f1817dd05116b855a853f80db171a3a470d43170ea7eefd8ef392d66ecefbe501ceba19963c9b6447574424fff1bb89485743f4d09a72b715fc73c87e5f70a110101000441279a383b80c812b72b1a5f5c3c590e5041c634a1adcc4ce58393ca046d3c619717aef634f7d80d5f6a29fa7f86ebf823ace0097a71ee0df0793034b0d3797c02e0200224250b0114b12b03154e0d83030000007d12badf99d7070bcb237ed1fa7a5d86fd47e6aba8e616b35e95a2856fc6e26a493e1215bcee8bea18b8ed52fb240716c4d4ec7d7c0167f0f032cbb87df611d9'O; - const octetstring c_5388dec640c6e19e_AA := '0201f5425279310c0379020a547275737465645f4141808d00000401418e994657434a71e034e530b1e77a8afac37561132c83d45c442499228ca78573f14be034a4958108a654cac60f15bb35907e33d0e97f8d7eaf64a1f43547010100047c5c8d8b86cf8a00a53f3cd23fccf13d078555cc8ef27dc439780eb8ef376237ff668055da476cc82956f6febfa051a6d927e70d826db0338e42819f026aebaa02e0200224250b0114b12b03154e0d83030000005145571104d52dd7094c577719c7ca430d59608d5fefd10db3e61b7c5fd3e4716224f96ed5ab4eb7f860c15347b66e23ea12e0a186a1a80b96c6e5de05416a87'O; - - // TEST_certs_keys_issued_by_5388dec640c6e19e - const octetstring c_Test_AT1 := '02015388dec640c6e19e0100520000049ceb985b5d9e40c8506f4891400ac1c88d8e350f6c3eed737c02595029cf544733dc30bf30f8f5a0177f360ac1d87cbfb3ee50727eaa032791506501ee6111b702e0210b24030100002504010000000b0115043983154cbc02030000005cadfba649c7e105918cbe8004c686d2ac28f5bc4db32163743fda77d700317fb30d5cc7b8e57a2b476f040520f9da8e27b719cfce0c92d5cc2a95e556eb79ae'O; - const octetstring c_Test_AT2 := '02015388dec640c6e19e01005200000410c9704df6d02a3de0b148dfd47a607fc278639226af09252e4e99190e03324b5fa29f1dd0fdf2a5d4c689239ed194348e0bd2051a7172c8026ce93b391113c702e0210b24030100002504010000000b0115043983154cbc02030000009c37b90d8c764aeb5a2038fcca8b8c43dda5dbeda85d72ce74aac8e3ff4648d4466f00b60929a1cc04b89925e213e625df0d4018a8c989c0e38b8f9ae97545be'O; - const octetstring c_Test_AT3 := '02015388dec640c6e19e01003200000364efcf95f7bc2408f414d9bca06954bc86b065fedfc5e0cb5b0e9f854783ae3c02e0210b24030100002504010000000b0115043983154cbc020300000066a2dcf601185240f364c2f7a1266b2b460b007cf52866a2a8924c054cccaac2e41b13877dc9e2fc7a544a9b8a3f41542033dce1a8099d6126efc04bb4792c5e'O; - const octetstring c_Test_AT4 := '02015388dec640c6e19e01005200000402dfac49839b39032017b8b5df766f99dc8ed1cebd1b65e43df968ebccfdb45ba32a3e5b468e58c563c771fde1757029685cff58e0be21230371c1cce764ba0d02e0210b24030100002504010000000f0115043983154cbc020304000210000000486075c14c41708b05b95d81659bbdbbe6a2f939815a79008ef40151e1d664005b1e9b8ca5ca9a648df22a937a8120690a80299b84c2320dd2701505a46a043c'O; - const octetstring c_Test_AT5 := '02015388dec640c6e19e0100520000046690617a8b4e6cc41231965ef0cb0b582db25ef11c9472461090e7f4bbff2252ba04c51c67835b2a3357624de4455bf0d7964baa504f3dc68f11707d4daab20d02e0210b2403010000250401000000150115043983154cbc0203011eae5f88035a29742710000064874c507a81e3f1ccb50598f96d28303c45af506378d6e724f403e31ff91ea55eba8d25897f74c9fe64334cc45c2bb9ac774ae487bc215cddf83284f925ab0a'O; - const octetstring c_Test_AT6 := '02015388dec640c6e19e010052000004418f700b20735974dd32dc8c7ec2100533d690123d01ce41f4615f3ca7aba2052c4fb0ba6e037633da959ec411a20f90d5225984acd772fec023f03ae543315e02e0210b24030100002504010000001c0115043983154cbc020302101eb1cbe6035385741ea90a6a0369c6f40000e1e3ca55265fbada6881698dde7edc214b371c4eb23dd24f6a3d20db8b19b67a7fb55ecd8f88ca92cfd43631956169aba9632160ee200c18ea6a398fa3f777d0'O; - const octetstring c_Test_AT7 := '02015388dec640c6e19e010052000004c247717ec8739b7596d2a6d167b7e94ff8ee18386fbfd516797665a32b01c0b37a48ac61da79c4928f790fbfc757c1778f1025b4f7e255e2d6fd3fbe03859e3002e0210b24030100002504010000002c0115043983154cbc020303201eb1cbe6035385741eb225b403687c9a1ea90a6a0369c6f41ea732ee03552aaa000027460af713afb7f5e3c1836ea86339f29d41f99d766c9d541981d43691bdd3531cba2556d37b901ae8bb304b86809da7cd7c40cd49d118460f4377b73d580095'O; - const octetstring c_Test_AT8 := '02015388dec640c6e19e01005200000444af4337a1186ef2064cfc7d3850a2567a1df97bc83e26f653310dbb5a16fe3943ec559d5a9342f866f52ec3f8c401c4219760ee742dbb83082ebb99a1ed9c2802e0210b24030120002504010000000b0115043983154cbc02030000006aae2969ee1f8896eeccd66297e12b4c0ad5c698f57700158fc58de300c7916bbed39a72d56f92a713d3584c041ac9fa5506915035f0373506023ccf035e7fce'O; - const octetstring c_Test_AT9 := '02015388dec640c6e19e0100809600000496100b5a64a9a61fc9c3468beb8838c306fc6136685e554a3ce6bc38da49a3e6dae9301ff9c95aff201228dc8e642a0cb043221172b1893bb3bd170c3a02b722010100049495a964aa15ad706ce6019e1c130d064dc93aec4e55f8fe62bb97b647a97d34f885012363567fce3450a285e2f3953bdaadfd500f1683c5741182a57693a06f02e0210b24030100002504010000000b0115043983154cbc0203000000a824369ce301d083818e2c3dd596c865cd03ad2ad6c10a3974e1add10d42c193993a2b417331c249d8281356feb8e3b5878c153c4f15e725b92a68ef9e4173f7'O; - - var template (value) Certificate v_f5425279310c0379_RootCA; - var template (value) Certificate v_5388dec640c6e19e_AA; - var template (value) Certificate v_atCertificate; - var template (value) Certificate v_decMsg; - var template (value) HashedId8 v_hashedId8; - var integer v_res; - var boolean v_result; - - // f5425279310c0379_RootCA - v_res := decvalue(oct2bit(c_f5425279310c0379_RootCA), v_f5425279310c0379_RootCA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("f5425279310c0379_RootCA: ", v_f5425279310c0379_RootCA); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_f5425279310c0379_RootCA)); - log("f5425279310c0379_RootCA: v_hashedId8", v_hashedId8); - - // 5388dec640c6e19e_AA - v_res := decvalue(oct2bit(c_5388dec640c6e19e_AA), v_5388dec640c6e19e_AA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("5388dec640c6e19e_AA: ", v_5388dec640c6e19e_AA); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_5388dec640c6e19e_AA)); - log("5388dec640c6e19e_AA: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_5388dec640c6e19e_AA), - v_f5425279310c0379_RootCA - ); - if (v_result == true) { - setverdict(pass, "5388dec640c6e19e_AA: Certificate verification match"); - } else { - setverdict(fail, "5388dec640c6e19e_AA: Certificate verification mismatch"); - stop; - } - - // _Test_AT1 - v_res := decvalue(oct2bit(c_Test_AT1), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT1: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT1: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT1: Certificate verification match"); - } else { - setverdict(fail, "Test_AT1: Certificate verification mismatch"); - } - - // _Test_AT2 - v_res := decvalue(oct2bit(c_Test_AT2), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT2: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT2: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT2: Certificate verification match"); - } else { - setverdict(fail, "Test_AT2: Certificate verification mismatch"); - } - - // _Test_AT3 - v_res := decvalue(oct2bit(c_Test_AT3), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT3: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT3: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT3: Certificate verification match"); - } else { - setverdict(fail, "Test_AT3: Certificate verification mismatch"); - stop; - } - - // _Test_AT4 - v_res := decvalue(oct2bit(c_Test_AT4), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT4: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT4: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT4: Certificate verification match"); - } else { - setverdict(fail, "Test_AT4: Certificate verification mismatch"); - stop; - } - - // _Test_AT5 - v_res := decvalue(oct2bit(c_Test_AT5), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT5: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT5: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT5: Certificate verification match"); - } else { - setverdict(fail, "Test_AT5: Certificate verification mismatch"); - } - - // _Test_AT6 - v_res := decvalue(oct2bit(c_Test_AT6), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT6: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT6: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT6: Certificate verification match"); - } else { - setverdict(fail, "Test_AT6: Certificate verification mismatch"); - stop; - } - - // _Test_AT7 - v_res := decvalue(oct2bit(c_Test_AT7), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT7: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT7: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT7: Certificate verification match"); - } else { - setverdict(fail, "Test_AT7: Certificate verification mismatch"); - stop; - } - - // _Test_AT8 - v_res := decvalue(oct2bit(c_Test_AT8), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT8: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT8: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT8: Certificate verification match"); - } else { - setverdict(fail, "Test_AT8: Certificate verification mismatch"); - stop; - } - - // _Test_AT9 - v_res := decvalue(oct2bit(c_Test_AT9), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT9: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(valueof(v_atCertificate)); - log("Test_AT9: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - valueof(v_atCertificate), - valueof(v_5388dec640c6e19e_AA) - ); - if (v_result == true) { - setverdict(pass, "Test_AT9: Certificate verification match"); - } else { - setverdict(fail, "Test_AT9: Certificate verification mismatch"); - stop; - } - - setverdict(pass, "All Digests match."); - } // End of testcase tc_Certificate_V2X_Pilot_PKI_Autotalk - - testcase tc_Certificate_V2X_Pilot_PKI_CodhaNxp() runs on TCType system TCType { - const octetstring c_f5425279310c0379_RootCA := '0200040c547275737465645f526f6f74808d000004f1817dd05116b855a853f80db171a3a470d43170ea7eefd8ef392d66ecefbe501ceba19963c9b6447574424fff1bb89485743f4d09a72b715fc73c87e5f70a110101000441279a383b80c812b72b1a5f5c3c590e5041c634a1adcc4ce58393ca046d3c619717aef634f7d80d5f6a29fa7f86ebf823ace0097a71ee0df0793034b0d3797c02e0200224250b0114b12b03154e0d83030000007d12badf99d7070bcb237ed1fa7a5d86fd47e6aba8e616b35e95a2856fc6e26a493e1215bcee8bea18b8ed52fb240716c4d4ec7d7c0167f0f032cbb87df611d9'O; - const octetstring c_5388dec640c6e19e_AA := '0201f5425279310c0379020a547275737465645f4141808d00000401418e994657434a71e034e530b1e77a8afac37561132c83d45c442499228ca78573f14be034a4958108a654cac60f15bb35907e33d0e97f8d7eaf64a1f43547010100047c5c8d8b86cf8a00a53f3cd23fccf13d078555cc8ef27dc439780eb8ef376237ff668055da476cc82956f6febfa051a6d927e70d826db0338e42819f026aebaa02e0200224250b0114b12b03154e0d83030000005145571104d52dd7094c577719c7ca430d59608d5fefd10db3e61b7c5fd3e4716224f96ed5ab4eb7f860c15347b66e23ea12e0a186a1a80b96c6e5de05416a87'O; - - // TEST_certs_keys_issued_by_5388dec640c6e19e - const octetstring c_Test_AT1 := '02015388dec640c6e19e010052000004a5fa37ceb045d79684fd208bdc9a732b6aa654fdab0746aaba67df9f2c454379ab67e27ed4fe009a39728102c29818c10df6a7593d0ad4198781e28d0ad25d6302e0210b24030100002504010000000b0115043983154cbc0203000000e7cd4f77924e2e738e459e6a8b531ca2b985c42ef1ea68c1d0bc153e6d57280379250d2bffad840e41156771d6925528f809b015cc16cf30ccef1a7af243b604'O; - const octetstring c_Test_AT2 := '02015388dec640c6e19e0100520000046e8a1bf50cab6961e221651b28750d1cb899290464d7ce0f388d1fb0e33dadd42945c898e4e6f56a79b55808fd9a9484e36cb77a77dcdae566162c428f0d7e8f02e0210b24030100002504010000000b0115043983154cbc0203000000d18c35fc29714f653e93c196945a89904ae3a22d68ca2a32d51af0f33deee13b5f8bf459d9a81776a81b0a74b1ff8a90196bc9858aa4f0e6d88a280e9cadeaa3'O; - const octetstring c_Test_AT3 := '02015388dec640c6e19e010032000002651f51eceeb1093c5c2fe37f157d9eaf3ef5519b7bb4c7c92741f36898438a2a02e0210b24030100002504010000000b0115043983154cbc0203000000c8a58fb443e34b73ebb732664f390cf1ff05e0b3c214b2a5aacf2186258f7fd2665af7b1eb818cf08c43057bce3632900a4b12d5c443b2ef658ce125eb4e023e'O; - const octetstring c_Test_AT4 := '02015388dec640c6e19e010052000004d356a47c706724b823aa37ca59e73248dca916c82a11ff5dac13a836579f5a0eb2b7785f0d43d774b37c7927745e1363c8d22aa69add8d8499dffa1f1d44fdef02e0210b24030100002504010000000f0115043983154cbc02030400021000000065117017b8522db92bca1894795dd762a67dbf033c02b9075760a6eac521b385b81661a8b67d5e951321dbb1d6665f506d3f60387dca694993003a1233f0a302'O; - const octetstring c_Test_AT5 := '02015388dec640c6e19e010052000004a7a5d2ae982c5ec151041ebafb04bcf5d0f3509888ae526d376f4b887a05ea02c2e03f4bdfd2e6ec198d454535ca0ab02e7ab4f4cb2e2d535c500dc074a963d202e0210b2403010000250401000000150115043983154cbc0203011eae5f88035a2974271000001b318989b6cf27abb78cfd0a8cb6586304a63bfa5616f977249d94e0aa482ec7082cbef1771cdf619c570f078cbec2cc67438eded05ee3776fff0addd85bb41c'O; - const octetstring c_Test_AT6 := '02015388dec640c6e19e0100520000046d9ad7e794c0478f23125e05110ff6f53e476919ffb76c98c6eabf2fa8db92dd799100b6477c100447e6c92d1bbb9607d68391e6e1345589e0fa6b0307787f2102e0210b24030100002504010000001c0115043983154cbc020302101eb1cbe6035385741ea90a6a0369c6f40000e2d6310882f89d539a0ffc12c0f916611195bdfab6e2f8fe0f365d16b9c0709ab8e5f134559625010e4e25d6cd52130c612164fe3aa3aec771e4a68972566887'O; - const octetstring c_Test_AT7 := '02015388dec640c6e19e01005200000489a96105c0625020182d976358068905db695230cc9b771c6bb2f24c78407f3a68f74381cb8bd9fb7814366be28befe039c0ac0168ca475801c0ea689900432802e0210b24030100002504010000002c0115043983154cbc020303201eb1cbe6035385741eb225b403687c9a1ea90a6a0369c6f41ea732ee03552aaa00003f4b7fa14ceae615fea9205e7b14be87d035cb318f2fcd90140ac0afef5475fa906a49205d1d8a834aead6be96be9109a7645c7c684eda9bf8adb7c5d2010015'O; - const octetstring c_Test_AT8 := '02015388dec640c6e19e01005200000492ea7e96c50a5437fc32236c49ec058d57d77ca87889924d7f40aca523c7d530291d61d13962913285147f0ed0c763eb2712dca0b243d64c390e6035410e0ef402e0210b24030120002504010000000b0115043983154cbc020300000024035223e7f21618b1860e6705252fb63f9c9a9b4a54aba3916595d755af7f9d9c4f93aec8dba81f8fa556023c674e81e4cc3635e3cb1073771ecedb5c3c2cda'O; - const octetstring c_Test_AT9 := '02015388dec640c6e19e0100809600000421a490928f83d41e0370e0f06a803d3eab14d24f981c70e6738a2c0113445040011c50639644177ee00ee9c3b266a42a8ee09d21a0aaa82928e3d34ca3ab84b301010004de427c47dde79e5bbba99f2e0f6000550b59e37571ff4940f515bfdbc06a7143208fb67ca12e63d9a17248f1dc8d3a740bed5b74989b12ac085458a6feb15fd902e0210b24030100002504010000000b0115043983154cbc0203000000f043bca53ddb6f83889f8903772cab43f175d188c0a5ce44da74ad8bac543e3c7403a994811947bcc4f1333d4bbc5fb2225998c1c4bfd7bf4debd790bcb4f245'O; - - var Certificate v_f5425279310c0379_RootCA; - var Certificate v_5388dec640c6e19e_AA; - var Certificate v_atCertificate; - var Certificate v_decMsg; - var HashedId8 v_hashedId8; - var integer v_res; - var boolean v_result; - - // f5425279310c0379_RootCA - v_res := decvalue(oct2bit(c_f5425279310c0379_RootCA), v_f5425279310c0379_RootCA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("f5425279310c0379_RootCA: ", v_f5425279310c0379_RootCA); - v_hashedId8 := f_calculateDigestFromCertificate(v_f5425279310c0379_RootCA); - log("f5425279310c0379_RootCA: v_hashedId8", v_hashedId8); - - // 5388dec640c6e19e_AA - v_res := decvalue(oct2bit(c_5388dec640c6e19e_AA), v_5388dec640c6e19e_AA); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("5388dec640c6e19e_AA: ", v_5388dec640c6e19e_AA); - v_hashedId8 := f_calculateDigestFromCertificate(v_5388dec640c6e19e_AA); - log("5388dec640c6e19e_AA: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_5388dec640c6e19e_AA, - v_f5425279310c0379_RootCA - ); - if (v_result == true) { - setverdict(pass, "5388dec640c6e19e_AA: Certificate verification match"); - } else { - setverdict(fail, "5388dec640c6e19e_AA: Certificate verification mismatch"); - stop; - } - - // _Test_AT1 - v_res := decvalue(oct2bit(c_Test_AT1), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT1: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT1: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT1: Certificate verification match"); - } else { - setverdict(fail, "Test_AT1: Certificate verification mismatch"); - } - - // _Test_AT2 - v_res := decvalue(oct2bit(c_Test_AT2), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT2: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT2: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT2: Certificate verification match"); - } else { - setverdict(fail, "Test_AT2: Certificate verification mismatch"); - } - - // _Test_AT3 - v_res := decvalue(oct2bit(c_Test_AT3), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT3: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT3: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT3: Certificate verification match"); - } else { - setverdict(fail, "Test_AT3: Certificate verification mismatch"); - stop; - } - - // _Test_AT4 - v_res := decvalue(oct2bit(c_Test_AT4), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT4: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT4: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT4: Certificate verification match"); - } else { - setverdict(fail, "Test_AT4: Certificate verification mismatch"); - stop; - } - - // _Test_AT5 - v_res := decvalue(oct2bit(c_Test_AT5), v_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT5: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT5: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT5: Certificate verification match"); - } else { - setverdict(fail, "Test_AT5: Certificate verification mismatch"); - } - - // _Test_AT6 - v_res := decvalue(oct2bit(c_Test_AT6), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT6: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT6: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT6: Certificate verification match"); - } else { - setverdict(fail, "Test_AT6: Certificate verification mismatch"); - stop; - } - - // _Test_AT7 - v_res := decvalue(oct2bit(c_Test_AT7), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT7: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT7: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT7: Certificate verification match"); - } else { - setverdict(fail, "Test_AT7: Certificate verification mismatch"); - stop; - } - - // _Test_AT8 - v_res := decvalue(oct2bit(c_Test_AT8), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT8: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT8: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT8: Certificate verification match"); - } else { - setverdict(fail, "Test_AT8: Certificate verification mismatch"); - stop; - } - - // _Test_AT9 - v_res := decvalue(oct2bit(c_Test_AT9), vc_atCertificate); - if (v_res != 0) { - setverdict(fail, "Decoding failed."); - stop; - } - log("Test_AT9: ", v_atCertificate); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("Test_AT9: v_hashedId8", v_hashedId8); - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - v_atCertificate, - v_5388dec640c6e19e_AA - ); - if (v_result == true) { - setverdict(pass, "Test_AT9: Certificate verification match"); - } else { - setverdict(fail, "Test_AT9: Certificate verification mismatch"); - stop; - } - - setverdict(pass, "All Digests match."); - } // End of testcase tc_Certificate_V2X_Pilot_PKI_CodhaNxp - - } // End of group certificates - - group profileCertificates { - - /** - * @desc Verify AT certificate signature - */ - testcase tc_profileCertificates_01() runs on TCType system TCType { - var boolean v_result; - - f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); - - log (vc_aaCertificate); - log (vc_atCertificate); - - v_result := f_verifyCertificateSignatureWithIssuingCertificate( - vc_atCertificate, - vc_aaCertificate - ); - - if (v_result == true) { - setverdict(pass, "Certificate verification match"); - } else { - setverdict(fail, "Certificate verification mismatch"); - stop; - } - - } // End of testcase tc_profileCertificates_01 - - /** - * @desc IUT certificates details - */ - testcase tc_profileCertificates_02() runs on TCType system TCType { - var Certificate v_aaCertificate; - var Certificate v_atCertificate; - var SignerInfo v_si; - var HashedId8 v_hashedId8; - var boolean v_result; - - f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); - - if(f_readCertificate(cc_iutCert_A, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_iutCert_A=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_iutCert_A digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_iutCert_A.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_B, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_iutCert_B=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_iutCert_B digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_iutCert_B.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_C, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_iutCert_C=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_iutCert_C digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_iutCert_C.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_D, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_iutCert_D=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_iutCert_D digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_iutCert_D.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_E, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_iutCert_E=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_iutCert_E digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_iutCert_E.v_hashedId8=", v_hashedId8); - - setverdict(pass); - - } // End of testcase tc_profileCertificates_02 - - /** - * @desc TS certificates details - */ - testcase tc_profileCertificates_03() runs on TCType system TCType { - var Certificate v_aaCertificate; - var Certificate v_atCertificate; - var SignerInfo v_si; - var charstring v_certId; - var HashedId8 v_hashedId8; - var boolean v_result; - - f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); - - if(f_readCertificate(cc_iutCert_A, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_taCert_A=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_taCert_A digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_taCert_A.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_B, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_taCert_B=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_taCert_B digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_taCert_B.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_C, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_taCert_C=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_taCert_C digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_taCert_C.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_D, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_taCert_D=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_taCert_D digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_taCert_D.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_iutCert_E, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("cc_taCert_E=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_taCert_E digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_taCert_E.v_hashedId8=", v_hashedId8); - - if(f_readCertificate(cc_taCert_EC, v_atCertificate)){ - f_readCertificate(oct2str(v_atCertificate.signer_info.signerInfo.digest), v_aaCertificate); - } - log("CERT_TS_A_EC=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log("cc_taCert_EC digest=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log("cc_taCert_EC.v_hashedId8=", v_hashedId8); - - v_certId := "CERT_TS_01_01_BO_AT"; - f_readCertificate(v_certId, v_atCertificate); - log(v_certId & "=", v_atCertificate); - f_getCertificateSignerInfo(v_atCertificate, v_si); - log(v_certId & "=", v_si.signerInfo.digest, " / ", f_calculateDigestFromCertificate(v_aaCertificate)); - v_hashedId8 := f_calculateDigestFromCertificate(v_atCertificate); - log(v_certId & ".v_hashedId8=", v_hashedId8); - - setverdict(pass); - - } // End of testcase tc_profileCertificates_03 - - /** - * @desc Verify AT certificate signature - */ - testcase tc_profileCertificates_04() runs on TCType system TCType { - var boolean v_result; - - v_result := f_verifyWithEcdsaNistp256WithSha256( - '0280BA800202015388DEC640C6E19E0100520000045A995005A9944930BD758D4B1BAF754E12B70081F438D3AB740C2B93E887665F31CA714E2F589297D3E8E7F09302B9414FAC85A67CF37D3903FF732E4F6B18AA02E0210B24030100002504010000000B0115043983154CBC02030000002424F87A06F258A90C0B3A095E3D64176CD630C2C5E0266ACCDC0C9E6CFD91D236B8B79029B50F668CDEC5715A482F0FEEF2765567F68A657DAB092CCA9FF5BF0000014120C45084F305240155205002800031010014002E090A008F3835724C640000000000000000FFFFFFFF0000000007D100000102000000024C644056B49D200D693A401FFFFFFC2230D41E40000FDFFF7E0276EA8733A9D74FFFD0841400004301'O, - '000005B37667C87C0129C8CB5789652E9296E817D17A59DBBE56793D0940F3330C68294714DBE7E4A53EBA2DC53490D58F1A8B057A7EDA675C6DD9C403B2797DC580'O, - '5A995005A9944930BD758D4B1BAF754E12B70081F438D3AB740C2B93E887665F'O, - '31CA714E2F589297D3E8E7F09302B9414FAC85A67CF37D3903FF732E4F6B18AA'O - ); - - if (v_result == true) { - setverdict(pass, "Certificate verification match"); - } else { - setverdict(fail, "Certificate verification mismatch"); - stop; - } - - } // End of testcase tc_profileCertificates_04 - - /** - * @desc Verify AT certificate signature - */ - testcase tc_profileCertificates_05() runs on TCType system TCType { - var boolean v_result; - - - v_result := f_verifyWithEcdsaNistp256WithSha256( - '0280BE800202015388DEC640C6E19E01004D000004847C5479B98FAAD120BBC337673DC27B44A44DAF376F4E786976A3BE74B1D7407DD1DDA838CCCA21D3FA9EF65CDAA40E39DC565EC30EF889329E2B8FF5BBB080026021062401002501000B0114B12B03154E0D8303000000A435553144A806302B48C84F0AF873992FBA7C9309E4B8255DA0BA76307A50808A9D975FC146A3B1262E56C2153DAEAAF8A171B036B7382E1041D07BFD6BB753000001415B49C0726803000004D20000162E002F01200010800000000100BC21A4FEDECABEEF0001E240000012F8000002A3803726944301000290E6711F880CD216CD405052B7C8C1577E1C6E4EED1CD7F2939E584B40A111459E230D2494B6A5B992BB61975D3D9C2D42314E84A3057EFFD965E7A7D44CE605'O, - '000090E6711F880CD216CD405052B7C8C1577E1C6E4EED1CD7F2939E584B40A111459E230D2494B6A5B992BB61975D3D9C2D42314E84A3057EFFD965E7A7D44CE605'O, - '847C5479B98FAAD120BBC337673DC27B44A44DAF376F4E786976A3BE74B1D740'O, - '7DD1DDA838CCCA21D3FA9EF65CDAA40E39DC565EC30EF889329E2B8FF5BBB080'O - ); - - if (v_result == true) { - setverdict(pass, "Certificate verification match"); - } else { - setverdict(fail, "Certificate verification mismatch"); - stop; - } - - } // End of testcase tc_profileCertificates_05 - - } // End of group profileCertificates - - } // End of group test_LibItsSecurity_TypesAndValues - -} // End of module test_LibItsSecurity_TypesAndValues diff --git a/unittests/codec/ttcn/test_all.ttcn3 b/unittests/codec/ttcn/test_all.ttcn3 deleted file mode 100644 index f6c5e25f0f159837af8809152f16ae97d9031df4..0000000000000000000000000000000000000000 --- a/unittests/codec/ttcn/test_all.ttcn3 +++ /dev/null @@ -1,27 +0,0 @@ -module test_all /*language "TTCN-3:2009 Advanced Parameterization"*/ { - - import from test_LibItsGeoNetworking_TypesAndValues all; - -// import from test_LibItsIpv6OverGeoNetworking_TypesAndValues all; - -// import from test_LibItsBtp_TypesAndValues all; - - import from test_LibItsCam_TypesAndValues all; - -// import from test_LibItsDenm_TypesAndValues all; - -// import from test_LibItsFntp_TypesAndValues all; -// -// import from test_LibItsFsap_TypesAndValues all; - -// import from test_LibItsExternalFunctions all; - - import from test_LibItsSecurity_TypesAndValues all; - - import from test_LibItsMapemSpatem_TypesAndValues all; - -// import from test_LibItsIvim_TypesAndValues all; -// -// import from test_LibItsSremSsem_TypesAndValues all; -// -} // End of module test_all \ No newline at end of file