mirror of
https://github.com/intel/linux-sgx
synced 2026-06-08 14:49:32 +00:00
b0af6e75ac
Along with the latest processor microcode address CVE-2022-21233. Modified the Switchless library to have mitigations for the associated issue. Added support for the Linux kernel APIs for the Enclave Dynamic Memory Management (EDMM) features that are available with the Linux kernel v6.0 or later. Refer to the SGX SDK developer reference for details on new trusted APIs and enclave configuration for the EDMM features. Enabled C++17 within SGX SDK. Supported AMX (Advanced Matrix Extensions) in Enclave. Replace hardcoded Enclave signing keys in all sample projects with dynamically generated keys. Added a new API to allow user to configure enclave internal cache size in the Protected File System library. Upgraded to OpenSSL 1.1.1q and upgraded Intel(R) SGX Quote Verification Enclave to integrate SgxSSL/OpenSSL version 1.1.1q. Supported new OS: Ubuntu* 22.04 LTS 64-bit Server version, CentOS* 8.3 64bits, Red Hat* Enterprise Linux* Server 8.6 (for x86_64), SUSE* Linux* Enterprise Server 15.4 64bits, Debian* 10 and Anolis* OS 8.6. Upgraded Intel SGX QE3 to make it backward compatible. Improved ECDSA quote generation and verification performance by caching PCK certificates and collaterals in memory and disk drive. Added Java support for quote verification library. Added new APIs to unify Intel SGX and TDX quote verification in Quote Verification Library. Added Advisory ID in ECDSA quote verification supplemental data. Added Intel TDX support in RA-TLS (Remote Attestation based TLS) library. Improved TDX quote generation throughput in vsock mode. Added Rust support for TDX quote generation. Fixed bugs. Signed-off-by: Li, Xun <xun.li@intel.com>
49 lines
2.3 KiB
Plaintext
49 lines
2.3 KiB
Plaintext
---------------------------
|
|
The project aims to demo SGX local attestation flow.
|
|
|
|
------------------------------------
|
|
How to Build the Sample Code
|
|
------------------------------------
|
|
1. Install Intel(R) Software Guard Extensions (Intel(R) SGX) SDK for Linux* OS
|
|
2. Enclave test key(two options):
|
|
a. Install openssl first, then the project will generate a test key<EnclaveInitiator_private_test.pem>/<EnclaveResponder_private_test.pem> automatically when you build the project.
|
|
b. Rename your test key(3072-bit RSA private key) to <EnclaveInitiator_private_test.pem>/<EnclaveResponder_private_test.pem> and put it under the <EnclaveInitiator>/<EnclaveResponder> folder.
|
|
3. Build the project with the prepared Makefile:
|
|
a. Hardware Mode, Debug build:
|
|
$ make
|
|
b. Hardware Mode, Pre-release build:
|
|
$ make SGX_PRERELEASE=1 SGX_DEBUG=0
|
|
c. Hardware Mode, release build:
|
|
$ make SGX_DEBUG=0
|
|
d. Simulation Mode, Debug build:
|
|
$ make SGX_MODE=SIM
|
|
e. Simulation Mode, Pre-release build:
|
|
$ make SGX_MODE=SIM SGX_PRERELEASE=1 SGX_DEBUG=0
|
|
f. Simulation Mode, Release build:
|
|
$ make SGX_MODE=SIM SGX_DEBUG=0
|
|
g. Use Local Attestation 2.0 protocol, Hardware Mode, Debug build:
|
|
$ make LAv2=1
|
|
Note: Local Attestation 2.0 protocol will be used if 'LAv2' is defined.
|
|
|
|
|
|
When build is successful, you can find executable binaries in "bin" sub-folder.
|
|
|
|
------------------------------------
|
|
How to Execute the Sample Code
|
|
------------------------------------
|
|
1. Install SGX driver and PSW for Linux* OS
|
|
2. If you want to try local attestation flow from two process, you can goto "bin" sub-folder
|
|
a. run "./appresponder".
|
|
It would launch a process to act as local attestation responder.
|
|
b. run "./appinitiator"
|
|
It would launch a process to act as local attestation initator.
|
|
3. If you want to try local attestation flow from one process, you can goto "bin" sub-folder and run "./app"
|
|
|
|
------------------------------------
|
|
How to Get Signed Enclave's MRSIGNER
|
|
------------------------------------
|
|
1. Install Intel(R) Software Guard Extensions (Intel(R) SGX) SDK for Linux* OS
|
|
2. Execute blow command to get your signed enclave's MRSIGNER:
|
|
<SGX_SDK Installation Path>/bin/x64/sgx_sign dump -enclave <Signed Enclave> -dumpfile mrsigner.txt
|
|
3. Find the signed enclave's MRSIGNER in the mrsigner.txt(mrsigner->value:)
|