Какой тип оболочки Python подойдет для упаковки кода анклава в intel sgx и как его использовать?
Я пытался использовать ctypes и pybind11
app.cpp:
int makeAcallHere()
{
sgx_enclave_id_t eid;
sgx_status_t ret = SGX_SUCCESS;
sgx_launch_token_t token = { 0 };
int updated = 0;
// Create the Enclave with above launch token.
ret = sgx_create_enclave(ENCLAVE_FILE, SGX_DEBUG_FLAG,
&token, &updated,&eid, NULL);
cout << eid;
if (ret != SGX_SUCCESS) {
printf("App: error %#x, failed to create enclave.\n",ret);
return -1;
}
char * buf = "hello";
in(eid,buf); //calling enclave function
return 0;
}
enclave.cpp:
#include "app.h"
#include "sgx_trts.h"
#include <string.h>
static char* _hi = "hello";
void in(char* hi) {
memcpy(_hi, hi, strlen(_hi) + 1);
}
Я ожидаю вызова функции c ++ в app.cpp, которая, в свою очередь, вызывает функцию enclave в enclave.cpp.