Open Enclave SDK
Introduction
Open Enclave (OE) is an SDK for building enclave applications in C and C++. An enclave application partitions itself into two components (1) An untrusted component (called the host) and (2) A trusted component (called the enclave). An enclave is a secure container whose memory is protected from entities outside the enclave. These protections allow enclaves to perform secure computations with assurances that secrets will not be compromised.
This SDK is a fully open-source and transparent project, which plans to generalize enclave application models across enclave implementations from different hardware vendors. It's a non-vendor specific solution that supports enclave applications both on Linux and Windows platforms.
The current implementation of Open Enclave is built on Intel Software Guard Extensions (SGX), other enclave architectures (such as solutions from AMD or ARM) will be added in the future. This public preview focuses on the Linux platform.
Getting Started
If you would like to start developing apps with the preview Open Enclave SDK release, start here for instructions to install and use the SDK package:
If you would like to modify and build the Open Enclave SDK from sources, refer to the documents for getting started.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, see Contributing to Open Enclave.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
See the Development Guide for details about contributing code to this project, such as coding style and development processes.
Licensing
This project is released under the MIT License.