EtsiTs102941Its-sMessages.asn 4.62 KB
Newer Older
EtsiTs102941Its-sMessages
  { itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) its-sMessages(1) version1(1)}

-- draft version r6 of 28.09.2017

DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS

EtsiTs103097Certificate, EtsiTs103097Data-Signed, EtsiTs103097Data-Encrypted, EtsiTs103097Data-SignedExternalPayload, EtsiTs103097Data-SignedAndEncrypted
FROM EtsiTs103097Module
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103097) securedMessageV1(0)}

AuthorizationResponseCode, AuthorizationValidationResponseCode, CertificateFormat, CertificateSubjectAttributes,EnrolmentResponseCode, EcSignature, HashedId8, PublicKeys, Version
FROM EtsiTs102941BaseTypes
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(0) version1(1) }

;

/************
-- Messages
************/

EnrolmentRequestMessage::= EtsiTs103097Data-SignedAndEncrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentRequest PRESENT})})} 
EnrolmentResponseMessage::= EtsiTs103097Data-SignedAndEncrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentResponse PRESENT})})} 
AuthorizationRequestMessage::= EtsiTs103097Data-Encrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})} 
AuthorizationRequestMessageWithPop::= EtsiTs103097Data-Encrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequestWithPop PRESENT})})} 
AuthorizationResponseMessage::= EtsiTs103097Data-SignedAndEncrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationResponse PRESENT})})} 
AuthorizationValidationRequestMessage::= EtsiTs103097Data-SignedAndEncrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationValidationRequest PRESENT})})} 
AuthorizationValidationResponseMessage::= EtsiTs103097Data-SignedAndEncrypted {EtsiTS102941DataIts-s (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationValidationResponse PRESENT})})} 


/************
-- EtsiTS102941Data
************/

EtsiTS102941DataIts-s::= SEQUENCE{
  version Version (v1),
  content Content}

Content ::= CHOICE{
	enrolmentRequest					InnerEcRequestSignedForPop,
	enrolmentResponse 					InnerEcResponse,
	authorizationRequest	 			InnerAtRequest,
	authorizationRequestWithPop			InnerAtRequestSignedForPop,
	authorizationResponse				InnerAtResponse,
	authorizationValidationRequest 		AuthorizationValidationRequest,
	authorizationValidationResponse 	AuthorizationValidationResponse,
	caCertificateRequest				NULL,
	caCertificateResponse 				NULL,
	... 
	} 


/************
-- EnrolmentRequest/Response
************/

InnerEcRequestSignedForPop::= EtsiTs103097Data-Signed{InnerEcRequest}

InnerEcRequest::= SEQUENCE {
  itsId 							IA5String,
  certificateFormat					CertificateFormat,
  publicKeys 						PublicKeys,
  requestedSubjectAttributes 		CertificateSubjectAttributes (WITH COMPONENTS{certIssuePermissions ABSENT}),
  ...
 }

InnerEcResponse ::= SEQUENCE {
  requestHash 		OCTET STRING (SIZE(16)),
  responseCode 		EnrolmentResponseCode,
  certificate 		EtsiTs103097Certificate OPTIONAL,
  ... 
 }
  (WITH COMPONENTS { responseCode (ok), certificate PRESENT }
     | WITH COMPONENTS { responseCode (ALL EXCEPT ok), certificate ABSENT }
  )

/************
-- AuthorizationRequest/Response
************/

InnerAtRequestSignedForPop::= EtsiTs103097Data-Signed{InnerAtRequest}

InnerAtRequest ::= SEQUENCE {
  publicKeys 			PublicKeys,
  hmacKey 				OCTET STRING (SIZE(32)),
  sharedAtRequest 		SharedAtRequest, 
  ecSignature			EcSignature,
  ...
  } 

SharedAtRequest ::= SEQUENCE {
  eaId 								HashedId8,
  keyTag 							OCTET STRING (SIZE(16)),
  ertificateFormat					CertificateFormat,
  requestedSubjectAttributes 		CertificateSubjectAttributes (WITH COMPONENTS{certIssuePermissions ABSENT}),
  ...
  }

InnerAtResponse ::= SEQUENCE {
  requestHash 		OCTET STRING (SIZE(16)),
  responseCode 		AuthorizationResponseCode,
  certificate 		EtsiTs103097Certificate OPTIONAL,
  ... 
 }
  (WITH COMPONENTS { responseCode (ok), certificate PRESENT }
  | WITH COMPONENTS { responseCode (ALL EXCEPT ok), certificate ABSENT }
  )

/************
-- AuthorizationValidationRequest/Response
************/

AuthorizationValidationRequest ::= SEQUENCE {
  sharedAtRequest 	SharedAtRequest,
  ecSignature 		EcSignature,
  ...
  }

AuthorizationValidationResponse ::= SEQUENCE { 
  requestHash 						OCTET STRING (SIZE(16)),
  responseCode 						AuthorizationValidationResponseCode,
  confirmedSubjectAttributes 		CertificateSubjectAttributes (WITH COMPONENTS{certIssuePermissions ABSENT}) OPTIONAL,
  ...
  }

END