LibItsPki_Templates.ttcn 8.68 KB
Newer Older
/**
 *  @author   ETSI / STF545
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing templates for IT PKI Protocol
 *  @copyright   ETSI Copyright Notification
 *               No part may be reproduced except as authorized by written permission.
 *               The copyright and the foregoing restriction extend to reproduction in all media.
 *               All rights reserved.
 *
 */
module LibItsPki_Templates {
garciay's avatar
garciay committed
  
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;
  
  // LibItsCommon
  import from LibItsCommon_TypesAndValues all;
  import from LibItsCommon_Functions all;
  import from LibItsCommon_TypesAndValues all;
  import from LibItsCommon_ASN1_NamedNumbers all;
  
  // LibIts
  import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
  import from IEEE1609dot2 language "ASN.1:1997" all;
  import from EtsiTs102941BaseTypes language "ASN.1:1997" all;
  import from EtsiTs102941TypesEnrolment language "ASN.1:1997" all;
  import from EtsiTs102941MessagesItss language "ASN.1:1997" all;
  import from EtsiTs103097Module language "ASN.1:1997" all;
  
  // LibItsSecurity
  import from LibItsSecurity_Templates all;
garciay's avatar
garciay committed
  template (value) EtsiTs102941Data m_etsiTs102941Data_inner_ec_request_signed_for_pop(
                                                                                       in template (value) InnerEcRequestSignedForPop p_inner_ec_request_signed_for_pop
                                                                                       ) := {
    version := 1,
    content := {
      enrolmentRequest := p_inner_ec_request_signed_for_pop
    }
  } // End of template m_etsiTs102941Data_inner_ec_request_signed_for_pop
  
  template (value) EtsiTs102941Data m_etsiTs102941Data_inner_ec_response(
                                                                         in template (value) InnerEcResponse p_inner_ec_response
                                                                         ) := {
    version := 1,
    content := {
      enrolmentResponse := p_inner_ec_response
    }
  } // End of template m_etsiTs102941Data_inner_ec_response

  template (value) EnrolmentRequestMessage m_enrolmentRequestMessage(
                                                                     in template (value) EncryptedData p_encryptedData
                                                                     ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_enrolmentRequestMessage
  
  template (present) EnrolmentRequestMessage mw_enrolmentResponseMessage(
                                                                         template (present) EncryptedData p_encryptedData := ?
                                                                         ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_enrolmentResponseMessage
  
  template (value) EtsiTs102941DataContent m_enrolmentRequest(
                                                              in template (value) InnerEcRequestSignedForPop p_enrolmentRequest
                                                              ) := {
    enrolmentRequest := p_enrolmentRequest
  } // End of template m_enrolmentRequest
  
  template (present) EtsiTs102941DataContent mw_enrolmentResponse(
                                                                  template (present) InnerEcResponse p_enrolmentResponse := ?
                                                                  ) := {
    enrolmentResponse := p_enrolmentResponse
  } // End of template mw_enrolmentResponse
  
  template (value) InnerEcRequest m_innerEcRequest(
                                                   in template (value) charstring p_itsId,
                                                   in template (value) PublicKeys p_publicKeys,
                                                   in template (value) CertificateSubjectAttributes p_requestedSubjectAttributes
                                                   ) := {
    itsId                      := p_itsId,
    certificateFormat          := 1,
    publicKeys                 := p_publicKeys,
    requestedSubjectAttributes := p_requestedSubjectAttributes
  } // End of template m_innerEcRequest
  
  template (present) InnerEcRequest mw_innerEcRequest(
                                                      template (present) charstring p_itsId := ?,
                                                      template (present) PublicKeys p_publicKeys := ?,
                                                      template (present) CertificateSubjectAttributes p_requestedSubjectAttributes := ?
                                                      ) := {
    itsId                      := p_itsId,
    certificateFormat          := 1,
    publicKeys                 := p_publicKeys,
    requestedSubjectAttributes := p_requestedSubjectAttributes
  } // End of template mw_innerEcRequest
  
  template (omit) PublicKeys m_publicKeys(
                                          in template (value) PublicVerificationKey p_verificationKey,
                                          in template (omit) PublicEncryptionKey p_encryptionKey := omit
                                          ) := {
  verificationKey := p_verificationKey,
  encryptionKey   := p_encryptionKey
  } // End of template m_publicKeys
    
  template PublicKeys mw_publicKeys(
                                    template (present) PublicVerificationKey p_verificationKey := ?,
                                    template PublicEncryptionKey p_encryptionKey := *
                                    ) := {
  verificationKey := p_verificationKey,
  encryptionKey   := p_encryptionKey
  } // End of template mw_publicKeys
    
  template (omit) CertificateSubjectAttributes m_certificateSubjectAttributes(
                                                                              in template (value) SequenceOfPsidSsp p_appPermissions,
                                                                              in template (omit) ValidityPeriod p_validityPeriod := omit,
                                                                              in template (omit) GeographicRegion p_region := omit,
                                                                              in template (omit) SubjectAssurance p_assuranceLevel := omit
                                                                              ) := {
  id 		       	       := { none_ := NULL },
garciay's avatar
garciay committed
  validityPeriod       := p_validityPeriod,
  region               := p_region,
  assuranceLevel       := p_assuranceLevel,
  appPermissions       := p_appPermissions,
  certIssuePermissions := omit
  } // End of template m_certificateSubjectAttributes

  template (value) InnerEcResponse m_innerEcResponse_ok(
                                                        in template (value) Oct16 p_requestHash,
                                                        in template (value) EtsiTs103097Certificate p_certificate
                                                        ) := {
  requestHash  := p_requestHash,
  responseCode := ok,
  certificate  := p_certificate
  } // End of template m_innerEcResponse_ok
    
  template (present) InnerEcResponse mw_innerEcResponse_ok(
                                                           template (present) Oct16 p_requestHash := ?,
                                                           template (present) EtsiTs103097Certificate p_certificate := ?
                                                           ) := {
  requestHash  := p_requestHash,
  responseCode := ok,
  certificate  := p_certificate
  } // End of template mw_innerEcResponse_ok
    
  template (value) InnerEcResponse m_innerEcResponse_ko(
                                                        in template (value) Oct16 p_requestHash,
                                                        in template (value) EnrolmentResponseCode p_responseCode
                                                        ) := {
  requestHash  := p_requestHash,
  responseCode := p_responseCode,
  certificate  := omit
  } // End of template m_innerEcResponse_ko
    
  template (present) InnerEcResponse mw_innerEcResponse_ko(
                                                           template (present) Oct16 p_requestHash := ?,
                                                           template (present) EnrolmentResponseCode p_responseCode := complement(ok)
                                                           ) := {
  requestHash  := p_requestHash,
  responseCode := p_responseCode,
  certificate  := *
  } // End of template mw_innerEcResponse_ko
  
  
  
} // End of module LibItsPki_Templates