azure-security-attestation
|
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 {
59 std::string
const& endpoint,
60 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
63 Azure::Core::Context
const& context = Azure::Core::Context{});
85 std::string
const Endpoint()
const {
return m_endpoint.GetAbsoluteUrl(); }
100 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
131 Models::AttestationType
const& attestationType,
132 std::string
const& policyToSet,
133 SetPolicyOptions
const& options = SetPolicyOptions{},
134 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
147 Models::AttestationType
const& attestationType,
148 SetPolicyOptions
const& options = SetPolicyOptions{},
149 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
176 Azure::Nullable<std::string>
const& policyToSet,
177 Azure::Nullable<AttestationSigningKey>
const& signingKey = {})
const;
194 Response<Models::AttestationToken<Models::IsolatedModeCertificateListResult>>
196 GetIsolatedModeCertificatesOptions
const& options = GetIsolatedModeCertificatesOptions{},
197 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
218 Response<Models::AttestationToken<Models::IsolatedModeCertificateModificationResult>>
220 std::string
const& pemEncodedCertificateToAdd,
221 AttestationSigningKey
const& signerForRequest,
222 AddIsolatedModeCertificateOptions
const& options = AddIsolatedModeCertificateOptions{},
223 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
245 Response<Models::AttestationToken<Models::IsolatedModeCertificateModificationResult>>
247 std::string
const& pemEncodedCertificateToAdd,
248 AttestationSigningKey
const& signerForRequest,
249 RemoveIsolatedModeCertificateOptions
const& options
250 = RemoveIsolatedModeCertificateOptions{},
251 Azure::Core::Context
const& context = Azure::Core::Context{})
const;
254 Azure::Core::Url m_endpoint;
255 std::string m_apiVersion;
256 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
257 AttestationTokenValidationOptions m_tokenValidationOptions;
258 Azure::Core::Tracing::_internal::TracingContextFactory m_tracingFactory;
260 std::vector<Models::AttestationSigner> m_attestationSigners;
270 std::string
const& endpoint,
271 std::shared_ptr<Core::Credentials::TokenCredential const> credential,
272 AttestationAdministrationClientOptions
const& options
273 = AttestationAdministrationClientOptions{});
275 std::string CreateIsolatedModeModificationToken(
276 std::string
const& pemEncodedX509CertificateToAdd,
277 AttestationSigningKey
const& existingSigningKey)
const;
279 Models::AttestationToken<Models::IsolatedModeCertificateModificationResult>
280 ProcessIsolatedModeModificationResult(
281 std::unique_ptr<Azure::Core::Http::RawResponse>
const& serverResponse,
282 AttestationTokenValidationOptions
const& tokenValidationOptions)
const;
293 void RetrieveResponseValidationCollateral(
294 Azure::Core::Context
const& context = Azure::Core::Context{});
Response< Models::AttestationToken< Models::IsolatedModeCertificateModificationResult > > RemoveIsolatedModeCertificate(std::string const &pemEncodedCertificateToAdd, AttestationSigningKey const &signerForRequest, RemoveIsolatedModeCertificateOptions const &options=RemoveIsolatedModeCertificateOptions{}, Azure::Core::Context const &context=Azure::Core::Context{}) const
Removes a certificate from the list of policy management certificates for the instance.
Definition: attestation_administration_client.cpp:482
std::string const Endpoint() const
Returns the Endpoint which the client is communicating with.
Definition: attestation_administration_client.hpp:85
Defines the Azure Attestation API types.
Response< Models::AttestationToken< Models::PolicyResult > > SetAttestationPolicy(Models::AttestationType const &attestationType, std::string const &policyToSet, SetPolicyOptions const &options=SetPolicyOptions{}, Azure::Core::Context const &context=Azure::Core::Context{}) const
Sets the attestation policy for the specified AttestationType.
Definition: attestation_administration_client.cpp:167
The AttestationAdministrationClient implements the functionality required by the "Administration" fam...
Definition: attestation_administration_client.hpp:47
Response< Models::AttestationToken< Models::IsolatedModeCertificateModificationResult > > AddIsolatedModeCertificate(std::string const &pemEncodedCertificateToAdd, AttestationSigningKey const &signerForRequest, AddIsolatedModeCertificateOptions const &options=AddIsolatedModeCertificateOptions{}, Azure::Core::Context const &context=Azure::Core::Context{}) const
Adds a new certificate to the list of policy management certificates.
Definition: attestation_administration_client.cpp:447
Response< Models::AttestationToken< Models::IsolatedModeCertificateListResult > > GetIsolatedModeCertificates(GetIsolatedModeCertificatesOptions const &options=GetIsolatedModeCertificatesOptions{}, Azure::Core::Context const &context=Azure::Core::Context{}) const
Retrieves the list of isolated mode management certificates.
Definition: attestation_administration_client.cpp:322
Response< Models::AttestationToken< Models::PolicyResult > > ResetAttestationPolicy(Models::AttestationType const &attestationType, SetPolicyOptions const &options=SetPolicyOptions{}, Azure::Core::Context const &context=Azure::Core::Context{}) const
Resets the attestation policy for the specified AttestationType to its default.
Definition: attestation_administration_client.cpp:242
Models::AttestationToken< void > CreateAttestationPolicyToken(Azure::Nullable< std::string > const &policyToSet, Azure::Nullable< AttestationSigningKey > const &signingKey={}) const
Returns an Attestation Token object which would be sent to the attestation service to set or reset an...
Definition: attestation_administration_client.cpp:145
Azure SDK abstractions.
Definition: attestation_administration_client.hpp:13
Parameters sent to the attestation service when retrieving an attestation policy.
Definition: attestation_client_options.hpp:296
Defines the supported options to create a Attestation clients.
virtual ~AttestationAdministrationClient()=default
Destructor.
Response< Models::AttestationToken< std::string > > GetAttestationPolicy(Models::AttestationType const &attestationType, GetPolicyOptions const &options=GetPolicyOptions{}, Azure::Core::Context const &context=Azure::Core::Context{}) const
Retrieves an Attestation Policy from the service.
Definition: attestation_administration_client.cpp:80
AttestationAdministrationClient(AttestationAdministrationClient const &attestationClient)=default
Construct a new Attestation Administration Client object from another attestation administration clie...
Define the options to create an Attestation Administration client.
Definition: attestation_client_options.hpp:119
The AttestationType type represent a Trusted Execution Environment supported by the attestation servi...
Definition: attestation_client_models.hpp:33
static AttestationAdministrationClient Create(std::string const &endpoint, std::shared_ptr< Core::Credentials::TokenCredential const > credential, AttestationAdministrationClientOptions const &options=AttestationAdministrationClientOptions{}, Azure::Core::Context const &context=Azure::Core::Context{})
Construct a new Attestation Administration Client object.
Definition: attestation_administration_client.cpp:64