in src/dcap_provider.cpp [936:971]
static std::string build_enclave_id_url(
bool qve,
std::string& expected_issuer_chain_header)
{
std::string version = get_collateral_version();
std::string client_id = get_client_id();
std::stringstream qe_id_url;
expected_issuer_chain_header = headers::QE_ISSUER_CHAIN;
qe_id_url << get_base_url();
// Select the correct issuer header name
if (!version.empty())
{
qe_id_url << "/" << version;
if (version != "v1")
{
expected_issuer_chain_header = headers::ENCLAVE_ID_ISSUER_CHAIN;
}
}
// If QVE and V1 is specified, don't create a URL
if (qve && version == "v1")
{
return "";
}
qe_id_url << "/" << (qve ? "qveid" : "qeid") << "?";
if (!client_id.empty())
{
qe_id_url << "clientid=" << client_id << '&';
}
qe_id_url << API_VERSION_10_2018;
return qe_id_url.str();
}