/** * @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_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; // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; group constants { const integer PkiProtocolVersion := 1; const charstring cc_ectl_rca_new := "CERT_RCA_NEW"; const charstring cc_ectl_rca_untrust := "CERT_RCA_UNTRUST"; const charstring cc_ectl_aa_new := "CERT_AA_NEW"; const charstring c_etag_http_header := "ETag"; } // End of group constants type set of PublicVerificationKey ListOfPublicVerificationKey; type set of PublicEncryptionKey ListOfPublicEncryptionKey; type set of Oct32 ListofHmacKey; 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, TriggerUpdateEctl triggerUpdateEctl, TriggerRequestForTlmCtl triggerRequestForTlmCtl, TriggerRequestForRcaCtl triggerRequestForRcaCtl } 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] */ type record TriggerEnrolmentRequest { octetstring cannonicalId, 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 type record TriggerUpdateEctl { charstring ectl_uri } // End of type TriggerUpdateEctl type record TriggerRequestForTlmCtl { charstring tlm_ctl_uri } // End of type TriggerRequestForTlmCtl type record TriggerRequestForRcaCtl { charstring tlm_ctl_uri } // End of type TriggerRequestForRcaCtl type record UtPkiTriggerInd { integer state } // End of type UtPkiTriggerInd } with { encode "UpperTester" variant "" } // End of group utPrimitives 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 set of octetstring OctSet; type record of integer EcCompressedModes; type record of HashedId8 EcHashedId8; type record of EtsiTs103097Certificate EcCertificates; type record of EtsiTs103097Certificate BfkCertificates; } with { variant "" encode "LibItsPki" } // End of module LibItsPki_TypesAndValues