我能够在硬件模式下使用运行SGX并从IAS成功检索SigRL。但是当我尝试使用他们的REST API执行Quote证明时,我正在努力。我使用了REST API接口描述here。 我使用HTTP POST请求成功连接到服务器
https://test-as.sgx.trustedservices.intel.com:443/attestation//sgx/v1/report
但我总是收到错误:400错误的请求!?
在客户端,我得到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。
答案 0 :(得分:0)
400 Bad Request
。
请仔细检查您用于创建报价匹配的 SPID 和可链接性选项以及用于注册 IAS 的选项。