8 #include <azure/core/context.hpp>
9 #include <azure/core/url.hpp>
12 namespace Azure {
namespace Core {
namespace Http {
namespace _internal {
16 namespace Azure {
namespace Security {
namespace Attestation {
132 std::string
const& endpoint,
133 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
135 Azure::Core::Context
const& constext = Azure::Core::Context{});
151 std::string
const& endpoint,
153 Azure::Core::Context
const& constext = Azure::Core::Context{});
166 : m_endpoint(attestationClient.m_endpoint), m_apiVersion(attestationClient.m_apiVersion),
167 m_pipeline(attestationClient.m_pipeline),
168 m_tokenValidationOptions(attestationClient.m_tokenValidationOptions),
169 m_attestationSigners(attestationClient.m_attestationSigners){};
171 std::string
const Endpoint()
const {
return m_endpoint.GetAbsoluteUrl(); }
182 Azure::Core::Context
const& context = Azure::Core::Context::ApplicationContext)
const;
191 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
205 Response<Models::AttestationToken<Models::AttestationResult>>
AttestSgxEnclave(
206 std::vector<uint8_t>
const& sgxQuoteToAttest,
207 AttestSgxEnclaveOptions options = AttestSgxEnclaveOptions{},
208 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
224 std::vector<uint8_t>
const& openEnclaveReportToAttest,
225 AttestOpenEnclaveOptions options = AttestOpenEnclaveOptions{},
226 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
247 Response<Models::TpmAttestationResult>
AttestTpm(
248 AttestTpmOptions
const& options,
249 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
252 Azure::Core::Url m_endpoint;
253 std::string m_apiVersion;
254 std::shared_ptr<Azure::Core::Credentials::TokenCredential const> m_credentials;
255 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
256 AttestationTokenValidationOptions m_tokenValidationOptions;
257 std::vector<Models::AttestationSigner> m_attestationSigners;
266 std::string
const& endpoint,
267 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
268 AttestationClientOptions options = AttestationClientOptions{});
276 void RetrieveResponseValidationCollateral(
277 Azure::Core::Context
const& context = Azure::Core::Context{});