Struct switchboard_solana::prelude::Gramine
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§
§impl Gramine
impl Gramine
pub fn generate_quote(user_data: &[u8]) -> Result<Vec<u8>, SbError>
pub fn generate_quote(user_data: &[u8]) -> Result<Vec<u8>, SbError>
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
pub fn generate_hashed_data_quote(
user_data: [u8; 32]
) -> Result<Vec<u8>, SbError>
pub fn generate_hashed_data_quote( user_data: [u8; 32] ) -> Result<Vec<u8>, SbError>
Gramine::generate_hashed_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
pub fn read_rand(buf: &mut [u8]) -> Result<(), SbError>
pub fn read_rand(buf: &mut [u8]) -> Result<(), SbError>
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.