Crate mc_sgx_urts
source ·Expand description
§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
Structs§
- Struct for interfacing with the SGX SDK. This should be used in sgx calls as
ecall_some_function(*enclave.id(), ...)
. - Build an Enclave for use with SGX calls.
- Structure defining configuration for Key Sharing and Separation