Other Software Tools

Arrays

The Enclave Definition Language (EDL) supports multidimensional, fixed-size arrays to be used in data structure definition and parameter declaration. Zero-length array and flexible array member, however, are not supported. The special attribute isary is used to designate function parameters that are of a user defined type array.

Example

enclave {

   

Distinguising between Enclave Instances

Enclave writers should be aware that even though two running instances of the same enclave can be distinguished at the time they attest, there is no Intel SGX mechanism to prevent one enclave instance from having access to the sealed data of another enclave when both enclaves use the EGETKEY instruction. Both instances will return the same key value for the enclave – this is a basic premise for keeping data secret across power cycles.

Creating an Enclave

  1. On the menu bar of Microsoft* Visual Studio*, choose File-->New-->Project.

    The New Project dialog box opens.

  2. Select Templates-->Visual C++-->Intel® SGX Enclave Project. Enter name, location, and solution name in the appropriate fields like any other Microsoft* Visual Studio* project.

Attestation

In the Intel® Software Guard Extensions architecture, attestation refers to the process of demonstrating that a specific enclave was established on the platform. The Intel® SGX Architecture provides two attestation mechanisms:

Subscribe to Other Software Tools