Пример локальной аттестации SGX, возвращающий 0x3002 в симуляторе - PullRequest
0 голосов
/ 24 сентября 2018

Я не могу на всю жизнь заставить правильно запустить образец LocalAttestation при новой установке Linux, следуя инструкциям успешно.Учитывая, что это строится в режиме симуляции, я бы подумал, что никаких дополнительных зависимостей нет?

Я изменил демо-версию, чтобы обеспечить дополнительный вывод, и эта строка возвращает 3002 SGX_ERROR_INVALID_ATTRIBUTE:

printf("creating enclave 1\n");
    ret = sgx_create_enclave(ENCLAVE1_PATH, SGX_DEBUG_FLAG, &launch_token, &launch_token_updated, &e1_enclave_id, NULL);
    if (ret != SGX_SUCCESS) {
        printf("Failed. Return value is: %X\n", ret);
                return ret;
    }

Это пример, прямо из linux SDK: https://github.com/intel/linux-sgx, и эта ошибка даже не упоминается в качестве возможности в документации Intel по этой функции: https://software.intel.com/en-us/sgx-sdk-dev-reference-sgx-create-enclave

Любая помощь будет в значительной степениценится!

- Генри

Ответы [ 2 ]

0 голосов
/ 01 июля 2019
ret =sgx_create_enclave(_T(ENCLAVE_PATH),1,&launch_token,&launch_token_update,&enclave_id, NULL);
            if(ret !=SGX_SUCCESS)
            {
                printf("Failed to create enclave");
            }
            printf("Successfully create enclave.");
            printf("\nEnclaveID %llx", enclave_id);
0 голосов
/ 24 сентября 2018

Оказывается, это была проблема с примером кода.Инициализируя обнуленный launch_token, все работает как ожидалось:

sgx_launch_token_t launch_token = {0};
...