Commit 723a0395 authored by filatov's avatar filatov
Browse files

Add f_getCertificateSubjectAttribute

Add mw_signerInfo_*
parent c23ba347
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -718,6 +718,20 @@ module LibItsSecurity_Functions {
                return false;
                return false;
            }
            }
            
            
            function f_getCertificateSubjectAttribute(
                                                         in template (value) Certificate p_cert, 
                                                         in SubjectAttributeType p_type,
                                                         out SubjectAttribute p_return
            ) return boolean {
                for (var integer i := 0; i < lengthof(p_cert.subject_attributes); i := i + 1) {
                    if (valueof(p_cert).subject_attributes[i].type_ == p_type ) {
                        p_return := valueof(p_cert).subject_attributes[i];
                        return true;
                    }
                }
                return false;
            }
            
        }// End of group certificateGetters
        }// End of group certificateGetters
        
        
        group CertRequests{
        group CertRequests{
+44 −25
Original line number Original line Diff line number Diff line
@@ -530,6 +530,41 @@ module LibItsSecurity_Templates {
         */
         */
        group basicFormatElementsRecv {
        group basicFormatElementsRecv {
            
            
            group signerInfos {
                
                /**
                 * @desc Recv template for message signed with digest 
                 */
                template (present) SignerInfo mw_signerInfo_digest(
                                                                     in template (present) HashedId8 p_digest  := ?
                ) := {
                    type_         := e_certificate_digest_with_ecdsap256,
                    signerInfo    := {
                        digest := p_digest
                    } // End of field signerInfo 
                } // End of template mw_signerInfo_digest
                
                template (present) SignerInfo mw_signerInfo_certificate(
                                                                     in template (present) Certificate p_certificate  := ?
                ) := {
                    type_         := e_certificate,
                    signerInfo    := {
                        certificate := p_certificate
                    } // End of field signerInfo 
                } // End of template m_signerInfo_certificate
                
                template (present) SignerInfo mw_signerInfo_certificates(
                                                                     in template (present) CertificateChain p_certificates := ?
                ) := {
                    type_         := e_certificate_chain,
                    signerInfo    := {
                        certificates := p_certificates
                    } // End of field signerInfo
                } // End of template m_signerInfo_certificates
                
            } // End of group signerInfos
            
            
            /**
            /**
             * @desc Receive template for Time64WithStandardDeviation
             * @desc Receive template for Time64WithStandardDeviation
             * @see Draft ETSI TS 103 097 V1.1.6 Clause 4.2.17    Time64WithStandardDeviation
             * @see Draft ETSI TS 103 097 V1.1.6 Clause 4.2.17    Time64WithStandardDeviation
@@ -1132,12 +1167,7 @@ module LibItsSecurity_Templates {
                ) := {
                ) := {
                    type_       := e_signer_info,
                    type_       := e_signer_info,
                    headerField := {
                    headerField := {
                        signer := {
                        signer := mw_signerInfo_certificate(p_cert)
                            type_ := e_certificate,
                            signerInfo := {
                                certificate := p_cert
                            }
                        }
                    }
                    }
                } // End of template mw_header_field_signer_info_certificate
                } // End of template mw_header_field_signer_info_certificate


@@ -1148,16 +1178,10 @@ module LibItsSecurity_Templates {
                 */
                 */
                template (present) HeaderField mw_header_field_signer_info_digest (
                template (present) HeaderField mw_header_field_signer_info_digest (
                    template (present) HashedId8 p_digest := ?
                    template (present) HashedId8 p_digest := ?
                
                ) := {
                ) := {
                    type_       := e_signer_info,
                    type_       := e_signer_info,
                    headerField := {
                    headerField := {
                        signer := {
                        signer := mw_signerInfo_digest(p_digest)
                            type_ := e_certificate_digest_with_ecdsap256,
                            signerInfo := {
                                digest := p_digest
                            }
                        }
                    }
                    }
                } // End of template mw_header_field_signer_info_digest
                } // End of template mw_header_field_signer_info_digest


@@ -1171,12 +1195,7 @@ module LibItsSecurity_Templates {
                ) := {
                ) := {
                    type_       := e_signer_info,
                    type_       := e_signer_info,
                    headerField := {
                    headerField := {
                        signer := {
                        signer := mw_signerInfo_certificates(p_certs)
                            type_ := e_certificate_chain,
                            signerInfo := {
                                certificates := p_certs
                            }
                        }
                    }
                    }
                } // End of template mw_header_field_signer_info_certificate_chain
                } // End of template mw_header_field_signer_info_certificate_chain


@@ -1728,7 +1747,7 @@ module LibItsSecurity_Templates {
            group validityRestriction {
            group validityRestriction {
                
                
                template (present) ValidityRestriction mw_validity_restriction_time_end(
                template (present) ValidityRestriction mw_validity_restriction_time_end(
                                                                                        in template (present) Time32 p_end_validity
                                                                                        in template (present) Time32 p_end_validity := ?
                 ) := {
                 ) := {
                    type_       := e_time_end,
                    type_       := e_time_end,
                    validity    :=  {
                    validity    :=  {
@@ -1737,8 +1756,8 @@ module LibItsSecurity_Templates {
                } // End of template mw_validity_restriction_time_end
                } // End of template mw_validity_restriction_time_end
                
                
                template (present) ValidityRestriction mw_validity_restriction_time_start_and_end(
                template (present) ValidityRestriction mw_validity_restriction_time_start_and_end(
                                                                                                  in template (present) Time32 p_start_validity,
                                                                                                  in template (present) Time32 p_start_validity := ?,
                                                                                                  in template (present) Time32 p_end_validity
                                                                                                  in template (present) Time32 p_end_validity := ?
                ) := {
                ) := {
                    type_       := e_time_start_and_end,
                    type_       := e_time_start_and_end,
                    validity    :=  {
                    validity    :=  {
@@ -1750,8 +1769,8 @@ module LibItsSecurity_Templates {
                } // End of template mw_validity_restriction_time_start_and_end
                } // End of template mw_validity_restriction_time_start_and_end
                
                
                template (present) ValidityRestriction mw_validity_restriction_time_start_and_duration(
                template (present) ValidityRestriction mw_validity_restriction_time_start_and_duration(
                                                                                                       in template (present) Time32 p_start_validity,
                                                                                                       in template (present) Time32 p_start_validity := ?,
                                                                                                       in template (present) Duration p_duration
                                                                                                       in template (present) Duration p_duration := ?
                ) := {
                ) := {
                    type_       := e_time_start_and_duration,
                    type_       := e_time_start_and_duration,
                    validity    :=  {
                    validity    :=  {
@@ -1763,7 +1782,7 @@ module LibItsSecurity_Templates {
                } // End of template mw_validity_restriction_time_start_and_duration
                } // End of template mw_validity_restriction_time_start_and_duration
        
        
                template (present) ValidityRestriction mw_validity_restriction_region(
                template (present) ValidityRestriction mw_validity_restriction_region(
                                                                                      in template (present) GeographicRegion p_region
                                                                                      in template (present) GeographicRegion p_region := ?
                ) := {
                ) := {
                    type_       := e_region,
                    type_       := e_region,
                    validity    :=  {
                    validity    :=  {