- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to use the quote verification with the URL https://test-as.sgx.trustedservices.intel.com:443/attestation/sgx/v1/report
When sending the string with curl as a POST request I receive a 405 Method not allowed back.
In the documentation https://software.intel.com/sites/default/files/managed/3d/c8/IAS_1_0_API_spec_1_1_Final.pdf ; this error is not even listed!?
Here is the part were the request is generated:
string WebService::createJSONforIAS(uint8_t *quote, uint8_t *pseManifest, uint8_t *nonce) {
Json::Value request;
string quoteStr = ByteArrayToString(quote, 1116);
quoteStr = base64encode(quoteStr);
request["isvEnclaveQuote"] = quoteStr;
// request["pseManifest"] = "<encoded_SGX_Platform_Service_Security_Property_Descriptor><optional>";
// request["nonce"] = "<custom_value_passed_by_caller><optional>";
Json::FastWriter fastWriter;
std::string output = fastWriter.write(request);
return output;
}
void WebService::sendToIAS(string str) {
CURL *curl;
CURLcode res = CURLE_OK;
curl = curl_easy_init();
if (curl) {
// curl_easy_setopt(curl, CURLOPT_URL, "https://test-as.sgx.trustedservices.intel.com:443/attestation/sgx/v1/sigrl/00000010");
curl_easy_setopt(curl, CURLOPT_URL, "https://test-as.sgx.trustedservices.intel.com:443/attestation/sgx/v1/report");
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_SSLCERT, "./client.pem");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Accept: application/json");
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, "charsets: utf-8");
res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
cout << str << endl;
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, str);
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, str.size());
res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
}
Here is the response I receive:
* Trying 208.39.114.225... * Connected to test-as.sgx.trustedservices.intel.com (208.39.114.225) port 443 (#0) * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs * NPN, negotiated HTTP1.1 * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 * ALPN, server did not agree to a protocol * Server certificate: * subject: C=US; ST=CA; L=Santa Clara; O=Intel Corporation; CN=test-as.sgx.trustedservices.intel.com * start date: Sep 14 17:24:30 2016 GMT * expire date: Sep 4 17:24:30 2018 GMT * subjectAltName: test-as.sgx.trustedservices.intel.com matched * issuer: C=US; ST=CA; L=Santa Clara; O=Intel Corporation; CN=Intel External Issuing CA 6A * SSL certificate verify ok. > POST /attestation/sgx/v1/report HTTP/1.1 Host: test-as.sgx.trustedservices.intel.com Accept: application/json Content-Type: application/json charsets: utf-8 Content-Length: 2999 Expect: 100-continue < HTTP/1.1 100 Continue * We are completely uploaded and fine < HTTP/1.1 405 Method Not Allowed < Request-ID: 61bc4e8be2c646ebbcb97ad52d005e18 < Date: Thu, 12 Jan 2017 14:54:30 GMT < Connection: keep-alive < Transfer-Encoding: chunked
Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page