Loading ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn +17 −0 Original line number Diff line number Diff line Loading @@ -2316,6 +2316,23 @@ module LibItsGeoNetworking_Functions { } return v_cert; } /** * @desc Wait for GN message with security containing digest as a signer info * @return the digest of the certificate been used to sign received message */ function f_waitForDigest () runs on ItsGeoNetworking return HashedId8 { var SecuredMessage v_recv; var HashedId8 v_digest; alt { [] a_securedMessageWithDigest(v_recv){ var SignerInfo v_si := f_getMsgSignerInfo(v_recv); v_digest := v_si.signerInfo.digest; } } return v_digest; } } group messageGetters { Loading ttcn/Security/LibItsSecurity_Functions.ttcn3 +14 −0 Original line number Diff line number Diff line Loading @@ -231,7 +231,21 @@ module LibItsSecurity_Functions { return v_return; } function f_getCertificateSignerInfo (in Certificate p_cert) return SignerInfo { var SignerInfo ret := null; if( lengthof(p_cert.signer_infos) > 0 ) { ret := p_cert.signer_infos[0]; } return ret; } }// End of group certificateGetters group CertRequests{ function f_askForCertificateChain (in HashedId3s p_digests) { } } // End of group CertRequests } // End of group helpersFunctions Loading ttcn/Security/LibItsSecurity_Templates.ttcn3 +17 −12 Original line number Diff line number Diff line Loading @@ -1075,13 +1075,15 @@ module LibItsSecurity_Templates { * containing certificate * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField */ template (present) HeaderField mw_header_field_signer_info_certificate := { template (present) HeaderField mw_header_field_signer_info_certificate ( template (present) Certificate p_cert := ? ) := { type_ := e_signer_info, headerField := { signer := { type_ := e_certificate, signerInfo := { certificate := ? certificate := p_cert } } } Loading @@ -1092,13 +1094,16 @@ module LibItsSecurity_Templates { * containing certificate digest * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField */ template (present) HeaderField mw_header_field_signer_info_digest := { template (present) HeaderField mw_header_field_signer_info_digest ( template (present) HashedId8 p_digest := ? ) := { type_ := e_signer_info, headerField := { signer := { type_ := e_certificate_digest_with_ecdsap256, signerInfo := { digest := ? digest := p_digest } } } Loading Loading @@ -1515,11 +1520,11 @@ module LibItsSecurity_Templates { */ group certificatesRecv { template (present) Certificate mw_certificate( in template (present) SignerInfo p_signer_info, in template (present) SubjectInfo p_subject_info, in template (present) SubjectAttributes p_subject_attributes, in template (present) ValidityRestrictions p_validity_restrictions, in template (present) Signature p_signature in template (present) SignerInfo p_signer_info :=?, in template (present) SubjectInfo p_subject_info :=?, in template (present) SubjectAttributes p_subject_attributes :=?, in template (present) ValidityRestrictions p_validity_restrictions :=?, in template (present) Signature p_signature :=? ) := { version := c_certificate_version, signer_infos := { p_signer_info }, Loading Loading @@ -1761,7 +1766,7 @@ module LibItsSecurity_Templates { */ template (present) SecuredMessage mdw_securedMessageDENM( template (present) HeaderFields p_header := ?, template (present) SecPayloads p_payloads := ?, template SecPayloads p_payloads := ?, template (present) TrailerFields p_trailer := ? ) modifies mw_securedMessage := { Loading Loading @@ -1809,7 +1814,7 @@ module LibItsSecurity_Templates { */ template (present) SecuredMessage mdw_securedMessageOther( template (present) HeaderFields p_header := ?, template (present) SecPayloads p_payloads := ?, template SecPayloads p_payloads := *, template (present) TrailerFields p_trailer := ? ) modifies mw_securedMessage := { Loading Loading
ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn +17 −0 Original line number Diff line number Diff line Loading @@ -2316,6 +2316,23 @@ module LibItsGeoNetworking_Functions { } return v_cert; } /** * @desc Wait for GN message with security containing digest as a signer info * @return the digest of the certificate been used to sign received message */ function f_waitForDigest () runs on ItsGeoNetworking return HashedId8 { var SecuredMessage v_recv; var HashedId8 v_digest; alt { [] a_securedMessageWithDigest(v_recv){ var SignerInfo v_si := f_getMsgSignerInfo(v_recv); v_digest := v_si.signerInfo.digest; } } return v_digest; } } group messageGetters { Loading
ttcn/Security/LibItsSecurity_Functions.ttcn3 +14 −0 Original line number Diff line number Diff line Loading @@ -231,7 +231,21 @@ module LibItsSecurity_Functions { return v_return; } function f_getCertificateSignerInfo (in Certificate p_cert) return SignerInfo { var SignerInfo ret := null; if( lengthof(p_cert.signer_infos) > 0 ) { ret := p_cert.signer_infos[0]; } return ret; } }// End of group certificateGetters group CertRequests{ function f_askForCertificateChain (in HashedId3s p_digests) { } } // End of group CertRequests } // End of group helpersFunctions Loading
ttcn/Security/LibItsSecurity_Templates.ttcn3 +17 −12 Original line number Diff line number Diff line Loading @@ -1075,13 +1075,15 @@ module LibItsSecurity_Templates { * containing certificate * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField */ template (present) HeaderField mw_header_field_signer_info_certificate := { template (present) HeaderField mw_header_field_signer_info_certificate ( template (present) Certificate p_cert := ? ) := { type_ := e_signer_info, headerField := { signer := { type_ := e_certificate, signerInfo := { certificate := ? certificate := p_cert } } } Loading @@ -1092,13 +1094,16 @@ module LibItsSecurity_Templates { * containing certificate digest * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField */ template (present) HeaderField mw_header_field_signer_info_digest := { template (present) HeaderField mw_header_field_signer_info_digest ( template (present) HashedId8 p_digest := ? ) := { type_ := e_signer_info, headerField := { signer := { type_ := e_certificate_digest_with_ecdsap256, signerInfo := { digest := ? digest := p_digest } } } Loading Loading @@ -1515,11 +1520,11 @@ module LibItsSecurity_Templates { */ group certificatesRecv { template (present) Certificate mw_certificate( in template (present) SignerInfo p_signer_info, in template (present) SubjectInfo p_subject_info, in template (present) SubjectAttributes p_subject_attributes, in template (present) ValidityRestrictions p_validity_restrictions, in template (present) Signature p_signature in template (present) SignerInfo p_signer_info :=?, in template (present) SubjectInfo p_subject_info :=?, in template (present) SubjectAttributes p_subject_attributes :=?, in template (present) ValidityRestrictions p_validity_restrictions :=?, in template (present) Signature p_signature :=? ) := { version := c_certificate_version, signer_infos := { p_signer_info }, Loading Loading @@ -1761,7 +1766,7 @@ module LibItsSecurity_Templates { */ template (present) SecuredMessage mdw_securedMessageDENM( template (present) HeaderFields p_header := ?, template (present) SecPayloads p_payloads := ?, template SecPayloads p_payloads := ?, template (present) TrailerFields p_trailer := ? ) modifies mw_securedMessage := { Loading Loading @@ -1809,7 +1814,7 @@ module LibItsSecurity_Templates { */ template (present) SecuredMessage mdw_securedMessageOther( template (present) HeaderFields p_header := ?, template (present) SecPayloads p_payloads := ?, template SecPayloads p_payloads := *, template (present) TrailerFields p_trailer := ? ) modifies mw_securedMessage := { Loading