This document provides a brief overview of how to start exploring the Open Enclave SDK once you have it installed.
On Linux, by default, the Open Enclave SDK is installed to /opt/openenclave.
It contains the following subfolders:
| Path | Description |
|---|---|
| bin | Developer tools such as oegdb for debugging and oesign for signing your enclaves. |
| include/openenclave | Open Enclave runtime headers for use in your enclave (enclave.h) and its host (host.h). |
| include/openenclave/3rdparty | Headers for libc, libcxx and mbedlts libraries for use inside the enclave. See the API Reference section for supported functions. |
| lib/openenclave/cmake | Open Enclave SDK CMake Package for integration with your CMake projects. See README.md for more details. |
| lib/openenclave/enclave | Libraries for linking into the enclave, including the libc, libcxx and mbedtls libraries for Open Enclave. |
| lib/openenclave/host | Library for linking into the host process of the enclave. |
| lib/openenclave/debugger | Libraries used by the gdb plug-in for debugging enclaves. |
| share/openenclave/samples | Sample code showing how to use the Open Enclave SDK. |
On Linux, the Open Enclave SDK installation also contains the following folder: | share/pkgconfig | Pkg-config files for header and library includes when building Open Enclave apps. |
For ease of development, we recommend adding:
- Open Enclave SDK
binfolder toPATH, for use of our tools (such asoegdbandoeedger8r). - Open Enclave SDK
installfolder toCMAKE_PREFIX_PATH, for use of the CMake package. - Open Enclave SDK
pkgconfigfolder toPKG_CONFIG_PATH, for use ofpkg-config.
You can do this by sourcing the openenclaverc file that is distributed with the SDK:
source /opt/openenclave/share/openenclave/openenclavercOne way to determine if your machine is correctly configured to build and run Open Enclave apps is to execute the samples. A description of all the included samples, what each one illustrates, and how to build and run them can be found in share/openenclave/samples/README.md.
Additional documentation is also available for:
Please look here.