Skip to content
LibItsPki_Templates.ttcn 5.67 KiB
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;
    
    template (value) EnrolmentRequestMessage m_enrolmentRequestMessage(
                                                                       in template (value) EncryptedData p_encryptedData
    ) modifies m_etsiTs103097Data_encrypted := {
    } // End of template m_enrolmentRequestMessage
    
garciay's avatar
garciay committed
    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
    
garciay's avatar
garciay committed
    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 //(WITH COMPONENTS{certIssuePermissions ABSENT}),
    ) := {
        itsId                      := p_itsId,
        certificateFormat          := 1,
        publicKeys                 := p_publicKeys,
        requestedSubjectAttributes := p_requestedSubjectAttributes
    } // End of template m_innerEcRequest
garciay's avatar
garciay committed
        
    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 },
      validityPeriod       := p_validityPeriod,
      region               := p_region,
      assuranceLevel       := p_assuranceLevel,
      appPermissions       := p_appPermissions,
      certIssuePermissions := omit
    } // End of template m_certificateSubjectAttributes

garciay's avatar
garciay committed
    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
    
    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
    
} // End of module LibItsPki_Templates