azure-security-keyvault-certificates
Loading...
Searching...
No Matches
certificate_client.hpp
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
10#pragma once
11
15
16#include <azure/core/context.hpp>
17#include <azure/core/http/http.hpp>
18#include <azure/core/internal/http/pipeline.hpp>
19#include <azure/core/response.hpp>
20
21#include <memory>
22#include <string>
23
24namespace Azure { namespace Security { namespace KeyVault { namespace Certificates {
25#if defined(_azure_TESTING_BUILD)
26 namespace Test {
27 class KeyVaultCertificateClientTest;
28 }
29#endif
30 namespace _detail {
31 class KeyVaultClient;
32 }
39 class CertificateClient final {
40 friend class CreateCertificateOperation;
41
42#if defined(_azure_TESTING_BUILD)
43 friend class Test::KeyVaultCertificateClientTest;
44#endif
45
46 private:
47 // Using a shared pipeline for a client to share it with LRO (like delete key)
48 Azure::Core::Url m_vaultUrl;
49 std::string m_apiVersion;
50 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
51 std::shared_ptr<_detail::KeyVaultClient> m_client;
52
53 public:
58 virtual ~CertificateClient() = default;
59
68 std::string const& vaultUrl,
69 std::shared_ptr<const Core::Credentials::TokenCredential> credential,
71
77 explicit CertificateClient(CertificateClient const& certificateClient) = default;
78
90 Azure::Response<KeyVaultCertificateWithPolicy> GetCertificate(
91 std::string const& certificateName,
92 Azure::Core::Context const& context = Azure::Core::Context()) const;
93
107 Azure::Response<KeyVaultCertificate> GetCertificateVersion(
108 std::string const& certificateName,
109 std::string const& certificateVersion,
110 Azure::Core::Context const& context = Azure::Core::Context()) const;
111
125 std::string const& certificateName,
126 CertificateCreateOptions const& options,
127 Azure::Core::Context const& context = Azure::Core::Context()) const;
128
141 Azure::Response<CertificateIssuer> CreateIssuer(
142 std::string const& issuerName,
143 CertificateIssuer const& certificateIssuer,
144 Azure::Core::Context const& context = Azure::Core::Context()) const;
145
158 Azure::Response<CertificateIssuer> GetIssuer(
159 std::string const& issuerName,
160 Azure::Core::Context const& context = Azure::Core::Context()) const;
161
174 Azure::Response<CertificateIssuer> UpdateIssuer(
175 std::string const& issuerName,
176 CertificateIssuer const& certificateIssuer,
177 Azure::Core::Context const& context = Azure::Core::Context()) const;
178
190 Azure::Response<CertificateIssuer> DeleteIssuer(
191 std::string const& issuerName,
192 Azure::Core::Context const& context = Azure::Core::Context()) const;
193
205 Azure::Response<CertificateContactsResult> GetContacts(
206 Azure::Core::Context const& context = Azure::Core::Context()) const;
207
218 Azure::Response<CertificateContactsResult> DeleteContacts(
219 Azure::Core::Context const& context = Azure::Core::Context()) const;
220
232 Azure::Response<CertificateContactsResult> SetContacts(
233 std::vector<CertificateContact> const& contacts,
234 Azure::Core::Context const& context = Azure::Core::Context()) const;
235
249 Azure::Response<DeletedCertificate> GetDeletedCertificate(
250 std::string const& certificateName,
251 Azure::Core::Context const& context = Azure::Core::Context()) const;
252
266 Azure::Response<PurgedCertificate> PurgeDeletedCertificate(
267 std::string const& certificateName,
268 Azure::Core::Context const& context = Azure::Core::Context()) const;
269
283 std::string const& certificateName,
284 Azure::Core::Context const& context = Azure::Core::Context()) const;
285
300 std::string const& certificateName,
301 Azure::Core::Context const& context = Azure::Core::Context()) const;
302
315 Azure::Response<CertificatePolicy> GetCertificatePolicy(
316 std::string const& certificateName,
317 Azure::Core::Context const& context = Azure::Core::Context()) const;
318
331 Azure::Response<CertificatePolicy> UpdateCertificatePolicy(
332 std::string const& certificateName,
333 CertificatePolicy const& certificatePolicy,
334 Azure::Core::Context const& context = Azure::Core::Context()) const;
335
348 Azure::Response<BackupCertificateResult> BackupCertificate(
349 std::string certificateName,
350 Azure::Core::Context const& context = Azure::Core::Context()) const;
351
363 Azure::Response<KeyVaultCertificateWithPolicy> RestoreCertificateBackup(
364 std::vector<uint8_t> const& certificateBackup,
365 Azure::Core::Context const& context = Azure::Core::Context()) const;
366
382 Azure::Core::Context const& context = Azure::Core::Context()) const;
383
399 std::string const& certificateName,
402 Azure::Core::Context const& context = Azure::Core::Context()) const;
403
419 Azure::Core::Context const& context = Azure::Core::Context()) const;
420
438 Azure::Core::Context const& context = Azure::Core::Context()) const;
439
456 Azure::Response<KeyVaultCertificateWithPolicy> ImportCertificate(
457 std::string const& certificateName,
458 ImportCertificateOptions const& options,
459 Azure::Core::Context const& context = Azure::Core::Context()) const;
460
474 Azure::Response<KeyVaultCertificateWithPolicy> MergeCertificate(
475 std::string const& certificateName,
476 MergeCertificateOptions const& options,
477 Azure::Core::Context const& context = Azure::Core::Context()) const;
478
493 Azure::Response<KeyVaultCertificate> UpdateCertificateProperties(
494 std::string const& certificateName,
495 std::string const& certificateVersion,
496 CertificateProperties const& certificateProperties,
497 Azure::Core::Context const& context = Azure::Core::Context()) const;
498
499 private:
500 Azure::Response<CertificateOperationProperties> GetPendingCertificateOperation(
501 std::string const& certificateName,
502 Azure::Core::Context const& context = Azure::Core::Context()) const;
503
504 Azure::Response<CertificateOperationProperties> DeletePendingCertificateOperation(
505 std::string const& certificateName,
506 Azure::Core::Context const& context = Azure::Core::Context()) const;
507
508 Azure::Response<CertificateOperationProperties> CancelPendingCertificateOperation(
509 std::string const& certificateName,
510 Azure::Core::Context const& context = Azure::Core::Context()) const;
511 };
512}}}} // namespace Azure::Security::KeyVault::Certificates
Defines the Key Vault Certificates types.
Defines the Key Vault Certificate long running operations.
Defines the supported options to create a Key Vault Certificate client.
The CertificateClient provides synchronous methods to manage KeyVaultCertificate in Azure Key Vault.
Definition certificate_client.hpp:39
Azure::Response< KeyVaultCertificateWithPolicy > MergeCertificate(std::string const &certificateName, MergeCertificateOptions const &options, Azure::Core::Context const &context=Azure::Core::Context()) const
Merges a certificate or a certificate chain with a key pair existing on the server.
DeletedCertificatesPagedResponse GetDeletedCertificates(GetDeletedCertificatesOptions const &options=GetDeletedCertificatesOptions(), Azure::Core::Context const &context=Azure::Core::Context()) const
Lists the deleted certificates in the specified vault currently available for recovery.
Azure::Response< DeletedCertificate > GetDeletedCertificate(std::string const &certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
Retrieves information about the specified deleted certificate.
Azure::Response< CertificateIssuer > CreateIssuer(std::string const &issuerName, CertificateIssuer const &certificateIssuer, Azure::Core::Context const &context=Azure::Core::Context()) const
Create a new certificate issuer.
Azure::Response< KeyVaultCertificate > UpdateCertificateProperties(std::string const &certificateName, std::string const &certificateVersion, CertificateProperties const &certificateProperties, Azure::Core::Context const &context=Azure::Core::Context()) const
Updates the specified attributes associated with a certificate.
CertificatePropertiesPagedResponse GetPropertiesOfCertificateVersions(std::string const &certificateName, GetPropertiesOfCertificateVersionsOptions const &options=GetPropertiesOfCertificateVersionsOptions(), Azure::Core::Context const &context=Azure::Core::Context()) const
List the versions of a certificate.
Azure::Response< KeyVaultCertificateWithPolicy > ImportCertificate(std::string const &certificateName, ImportCertificateOptions const &options, Azure::Core::Context const &context=Azure::Core::Context()) const
Imports a certificate into a specified key vault.
Azure::Response< CertificatePolicy > UpdateCertificatePolicy(std::string const &certificateName, CertificatePolicy const &certificatePolicy, Azure::Core::Context const &context=Azure::Core::Context()) const
Update the policy for a certificate.
CreateCertificateOperation StartCreateCertificate(std::string const &certificateName, CertificateCreateOptions const &options, Azure::Core::Context const &context=Azure::Core::Context()) const
Create a new certificate.
Azure::Response< KeyVaultCertificate > GetCertificateVersion(std::string const &certificateName, std::string const &certificateVersion, Azure::Core::Context const &context=Azure::Core::Context()) const
Return a specific version of the certificate without its CertificatePolicy.
Azure::Response< KeyVaultCertificateWithPolicy > RestoreCertificateBackup(std::vector< uint8_t > const &certificateBackup, Azure::Core::Context const &context=Azure::Core::Context()) const
Restores a backed up certificate to a vault.
RecoverDeletedCertificateOperation StartRecoverDeletedCertificate(std::string const &certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
Recovers the deleted certificate back to its current version under /certificates.
Azure::Response< CertificateIssuer > DeleteIssuer(std::string const &issuerName, Azure::Core::Context const &context=Azure::Core::Context()) const
Delete the specified certificate issuer.
IssuerPropertiesPagedResponse GetPropertiesOfIssuers(GetPropertiesOfIssuersOptions const &options=GetPropertiesOfIssuersOptions(), Azure::Core::Context const &context=Azure::Core::Context()) const
List certificate issuers for a specified key vault.
DeleteCertificateOperation StartDeleteCertificate(std::string const &certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
Deletes a certificate from a specified key vault.
Azure::Response< BackupCertificateResult > BackupCertificate(std::string certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
Backs up the specified certificate.
Azure::Response< KeyVaultCertificateWithPolicy > GetCertificate(std::string const &certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
Return the latest version of the KeyVaultCertificate along with its CertificatePolicy.
Azure::Response< PurgedCertificate > PurgeDeletedCertificate(std::string const &certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
Permanently deletes the specified deleted certificate.
CertificateClient(CertificateClient const &certificateClient)=default
Construct a new Certificate Client object from another certificate client.
Azure::Response< CertificateContactsResult > GetContacts(Azure::Core::Context const &context=Azure::Core::Context()) const
List the certificate contacts for a specified key vault.
Azure::Response< CertificateContactsResult > SetContacts(std::vector< CertificateContact > const &contacts, Azure::Core::Context const &context=Azure::Core::Context()) const
Set certificate contacts.
CertificatePropertiesPagedResponse GetPropertiesOfCertificates(GetPropertiesOfCertificatesOptions const &options=GetPropertiesOfCertificatesOptions(), Azure::Core::Context const &context=Azure::Core::Context()) const
List certificates in a specified key vault.
Azure::Response< CertificateIssuer > GetIssuer(std::string const &issuerName, Azure::Core::Context const &context=Azure::Core::Context()) const
List the specified certificate issuer.
CertificateClient(std::string const &vaultUrl, std::shared_ptr< const Core::Credentials::TokenCredential > credential, CertificateClientOptions options=CertificateClientOptions())
Construct a new Key Client object.
Azure::Response< CertificatePolicy > GetCertificatePolicy(std::string const &certificateName, Azure::Core::Context const &context=Azure::Core::Context()) const
"List the policy for a certificate.
Azure::Response< CertificateContactsResult > DeleteContacts(Azure::Core::Context const &context=Azure::Core::Context()) const
Delete the certificate contacts for a specified key vault.
Azure::Response< CertificateIssuer > UpdateIssuer(std::string const &issuerName, CertificateIssuer const &certificateIssuer, Azure::Core::Context const &context=Azure::Core::Context()) const
Update the specified certificate issuer.
Options for StartCreateCertificate.
Definition certificate_client_models.hpp:928
Define a single page to list the certificates from the Key Vault.
Definition certificate_client_models.hpp:1442
Represents a create certificate long running operation.
Definition certificate_client_operations.hpp:26
Represents a delete certificate long running operation.
Definition certificate_client_operations.hpp:115
Define a single page to list the issuers from the Key Vault.
Definition certificate_client_models.hpp:1541
Define a single page to list the issuers from the Key Vault.
Definition certificate_client_models.hpp:1500
Represents a recover deleted certificate long running operation.
Definition certificate_client_operations.hpp:183
Define the options to create an SDK Certificate client.
Definition certificate_client_options.hpp:27
Certificate issuer.
Definition certificate_client_models.hpp:1080
A policy which governs the lifecycle a properties of a certificate managed by Azure Key Vault.
Definition certificate_client_models.hpp:752
Contains identity and other basic properties of a Certificate.
Definition certificate_client_models.hpp:57
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetD...
Definition certificate_client_models.hpp:1384
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetP...
Definition certificate_client_models.hpp:1362
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetP...
Definition certificate_client_models.hpp:1343
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetP...
Definition certificate_client_models.hpp:1373
Import Certificate options.
Definition certificate_client_models.hpp:1598
The certificate merge Options.
Definition certificate_client_models.hpp:1649