Loading ttcn/AtsSecurity/ItsSecurity_Functions.ttcn +72 −72 Original line number Diff line number Diff line Loading @@ -51,23 +51,23 @@ module ItsSecurity_Functions { /** * @desc Prepare a secured CAM * @param p_configId The configuration identifier to be used * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ function f_prepareSecuredCam( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof(m_geoNwShbPacket( f_getPosition(c_compNodeC) )); Loading @@ -93,7 +93,7 @@ module ItsSecurity_Functions { f_buildGnSecuredCam( v_securedMessage, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, p_headerFields, p_configId, p_addMissingHeaders Loading @@ -111,8 +111,8 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @param p_alterATCertificateSignature Set to true to alter the AT certificate signature * @param p_alterAACertificateSignature Set to true to alter the AA certificate signature Loading @@ -122,8 +122,8 @@ module ItsSecurity_Functions { in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 0, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256, in boolean p_addMissingHeaders := true, in boolean p_alterATCertificateSignature := false, in boolean p_alterAACertificateSignature := false Loading @@ -131,9 +131,9 @@ module ItsSecurity_Functions { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof(m_geoNwShbPacket( f_getPosition(c_compNodeC) )); Loading Loading @@ -161,7 +161,7 @@ module ItsSecurity_Functions { p_protocolVersion, p_trailerStatus, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, p_headerFields, p_configId, p_addMissingHeaders, Loading @@ -177,18 +177,18 @@ module ItsSecurity_Functions { /** * @desc Sends a secured CAM * @param p_configId The configuration identifier to be used * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredCam( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam(p_configId, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam(p_configId, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -204,20 +204,20 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredCam_Bo( in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 1, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_issuerIdentifier); // log("v_securedGnPdu = ", v_securedGnPdu); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -233,25 +233,25 @@ module ItsSecurity_Functions { /** * @desc Prepare a secured DENM * @param p_configId The configuration identifier to be used * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ function f_prepareSecuredDenm( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; var template (value) SituationContainer v_situation := m_situation(LibItsCommon_ASN1_NamedNumbers.CauseCodeType_vehicleBreakdown_, LibItsCommon_ASN1_NamedNumbers.VehicleBreakdownSubCauseCode_unavailable_); // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading Loading @@ -284,7 +284,7 @@ module ItsSecurity_Functions { f_buildGnSecuredDenm( v_securedMessage, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -307,8 +307,8 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ Loading @@ -316,18 +316,18 @@ module ItsSecurity_Functions { in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 0, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; var template (value) SituationContainer v_situation := m_situation(LibItsCommon_ASN1_NamedNumbers.CauseCodeType_vehicleBreakdown_, LibItsCommon_ASN1_NamedNumbers.VehicleBreakdownSubCauseCode_unavailable_); // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading Loading @@ -362,7 +362,7 @@ module ItsSecurity_Functions { p_protocolVersion, p_trailerStatus, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -380,17 +380,17 @@ module ItsSecurity_Functions { /** * @desc Sends a secured DENM * @param p_configId The configuration identifier to be used * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredDenm( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm(p_configId, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm(p_configId, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -406,19 +406,19 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredDenm_Bo( in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 1, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -433,24 +433,24 @@ module ItsSecurity_Functions { /** * @desc Prepare a secured Beacon * @param p_configId The configuration identifier to be used * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ function f_prepareSecuredBeacon( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading @@ -468,7 +468,7 @@ module ItsSecurity_Functions { f_buildGnSecuredOtherMessage( v_securedMessage, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -491,8 +491,8 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ Loading @@ -500,17 +500,17 @@ module ItsSecurity_Functions { in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 0, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading @@ -530,7 +530,7 @@ module ItsSecurity_Functions { p_protocolVersion, p_trailerStatus, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -548,17 +548,17 @@ module ItsSecurity_Functions { /** * @desc Sends a secured Beacon * @param p_configId The configuration identifier to be used * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredBeacon( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon(p_configId, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon(p_configId, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -574,19 +574,19 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredBeacon_Bo( in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 1, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading Loading
ttcn/AtsSecurity/ItsSecurity_Functions.ttcn +72 −72 Original line number Diff line number Diff line Loading @@ -51,23 +51,23 @@ module ItsSecurity_Functions { /** * @desc Prepare a secured CAM * @param p_configId The configuration identifier to be used * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ function f_prepareSecuredCam( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof(m_geoNwShbPacket( f_getPosition(c_compNodeC) )); Loading @@ -93,7 +93,7 @@ module ItsSecurity_Functions { f_buildGnSecuredCam( v_securedMessage, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, p_headerFields, p_configId, p_addMissingHeaders Loading @@ -111,8 +111,8 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @param p_alterATCertificateSignature Set to true to alter the AT certificate signature * @param p_alterAACertificateSignature Set to true to alter the AA certificate signature Loading @@ -122,8 +122,8 @@ module ItsSecurity_Functions { in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 0, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256, in boolean p_addMissingHeaders := true, in boolean p_alterATCertificateSignature := false, in boolean p_alterAACertificateSignature := false Loading @@ -131,9 +131,9 @@ module ItsSecurity_Functions { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof(m_geoNwShbPacket( f_getPosition(c_compNodeC) )); Loading Loading @@ -161,7 +161,7 @@ module ItsSecurity_Functions { p_protocolVersion, p_trailerStatus, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, p_headerFields, p_configId, p_addMissingHeaders, Loading @@ -177,18 +177,18 @@ module ItsSecurity_Functions { /** * @desc Sends a secured CAM * @param p_configId The configuration identifier to be used * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredCam( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam(p_configId, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam(p_configId, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -204,20 +204,20 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredCam_Bo( in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 1, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_issuerIdentifier); // log("v_securedGnPdu = ", v_securedGnPdu); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -233,25 +233,25 @@ module ItsSecurity_Functions { /** * @desc Prepare a secured DENM * @param p_configId The configuration identifier to be used * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ function f_prepareSecuredDenm( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; var template (value) SituationContainer v_situation := m_situation(LibItsCommon_ASN1_NamedNumbers.CauseCodeType_vehicleBreakdown_, LibItsCommon_ASN1_NamedNumbers.VehicleBreakdownSubCauseCode_unavailable_); // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading Loading @@ -284,7 +284,7 @@ module ItsSecurity_Functions { f_buildGnSecuredDenm( v_securedMessage, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -307,8 +307,8 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ Loading @@ -316,18 +316,18 @@ module ItsSecurity_Functions { in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 0, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; var template (value) SituationContainer v_situation := m_situation(LibItsCommon_ASN1_NamedNumbers.CauseCodeType_vehicleBreakdown_, LibItsCommon_ASN1_NamedNumbers.VehicleBreakdownSubCauseCode_unavailable_); // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading Loading @@ -362,7 +362,7 @@ module ItsSecurity_Functions { p_protocolVersion, p_trailerStatus, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -380,17 +380,17 @@ module ItsSecurity_Functions { /** * @desc Sends a secured DENM * @param p_configId The configuration identifier to be used * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredDenm( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm(p_configId, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm(p_configId, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -406,19 +406,19 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredDenm_Bo( in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 1, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredDenm_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -433,24 +433,24 @@ module ItsSecurity_Functions { /** * @desc Prepare a secured Beacon * @param p_configId The configuration identifier to be used * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ function f_prepareSecuredBeacon( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading @@ -468,7 +468,7 @@ module ItsSecurity_Functions { f_buildGnSecuredOtherMessage( v_securedMessage, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -491,8 +491,8 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields HeaderFields to be inserted in the message * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields HeaderInfo to be inserted in the message * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @param p_addMissingHeaders Whether to add mandatory headers not present in p_headerFields * @return Secured GeoNetworking packet containing a CAM */ Loading @@ -500,17 +500,17 @@ module ItsSecurity_Functions { in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 0, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate, in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate, in boolean p_addMissingHeaders := true ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GnNonSecuredPacket v_gnNonSecuredPacket; var octetstring v_gnPayload; var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB var template (value) SecuredMessage v_securedMessage; var template (value) Ieee1609Dot2Data v_securedMessage; // Build signed SecuredMessage // Build signed Ieee1609Dot2Data v_gnNonSecuredPacket := valueof( m_geoNwBroadcastPacket( v_longPosVectorNodeB, Loading @@ -530,7 +530,7 @@ module ItsSecurity_Functions { p_protocolVersion, p_trailerStatus, m_payload_signed(v_gnPayload), p_signerInfoType, p_issuerIdentifier, valueof(m_threeDLocation( v_longPosVectorNodeB.latitude, v_longPosVectorNodeB.longitude, Loading @@ -548,17 +548,17 @@ module ItsSecurity_Functions { /** * @desc Sends a secured Beacon * @param p_configId The configuration identifier to be used * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredBeacon( in charstring p_configId, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon(p_configId, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon(p_configId, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading @@ -574,19 +574,19 @@ module ItsSecurity_Functions { * <li>0 for no trailer</li> * <li>1 for invalid trailer</li> * <li>2 for duplicated trailer</li> * @param p_headerFields Additional HeaderFields * @param p_signerInfoType Add digest or AT certificate or certificate chain * @param p_headerFields Additional HeaderInfo * @param p_issuerIdentifier Add digest or AT certificate or certificate chain * @return GeoNetworking payload */ function f_sendSecuredBeacon_Bo( in charstring p_configId, in UInt8 p_protocolVersion := c_protocol_version, in integer p_trailerStatus := 1, in template (omit) HeaderFields p_headerFields := omit, in SignerInfoType p_signerInfoType := e_certificate_digest_with_sha256 in template (omit) HeaderInfo p_headerFields := omit, in SignerIdentifier p_issuerIdentifier := e_certificate_digest_with_sha256 ) runs on ItsGeoNetworking return GeoNetworkingPdu { // Local variables var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_signerInfoType); var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredBeacon_Bo(p_configId, p_protocolVersion, p_trailerStatus, p_headerFields, p_issuerIdentifier); f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu))); Loading