Вызвать приложение Intel SGX Enclave из Python (обернуть приложение Enclave с помощью Python) - PullRequest
0 голосов
/ 01 апреля 2019

Какой тип оболочки 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.

...