Commit 1ee2d939 authored by filatov's avatar filatov
Browse files

add TS102941 modules

parent a28a57ca
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -11,7 +11,7 @@ dot2(2) base(1) base-types(2) major-version-2(2)}
DEFINITIONS AUTOMATIC TAGS ::= BEGIN 
DEFINITIONS AUTOMATIC TAGS ::= BEGIN 
 
 
EXPORTS ALL;
EXPORTS ALL;

IMPORTS;


-- ------------------------------------------------------------------
-- ------------------------------------------------------------------
-- 
-- 
+0 −135
Original line number Original line Diff line number Diff line
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





+0 −66
Original line number Original line Diff line number Diff line
EtsiTs102941OfflineDataStructures
  { itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) offlineDataStructures(3) version1(1)}

-- draft version r6 of 28.09.2017

DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS

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

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

;

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

CaCertificateRequestMessage ::= EtsiTs103097Data-Signed {EtsiTS102941DataCa(WITH COMPONENTS{..., content (WITH COMPONENTS{caCertificateRequest PRESENT})})}
CaCertificateResponseMessage ::= EtsiTs103097Data-Signed {EtsiTS102941DataCa(WITH COMPONENTS{..., content (WITH COMPONENTS{caCertificateResponse PRESENT})})}  

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

EtsiTS102941DataCa::= SEQUENCE{
  version Version (v1),
  content CaContent}

CaContent ::= CHOICE{
	caCertificateRequest				CaCertificateRequest,
	caCertificateResponse				CaCertificateResponse,
	... 
	}


/************
-- CA certificate request 
************/

CaCertificateRequest ::= SEQUENCE {
  publicKeys 						PublicKeys,
  reqquestedSubjectAttributes 		CertificateSubjectAttributes,
  ...	 
}

CaCertificateResponse::=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 }
  )


END
+63 −0
Original line number Original line Diff line number Diff line
EtsiTs102941BaseTypes
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) version1(1) }

DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
HashedId8, Time32, PublicEncryptionKey, PublicVerificationKey, Signature
FROM
IEEE1609dot2BaseTypes {iso(1) identified-organization(3) ieee(111) 
standards-association-numbered-series-standards(2) wave-stds(1609)  
dot2(2) base(1) base-types(2) major-version-2(2)}

CertificateId, SubjectAssurance, SequenceOfPsidSsp, SequenceOfPsidGroupPermissions, ValidityPeriod, GeographicRegion
FROM 
IEEE1609dot2 {iso(1) identified-organization(3) ieee(111) 
standards-association-numbered-series-standards(2) wave-stds(1609)  
dot2(2) base (1) schema (1) major-version-2(2)}

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

CertificateFormat::= INTEGER {
  ts103097v131 (1)
  }(1..255)

CertificateSubjectAttributes ::= SEQUENCE {
  id 			CertificateId OPTIONAL,
  validityPeriod        ValidityPeriod OPTIONAL,
  region                GeographicRegion OPTIONAL,
  assuranceLevel        SubjectAssurance OPTIONAL,
  appPermissions        SequenceOfPsidSsp OPTIONAL,
  certIssuePermissions  SequenceOfPsidGroupPermissions OPTIONAL,
  ...
  }(WITH COMPONENTS { ..., appPermissions PRESENT} |
   WITH COMPONENTS { ..., certIssuePermissions PRESENT})

EcSignature::= CHOICE {
  encryptedEcSignature 	EtsiTs103097Data-Encrypted{EtsiTs103097Data-SignedExternalPayload}, 
  ecSignature           EtsiTs103097Data-SignedExternalPayload
  }

PublicKeys ::= SEQUENCE {
  verificationKey       PublicVerificationKey,
  encryptionKey         PublicEncryptionKey OPTIONAL
  }

Version ::= INTEGER {v1(1)}

EtsiTs103097Data-Encrypted-Unicast {ToBeEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {ToBeEncryptedDataContent}
(WITH COMPONENTS {...,
  content (WITH COMPONENTS {
    encryptedData (WITH COMPONENTS {...,
       recipients (SIZE(1))
    })
  })
})

EtsiTs103097Data-SignedAndEncrypted-Unicast {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}} 

END
+87 −0
Original line number Original line Diff line number Diff line
/*************************************************************************************
   This file contains the EtsiTs102941Messages module containing all possible PKI messages.
   It should be used when all PKI messages needs to be implemented (for example, for CA development)
**************************************************************************************/
EtsiTs102941MessagesCa
  { itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) messagesCa(0) version1(1)}

DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS

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)}

Version,
EtsiTs103097Data-Encrypted-Unicast,
EtsiTs103097Data-SignedAndEncrypted-Unicast
FROM EtsiTs102941BaseTypes
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) version1(1) }

InnerEcRequestSignedForPop, InnerEcResponse
FROM EtsiTs102941TypesEnrolment
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) enrolment(4) version1(1) }

InnerAtRequest, InnerAtResponse
FROM EtsiTs102941TypesAuthorization
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authorization(5) version1(1) }

ToBeSignedCrl, ToBeSignedTlmCtl, ToBeSignedRcaCtl
FROM EtsiTs102941TrustLists
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) trustLists(6) version1(1) }

AuthorizationValidationRequest, AuthorizationValidationResponse
FROM EtsiTs102941TypesAuthorizationValidation
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authValidation(7) version1(1) }

CaCertificateRequest
FROM EtsiTs102941TypesCaManagement
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) caManagement(8) version1(1) }

;

/************
-- Messages
************/
EnrolmentRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentRequest PRESENT})})} 
EnrolmentResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentResponse PRESENT})})} 
AuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})} 
AuthorizationRequestMessageWithPop ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})} 
AuthorizationResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationResponse PRESENT})})} 
CertificateRevocationListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateRevocationList PRESENT})})}
TlmCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListTlm PRESENT})})}
RcaCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListRca PRESENT})})}
AuthorizationValidationRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationValidationRequest PRESENT})})} 
AuthorizationValidationResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationValidationResponse PRESENT})})} 
CaCertificateRequestMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data(WITH COMPONENTS{..., content (WITH COMPONENTS{caCertificateRequest PRESENT})})}
CaCertificateRekeyingMessage ::= EtsiTs103097Data-Signed {EtsiTs103097Data-Signed {EtsiTs102941Data(WITH COMPONENTS{..., content (WITH COMPONENTS{caCertificateRequest PRESENT})})}}

/************
-- EtsiTs102941Data
************/

EtsiTs102941Data::= SEQUENCE {
  version Version (v1),
  content EtsiTs102941DataContent
  }

EtsiTs102941DataContent ::= CHOICE {
  enrolmentRequest                        InnerEcRequestSignedForPop,
  enrolmentResponse                       InnerEcResponse,
  authorizationRequest                    InnerAtRequest,
  authorizationResponse                   InnerAtResponse,
  certificateRevocationList               ToBeSignedCrl,
  certificateTrustListTlm                 ToBeSignedTlmCtl,
  certificateTrustListRca                 ToBeSignedRcaCtl,
  authorizationValidationRequest          AuthorizationValidationRequest,
  authorizationValidationResponse         AuthorizationValidationResponse,
  caCertificateRequest                    CaCertificateRequest,
  ...
  }

END
Loading