The Intel® Software Guard Extensions SSL (Intel® SGX SSL) cryptographic library is intended to provide cryptographic services for Intel® Software Guard Extensions (SGX) enclave applications. The Intel® SGX SSL cryptographic library is based on the underlying OpenSSL* Open Source project, providing a full-strength general purpose cryptography library.
This branch supports OpenSSL version 3.0.*, but works in 1.1.1 compatible mode.
See License.txt for details.
Intel(R) SGX Windows latest release, including SDK, PSW, and driver
(Note: Perl, NASM need to be included in machine's PATH variable)
To build Intel® SGX SSL package in Windows OS:
build_all.cmd <OPENSSL_VERSION> [default == openssl-3.0.0]
This will build the Intel® SGX SSL libraries (libsgx_tsgxssl.lib, libsgx_usgxssl.lib, libsgx_tsgxssl_crypto.lib), which can be found in package/lib/{Win32|X64}/{debug|release}/. And the version with CVE-2020-0551 Mitigation enabled can be found in package/lib/X64/{CVE-2020-0551-CF-Release|CVE-2020-0551-Load-Release}/.
To build Intel® SGX SSL package in Linux OS:
make all test
This will build and test the Intel® SGX SSL libraries (libsgx_tsgxssl.a, libsgx_usgxssl.a, libsgx_tsgxssl_crypto.a), which can be found in package/lib64/. And the Intel® SGX SSL trusted libraries (libsgx_tsgxssl.lib, libsgx_tsgxssl_crypto.lib) with CVE-2020-0551 Mitigation enabled can be found in package/lib64/{cve_2020_0551_cf|cve_2020_0551_load}/.
make
flags:0
.no-threads
in the OpenSSL's build configuration options. Default 0
.SIM
to run the unit test on non-SGX platform if necessary. Default HW
. /opt/intel/sgxssl/
. 0
.0
.To install Intel® SGX SSL libraries in Linux OS, run:
make all test
sudo make install
To use the trusted cryptography library with SGX SSL/OpenSSL 3.*, it possibly needs to increase the value in the enclave signing configuration XML file:
...
<HeapMaxSize>...</HeapMaxSize>
...
, especially for the enclave with multithreads.