Namespace sgx

namespace sgx

Typedefs

typedef jwt::decoded_jwt<jwt::traits::kazuho_picojson> DecodedJwt
typedef jwt::jwks<jwt::traits::kazuho_picojson> JwksSet

Functions

void initialiseSGXWAMRNatives()
uint32_t getFaasmFunctionsApi(NativeSymbol **nativeSymbols)
uint32_t getFaasmMemoryApi(NativeSymbol **nativeSymbols)
uint32_t getFaasmPthreadApi(NativeSymbol **nativeSymbols)
uint32_t getFaasmStateApi(NativeSymbol **nativeSymbols)
uint32_t getFaasmWasiEnvApi(NativeSymbol **nativeSymbols)
uint32_t getFaasmWasiFilesystemApi(NativeSymbol **nativeSymbols)
EnclaveInfo generateQuote(int enclaveId, const std::vector<uint8_t> &enclaveHeldData)
void validateQuote(const EnclaveInfo &enclaveInfo, const std::string &attestationProviderUrl)
void attestEnclave(int enclaveId, std::vector<uint8_t> enclaveHeldData)
bool isSgxEnabled()
sgx_enclave_id_t getGlobalEnclaveId()
void processECallErrors(std::string errorMessage, sgx_status_t sgxReturnValue, faasm_sgx_status_t faasmReturnValue = FAASM_SGX_SUCCESS)
std::string sgxErrorString(sgx_status_t status)
std::string faasmSgxErrorString(faasm_sgx_status_t status)
void checkSgxSetup()
void checkSgxCrypto()
void tearDownEnclave()
static int wasi_args_get(wasm_exec_env_t execEnv, uint32_t *argvOffsetsWasm, char *argvBuffWasm)
static int wasi_args_sizes_get(wasm_exec_env_t execEnv, uint32_t *argcWasm, uint32_t *argvBuffSizeWasm)
static void wasi_proc_exit(wasm_exec_env_t execEnv, int returnCode)
static int wasi_fd_close(wasm_exec_env_t execEnv, int a)
static int wasi_fd_seek(wasm_exec_env_t execEnv, int a, int64 b, int c, int d)
static int wasi_fd_write(wasm_exec_env_t execEnv, int a, int b, int c, int d)
static int wasi_fd_fdstat_get(wasm_exec_env_t execEnv, int a, int b)
static int32_t wasi_fd_fdstat_set_rights(wasm_exec_env_t exec_env, int32_t a, int64_t b, int64_t c)
static int32_t faasm_read_input_wrapper(wasm_exec_env_t execEnv, uint8_t *buffer, unsigned int bufferSize)
static void faasm_write_output_wrapper(wasm_exec_env_t execEnv, char *output, unsigned int outputSize)
static unsigned int faasm_chain_name_wrapper(wasm_exec_env_t execEnv, const char *name, const uint8_t *input, unsigned int inputSize)
static unsigned int faasm_chain_ptr_wrapper(wasm_exec_env_t execEnv, int wasmFuncPtr, const uint8_t *inputData, unsigned int inputSize)
static unsigned int faasm_await_call_wrapper(wasm_exec_env_t execEnv, unsigned int callId)
static unsigned int faasm_await_call_output_wrapper(wasm_exec_env_t execEnv, unsigned int callId, char *buffer, unsigned int bufferSize)
static int32_t __sbrk_wrapper(wasm_exec_env_t execEnv, int32_t increment)
void doNativeSymbolRegistration(uint32_t (*f)(NativeSymbol **ns))
void doWasiSymbolRegistration(uint32_t (*f)(NativeSymbol **ns))
static int32_t pthread_mutex_init_wrapper(wasm_exec_env_t execEnv, int32_t a, int32_t b)
static int32_t pthread_mutex_lock_wrapper(wasm_exec_env_t execEnv, int32_t a)
static int32_t pthread_mutex_unlock_wrapper(wasm_exec_env_t execEnv, int32_t a)
static int32_t pthread_cond_broadcast_wrapper(wasm_exec_env_t execEnv, int32_t a)
static int32_t pthread_mutexattr_init_wrapper(wasm_exec_env_t execEnv, int32_t a)
static int32_t pthread_mutexattr_destroy_wrapper(wasm_exec_env_t execEnv, int32_t a)
static int32_t pthread_equal_wrapper(wasm_exec_env_t execEnv, int32_t a, int32_t b)
static std::string getTokenFromJwtResponse(const std::string &jwtResponse)

Variables

static NativeSymbol wasiNs[] = {REG_WASI_NATIVE_FUNC(args_get, "(**)i"), REG_WASI_NATIVE_FUNC(args_sizes_get, "(**)i"), REG_WASI_NATIVE_FUNC(proc_exit, "(i)"),}
static NativeSymbol wasiNs[] = {REG_WASI_NATIVE_FUNC(fd_close, "(i)i"), REG_WASI_NATIVE_FUNC(fd_seek, "(iIii)i"), REG_WASI_NATIVE_FUNC(fd_write, "(iiii)i"), REG_WASI_NATIVE_FUNC(fd_fdstat_get, "(ii)i"), REG_WASI_NATIVE_FUNC(fd_fdstat_set_rights, "(iII)i"),}
static NativeSymbol ns[] = {REG_FAASM_NATIVE_FUNC(faasm_read_input, "($i)i"), REG_FAASM_NATIVE_FUNC(faasm_write_output, "($i)"), REG_FAASM_NATIVE_FUNC(faasm_chain_name, "($$i)i"), REG_FAASM_NATIVE_FUNC(faasm_chain_ptr, "(*$i)i"), REG_FAASM_NATIVE_FUNC(faasm_await_call, "(i)i"), REG_FAASM_NATIVE_FUNC(faasm_await_call_output, "(i$i)i"),}
static NativeSymbol ns[] = {REG_NATIVE_FUNC(__sbrk, "(i)i"),}
static NativeSymbol ns[] = {REG_NATIVE_FUNC(pthread_mutex_init, "(ii)i"), REG_NATIVE_FUNC(pthread_mutex_lock, "(i)i"), REG_NATIVE_FUNC(pthread_mutex_unlock, "(i)i"), REG_NATIVE_FUNC(pthread_cond_broadcast, "(i)i"), REG_NATIVE_FUNC(pthread_mutexattr_init, "(i)i"), REG_NATIVE_FUNC(pthread_mutexattr_destroy, "(i)i"), REG_NATIVE_FUNC(pthread_equal, "(ii)i"),}
class AzureAttestationServiceClient

Public Functions

AzureAttestationServiceClient(const std::string &attestationServiceUrlIn)
std::string attestEnclave(const EnclaveInfo &enclaveInfo)
void validateJwtToken(const std::string &jwtToken)

Public Static Functions

static std::string requestBodyFromEnclaveInfo(const EnclaveInfo &enclaveInfo)
class EnclaveInfo

Public Functions

EnclaveInfo(const sgx_report_t &enclaveReport, const std::vector<uint8_t> &quoteBuffer, const std::vector<uint8_t> &enclaveHeldDataIn)
EnclaveInfo(const std::string &jsonPath)
const std::vector<uint8_t> &getQuote() const
const std::vector<uint8_t> &getEnclaveHeldData() const
void toJson(const std::string &jsonPath)