Commit c2ce8be6 authored by filatov's avatar filatov
Browse files

mw_aa_certificate()

mw_at_certificate()
parent 5e39856a
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
@@ -1109,6 +1109,26 @@ module LibItsSecurity_Templates {
                    }
                } // End of template mw_header_field_signer_info_digest

                /**
                 * @desc Receive template for HeaderField with signer information
                 *       containing certificate chain
                 * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4    HeaderField
                 */
                template (present) HeaderField mw_header_field_signer_info_certificate_chain (
                    template (present) CertificateChain p_certs := ?
                ) := {
                    type_       := e_signer_info,
                    headerField := {
                        signer := {
                            type_ := e_certificate_chain,
                            signerInfo := {
                                certificates := p_certs
                            }
                        }
                    }
                } // End of template mw_header_field_signer_info_certificate_chain


                /**
                 * @desc Receive template for HeaderField with signer information
                 * @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4    HeaderField
@@ -1534,6 +1554,40 @@ module LibItsSecurity_Templates {
                signature_              := p_signature
            } // End of template m_certificate

            template (present) Certificate mw_aa_certificate(
                                                          in template (present) SignerInfo p_signer_info :=?,
                                                          in template (present) SubjectAttributes p_subject_attributes :=?,
                                                          in template (present) ValidityRestrictions p_validity_restrictions :=?,
                                                          in template (present) Signature p_signature :=?
            ) := {
                version                 := c_certificate_version,
                signer_infos            := { p_signer_info },
                subject_info            := {
                    subject_type := e_authorization_authority,
                    subject_name := ?
                },
                subject_attributes      := p_subject_attributes,
                validity_restrictions   := p_validity_restrictions,
                signature_              := p_signature
            } // End of template m_aa_certificate
            
            template (present) Certificate mw_at_certificate(
                                                          in template (present) SignerInfo p_signer_info :=?,
                                                          in template (present) SubjectAttributes p_subject_attributes :=?,
                                                          in template (present) ValidityRestrictions p_validity_restrictions :=?,
                                                          in template (present) Signature p_signature :=?
            ) := {
                version                 := c_certificate_version,
                signer_infos            := { p_signer_info },
                subject_info            := {
                    subject_type := e_authorization_ticket,
                    subject_name := ?
                },
                subject_attributes      := p_subject_attributes,
                validity_restrictions   := p_validity_restrictions,
                signature_              := p_signature
            } // End of template m_at_certificate
            
            group subjectInfo {
                
                template (present) SubjectInfo mw_subject_info_root_ca(