7

我能够在硬件模式下使用运行 SGX 并从 IAS 成功检索 SigRL。但是我在尝试使用他们的 REST API 执行 Quote 证明时遇到了困难。我在这里使用了 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。

4

1 回答 1

1

400 Bad Request如果您的报价有问题,通常会返回。

请仔细检查您用于创建报价单的SPID可链接性选项与您用于在IAS注册的选项是否匹配。

于 2017-02-07T08:09:31.487 回答