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 {
58 std::string
const& endpoint,
59 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
62 Azure::Core::Context
const& context = Azure::Core::Context{});
71 : m_endpoint(attestationClient.m_endpoint), m_apiVersion(attestationClient.m_apiVersion),
72 m_pipeline(attestationClient.m_pipeline),
73 m_tokenValidationOptions(attestationClient.m_tokenValidationOptions),
74 m_attestationSigners(attestationClient.m_attestationSigners){};
87 std::string
const Endpoint()
const {
return m_endpoint.GetAbsoluteUrl(); }
102 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
133 Models::AttestationType
const& attestationType,
134 std::string
const& policyToSet,
135 SetPolicyOptions
const& options = SetPolicyOptions{},
136 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
149 Models::AttestationType
const& attestationType,
150 SetPolicyOptions
const& options = SetPolicyOptions{},
151 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
178 Azure::Nullable<std::string>
const& policyToSet,
179 Azure::Nullable<AttestationSigningKey>
const& signingKey = {})
const;
196 Response<Models::AttestationToken<Models::IsolatedModeCertificateListResult>>
198 GetIsolatedModeCertificatesOptions
const& options = GetIsolatedModeCertificatesOptions{},
199 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
220 Response<Models::AttestationToken<Models::IsolatedModeCertificateModificationResult>>
222 std::string
const& pemEncodedCertificateToAdd,
223 AttestationSigningKey
const& signerForRequest,
224 AddIsolatedModeCertificateOptions
const& options = AddIsolatedModeCertificateOptions{},
225 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
247 Response<Models::AttestationToken<Models::IsolatedModeCertificateModificationResult>>
249 std::string
const& pemEncodedCertificateToAdd,
250 AttestationSigningKey
const& signerForRequest,
251 RemoveIsolatedModeCertificateOptions
const& options
252 = RemoveIsolatedModeCertificateOptions{},
253 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
256 Azure::Core::Url m_endpoint;
257 std::string m_apiVersion;
258 std::shared_ptr<Azure::Core::Credentials::TokenCredential const> m_credentials;
259 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
260 AttestationTokenValidationOptions m_tokenValidationOptions;
262 std::vector<Models::AttestationSigner> m_attestationSigners;
272 std::string
const& endpoint,
273 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
274 AttestationAdministrationClientOptions
const& options
275 = AttestationAdministrationClientOptions{});
277 std::string CreateIsolatedModeModificationToken(
278 std::string
const& pemEncodedX509CertificateToAdd,
279 AttestationSigningKey
const& existingSigningKey)
const;
281 Models::AttestationToken<Models::IsolatedModeCertificateModificationResult>
282 ProcessIsolatedModeModificationResult(
283 std::unique_ptr<Azure::Core::Http::RawResponse>
const& serverResponse,
284 AttestationTokenValidationOptions
const& tokenValidationOptions)
const;
295 void RetrieveResponseValidationCollateral(
296 Azure::Core::Context
const& context = Azure::Core::Context{});