Intel® Software Guard Extensions (Intel® SGX)
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

Passing Variables and Objects Between App and Enclave

Aziz_A_
Beginner
223 Views

Hello, 

Every tutorial I've seen on SGX seems to only pass Strings in the ECALLs and OCALLs between the App and the Enclave.

Is it possible to pass other types of variables? can I pass objects? if not what would be the best way to get around that?

Thanks.

 

0 Kudos
1 Reply
Anusha_K_Intel
Employee
223 Views

Hi Aziz A,

C++ objects are not supported in enclave interface definitions. If an application needs to pass a C++ object across the enclave boundary, you are recommended to store the C++ object’s data in a C struct and marshal the data across the enclave interface. Then you need to instantiate the C++ object inside the enclave with the marshaled C struct passed in to the constructor (or you may update existing instantiated objects with appropriate operators). 

The EDL for passing structures is given here

 

Regards,

Anusha.

 

Reply