Commit 21312309 authored by garciay's avatar garciay
Browse files

Create LibItsSecurity module

parent 67a16d9b
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing functions for Security Protocol
 *
 */
module LibItsSecurity_Functions {
} // End of module LibItsSecurity_Functions
 No newline at end of file
+9 −0
Original line number Original line Diff line number Diff line
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing Pixits for Security Protocol
 *
 */
module LibItsSecurity_Pixits {
} // End of module LibItsSecurity_Pixits
 No newline at end of file
+48 −0
Original line number Original line Diff line number Diff line
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing templates for Security Protocol
 *
 */
module LibItsSecurity_Templates {
    
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    
    group dummyMessagesRecv {
        
        /**
         * @desc Generic received template for SecuredMessage
         */
        template (present) SecuredMessage mw_securedMessage_dummy := {
            protocol_version    := 2, 
            security_profile    := ?,
            header_fields       := ?,
            payload_fields      := ?,
            trailer_fields      := ?
        } // End of template mw_securedMessage_dummy
        
        /**
         * @desc Generic received template for SecuredMessage
         */
        template (present) Payload mw_signedPayload_dummy := {
            type_    := e_signed, 
            payload  := ?
        } // End of template mw_signedPayload_dummy
        
        /**
         * @desc Generic received template for SecuredMessage
         */
        template (present) Payload mw_unsecuredPayload_dummy := {
            type_    := e_unsecured, 
            payload  := ?
        } // End of template mw_unsecuredPayload_dummy
        
    } // End of group dummyMessagesRecv 
    
    group utPrimitives {
        
    } // End of group utPrimitives
    
} // End of module LibItsSecurity_Templates
 No newline at end of file
+9 −0
Original line number Original line Diff line number Diff line
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Test System module for Security Protocol
 *
 */
module LibItsSecurity_TestSystem {
} // End of module LibItsSecurity_TestSystem
 No newline at end of file
+92 −0
Original line number Original line Diff line number Diff line
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing types and values for Security Protocol
 *
 */
module LibItsSecurity_TypesAndValues {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues {
    type
        UInt8
    };
    
    // LibIts
    import from CAM_PDU_Descriptions language "ASN.1:1997" {
        type CAM
    };
    import from DENM_PDU_Descriptions language "ASN.1:1997" {
        type DENM
    };
    
    /**
     * @desc Generic secured message description
     * @member protocol_version The applied protocol version
     * @member security_profile The security profile for this secured message
     * @member header_fields    Multiple information fields of interest to the security layer
     * @member payload_fields   The message's payload
     * @member trailer_fields   Security information after the payload
     * 
     * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.1 SecuredMessage
     */
    type record SecuredMessage {
        UInt8           protocol_version,
        UInt8           security_profile,
        HeaderFields    header_fields,
        Payload         payload_fields,
        TrailerFields   trailer_fields
    }
    
    type set of HeaderField HeaderFields;
    type record HeaderField {
    }
    
    /**
     * @desc Payload structure
     * @member type_    Payload type
     * @member payload  Payload data
     * 
     * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.2 Payload
     */
    type record Payload {
        PayloadType         type_,
        PayloadContainer    payload
    }
    
    /**
     * @desc Payload data container
     * @member camPayload   CAM message
     * @member denmPayload  DENM message
     * @member rawPayload   Other message
     * 
     * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.2 Payload
     */
    type union PayloadContainer {
        CAM         camPayload,
        DENM        denmPayload,
        octetstring rawPayload
    }
    
    /**
     * @desc Supported types of payloads
     * 
     * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.3 Payload
     */
    type enumerated PayloadType {
        e_unsecured             (0),
        e_signed                (1),
        e_encrypted             (2),
        e_signed_external       (3),
        e_signed_and_encrypted  (4),
        e_unknown               (255)
    } with { variant "unsigned 8 bit" }
    
    type set of TrailerField TrailerFields;
    type record TrailerField {
    }
    
} with {
    encode "LibItsSecurity"
} // End of module LibItsSecurity_TypesAndValues
 No newline at end of file