我能够在硬件模式下使用run SGX并成功地从IAS检索SigRL。但在尝试使用他们的REST API执行Quote认证时,我遇到了困难。我使用REST API接口描述here。我使用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。
发布于 2017-02-07 16:09:31
如果您的报价有问题,通常会返回400 Bad Request。
请仔细检查您用于创建报价的SPID和linkability选项是否与您用于向IAS注册的选项相匹配。
https://stackoverflow.com/questions/41685241
复制相似问题