/** * @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 { // 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 EtsiTs102941TypesAuthorization language "ASN.1:1997" all; import from EtsiTs102941TypesAuthorizationValidation 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; // LibItsPki import from LibItsPki_TypesAndValues all; template (value) EtsiTs102941Data m_etsiTs102941Data_inner_ec_request_signed_for_pop( in template (value) InnerEcRequestSignedForPop p_inner_ec_request_signed_for_pop ) := { version := PkiProtocolVersion, 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 := PkiProtocolVersion, content := { enrolmentResponse := p_inner_ec_response } } // End of template m_etsiTs102941Data_inner_ec_response template (value) EtsiTs102941Data m_etsiTs102941Data_inner_at_request( in template (value) InnerAtRequest p_inner_at_response ) := { version := PkiProtocolVersion, content := { authorizationRequest := p_inner_at_response } } // End of template m_etsiTs102941Data_inner_at_request template (value) EtsiTs102941Data m_etsiTs102941Data_inner_at_response( in template (value) InnerAtResponse p_inner_at_response ) := { version := PkiProtocolVersion, content := { authorizationResponse := p_inner_at_response } } // End of template m_etsiTs102941Data_inner_at_response template (value) EtsiTs103097Data m_authorizationValidationRequestMessage( in template (value) EncryptedData p_encryptedData ) modifies m_etsiTs103097Data_encrypted := { } // End of template m_authorizationValidationRequestMessage template (present) EnrolmentRequestMessage mw_enrolmentRequestMessage( template (present) EncryptedData p_encryptedData := ? ) modifies mw_etsiTs103097Data_encrypted := { } // End of template mw_enrolmentRequestMessage template (present) EnrolmentRequestMessage mw_enrolmentResponseMessage( template (present) EncryptedData p_encryptedData := ? ) modifies mw_etsiTs103097Data_encrypted := { } // End of template mw_enrolmentResponseMessage template (value) AuthorizationRequestMessage m_authorizationRequestMessage( in template (value) EncryptedData p_encryptedData ) modifies m_etsiTs103097Data_encrypted := { } // End of template m_authorizationRequestMessage template (value) AuthorizationResponseMessage m_authorizationResponseMessage( in template (value) EncryptedData p_encryptedData ) modifies m_etsiTs103097Data_encrypted := { } // End of template m_authorizationResponseMessage template (value) EtsiTs102941DataContent m_enrolmentRequest( in template (value) InnerEcRequestSignedForPop p_enrolmentRequest ) := { enrolmentRequest := p_enrolmentRequest } // End of template m_enrolmentRequest template (present) EtsiTs102941DataContent mw_enrolmentRequest( template (present) InnerEcRequestSignedForPop p_enrolmentRequest := ? ) := { enrolmentRequest := p_enrolmentRequest } // End of template mw_enrolmentRequest template (present) InnerEcRequestSignedForPop mw_innerEcRequestSignedForPop( template (present) SignedData p_signedData := ? ) modifies mw_etsiTs103097Data_signed := { } // End of template mw_innerEcRequestSignedForPop template (present) EtsiTs102941DataContent mw_enrolmentResponse( template (present) InnerEcResponse p_enrolmentResponse := ? ) := { enrolmentResponse := p_enrolmentResponse } // End of template mw_enrolmentResponse template (value) EtsiTs102941DataContent m_authorizationRequest( in template (value) InnerAtRequest p_authorizationRequest ) := { authorizationRequest := p_authorizationRequest } // End of template m_authorizationRequest template (present) EtsiTs102941DataContent mw_authorizationResponse( template (present) InnerAtResponse p_authorizationResponse := ? ) := { authorizationResponse := p_authorizationResponse } // End of template mw_authorizationResponse 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 (value) InnerAtRequest m_innerAtRequest( in template (value) PublicKeys p_publicKeys, in template (value) Oct32 p_hmacKey, in template (value) SharedAtRequest p_sharedAtRequest, in template (value) EcSignature p_ecSignature ) := { publicKeys := p_publicKeys, hmacKey := p_hmacKey, sharedAtRequest := p_sharedAtRequest, ecSignature := p_ecSignature } // End of template m_innerAtRequest template (present) InnerAtRequest mw_innerAtRequest( template (present) PublicKeys p_publicKeys := ?, template (present) Oct32 p_hmacKey := ?, template (present) SharedAtRequest p_sharedAtRequest := ?, template (present) EcSignature p_ecSignature := ? ) := { publicKeys := p_publicKeys, hmacKey := p_hmacKey, sharedAtRequest := p_sharedAtRequest, ecSignature := p_ecSignature } // End of template mw_innerAtRequest 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 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 := omit } // End of template mw_innerEcResponse_ko template (value) InnerAtResponse m_innerAtResponse_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_innerAtResponse_ok template (present) InnerAtResponse mw_innerAtResponse_ok( template (present) Oct16 p_requestHash := ?, template (present) EtsiTs103097Certificate p_certificate := ? ) := { requestHash := p_requestHash, responseCode := ok, certificate := p_certificate } // End of template mw_innerAtResponse_ok template (present) InnerAtResponse mw_innerAtResponse_ko( template (present) Oct16 p_requestHash := ?, template (present) AuthorizationResponseCode p_responseCode := complement(ok) ) := { requestHash := p_requestHash, responseCode := p_responseCode, certificate := omit } // End of template mw_innerAtResponse_ko template (value) AuthorizationValidationRequest m_authorizationValidationRequest( in template (value) SharedAtRequest p_sharedAtRequest, in template (value) EcSignature p_ecSignature ) := { sharedAtRequest := p_sharedAtRequest, ecSignature := p_ecSignature } // End of template m_authorizationValidationRequest template (present) AuthorizationValidationResponse mw_authorizationValidationResponse_ok( template (present) Oct16 p_requestHash := ?, template (present) CertificateSubjectAttributes p_confirmedSubjectAttributes := ? ) := { requestHash := p_requestHash, responseCode := ok, confirmedSubjectAttributes := p_confirmedSubjectAttributes } // End of template mw_authorizationValidationResponse_ok template (present) AuthorizationValidationResponse mw_authorizationValidationResponse_ko( template (present) Oct16 p_requestHash := ? ) := { requestHash := p_requestHash, responseCode := complement(ok), confirmedSubjectAttributes := omit } // End of template mw_authorizationValidationResponse_ko } // End of module LibItsPki_Templates