Loading ttcn/TestCodec/TestCodec_CAM.ttcn +48 −0 Original line number Diff line number Diff line Loading @@ -763,6 +763,54 @@ module TestCodec_CAM { } /** * @desc Generate CAM according to the CAM port settings * @verdict Pass on success, Fail otherwise */ testcase tc_Cam_Port_1() runs on ItsCam system ItsCamSystem { var CamReq v_camReq; timer tc_send := 0.5; if (PX_GN_UPPER_LAYER != e_btpB) { log("PX_GN_UPPER_LAYER shall be set to e_btpB"); stop; } map(self:camPort, system:camPort); v_camReq := valueof( CamReq : { msgOut := m_camMsg( f_getTsStationId(), f_getCurrentTime() mod 65536 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime ) } ); camPort.send(v_camReq); tc_ac.start; tc_send.start alt { [] tc_send.timeout { v_camReq := valueof( CamReq : { msgOut := m_camMsg( f_getTsStationId(), f_getCurrentTime() mod 65536 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime ) } ); camPort.send(v_camReq); tc_send.start; repeat; } [] tc_ac.timeout { tc_send.stop; setverdict(pass); } } unmap(self:camPort, system:camPort); } } // End of group testCamPort } // End of group LibItsCam_testCases Loading ttcn/TestCodec/TestCodec_ChainOfCertificates.ttcn +33 −14 Original line number Diff line number Diff line Loading @@ -114,7 +114,7 @@ module TestCodec_ChainOfCertificates { // Store Private key in binary format fx_loadCertificates("/home/vagrant/tmp/Yann", ""); fx_store_certificate("CERT_TEST_ROOT", v_chain_sec_info.ca.enc_cert, v_chain_sec_info.ca.private_key, v_chain_sec_info.ca.public_key_x, v_chain_sec_info.ca.public_key_y, v_chain_sec_info.ca.hashid8, v_chain_sec_info.ca.issuer); fx_store_certificate("CERT_TEST_A_ROOT", v_chain_sec_info.ca.enc_cert, v_chain_sec_info.ca.private_key, v_chain_sec_info.ca.public_key_x, v_chain_sec_info.ca.public_key_y, v_chain_sec_info.ca.hashid8, v_chain_sec_info.ca.issuer); fx_store_certificate("CERT_TS_A_AA", v_chain_sec_info.aa.enc_cert, v_chain_sec_info.aa.private_key, v_chain_sec_info.aa.public_key_x, v_chain_sec_info.aa.public_key_y, v_chain_sec_info.aa.hashid8, v_chain_sec_info.aa.issuer); fx_store_certificate("CERT_TS_A_AT", v_chain_sec_info.at.enc_cert, v_chain_sec_info.at.private_key, v_chain_sec_info.at.public_key_x, v_chain_sec_info.at.public_key_y, v_chain_sec_info.at.hashid8, v_chain_sec_info.at.issuer); Loading Loading @@ -172,7 +172,9 @@ module TestCodec_ChainOfCertificates { // Generate CA certificate v_chain_sec_info.ca.cert := f_create_ca_certificate_brainpoolP256_1(v_chain_sec_info.ca); v_enc_msg := encvalue(v_chain_sec_info.ca.cert); v_chain_sec_info.ca.enc_cert := bit2oct(v_enc_msg); v_chain_sec_info.ca.hashid8 := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_enc_msg))); v_chain_sec_info.ca.issuer := v_chain_sec_info.ca.hashid8; // Verify signature of CA certificate by itself v_enc_msg := encvalue(v_chain_sec_info.ca.cert.toBeSigned); if (f_verifyWithEcdsaBrainpoolp256WithSha256( Loading @@ -189,7 +191,9 @@ module TestCodec_ChainOfCertificates { // Generate AA certificate v_chain_sec_info.aa.cert := f_create_aa_certificate_brainpoolP256_1(v_chain_sec_info.ca, v_chain_sec_info.aa); v_enc_msg := encvalue(v_chain_sec_info.aa.cert); v_chain_sec_info.aa.enc_cert := bit2oct(v_enc_msg); v_chain_sec_info.aa.hashid8 := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_enc_msg))); v_chain_sec_info.aa.issuer := v_chain_sec_info.ca.hashid8; // Verify signature of AA certificate by CA certificate v_enc_msg := encvalue(v_chain_sec_info.aa.cert.toBeSigned); if (f_verifyWithEcdsaBrainpoolp256WithSha256( Loading @@ -206,7 +210,9 @@ module TestCodec_ChainOfCertificates { // Generate AT certificate v_chain_sec_info.at.cert := f_create_at_certificate_brainpoolP256_1(v_chain_sec_info.aa, v_chain_sec_info.at); v_enc_msg := encvalue(v_chain_sec_info.at.cert); v_chain_sec_info.at.enc_cert := bit2oct(v_enc_msg); v_chain_sec_info.at.hashid8 := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_enc_msg))); v_chain_sec_info.at.issuer := v_chain_sec_info.aa.hashid8; // Verify signature of AT certificate by AA certificate v_enc_msg := encvalue(v_chain_sec_info.at.cert.toBeSigned); if (f_verifyWithEcdsaBrainpoolp256WithSha256( Loading @@ -222,6 +228,12 @@ module TestCodec_ChainOfCertificates { log("tc_full_check_certificate_2: Final chain = ", v_chain_sec_info); // Store Private key in binary format fx_loadCertificates("/home/vagrant/tmp/Yann", ""); fx_store_certificate("CERT_TEST_B_ROOT", v_chain_sec_info.ca.enc_cert, v_chain_sec_info.ca.private_key, v_chain_sec_info.ca.public_key_x, v_chain_sec_info.ca.public_key_y, v_chain_sec_info.ca.hashid8, v_chain_sec_info.ca.issuer); fx_store_certificate("CERT_TS_B_AA", v_chain_sec_info.aa.enc_cert, v_chain_sec_info.aa.private_key, v_chain_sec_info.aa.public_key_x, v_chain_sec_info.aa.public_key_y, v_chain_sec_info.aa.hashid8, v_chain_sec_info.aa.issuer); fx_store_certificate("CERT_TS_B_AT", v_chain_sec_info.at.enc_cert, v_chain_sec_info.at.private_key, v_chain_sec_info.at.public_key_x, v_chain_sec_info.at.public_key_y, v_chain_sec_info.at.hashid8, v_chain_sec_info.at.issuer); // Create a basic GeoNetworking message v_gnNonSecuredPacket := m_geoNwShbPacket( LongPosVector: { Loading @@ -241,12 +253,12 @@ module TestCodec_ChainOfCertificates { ); // Build the secured message and sign it v_secured_data := f_build_and_sign_secured_message_brainpoolP256_1(v_gnNonSecuredPacket, v_chain_sec_info.at); //log("################", m_geoNwSecPdu(v_gnNonSecuredPacket, v_secured_data)); //v_gnSecuredPacket := m_geoNwSecPdu(v_gnNonSecuredPacket, v_secured_data); //log("tc_full_check_certificate_1: Final GeoNetworking secured message: ", v_gnSecuredPacket); // Finalyse the GeoNetworking message v_gnSecuredPacket := m_geoNwSecPdu(v_gnNonSecuredPacket, v_secured_data); log("tc_full_check_certificate_2: Final GeoNetworking secured message: ", v_gnSecuredPacket); // Verify signature of Secured message by AT certificate v_enc_msg := encvalue(v_gnSecuredPacket.gnPacket.securedMsg.content.signedData.tbsData); // Verify signature of secured messagee by AT certificate v_enc_msg := encvalue(v_secured_data.content.signedData.tbsData); if (f_verifyWithEcdsaBrainpoolp256WithSha256( bit2oct(v_enc_msg), valueof(v_gnSecuredPacket.gnPacket.securedMsg.content.signedData.signature_.ecdsaBrainpoolP256r1Signature.rSig.x_only & v_gnSecuredPacket.gnPacket.securedMsg.content.signedData.signature_.ecdsaBrainpoolP256r1Signature.sSig), Loading @@ -258,10 +270,11 @@ module TestCodec_ChainOfCertificates { setverdict(pass); } // Finalyse the GeoNetworking message // TODO Create a chain of certificates // TODO Add encryption support } // End of testcase tc_full_check_certificate_2 /** Loading @@ -276,7 +289,8 @@ module TestCodec_ChainOfCertificates { var HashAlgorithm v_self := sha256; // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 1 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var SequenceOfPsidSspRange v_certIssuePermissions := { // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 3 valueof(m_psidSspRange(1)) Loading Loading @@ -342,7 +356,8 @@ module TestCodec_ChainOfCertificates { var HashAlgorithm v_self := sha256; // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 1 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var SequenceOfPsidSspRange v_certIssuePermissions := { // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 3 valueof(m_psidSspRange(1)) Loading Loading @@ -408,7 +423,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 NistP256 AA Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.2 Enrolment credential #5 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading @@ -470,7 +486,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 BrainpoolP256 AA Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.2 Enrolment credential #5 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading @@ -532,7 +549,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 NistP256 AT Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.1 Authorization tickets #2 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading @@ -595,7 +613,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 BrainpoolP256 AT Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.1 Authorization tickets #2 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading
ttcn/TestCodec/TestCodec_CAM.ttcn +48 −0 Original line number Diff line number Diff line Loading @@ -763,6 +763,54 @@ module TestCodec_CAM { } /** * @desc Generate CAM according to the CAM port settings * @verdict Pass on success, Fail otherwise */ testcase tc_Cam_Port_1() runs on ItsCam system ItsCamSystem { var CamReq v_camReq; timer tc_send := 0.5; if (PX_GN_UPPER_LAYER != e_btpB) { log("PX_GN_UPPER_LAYER shall be set to e_btpB"); stop; } map(self:camPort, system:camPort); v_camReq := valueof( CamReq : { msgOut := m_camMsg( f_getTsStationId(), f_getCurrentTime() mod 65536 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime ) } ); camPort.send(v_camReq); tc_ac.start; tc_send.start alt { [] tc_send.timeout { v_camReq := valueof( CamReq : { msgOut := m_camMsg( f_getTsStationId(), f_getCurrentTime() mod 65536 // See ETSI EN 302 637-2 V1.3.0 - Clause B.3 generationDelatTime ) } ); camPort.send(v_camReq); tc_send.start; repeat; } [] tc_ac.timeout { tc_send.stop; setverdict(pass); } } unmap(self:camPort, system:camPort); } } // End of group testCamPort } // End of group LibItsCam_testCases Loading
ttcn/TestCodec/TestCodec_ChainOfCertificates.ttcn +33 −14 Original line number Diff line number Diff line Loading @@ -114,7 +114,7 @@ module TestCodec_ChainOfCertificates { // Store Private key in binary format fx_loadCertificates("/home/vagrant/tmp/Yann", ""); fx_store_certificate("CERT_TEST_ROOT", v_chain_sec_info.ca.enc_cert, v_chain_sec_info.ca.private_key, v_chain_sec_info.ca.public_key_x, v_chain_sec_info.ca.public_key_y, v_chain_sec_info.ca.hashid8, v_chain_sec_info.ca.issuer); fx_store_certificate("CERT_TEST_A_ROOT", v_chain_sec_info.ca.enc_cert, v_chain_sec_info.ca.private_key, v_chain_sec_info.ca.public_key_x, v_chain_sec_info.ca.public_key_y, v_chain_sec_info.ca.hashid8, v_chain_sec_info.ca.issuer); fx_store_certificate("CERT_TS_A_AA", v_chain_sec_info.aa.enc_cert, v_chain_sec_info.aa.private_key, v_chain_sec_info.aa.public_key_x, v_chain_sec_info.aa.public_key_y, v_chain_sec_info.aa.hashid8, v_chain_sec_info.aa.issuer); fx_store_certificate("CERT_TS_A_AT", v_chain_sec_info.at.enc_cert, v_chain_sec_info.at.private_key, v_chain_sec_info.at.public_key_x, v_chain_sec_info.at.public_key_y, v_chain_sec_info.at.hashid8, v_chain_sec_info.at.issuer); Loading Loading @@ -172,7 +172,9 @@ module TestCodec_ChainOfCertificates { // Generate CA certificate v_chain_sec_info.ca.cert := f_create_ca_certificate_brainpoolP256_1(v_chain_sec_info.ca); v_enc_msg := encvalue(v_chain_sec_info.ca.cert); v_chain_sec_info.ca.enc_cert := bit2oct(v_enc_msg); v_chain_sec_info.ca.hashid8 := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_enc_msg))); v_chain_sec_info.ca.issuer := v_chain_sec_info.ca.hashid8; // Verify signature of CA certificate by itself v_enc_msg := encvalue(v_chain_sec_info.ca.cert.toBeSigned); if (f_verifyWithEcdsaBrainpoolp256WithSha256( Loading @@ -189,7 +191,9 @@ module TestCodec_ChainOfCertificates { // Generate AA certificate v_chain_sec_info.aa.cert := f_create_aa_certificate_brainpoolP256_1(v_chain_sec_info.ca, v_chain_sec_info.aa); v_enc_msg := encvalue(v_chain_sec_info.aa.cert); v_chain_sec_info.aa.enc_cert := bit2oct(v_enc_msg); v_chain_sec_info.aa.hashid8 := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_enc_msg))); v_chain_sec_info.aa.issuer := v_chain_sec_info.ca.hashid8; // Verify signature of AA certificate by CA certificate v_enc_msg := encvalue(v_chain_sec_info.aa.cert.toBeSigned); if (f_verifyWithEcdsaBrainpoolp256WithSha256( Loading @@ -206,7 +210,9 @@ module TestCodec_ChainOfCertificates { // Generate AT certificate v_chain_sec_info.at.cert := f_create_at_certificate_brainpoolP256_1(v_chain_sec_info.aa, v_chain_sec_info.at); v_enc_msg := encvalue(v_chain_sec_info.at.cert); v_chain_sec_info.at.enc_cert := bit2oct(v_enc_msg); v_chain_sec_info.at.hashid8 := f_HashedId8FromSha256(f_hashWithSha256(bit2oct(v_enc_msg))); v_chain_sec_info.at.issuer := v_chain_sec_info.aa.hashid8; // Verify signature of AT certificate by AA certificate v_enc_msg := encvalue(v_chain_sec_info.at.cert.toBeSigned); if (f_verifyWithEcdsaBrainpoolp256WithSha256( Loading @@ -222,6 +228,12 @@ module TestCodec_ChainOfCertificates { log("tc_full_check_certificate_2: Final chain = ", v_chain_sec_info); // Store Private key in binary format fx_loadCertificates("/home/vagrant/tmp/Yann", ""); fx_store_certificate("CERT_TEST_B_ROOT", v_chain_sec_info.ca.enc_cert, v_chain_sec_info.ca.private_key, v_chain_sec_info.ca.public_key_x, v_chain_sec_info.ca.public_key_y, v_chain_sec_info.ca.hashid8, v_chain_sec_info.ca.issuer); fx_store_certificate("CERT_TS_B_AA", v_chain_sec_info.aa.enc_cert, v_chain_sec_info.aa.private_key, v_chain_sec_info.aa.public_key_x, v_chain_sec_info.aa.public_key_y, v_chain_sec_info.aa.hashid8, v_chain_sec_info.aa.issuer); fx_store_certificate("CERT_TS_B_AT", v_chain_sec_info.at.enc_cert, v_chain_sec_info.at.private_key, v_chain_sec_info.at.public_key_x, v_chain_sec_info.at.public_key_y, v_chain_sec_info.at.hashid8, v_chain_sec_info.at.issuer); // Create a basic GeoNetworking message v_gnNonSecuredPacket := m_geoNwShbPacket( LongPosVector: { Loading @@ -241,12 +253,12 @@ module TestCodec_ChainOfCertificates { ); // Build the secured message and sign it v_secured_data := f_build_and_sign_secured_message_brainpoolP256_1(v_gnNonSecuredPacket, v_chain_sec_info.at); //log("################", m_geoNwSecPdu(v_gnNonSecuredPacket, v_secured_data)); //v_gnSecuredPacket := m_geoNwSecPdu(v_gnNonSecuredPacket, v_secured_data); //log("tc_full_check_certificate_1: Final GeoNetworking secured message: ", v_gnSecuredPacket); // Finalyse the GeoNetworking message v_gnSecuredPacket := m_geoNwSecPdu(v_gnNonSecuredPacket, v_secured_data); log("tc_full_check_certificate_2: Final GeoNetworking secured message: ", v_gnSecuredPacket); // Verify signature of Secured message by AT certificate v_enc_msg := encvalue(v_gnSecuredPacket.gnPacket.securedMsg.content.signedData.tbsData); // Verify signature of secured messagee by AT certificate v_enc_msg := encvalue(v_secured_data.content.signedData.tbsData); if (f_verifyWithEcdsaBrainpoolp256WithSha256( bit2oct(v_enc_msg), valueof(v_gnSecuredPacket.gnPacket.securedMsg.content.signedData.signature_.ecdsaBrainpoolP256r1Signature.rSig.x_only & v_gnSecuredPacket.gnPacket.securedMsg.content.signedData.signature_.ecdsaBrainpoolP256r1Signature.sSig), Loading @@ -258,10 +270,11 @@ module TestCodec_ChainOfCertificates { setverdict(pass); } // Finalyse the GeoNetworking message // TODO Create a chain of certificates // TODO Add encryption support } // End of testcase tc_full_check_certificate_2 /** Loading @@ -276,7 +289,8 @@ module TestCodec_ChainOfCertificates { var HashAlgorithm v_self := sha256; // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 1 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var SequenceOfPsidSspRange v_certIssuePermissions := { // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 3 valueof(m_psidSspRange(1)) Loading Loading @@ -342,7 +356,8 @@ module TestCodec_ChainOfCertificates { var HashAlgorithm v_self := sha256; // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 1 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var SequenceOfPsidSspRange v_certIssuePermissions := { // ETSI TS 103 097 V1.3.1 Clause 7.2.3 Root CA certificates Bullet 3 valueof(m_psidSspRange(1)) Loading Loading @@ -408,7 +423,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 NistP256 AA Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.2 Enrolment credential #5 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading @@ -470,7 +486,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 BrainpoolP256 AA Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.2 Enrolment credential #5 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading @@ -532,7 +549,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 NistP256 AT Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.1 Authorization tickets #2 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading Loading @@ -595,7 +613,8 @@ module TestCodec_ChainOfCertificates { var charstring v_certId := "STF538 BrainpoolP256 AT Certificate"; // ETSI TS 103 097 V1.3.1 Clause 7.2.1 Authorization tickets #2 var SequenceOfPsidSsp v_appPermissions := { // ETSI TS 102 965 Table A.1: ETSI ITS standardized ITS-AIDs valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O })), valueof(m_appPermissions(38, { bitmapSsp := '830001'O })) }; var Oct32 v_sig := int2oct(0, 32); var bitstring v_enc_msg := ''B; Loading