15 releases (6 breaking)
new 0.8.0 | Sep 21, 2023 |
---|---|
0.7.2 | Jul 20, 2023 |
0.5.0 | Mar 8, 2023 |
0.4.0 | Dec 14, 2022 |
0.3.0 | Oct 20, 2022 |
#242 in Hardware support
118 downloads per month
Used in mc-sgx-io-untrusted
155KB
3K
SLoC
MobileCoin's Rust Interface for uRTS
Provides a rust interface for creating (sgx_create_enclave_from_buffer_ex()
)
and persisting SGX enclaves.
Example usage:
let enclave = EnclaveBuilder::new(&mut enclave_bytes).create().unrwap()
let result = unsafe { ecall_foo(*enclave, arg1, arg2) };
Users are responsible for providing their own bindings to their ECALLs.
Table of Contents
License
Look for the LICENSE file at the root of the repo for more information.
Build Instructions
The workspace can be built with cargo build
and tested with cargo test
.
Either command will recognize the cargo --release
flag to build with
optimizations.
The Intel SGX SDK needs to be installed.
Intel SGX SDK
See https://github.com/intel/linux-sgx#build-the-intelr-sgx-sdk-and-intelr-sgx-psw-package for installation instructions.
The environment variable SGX_SDK
can be used to specify where the SDK is
installed. When unset the location will default to /opt/intel/sgxsdk
Features
When no features are present the SGX hardware libraries will be linked in. When
the sim
feature is present the simulation SGX libraries will be linked in.
References
Dependencies
~2.3–4.5MB
~95K SLoC