mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	 d0c777b2e1
			
		
	
	d0c777b2e1
	
	
	
		
			
			* 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 */
 | |
|     }
 | |
| }
 |