Commit a8efb6a6 authored by garciay's avatar garciay
Browse files

ATS security review

parent 652c7f0e
Loading
Loading
Loading
Loading
+20 −15
Original line number Original line Diff line number Diff line
@@ -55,20 +55,20 @@ module ItsSecurity_Functions {
        * @desc   Prepare a secured CAM
        * @desc   Prepare a secured CAM
        * @param  p_configId            The configuration identifier to be used
        * @param  p_configId            The configuration identifier to be used
        * @param  p_headerFields        HeaderInfo to be inserted in the message
        * @param  p_headerFields        HeaderInfo to be inserted in the message
        * @param  p_issuerIdentifier      Add digest or AT certificate or certificate chain
        * @param  p_signerIdentifier      Add digest or AT certificate or certificate chain
        * @param  p_addMissingHeaders   Whether to add mandatory headers not present in p_headerFields
        * @param  p_addMissingHeaders   Whether to add mandatory headers not present in p_headerFields
        * @return Secured GeoNetworking packet containing a CAM
        * @return Secured GeoNetworking packet containing a CAM
        */
        */
        function f_prepareSecuredCam(
        function f_prepareSecuredCam(
                                     in charstring p_configId,
                                     in charstring p_configId,
                                     in template (omit) HeaderInfo p_headerFields := omit,
                                     in HeaderInfo p_headerInfo,
                                     in SignerIdentifier p_issuerIdentifier,// := e_certificate_digest_with_sha256,
                                     in SignerIdentifier p_signerIdentifier/*,
                                     in boolean p_addMissingHeaders := true
                                     in boolean p_addMissingHeaders := true*/
        ) runs on ItsGeoNetworking return GeoNetworkingPdu {
        ) runs on ItsGeoNetworking return GeoNetworkingPdu {
            // Local variables
            // Local variables
            var GnNonSecuredPacket v_gnNonSecuredPacket;
            var GnNonSecuredPacket v_gnNonSecuredPacket;
            var octetstring v_gnPayload;
            var octetstring v_gnPayload;
            var template (value) Ieee1609Dot2Data v_securedMessage := {};
            var template (value) EtsiTs103097Data v_securedMessage;
            
            
            // Build signed Ieee1609Dot2Data
            // Build signed Ieee1609Dot2Data
            v_gnNonSecuredPacket := valueof(m_geoNwShbPacket(
            v_gnNonSecuredPacket := valueof(m_geoNwShbPacket(
@@ -93,14 +93,19 @@ module ItsSecurity_Functions {
                    v_gnNonSecuredPacket
                    v_gnNonSecuredPacket
                )
                )
            );
            );
            /*f_buildGnSecuredCam(
            f_buildGnSecuredCam(
                v_securedMessage,
                v_securedMessage,
                m_payload_signed(v_gnPayload),
                valueof(m_toBeSignedData(
                p_issuerIdentifier,
                                         m_signedDataPayload(
                p_headerFields,
                                                             m_etsiTs103097Data_unsecured(
                p_configId,
                                                                                          v_gnPayload
                p_addMissingHeaders
                                                            )), 
            );*/
                                         p_headerInfo
                                        )),
                p_signerIdentifier,
                p_configId/*,
                p_addMissingHeaders*/
            );
            
            
            // Return secured Gn packet
            // Return secured Gn packet
            return valueof(m_geoNwSecPdu(v_gnNonSecuredPacket, v_securedMessage));
            return valueof(m_geoNwSecPdu(v_gnNonSecuredPacket, v_securedMessage));
@@ -186,12 +191,12 @@ module ItsSecurity_Functions {
        */
        */
        function f_sendSecuredCam(
        function f_sendSecuredCam(
                                  in charstring p_configId,
                                  in charstring p_configId,
                                  in template (omit) HeaderInfo p_headerFields := omit,
                                  in HeaderInfo p_headerInfo,
                                  in SignerIdentifier p_issuerIdentifier// := e_certificate_digest_with_sha256
                                  in SignerIdentifier p_issuerIdentifier
        ) runs on ItsGeoNetworking return GeoNetworkingPdu {
        ) runs on ItsGeoNetworking return GeoNetworkingPdu {
            
            
            // Local variables
            // Local variables
            var GeoNetworkingPdu v_securedGnPdu := {};//f_prepareSecuredCam(p_configId, p_headerFields, p_issuerIdentifier);
            var GeoNetworkingPdu v_securedGnPdu := f_prepareSecuredCam(p_configId, p_headerInfo, p_issuerIdentifier);
                   
                   
            f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu)));
            f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu)));