mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	* 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>
		
			
				
	
	
		
			22 lines
		
	
	
		
			667 B
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			667 B
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
 | 
						|
import "sec0.proto";
 | 
						|
import "sec1.proto";
 | 
						|
 | 
						|
/* Allowed values for the type of security
 | 
						|
 * being used in a protocomm session */
 | 
						|
enum SecSchemeVersion {
 | 
						|
    SecScheme0 = 0; /*!< Unsecured - plaintext communication */
 | 
						|
    SecScheme1 = 1; /*!< Security scheme 1 - Curve25519 + AES-256-CTR*/
 | 
						|
}
 | 
						|
 | 
						|
/* Data structure exchanged when establishing
 | 
						|
 * secure session between Host and Client */
 | 
						|
message SessionData {
 | 
						|
    SecSchemeVersion sec_ver = 2;   /*!< Type of security */
 | 
						|
    oneof proto {
 | 
						|
        Sec0Payload sec0 = 10;      /*!< Payload data in case of security 0 */
 | 
						|
        Sec1Payload sec1 = 11;      /*!< Payload data in case of security 1 */
 | 
						|
    }
 | 
						|
}
 |