8 #include <azure/core/context.hpp>
9 #include <azure/core/internal/tracing/service_tracing.hpp>
10 #include <azure/core/url.hpp>
13 namespace Azure {
namespace Core {
namespace Http {
namespace _internal {
17 namespace Azure {
namespace Security {
namespace Attestation {
133 std::string
const& endpoint,
134 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
136 Azure::Core::Context
const& constext = Azure::Core::Context{});
152 std::string
const& endpoint,
154 Azure::Core::Context
const& constext = Azure::Core::Context{});
168 std::string
const Endpoint()
const {
return m_endpoint.GetAbsoluteUrl(); }
179 Azure::Core::Context
const& context = Azure::Core::Context::ApplicationContext)
const;
188 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
202 Response<Models::AttestationToken<Models::AttestationResult>>
AttestSgxEnclave(
203 std::vector<uint8_t>
const& sgxQuoteToAttest,
204 AttestSgxEnclaveOptions options = AttestSgxEnclaveOptions{},
205 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
221 std::vector<uint8_t>
const& openEnclaveReportToAttest,
222 AttestOpenEnclaveOptions options = AttestOpenEnclaveOptions{},
223 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
244 Response<Models::TpmAttestationResult>
AttestTpm(
245 AttestTpmOptions
const& options,
246 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
249 Azure::Core::Url m_endpoint;
250 std::string m_apiVersion;
251 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
252 AttestationTokenValidationOptions m_tokenValidationOptions;
253 std::vector<Models::AttestationSigner> m_attestationSigners;
254 Azure::Core::Tracing::_internal::TracingContextFactory m_tracingFactory;
263 std::string
const& endpoint,
264 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
265 AttestationClientOptions options = AttestationClientOptions{});
273 void RetrieveResponseValidationCollateral(
274 Azure::Core::Context
const& context = Azure::Core::Context{});