LibItsPki_TypesAndValues.ttcn 3.11 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
/**
 *  @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;
  
  group constants {

    const integer PkiProtocolVersion := 1;
Yann Garcia's avatar
Yann Garcia committed
  
  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
Yann Garcia's avatar
Yann Garcia committed
    }
    
    type record AcSetSecurityData {
      charstring  certificateId,
      charstring  peer_certificateId,
Yann Garcia's avatar
Yann Garcia committed
      octetstring private_key,
      octetstring public_key_compressed,
      integer     public_key_compressed_mode
    } with {
      variant ""
      encode "LibItsPki"
    } // AcSetSecurityData
    
Yann Garcia's avatar
Yann Garcia committed
    variant ""
    encode "AdapterControl"
  } // End of group acPrimitives
  
  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)"
Yann Garcia's avatar
Yann Garcia committed
    }

    /**
     * @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
    } with {
      variant ""
    } // End of type UtPkiTrigger
    
    /**
     * @desc Request to trigger an EnrolmentRequest
     * @member hashAlgorithm The Hash algorithm to be used (sha256 or sha384)
     * @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 {
      HashAlgorithm hashAlgorithm,
      octetstring privateKey,
      octetstring compressedPublickey
    } with {
      variant "FIELDORDER(msb)"
    } // End of type TriggerEnrolmentRequest
    
  } with {
    encode "UpperTester"
    variant ""
  } // End of group utPrimitives
  
Yann Garcia's avatar
Yann Garcia committed
}
with {
  variant ""
  encode "LibItsPki"
}   // End of module LibItsPki_TypesAndValues