Newer
Older
* $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_TypesAndValues {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all;
import from EtsiTs102941TrustLists language "ASN.1:1997" all;
group constants {
const integer PkiProtocolVersion := 1;
} // End of group constants
type enumerated SecurityAlg {
e_nist_p256 (0),
e_brainpool_p256_r1 (1),
e_brainpool_p384_r1 (2)
} // End of type SecurityAlg
type set of PublicVerificationKey ListOfPublicVerificationKey;
group utPrimitives {
/**
* @desc Upper Tester message to initialize ITS-S IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtPkiInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
/**
* @desc Upper Tester results message of the PKI ITS-S IUT
*/
type union UtPkiResults {
boolean utPkiInitializeResult,
boolean utPkiTriggerResult
} with {
variant ""
} // End of type UtPkiResults
/**
* @desc UT primitives for PKI ITS-S IUT
* @member triggerEnrolmentRequest Request to trigger an EnrolmentRequest
*/
type union UtPkiTrigger {
TriggerEnrolmentRequest triggerEnrolmentRequest,
TriggerAuthorizationRequest triggerAuthorizationRequest
} with {
variant ""
} // End of type UtPkiTrigger
/**
* @desc Request to trigger an EnrolmentRequest
* @member cannonicalId The canonical identifier of the ITS-S
* @member encAlgorithm The encrypion algorithm to be used (Nist P256 or Brainpool P256)
* @member privateKey The private key to be used for signature of the requested EA certificate
* @member compressedPublickey The compressed public key to be used for signature of the requested EA certificate (format: [02|03]<compressed public key>
*/
type record TriggerEnrolmentRequest {
Oct1 encAlgorithm,
octetstring privateKey,
octetstring compressedPublickey
} with {
variant "FIELDORDER(msb)"
} // End of type TriggerEnrolmentRequest
type record TriggerAuthorizationRequest {
octetstring cannonicalId,
Oct1 encAlgorithm,
octetstring privateKey,
octetstring compressedPublickey
} with {
variant "FIELDORDER(msb)"
} // End of type TriggerAuthorizationRequest
} with {
encode "UpperTester"
variant ""
} // End of group utPrimitives
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
group acPrimitives {
/**
* @desc TA primitives for Pki
*/
type union AcPkiPrimitive {
AcSetSecurityData acSetSecurityData
} with {
variant ""
}
/**
* @desc Primitive for receiveing response from TA
*/
type union AcPkiResponse {
boolean result
} with {
variant ""
}
type record AcSetSecurityData {
charstring certificateId,
charstring peer_certificateId,
octetstring private_key,
octetstring public_key_compressed,
integer public_key_compressed_mode
} with {
variant ""
encode "LibItsPki"
} // AcSetSecurityData
} with {
variant ""
encode "AdapterControl"
} // End of group acPrimitives
type record InfoPortData {
octetstring hashed_id8,
EtsiTs103097Certificate at_certificate
} // End of type InfoPortData
type record of CrlEntry CrlEntries;
type record of CtlCommand CtlCommands;
type record of octetstring PrivateEcKeys;
type record of octetstring PublicCompressedEcKeys;
type record of integer EcCompressedModes;
type record of HashedId8 EcHashedId8;
type record of EtsiTs103097Certificate EcCertificates;
}
with {
variant ""
encode "LibItsPki"
} // End of module LibItsPki_TypesAndValues