Мне удалось запустить SGX в аппаратном режиме и успешно получить SigRL из IAS. Но я изо всех сил пытаюсь выполнить аттестацию Quote, используя их REST API. Я использовал описание интерфейса REST API здесь. Я успешно подключился к серверу с запросом HTTP POST
https://test-as.sgx.trustedservices.intel.com:443/attestation//sgx/v1/report
Но я всегда получаю ошибку: 400 Bad request!?
На стороне клиента я получаю msg3 следующим образом
ret = sgx_ra_proc_msg2(this->enclave->getContext(),
this->enclave->getID(),
sgx_ra_proc_msg2_trusted,
sgx_ra_get_msg3_trusted,
p_msg2,
size,
&p_msg3,
&msg3_size);
который возвращает SGX_SUCCESS
. Затем я готовлю цитату в структуре p_msg3
std::string quoteStr = ConvertToString(p_msg3->quote);
quoteStr = EncodeToBase64(quoteStr);
и, наконец, я помещаю цитату в строку JSON, что приводит к
{"isvEnclaveQuote": "MDIwMDAxMDBlMzBhMDAwMDA0MDA...RiMjUyYTgxOGE4NTIzMzQxZDY3"}
который теперь отправляется в качестве полезной нагрузки в IAS.