-
A system with support for SGX1 with Flexible Launch Control (FLC). Note: To check if your system has support for SGX1 with or without FLC, please look here.
-
Windows Server 2016 or 2019
Install Visual Studio Build Tools 2019. Choose the "C++ build tools" workload. Visual Studio Build Tools 2019 has support for CMake Version 3.15 (CMake ver 3.12 or above is required for building Open Enclave SDK). For more information about CMake support, look here.
Download Git for Windows 64-bit.
Install Git and add Git Bash to the PATH environment variable.
Typically, Git Bash is located in C:\Program Files\Git\bin
.
Currently the Open Enclave SDK build system uses bash scripts to configure
and build Linux-based 3rd-party libraries.
Open a command prompt and ensure that Git Bash is added to PATH.
C:\>where bash
C:\Program Files\Git\bin\bash.exe
Tools available in the Git bash environment are also used for test and sample
builds. For example, OpenSSL is used to generate test certificates, so it is
also useful to have the Git\mingw64\bin
folder added to PATH. This can be checked
from the command prompt as well:
C:\>where openssl
C:\Program Files\Git\mingw64\bin\openssl.exe
Download Clang/LLVM for Windows 64-bit. Install Clang 7.0.1 and add the LLVM folder (typically C:\Program Files\LLVM\bin) to PATH. Open Enclave SDK uses clang to build the enclave binaries.
Open up a command prompt and ensure that clang is added to PATH.
C:\> where clang
C:\Program Files\LLVM\bin\clang.exe
C:\> where llvm-ar
C:\Program Files\LLVM\bin\llvm-ar.exe
C:\> where ld.lld
C:\Program Files\LLVM\bin\ld.lld.exe
Instructions to install Intel's PSW 2.7, Intel's Data Center Attestation Primitives and related dependencies can be found here.
Download the required Windows NuGet Package from here and place it in a directory of your choice. Use the command below to install the NuGet package. In this example, we are placing the NuGet Package in C:\openenclave_nuget
and installing it to C:\oe
.
nuget.exe install open-enclave -Source C:\openenclave_nuget -OutputDirectory C:\oe -ExcludeVersion
Note: If it is an RC package, append -pre
to the command above.
See Using the Open Enclave SDK for verifying and using the installed SDK.