Commit fdb779ea authored by garciay's avatar garciay
Browse files

Add algorithms and signatures receive templates

parent b5c96590
Loading
Loading
Loading
Loading
+87 −4
Original line number Original line Diff line number Diff line
@@ -192,7 +192,7 @@ module LibItsSecurity_Templates {
        group basicFormatElementsSend {
        group basicFormatElementsSend {
            
            
            /**
            /**
             * @desc Send/Receive templates for security algorithm descriptions
             * @desc Send templates for security algorithm descriptions
             */
             */
            group algorithms {
            group algorithms {
                
                
@@ -291,7 +291,7 @@ module LibItsSecurity_Templates {
            } // End of template m_publicKey_aesccm
            } // End of template m_publicKey_aesccm
            
            
            /**
            /**
             * @desc Send/receive templates for Signature description
             * @desc Send templates for Signature description
             * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.9   Signature
             * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.9   Signature
             * @see Draft ETSI TS 103 097 V1.1.14 Table 2: Derivation of field sizes depending on the used algorithm
             * @see Draft ETSI TS 103 097 V1.1.14 Table 2: Derivation of field sizes depending on the used algorithm
             */
             */
@@ -512,6 +512,52 @@ module LibItsSecurity_Templates {
         */
         */
        group basicFormatElementsRecv {
        group basicFormatElementsRecv {
            
            
            /**
             * @desc Receive templates for security algorithm descriptions
             */
            group algorithms {
                
                /**
                 * @desc Receive template for EccPoint description based on x_coordinate_only type
                 * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.5   EccPoint
                 * @see Draft ETSI TS 103 097 V1.1.14 Table 2: Derivation of field sizes depending on the used algorithm
                 */
                template (present) EccPoint mw_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
                                                                                                    in template (present) octetstring p_x := ?
                ) := { 
                    type_           := e_x_coordinate_only,
                    x               := p_x,
                    y               := omit
                } // End of template mw_eccPointecdsa_nistp256_with_sha256_x_coordinate_only
                
                /**
                 * @desc Receive template for EccPoint description based on y_coordinate_only type
                 * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.5   EccPoint
                 * @see Draft ETSI TS 103 097 V1.1.14 Table 2: Derivation of field sizes depending on the used algorithm
                 */
                template (present) EccPoint mw_eccPointecdsa_nistp256_with_sha256_y0_coordinate_only(
                                                                                                     in template (present) octetstring p_x := ? 
                ) := { 
                    type_           := e_compressed_lsb_y_0,
                    x               := p_x,
                    y               := omit
                } // End of template mw_eccPointecdsa_nistp256_with_sha256_y0_coordinate_only
                
                /**
                 * @desc Receive template for EccPoint description based on y_coordinate_only type
                 * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.5   EccPoint
                 * @see Draft ETSI TS 103 097 V1.1.14 Table 2: Derivation of field sizes depending on the used algorithm
                 */
                template (present) EccPoint mw_eccPointecdsa_nistp256_with_sha256_y1_coordinate_only(
                                                                                                     in template (present) octetstring p_x := ? 
                ) := { 
                    type_           := e_compressed_lsb_y_1,
                    x               := p_x,
                    y               := omit
                } // End of template mw_eccPointecdsa_nistp256_with_sha256_y1_coordinate_only
                
            } // End of group algorithms
            
            group signerInfos {
            group signerInfos {
                
                
                /**
                /**
@@ -547,6 +593,43 @@ module LibItsSecurity_Templates {
            } // End of group signerInfos
            } // End of group signerInfos
            
            
            
            
            /**
             * @desc Receive templates for Signature description
             * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.9   Signature
             * @see Draft ETSI TS 103 097 V1.1.14 Table 2: Derivation of field sizes depending on the used algorithm
             */
            group signatures {
                
                /**
                 * @desc Receive template for signatures based on ECDSA algorithm
                 * @member p_ecdsaSignature The ECDSA based signature
                 * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.9   Signature
                 */
                template (present) Signature mw_signature(
                                                          in template (present) EcdsaSignature p_ecdsaSignature := ?
                ):= {
                    algorithm   := e_ecdsa_nistp256_with_sha256,
                    signature_  := {
                        ecdsa_signature := p_ecdsaSignature
                    } // End of field signature_
                } // End of template mw_signature
                
                /**
                 * @desc Receive template for ECDSA based signature
                 * @member p_r          The coordinate of the elliptic curve point resulting from multiplying the generator element by the ephemeral private key
                 * @member p_s          The signature
                 * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.10   EcdsaSignature
                 */
                template (present) EcdsaSignature mw_ecdsaSignature(
                                                                    in template (present) EccPoint p_r := ?,
                                                                    in template (present) octetstring p_s := ?
                ) := {
                    r           := p_r,
                    s           := p_s
                } // End of template mw_ecdsaSignature
                
            } // End of group signatures 
            
            /**
            /**
             * @desc Receive template for Time64WithStandardDeviation
             * @desc Receive template for Time64WithStandardDeviation
             * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.17    Time64WithStandardDeviation
             * @see Draft ETSI TS 103 097 V1.1.14 Clause 4.2.17    Time64WithStandardDeviation
@@ -1380,11 +1463,11 @@ module LibItsSecurity_Templates {
             * @param p_signature   The signature information
             * @param p_signature   The signature information
             */
             */
            template (present) TrailerField mw_trailer_field_signature(
            template (present) TrailerField mw_trailer_field_signature(
                                                                       in template (present) Signature p_signature
                                                                       in template (present) Signature p_signature := ?
            ) := {
            ) := {
                type_           := e_signature,
                type_           := e_signature,
                trailerField    := {
                trailerField    := {
                    signature_ := ?
                    signature_ := p_signature
                }
                }
            } // End of template mw_trailer_field_dummy
            } // End of template mw_trailer_field_dummy