* This manages secure sessions and provides framework for multiple transports. * The application can use protocomm layer directly to have application specific extensions for provisioning (or non-provisioning) use cases. * Following features are available for provisioning : * Security - Security0 (no security), Security1 (curve25519 key exchange + AES-CTR encryption) * Proof-of-possession support for Security1 * Protocomm requires specific protocol buffer modules for compilation which can be generated from the `.proto` files in the `proto` directory using make. Co-Authored-By: Amey Inamdar <amey@espressif.com> Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
28 lines
641 B
Protocol Buffer
28 lines
641 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "constants.proto";
|
|
|
|
/* Data structure of Session command/request packet */
|
|
message S0SessionCmd {
|
|
|
|
}
|
|
|
|
/* Data structure of Session response packet */
|
|
message S0SessionResp {
|
|
Status status = 1;
|
|
}
|
|
|
|
/* A message must be of type Cmd or Resp */
|
|
enum Sec0MsgType {
|
|
S0_Session_Command = 0;
|
|
S0_Session_Response = 1;
|
|
}
|
|
|
|
/* Payload structure of session data */
|
|
message Sec0Payload {
|
|
Sec0MsgType msg = 1; /*!< Type of message */
|
|
oneof payload {
|
|
S0SessionCmd sc = 20; /*!< Payload data interpreted as Cmd */
|
|
S0SessionResp sr = 21; /*!< Payload data interpreted as Resp */
|
|
}
|
|
}
|