In the initial public preview, this SDK is supporting Linux as the main OS. Windows support will be added in the future release.
Open Enclave SDK runs on Linux systems, whether those systems are inside virtual machines or directly on top of the bare metal machines. The Open Enclave feature set exposed on a system varies on the SGX support level requested and available. Currently, Open Enclave SDK implementation supports three different SGX support levels. The Open Enclave feature set exposed on a system varies with the SGX support level requested and available. This is explained in next section.
The SDK setup process for each mode has minor differences. Since these differences are not fully compatible between modes, it is imperative for a user to know the SGX support level on their target system, to ensure the correct SDK setup.
Please refer to the following documentation to determine the SGX support level for your target system.
Open Enclave today supports the following three operation modes -
-
SGX1mode: This mode can handle all the generic SGX features -
SGX1+FLCmode: In this mode, the Open Enclave SDK takes advantage of the Flexible Launch Control mode for better managing architectural enclaves. -
Simulatormode: Open Enclave comes with a SGX software simulator that simulates a subset of the SGX feature set. This simulator enables Open Enclave SDK to run on systems without actual SGX hardware support.
Different Open Enclave operating modes require different SGX support levels.
| Open Enclave operation mode | SGX support level needed to run on |
|---|---|
| SGX1+FLC | SGX1+FLC |
| SGX1 | SGX1 or SGX1+FLC |
| Simulator | Any level |
If your target system does not have any SGX hardware support, you may want to choose "Simulator" mode.
Choose an operating mode that is compatible with the SGX support level of your target system. The links below contain instructions on how to set up Open Enclave SDK environment for a given mode.
- Setup Open Enclave SDK for SGX1+FLC mode
- Setup Open Enclave SDK for SGX1 mode
- Setup Open Enclave SDK for Simulator mode
Assuming you install the SDK as below (also described in the basic install section)
cmake -DCMAKE_INSTALL_PREFIX:PATH=~/openenclave ..
make installOpen Enclave samples can be found in ~/openenclave/share/openenclave/samples
See Open Enclave samples for details.
Additional information such as the API References can be found in the documentation on using the Open Enclave SDK.