2017-01-16 33 views
6

我能够在硬件模式下使用SGX运行并从IAS成功检索SigRL。但是当我尝试使用REST API执行报价认证时,我很挣扎。我使用了REST API接口描述here。 我成功地连接到服务器的HTTP POST请求SGX与IAS的报价认证

https://test-as.sgx.trustedservices.intel.com:443/attestation//sgx/v1/report 

但我总是收到一个错误:400错误的请求!?

在客户端,我得到消息3如下

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

400 Bad Request通常会在您的报价出现问题时返回。

请仔细检查您是否SPID链接性选项用于创建报价比赛和你使用IAS注册一个。