Struct switchboard_solana::Gramine
source · pub struct Gramine;Expand description
Gramine: Gramine is a virtualized runtime used to manage vanilla binaries
to execute in an SGX execution environment. This struct allows access to
specific overrides that come out-of-the-box with Gramine.
Implementations§
source§impl Gramine
impl Gramine
sourcepub fn generate_quote(user_data: &[u8]) -> Result<Vec<u8, Global>, Error>
Available on non-target_os="solana" only.
pub fn generate_quote(user_data: &[u8]) -> Result<Vec<u8, Global>, Error>
target_os="solana" only.Gramine::generate_quote: This call allows the user to progmatically
create a signature, or “quote” that can prove some piece of data was
generated by a specific enclave. This quote contains a field, “MR_ENCLAVE”
Which holds a measurement of the code that generated the signature.
Parameters:
user_data: This is an arbitrary piece of data that can be attached to the signature for other parties to verify that this data was produced in an enclave with a MR_ENCLAVE measurement
Returns
Vec<u8> of a buffer containing the quote/signature
sourcepub fn read_rand(buf: &mut [u8]) -> Result<(), Error>
Available on non-target_os="solana" only.
pub fn read_rand(buf: &mut [u8]) -> Result<(), Error>
target_os="solana" only.read_rand: Gramine provides convinient accessors to read randomness
that could not be predicted outside the enclave. Gramine will intercept
calls to the getrandom syscall, /dev/random, and /dev/urandom to use
SGX sourced randomness instead.
Relavent documentation:
Parameters:
buf: the buffer to write the output randomness to.
Returns
Error on failure.