@azure/keyvault-certificates 4.9.1-alpha.20241125.1 → 4.9.1-alpha.20241129.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1777 +0,0 @@
1
- import type { AbortSignalLike } from '@azure/abort-controller';
2
- import { AzureLogger } from '@azure/logger';
3
- import type { CancelOnProgress } from '@azure/core-lro';
4
- import type * as coreClient from '@azure/core-client';
5
- import type { ExtendedCommonClientOptions } from '@azure/core-http-compat';
6
- import type { PagedAsyncIterableIterator } from '@azure/core-paging';
7
- import { PollerLike } from '@azure/core-lro';
8
- import type { PollOperationState } from '@azure/core-lro';
9
- import type { TokenCredential } from '@azure/core-auth';
10
-
11
- /** Defines values for ActionType. */
12
- export declare type ActionType = "EmailContacts" | "AutoRenew";
13
-
14
- /**
15
- * Details of the organization administrator of the certificate issuer.
16
- */
17
- export declare interface AdministratorContact {
18
- /**
19
- * First name.
20
- */
21
- firstName?: string;
22
- /**
23
- * Last name.
24
- */
25
- lastName?: string;
26
- /**
27
- * Email address.
28
- */
29
- email?: string;
30
- /**
31
- * Phone number.
32
- */
33
- phone?: string;
34
- }
35
-
36
- /**
37
- * An array with one property at minimum.
38
- */
39
- export declare type ArrayOneOrMore<T> = {
40
- 0: T;
41
- } & Array<T>;
42
-
43
- /**
44
- * Options for {@link backupCertificate}.
45
- */
46
- export declare type BackupCertificateOptions = coreClient.OperationOptions;
47
-
48
- /** The backup certificate result, containing the backup blob. */
49
- export declare interface BackupCertificateResult {
50
- /**
51
- * The backup blob containing the backed up certificate.
52
- * NOTE: This property will not be serialized. It can only be populated by the server.
53
- */
54
- readonly value?: Uint8Array;
55
- }
56
-
57
- /**
58
- * An interface representing the optional parameters that can be
59
- * passed to {@link beginCreateCertificate}
60
- */
61
- export declare interface BeginCreateCertificateOptions extends CreateCertificateOptions, CertificatePollerOptions {
62
- }
63
-
64
- /**
65
- * An interface representing the optional parameters that can be
66
- * passed to {@link beginDeleteCertificate}
67
- */
68
- export declare type BeginDeleteCertificateOptions = CertificatePollerOptions;
69
-
70
- /**
71
- * An interface representing the optional parameters that can be
72
- * passed to {@link beginRecoverDeletedCertificate}
73
- */
74
- export declare type BeginRecoverDeletedCertificateOptions = CertificatePollerOptions;
75
-
76
- /**
77
- * Options for {@link cancelCertificateOperation}.
78
- */
79
- export declare type CancelCertificateOperationOptions = coreClient.OperationOptions;
80
-
81
- /**
82
- * The client to interact with the KeyVault certificates functionality
83
- */
84
- export declare class CertificateClient {
85
- /**
86
- * The base URL to the vault
87
- */
88
- readonly vaultUrl: string;
89
- private readonly client;
90
- /**
91
- * Creates an instance of CertificateClient.
92
- * @param vaultUrl - the base URL to the vault. You should validate that this URL references a valid Key Vault resource. See https://aka.ms/azsdk/blog/vault-uri for details.
93
- * @param credential - An object that implements the `TokenCredential` interface used to authenticate requests to the service. Use the \@azure/identity package to create a credential that suits your needs.
94
- * @param clientOptions - Pipeline options used to configure Key Vault API requests.
95
- * Omit this parameter to use the default pipeline configuration.
96
- */
97
- constructor(vaultUrl: string, credential: TokenCredential, clientOptions?: CertificateClientOptions);
98
- private listPropertiesOfCertificatesPage;
99
- private listPropertiesOfCertificatesAll;
100
- /**
101
- * Iterates the latest version of all certificates in the vault. The full certificate identifier and attributes are provided
102
- * in the response. No values are returned for the certificates. This operations requires the certificates/list permission.
103
- *
104
- * Example usage:
105
- * ```ts
106
- * const client = new CertificateClient(url, credentials);
107
- * // All in one call
108
- * for await (const certificateProperties of client.listPropertiesOfCertificates()) {
109
- * console.log(certificateProperties);
110
- * }
111
- * // By pages
112
- * for await (const page of client.listPropertiesOfCertificates().byPage()) {
113
- * for (const certificateProperties of page) {
114
- * console.log(certificateProperties);
115
- * }
116
- * }
117
- * ```
118
- * List all versions of the specified certificate.
119
- * @param options - The optional parameters
120
- */
121
- listPropertiesOfCertificates(options?: ListPropertiesOfCertificatesOptions): PagedAsyncIterableIterator<CertificateProperties>;
122
- private listPropertiesOfCertificateVersionsPage;
123
- private listPropertiesOfCertificateVersionsAll;
124
- /**
125
- * Returns the versions of a certificate in the specified key
126
- * vault. This operation requires the certificates/list permission.
127
- *
128
- * Example usage:
129
- * ```ts
130
- * const client = new CertificateClient(url, credentials);
131
- * for await (const certificateProperties of client.listPropertiesOfCertificateVersions("MyCertificate")) {
132
- * console.log(certificateProperties.version!);
133
- * }
134
- * ```
135
- * List the versions of a certificate.
136
- * @param certificateName - The name of the certificate.
137
- * @param options - The optional parameters
138
- */
139
- listPropertiesOfCertificateVersions(certificateName: string, options?: ListPropertiesOfCertificateVersionsOptions): PagedAsyncIterableIterator<CertificateProperties>;
140
- /**
141
- * The DELETE operation applies to any certificate stored in Azure Key Vault. DELETE cannot be applied
142
- * to an individual version of a certificate.
143
- * This function returns a Long Running Operation poller that allows you to wait indefinitely until the certificate is fully recovered.
144
- *
145
- * This operation requires the certificates/delete permission.
146
- *
147
- * Example usage:
148
- * ```ts
149
- * const client = new CertificateClient(url, credentials);
150
- * const createPoller = await client.beginCreateCertificate("MyCertificate", {
151
- * issuerName: "Self",
152
- * subject: "cn=MyCert"
153
- * });
154
- * await createPoller.pollUntilDone();
155
- *
156
- * const deletePoller = await client.beginDeleteCertificate("MyCertificate");
157
- *
158
- * // Serializing the poller
159
- * const serialized = deletePoller.toString();
160
- *
161
- * // A new poller can be created with:
162
- * // const newPoller = await client.beginDeleteCertificate("MyCertificate", { resumeFrom: serialized });
163
- *
164
- * // Waiting until it's done
165
- * const deletedCertificate = await deletePoller.pollUntilDone();
166
- * console.log(deletedCertificate);
167
- * ```
168
- * Deletes a certificate from a specified key vault.
169
- * @param certificateName - The name of the certificate.
170
- * @param options - The optional parameters
171
- */
172
- beginDeleteCertificate(certificateName: string, options?: BeginDeleteCertificateOptions): Promise<PollerLike<DeleteCertificateState, DeletedCertificate>>;
173
- /**
174
- * Deletes all of the certificate contacts. This operation requires the certificates/managecontacts permission.
175
- *
176
- * Example usage:
177
- * ```ts
178
- * let client = new CertificateClient(url, credentials);
179
- * await client.setContacts([{
180
- * email: "b@b.com",
181
- * name: "b",
182
- * phone: "222222222222"
183
- * }]);
184
- * await client.deleteContacts();
185
- * ```
186
- * Deletes all of the certificate contacts
187
- * @param options - The optional parameters
188
- */
189
- deleteContacts(options?: DeleteContactsOptions): Promise<CertificateContact[] | undefined>;
190
- /**
191
- * Sets the certificate contacts for the key vault. This operation requires the certificates/managecontacts permission.
192
- *
193
- * Example usage:
194
- * ```ts
195
- * let client = new CertificateClient(url, credentials);
196
- * await client.setContacts([{
197
- * email: "b@b.com",
198
- * name: "b",
199
- * phone: "222222222222"
200
- * }]);
201
- * ```
202
- * Sets the certificate contacts.
203
- * @param contacts - The contacts to use
204
- * @param options - The optional parameters
205
- */
206
- setContacts(contacts: CertificateContact[], options?: SetContactsOptions): Promise<CertificateContact[] | undefined>;
207
- /**
208
- * Returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.
209
- *
210
- * Example usage:
211
- * ```ts
212
- * let client = new CertificateClient(url, credentials);
213
- * await client.setContacts([{
214
- * email: "b@b.com",
215
- * name: "b",
216
- * phone: "222222222222"
217
- * }]);
218
- * const contacts = await client.getContacts();
219
- * console.log(contacts);
220
- * ```
221
- * Sets the certificate contacts.
222
- * @param options - The optional parameters
223
- */
224
- getContacts(options?: GetContactsOptions): Promise<CertificateContact[] | undefined>;
225
- private listPropertiesOfIssuersPage;
226
- private listPropertiesOfIssuersAll;
227
- /**
228
- * Returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.
229
- *
230
- * Example usage:
231
- * ```ts
232
- * const client = new CertificateClient(url, credentials);
233
- * await client.createIssuer("IssuerName", "Test");
234
- * // All in one call
235
- * for await (const issuerProperties of client.listPropertiesOfIssuers()) {
236
- * console.log(issuerProperties);
237
- * }
238
- * // By pages
239
- * for await (const page of client.listPropertiesOfIssuers().byPage()) {
240
- * for (const issuerProperties of page) {
241
- * console.log(issuerProperties);
242
- * }
243
- * }
244
- * ```
245
- * List the certificate issuers.
246
- * @param options - The optional parameters
247
- */
248
- listPropertiesOfIssuers(options?: ListPropertiesOfIssuersOptions): PagedAsyncIterableIterator<IssuerProperties>;
249
- /**
250
- * The createIssuer operation adds or updates the specified certificate issuer. This
251
- * operation requires the certificates/setissuers permission.
252
- *
253
- * Example usage:
254
- * ```ts
255
- * const client = new CertificateClient(url, credentials);
256
- * await client.createIssuer("IssuerName", "Test");
257
- * ```
258
- * Sets the specified certificate issuer.
259
- * @param issuerName - The name of the issuer.
260
- * @param provider - The issuer provider.
261
- * @param options - The optional parameters
262
- */
263
- createIssuer(issuerName: string, provider: string, options?: CreateIssuerOptions): Promise<CertificateIssuer>;
264
- /**
265
- * The updateIssuer operation performs an update on the specified certificate issuer
266
- * entity. This operation requires the certificates/setissuers permission.
267
- *
268
- * Example usage:
269
- * ```ts
270
- * const client = new CertificateClient(url, credentials);
271
- * await client.createIssuer("IssuerName", "Test");
272
- * await client.updateIssuer("IssuerName", {
273
- * provider: "Provider2"
274
- * });
275
- * ```
276
- * Updates the specified certificate issuer.
277
- * @param issuerName - The name of the issuer.
278
- * @param options - The optional parameters
279
- */
280
- updateIssuer(issuerName: string, options?: UpdateIssuerOptions): Promise<CertificateIssuer>;
281
- /**
282
- * The getIssuer operation returns the specified certificate issuer resources in the
283
- * specified key vault. This operation requires the certificates/manageissuers/getissuers
284
- * permission.
285
- *
286
- * Example usage:
287
- * ```ts
288
- * const client = new CertificateClient(url, credentials);
289
- * await client.createIssuer("IssuerName", "Test");
290
- * const certificateIssuer = await client.getIssuer("IssuerName");
291
- * console.log(certificateIssuer);
292
- * ```
293
- * Gets he specified certificate issuer.
294
- * @param issuerName - The name of the issuer.
295
- * @param options - The optional parameters
296
- */
297
- getIssuer(issuerName: string, options?: GetIssuerOptions): Promise<CertificateIssuer>;
298
- /**
299
- * The deleteIssuer operation permanently removes the specified certificate issuer from
300
- * the vault. This operation requires the certificates/manageissuers/deleteissuers permission.
301
- *
302
- * Example usage:
303
- * ```ts
304
- * const client = new CertificateClient(url, credentials);
305
- * await client.createIssuer("IssuerName", "Provider");
306
- * await client.deleteIssuer("IssuerName");
307
- * ```
308
- * Deletes the specified certificate issuer.
309
- * @param issuerName - The name of the issuer.
310
- * @param options - The optional parameters
311
- */
312
- deleteIssuer(issuerName: string, options?: DeleteIssuerOptions): Promise<CertificateIssuer>;
313
- /**
314
- * Creates a new certificate. If this is the first version, the certificate resource is created.
315
- * This function returns a Long Running Operation poller that allows you to wait indefinitely until the certificate is fully recovered.
316
- *
317
- * **Note:** Sending `Self` as the `issuerName` of the certificate's policy will create a self-signed certificate.
318
- *
319
- * This operation requires the certificates/create permission.
320
- *
321
- * Example usage:
322
- * ```ts
323
- * const client = new CertificateClient(url, credentials);
324
- * const certificatePolicy = {
325
- * issuerName: "Self",
326
- * subject: "cn=MyCert"
327
- * };
328
- * const createPoller = await client.beginCreateCertificate("MyCertificate", certificatePolicy);
329
- *
330
- * // The pending certificate can be obtained by calling the following method:
331
- * const pendingCertificate = createPoller.getResult();
332
- *
333
- * // Serializing the poller
334
- * const serialized = createPoller.toString();
335
- *
336
- * // A new poller can be created with:
337
- * // const newPoller = await client.beginCreateCertificate("MyCertificate", certificatePolicy, { resumeFrom: serialized });
338
- *
339
- * // Waiting until it's done
340
- * const certificate = await createPoller.pollUntilDone();
341
- * console.log(certificate);
342
- * ```
343
- * Creates a certificate
344
- * @param certificateName - The name of the certificate
345
- * @param certificatePolicy - The certificate's policy
346
- * @param options - Optional parameters
347
- */
348
- beginCreateCertificate(certificateName: string, policy: CertificatePolicy, options?: BeginCreateCertificateOptions): Promise<PollerLikeWithCancellation<CreateCertificateState, KeyVaultCertificateWithPolicy>>;
349
- /**
350
- * Gets the latest information available from a specific certificate, including the certificate's policy. This operation requires the certificates/get permission.
351
- *
352
- * Example usage:
353
- * ```ts
354
- * const client = new CertificateClient(url, credentials);
355
- * const poller = await client.beginCreateCertificate("MyCertificate", {
356
- * issuerName: "Self",
357
- * subject: "cn=MyCert"
358
- * });
359
- * await poller.pollUntilDone();
360
- * const certificate = await client.getCertificate("MyCertificate");
361
- * console.log(certificate);
362
- * ```
363
- * Retrieves a certificate from the certificate's name (includes the certificate policy)
364
- * @param certificateName - The name of the certificate
365
- * @param options - The optional parameters
366
- */
367
- getCertificate(certificateName: string, options?: GetCertificateOptions): Promise<KeyVaultCertificateWithPolicy>;
368
- /**
369
- * Gets information about a specific certificate on a specific version. It won't return the certificate's policy. This operation requires the certificates/get permission.
370
- *
371
- * Example usage:
372
- * ```ts
373
- * const client = new CertificateClient(url, credentials);
374
- * const poller = await client.beginCreateCertificate("MyCertificate", {
375
- * issuerName: "Self",
376
- * subject: "cn=MyCert"
377
- * });
378
- * await poller.pollUntilDone();
379
- * const certificateWithPolicy = await client.getCertificate("MyCertificate");
380
- * const certificate = await client.getCertificateVersion("MyCertificate", certificateWithPolicy.properties.version!);
381
- * console.log(certificate);
382
- * ```
383
- * Retrieves a certificate from the certificate's name and a specified version
384
- * @param certificateName - The name of the certificate
385
- * @param version - The specific version of the certificate
386
- * @param options - The optional parameters
387
- */
388
- getCertificateVersion(certificateName: string, version: string, options?: GetCertificateVersionOptions): Promise<KeyVaultCertificate>;
389
- /**
390
- * Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format.
391
- * If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.
392
- *
393
- * Example usage:
394
- * ```ts
395
- * const client = new CertificateClient(url, credentials);
396
- * // See: @azure/keyvault-secrets
397
- * const certificateSecret = await secretClient.getSecret("MyCertificate");
398
- * const base64EncodedCertificate = certificateSecret.value!;
399
- * let buffer: Uint8Array;
400
- *
401
- * if (isNode) {
402
- * buffer = Buffer.from(base64EncodedCertificate, "base64");
403
- * } else {
404
- * buffer = Uint8Array.from(atob(base64EncodedCertificate), (c) => c.charCodeAt(0));
405
- * }
406
- *
407
- * await client.importCertificate("MyCertificate", buffer);
408
- * ```
409
- * Imports a certificate from a certificate's secret value
410
- * @param certificateName - The name of the certificate
411
- * @param certificateBytes - The PFX or ASCII PEM formatted value of the certificate containing both the X.509 certificates and the private key
412
- * @param options - The optional parameters
413
- */
414
- importCertificate(certificateName: string, certificateBytes: Uint8Array, options?: ImportCertificateOptions): Promise<KeyVaultCertificateWithPolicy>;
415
- /**
416
- * The getCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.
417
- *
418
- * Example usage:
419
- * ```ts
420
- * const client = new CertificateClient(url, credentials);
421
- * await client.beginCreateCertificate("MyCertificate", {
422
- * issuerName: "Self",
423
- * subject: "cn=MyCert"
424
- * });
425
- * const policy = await client.getCertificatePolicy("MyCertificate");
426
- * console.log(policy);
427
- * ```
428
- * Gets a certificate's policy
429
- * @param certificateName - The name of the certificate
430
- * @param options - The optional parameters
431
- */
432
- getCertificatePolicy(certificateName: string, options?: GetCertificatePolicyOptions): Promise<CertificatePolicy>;
433
- /**
434
- * Updates the certificate policy for the specified certificate. This operation requires the certificates/update permission.
435
- * Gets a certificate's policy
436
- * @param certificateName - The name of the certificate
437
- * @param policy - The certificate policy
438
- * @param options - The optional parameters
439
- */
440
- updateCertificatePolicy(certificateName: string, policy: CertificatePolicy, options?: UpdateCertificatePolicyOptions): Promise<CertificatePolicy>;
441
- /**
442
- * Applies the specified update on the given certificate; the only elements updated are the
443
- * certificate's attributes. This operation requires the certificates/update permission.
444
- *
445
- * Example usage:
446
- * ```ts
447
- * const client = new CertificateClient(url, credentials);
448
- * await client.beginCreateCertificate("MyCertificate", {
449
- * issuerName: "Self",
450
- * subject: "cn=MyCert"
451
- * });
452
- *
453
- * // You may pass an empty string for version which will update
454
- * // the latest version of the certificate
455
- * await client.updateCertificateProperties("MyCertificate", "", {
456
- * tags: {
457
- * customTag: "value"
458
- * }
459
- * });
460
- * ```
461
- * Updates a certificate
462
- * @param certificateName - The name of the certificate
463
- * @param version - The version of the certificate to update (an empty string will update the latest version)
464
- * @param options - The options, including what to update
465
- */
466
- updateCertificateProperties(certificateName: string, version: string, options?: UpdateCertificateOptions): Promise<KeyVaultCertificate>;
467
- /**
468
- * Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.
469
- * This function returns a Long Running Operation poller that allows you to wait indefinitely until the certificate is fully recovered.
470
- *
471
- * Example usage:
472
- * ```ts
473
- * const client = new CertificateClient(url, credentials);
474
- * const createPoller = await client.beginCreateCertificate("MyCertificate", {
475
- * issuerName: "Self",
476
- * subject: "cn=MyCert"
477
- * });
478
- *
479
- * const poller = await client.getCertificateOperation("MyCertificate");
480
- * const pendingCertificate = poller.getResult();
481
- *
482
- * const certificateOperation = poller.getOperationState().certificateOperation;
483
- * console.log(certificateOperation);
484
- * ```
485
- * Gets a certificate's poller operation
486
- * @param certificateName - The name of the certificate
487
- * @param options - The optional parameters
488
- */
489
- getCertificateOperation(certificateName: string, options?: GetCertificateOperationOptions): Promise<PollerLikeWithCancellation<CertificateOperationState, KeyVaultCertificateWithPolicy>>;
490
- /**
491
- * Deletes the creation operation for a specified certificate that is in the process of being created.
492
- * The certificate is no longer created. This operation requires the certificates/update permission.
493
- *
494
- * Example usage:
495
- * ```ts
496
- * const client = new CertificateClient(url, credentials);
497
- * await client.beginCreateCertificate("MyCertificate", {
498
- * issuerName: "Self",
499
- * subject: "cn=MyCert"
500
- * });
501
- * await client.deleteCertificateOperation("MyCertificate");
502
- * await client.getCertificateOperation("MyCertificate"); // Throws error: Pending certificate not found: "MyCertificate"
503
- * ```
504
- * Delete a certificate's operation
505
- * @param certificateName - The name of the certificate
506
- * @param options - The optional parameters
507
- */
508
- deleteCertificateOperation(certificateName: string, options?: DeleteCertificateOperationOptions): Promise<CertificateOperation>;
509
- /**
510
- * Performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.
511
- *
512
- * Example usage:
513
- * ```ts
514
- * const client = new CertificateClient(url, credentials);
515
- * await client.beginCreateCertificate("MyCertificate", {
516
- * issuerName: "Unknown",
517
- * subject: "cn=MyCert"
518
- * });
519
- * const poller = await client.getCertificateOperation("MyCertificate");
520
- * const { csr } = poller.getOperationState().certificateOperation!;
521
- * const base64Csr = Buffer.from(csr!).toString("base64");
522
- * const wrappedCsr = ["-----BEGIN CERTIFICATE REQUEST-----", base64Csr, "-----END CERTIFICATE REQUEST-----"].join("\n");
523
- *
524
- * const fs = require("fs");
525
- * fs.writeFileSync("test.csr", wrappedCsr);
526
- *
527
- * // Certificate available locally made using:
528
- * // openssl genrsa -out ca.key 2048
529
- * // openssl req -new -x509 -key ca.key -out ca.crt
530
- * // You can read more about how to create a fake certificate authority here: https://gist.github.com/Soarez/9688998
531
- *
532
- * const childProcess = require("child_process");
533
- * childProcess.execSync("openssl x509 -req -in test.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out test.crt");
534
- * const base64Crt = fs.readFileSync("test.crt").toString().split("\n").slice(1, -1).join("");
535
- *
536
- * await client.mergeCertificate("MyCertificate", [Buffer.from(base64Crt)]);
537
- * ```
538
- * Merges a signed certificate request into a pending certificate
539
- * @param certificateName - The name of the certificate
540
- * @param x509Certificates - The certificate(s) to merge
541
- * @param options - The optional parameters
542
- */
543
- mergeCertificate(certificateName: string, x509Certificates: Uint8Array[], options?: MergeCertificateOptions): Promise<KeyVaultCertificateWithPolicy>;
544
- /**
545
- * Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded.
546
- * This operation requires the certificates/backup permission.
547
- *
548
- * Example usage:
549
- * ```ts
550
- * const client = new CertificateClient(url, credentials);
551
- * await client.beginCreateCertificate("MyCertificate", {
552
- * issuerName: "Self",
553
- * subject: "cn=MyCert"
554
- * });
555
- * const backup = await client.backupCertificate("MyCertificate");
556
- * ```
557
- * Generates a backup of a certificate
558
- * @param certificateName - The name of the certificate
559
- * @param options - The optional parameters
560
- */
561
- backupCertificate(certificateName: string, options?: BackupCertificateOptions): Promise<Uint8Array | undefined>;
562
- /**
563
- * Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission.
564
- *
565
- * Example usage:
566
- * ```ts
567
- * const client = new CertificateClient(url, credentials);
568
- * await client.beginCreateCertificate("MyCertificate", {
569
- * issuerName: "Self",
570
- * subject: "cn=MyCert"
571
- * });
572
- * const backup = await client.backupCertificate("MyCertificate");
573
- * const poller = await client.beginDeleteCertificate("MyCertificate");
574
- * await poller.pollUntilDone();
575
- * // Some time is required before we're able to restore the certificate
576
- * await client.restoreCertificateBackup(backup!);
577
- * ```
578
- * Restores a certificate from a backup
579
- * @param backup - The back-up certificate to restore from
580
- * @param options - The optional parameters
581
- */
582
- restoreCertificateBackup(backup: Uint8Array, options?: RestoreCertificateBackupOptions): Promise<KeyVaultCertificateWithPolicy>;
583
- private listDeletedCertificatesPage;
584
- private listDeletedCertificatesAll;
585
- /**
586
- * Retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific
587
- * information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.
588
- *
589
- * Example usage:
590
- * ```ts
591
- * const client = new CertificateClient(url, credentials);
592
- * for await (const deletedCertificate of client.listDeletedCertificates()) {
593
- * console.log(deletedCertificate);
594
- * }
595
- * for await (const page of client.listDeletedCertificates().byPage()) {
596
- * for (const deletedCertificate of page) {
597
- * console.log(deletedCertificate);
598
- * }
599
- * }
600
- * ```
601
- * Lists deleted certificates
602
- * @param options - The optional parameters
603
- */
604
- listDeletedCertificates(options?: ListDeletedCertificatesOptions): PagedAsyncIterableIterator<DeletedCertificate>;
605
- /**
606
- * retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the
607
- * current deletion recovery level. This operation requires the certificates/get permission.
608
- *
609
- * Example usage:
610
- * ```ts
611
- * const client = new CertificateClient(url, credentials);
612
- * const deletedCertificate = await client.getDeletedCertificate("MyDeletedCertificate");
613
- * console.log("Deleted certificate:", deletedCertificate);
614
- * ```
615
- * Gets a deleted certificate
616
- * @param certificateName - The name of the certificate
617
- * @param options - The optional parameters
618
- */
619
- getDeletedCertificate(certificateName: string, options?: GetDeletedCertificateOptions): Promise<DeletedCertificate>;
620
- /**
621
- * Performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the
622
- * recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.
623
- *
624
- * Example usage:
625
- * ```ts
626
- * const client = new CertificateClient(url, credentials);
627
- * const deletePoller = await client.beginDeleteCertificate("MyCertificate");
628
- * await deletePoller.pollUntilDone();
629
- * // Deleting a certificate takes time, make sure to wait before purging it
630
- * client.purgeDeletedCertificate("MyCertificate");
631
- * ```
632
- * Gets a deleted certificate
633
- * @param certificateName - The name of the deleted certificate to purge
634
- * @param options - The optional parameters
635
- */
636
- purgeDeletedCertificate(certificateName: string, options?: PurgeDeletedCertificateOptions): Promise<null>;
637
- /**
638
- * Recovers the deleted certificate in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation
639
- * This function returns a Long Running Operation poller that allows you to wait indefinitely until the certificate is fully recovered.
640
- *
641
- * This operation requires the certificates/recover permission.
642
- *
643
- * Example usage:
644
- * ```ts
645
- * const client = new CertificateClient(url, credentials);
646
- *
647
- * const deletePoller = await client.beginDeleteCertificate("MyCertificate");
648
- * await deletePoller.pollUntilDone();
649
- *
650
- * const recoverPoller = await client.beginRecoverDeletedCertificate("MyCertificate");
651
- *
652
- * // Serializing the poller
653
- * const serialized = deletePoller.toString();
654
- *
655
- * // A new poller can be created with:
656
- * // const newPoller = await client.beginRecoverDeletedCertificate("MyCertificate", { resumeFrom: serialized });
657
- *
658
- * // Waiting until it's done
659
- * const certificate = await recoverPoller.pollUntilDone();
660
- * console.log(certificate);
661
- * ```
662
- * Recovers a deleted certificate
663
- * @param certificateName - The name of the deleted certificate
664
- * @param options - The optional parameters
665
- */
666
- beginRecoverDeletedCertificate(certificateName: string, options?: BeginRecoverDeletedCertificateOptions): Promise<PollerLike<RecoverDeletedCertificateState, KeyVaultCertificateWithPolicy>>;
667
- }
668
-
669
- /**
670
- * The optional parameters accepted by the KeyVault's CertificateClient
671
- */
672
- export declare interface CertificateClientOptions extends ExtendedCommonClientOptions {
673
- /**
674
- * The accepted versions of the KeyVault's service API.
675
- */
676
- serviceVersion?: "7.0" | "7.1" | "7.2" | "7.3" | "7.4" | "7.5";
677
- /**
678
- * Whether to disable verification that the authentication challenge resource matches the Key Vault domain.
679
- * Defaults to false.
680
- */
681
- disableChallengeResourceVerification?: boolean;
682
- }
683
-
684
- /**
685
- * The contact information for the vault certificates.
686
- * Each contact will have at least just one of the properties of CertificateContactAll,
687
- * which are: emailAddress, name or phone.
688
- */
689
- export declare type CertificateContact = RequireAtLeastOne<CertificateContactAll> | undefined;
690
-
691
- /**
692
- * The shape of the contact information for the vault certificates.
693
- */
694
- export declare interface CertificateContactAll {
695
- /**
696
- * Email address of the contact
697
- */
698
- email: string;
699
- /**
700
- * Name of the contact
701
- */
702
- name: string;
703
- /**
704
- * Phone number of the contact
705
- */
706
- phone: string;
707
- }
708
-
709
- /**
710
- * Defines values for contentType.
711
- * Possible values include: 'application/x-pem-file', 'application/x-pkcs12'
712
- * @readonly
713
- */
714
- export declare type CertificateContentType = "application/x-pem-file" | "application/x-pkcs12" | undefined;
715
-
716
- /**
717
- * An interface representing the properties of an issuer.
718
- */
719
- export declare interface CertificateIssuer extends IssuerProperties {
720
- /**
721
- * Determines whether the object is enabled.
722
- */
723
- enabled?: boolean;
724
- /**
725
- * When the issuer was created.
726
- */
727
- readonly createdOn?: Date;
728
- /**
729
- * When the issuer was updated.
730
- */
731
- readonly updatedOn?: Date;
732
- /**
733
- * The user name/account name/account id.
734
- */
735
- accountId?: string;
736
- /**
737
- * The password/secret/account key.
738
- */
739
- password?: string;
740
- /**
741
- * Id of the organization.
742
- */
743
- organizationId?: string;
744
- /**
745
- * Details of the organization's administrator contacts, as provided to the issuer.
746
- */
747
- administratorContacts?: AdministratorContact[];
748
- }
749
-
750
- /**
751
- * Defines values for JsonWebKeyCurveName. \
752
- * {@link KnownJsonWebKeyCurveName} can be used interchangeably with JsonWebKeyCurveName,
753
- * this enum contains the known values that the service supports.
754
- * ### Known values supported by the service
755
- * **P-256** \
756
- * **P-384** \
757
- * **P-521** \
758
- * **P-256K**
759
- */
760
- export declare type CertificateKeyCurveName = string;
761
-
762
- /**
763
- * Defines values for JsonWebKeyType. \
764
- * {@link KnownJsonWebKeyType} can be used interchangeably with JsonWebKeyType,
765
- * this enum contains the known values that the service supports.
766
- * ### Known values supported by the service
767
- * **EC** \
768
- * **EC-HSM** \
769
- * **RSA** \
770
- * **RSA-HSM** \
771
- * **oct** \
772
- * **oct-HSM**
773
- */
774
- export declare type CertificateKeyType = string;
775
-
776
- /**
777
- * A certificate operation is returned in case of asynchronous requests.
778
- */
779
- export declare interface CertificateOperation {
780
- /**
781
- * The certificate id.
782
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
783
- */
784
- readonly id?: string;
785
- /**
786
- * The name of certificate.
787
- */
788
- readonly name?: string;
789
- /**
790
- * Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'.
791
- */
792
- issuerName?: string;
793
- /**
794
- * Type of certificate to be requested from the issuer provider.
795
- */
796
- certificateType?: string;
797
- /**
798
- * Indicates if the certificates generated under this policy should be published to certificate
799
- * transparency logs.
800
- */
801
- certificateTransparency?: boolean;
802
- /**
803
- * The certificate signing request (CSR) that is being used in the certificate operation.
804
- */
805
- csr?: Uint8Array;
806
- /**
807
- * Indicates if cancellation was requested on the certificate operation.
808
- */
809
- cancellationRequested?: boolean;
810
- /**
811
- * Status of the certificate operation.
812
- */
813
- status?: string;
814
- /**
815
- * The status details of the certificate operation.
816
- */
817
- statusDetails?: string;
818
- /**
819
- * Error encountered, if any, during the certificate operation.
820
- */
821
- error?: CertificateOperationError;
822
- /**
823
- * Location which contains the result of the certificate operation.
824
- */
825
- target?: string;
826
- /**
827
- * Identifier for the certificate operation.
828
- */
829
- requestId?: string;
830
- /**
831
- * The vault URI.
832
- */
833
- readonly vaultUrl?: string;
834
- }
835
-
836
- /**
837
- * The key vault server error.
838
- */
839
- export declare interface CertificateOperationError {
840
- /**
841
- * The error code.
842
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
843
- */
844
- readonly code?: string;
845
- /**
846
- * The error message.
847
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
848
- */
849
- readonly message?: string;
850
- /**
851
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
852
- */
853
- readonly innerError?: CertificateOperationError;
854
- }
855
-
856
- /**
857
- * An interface representing the publicly available properties of the state of the CertificateOperationPoller.
858
- */
859
- export declare interface CertificateOperationState extends KeyVaultCertificatePollOperationState<KeyVaultCertificateWithPolicy> {
860
- /**
861
- * The operation of the certificate
862
- */
863
- certificateOperation?: CertificateOperation;
864
- }
865
-
866
- /**
867
- * An type representing a certificate's policy with at least one of the subject properties.
868
- */
869
- export declare type CertificatePolicy = CertificatePolicyProperties & RequireAtLeastOne<PolicySubjectProperties>;
870
-
871
- /**
872
- * The action that will be executed.
873
- */
874
- export declare type CertificatePolicyAction = "EmailContacts" | "AutoRenew";
875
-
876
- /**
877
- * An interface representing a certificate's policy (without the subject properties).
878
- */
879
- export declare interface CertificatePolicyProperties {
880
- /**
881
- * Indicates if the certificates generated under this policy should be published to certificate
882
- * transparency logs.
883
- */
884
- certificateTransparency?: boolean;
885
- /**
886
- * The media type (MIME type).
887
- *
888
- * Set to `application/x-pkcs12` when the certificate contains your PKCS#12/PFX bytes,
889
- * or to `application/x-pem-file` when the certificate contains your ASCII PEM-encoded bytes.
890
- */
891
- contentType?: CertificateContentType;
892
- /**
893
- * Type of certificate to be requested from the issuer provider.
894
- */
895
- certificateType?: string;
896
- /**
897
- * When the certificate was created.
898
- */
899
- readonly createdOn?: Date;
900
- /**
901
- * Determines whether the object is enabled.
902
- */
903
- enabled?: boolean;
904
- /**
905
- * Whether or not the certificate can be exported
906
- */
907
- exportable?: boolean;
908
- /**
909
- * The enhanced key usage.
910
- */
911
- enhancedKeyUsage?: string[];
912
- /**
913
- * Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'.
914
- */
915
- issuerName?: WellKnownIssuer | string;
916
- /**
917
- * Elliptic curve name. Possible values include: 'P-256', 'P-384', 'P-521', 'P-256K'
918
- */
919
- keyCurveName?: CertificateKeyCurveName;
920
- /**
921
- * The key size in bits. For example: 2048, 3072, or 4096 for RSA.
922
- */
923
- keySize?: number;
924
- /**
925
- * The type of key pair to be used for the certificate. Possible values include: 'EC', 'EC-HSM',
926
- * 'RSA', 'RSA-HSM', 'oct'
927
- */
928
- keyType?: CertificateKeyType;
929
- /**
930
- * List of key usages.
931
- */
932
- keyUsage?: KeyUsageType[];
933
- /**
934
- * Actions that will be performed by Key Vault over the lifetime of a certificate.
935
- */
936
- lifetimeActions?: LifetimeAction[];
937
- /**
938
- * Indicates if the same key pair will be used on certificate renewal.
939
- */
940
- reuseKey?: boolean;
941
- /**
942
- * When the object was updated.
943
- */
944
- readonly updatedOn?: Date;
945
- /**
946
- * The duration that the certificate is valid in months.
947
- */
948
- validityInMonths?: number;
949
- }
950
-
951
- /**
952
- * An interface representing the optional parameters that can be
953
- * passed to {@link beginCreateCertificate}, {@link beginDeleteCertificate} and {@link beginRecoverDeletedCertificate}
954
- */
955
- export declare interface CertificatePollerOptions extends coreClient.OperationOptions {
956
- /**
957
- * Time between each polling
958
- */
959
- intervalInMs?: number;
960
- /**
961
- * A serialized poller, used to resume an existing operation
962
- */
963
- resumeFrom?: string;
964
- }
965
-
966
- /**
967
- * An interface representing the properties of a certificate
968
- */
969
- export declare interface CertificateProperties {
970
- /**
971
- * When the certificate was created.
972
- */
973
- readonly createdOn?: Date;
974
- /**
975
- * Determines whether the object is enabled.
976
- */
977
- enabled?: boolean;
978
- /**
979
- * Expiry date in UTC.
980
- */
981
- readonly expiresOn?: Date;
982
- /**
983
- * Certificate identifier.
984
- * **NOTE: This property will not be serialized. It can only be populated by
985
- * the server.**
986
- */
987
- readonly id?: string;
988
- /**
989
- * The name of certificate.
990
- */
991
- readonly name?: string;
992
- /**
993
- * Not before date in UTC.
994
- */
995
- notBefore?: Date;
996
- /**
997
- * Reflects the deletion recovery level currently in effect for certificates in the current
998
- * vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged
999
- * user; otherwise, only the system can purge the certificate, at the end of the retention
1000
- * interval. Possible values include: 'Purgeable', 'Recoverable+Purgeable', 'Recoverable',
1001
- * 'Recoverable+ProtectedSubscription'
1002
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1003
- */
1004
- readonly recoveryLevel?: DeletionRecoveryLevel;
1005
- /**
1006
- * Application specific
1007
- * metadata in the form of key-value pairs.
1008
- */
1009
- tags?: CertificateTags;
1010
- /**
1011
- * When the issuer was updated.
1012
- */
1013
- readonly updatedOn?: Date;
1014
- /**
1015
- * The vault URI.
1016
- */
1017
- readonly vaultUrl?: string;
1018
- /**
1019
- * The version of certificate. May be undefined.
1020
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1021
- */
1022
- readonly version?: string;
1023
- /**
1024
- * Thumbprint of the certificate.
1025
- */
1026
- readonly x509Thumbprint?: Uint8Array;
1027
- /**
1028
- * Thumbprint of the certifiate encoded as a hex string.
1029
- */
1030
- readonly x509ThumbprintString?: string;
1031
- /**
1032
- * The retention dates of the softDelete data.
1033
- * The value should be `>=7` and `<=90` when softDelete enabled.
1034
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1035
- */
1036
- recoverableDays?: number;
1037
- }
1038
-
1039
- /**
1040
- * An interface representing the shape of the Certificate Tags. The tags are just string key-value pairs.
1041
- */
1042
- export declare type CertificateTags = {
1043
- [propertyName: string]: string;
1044
- };
1045
-
1046
- /** The subject alternate names of a X509 object. */
1047
- export declare interface CoreSubjectAlternativeNames {
1048
- /** Email addresses. */
1049
- emails?: string[];
1050
- /** Domain names. */
1051
- dnsNames?: string[];
1052
- /** User principal names. */
1053
- upns?: string[];
1054
- }
1055
-
1056
- /**
1057
- * Options for {@link createCertificate}.
1058
- */
1059
- export declare interface CreateCertificateOptions extends CertificateProperties, coreClient.OperationOptions {
1060
- }
1061
-
1062
- /**
1063
- * The public representation of the CreateCertificatePoller operation state.
1064
- */
1065
- export declare type CreateCertificateState = KeyVaultCertificatePollOperationState<KeyVaultCertificateWithPolicy>;
1066
-
1067
- /**
1068
- * Options for {@link createIssuer}.
1069
- */
1070
- export declare interface CreateIssuerOptions extends coreClient.OperationOptions {
1071
- /**
1072
- * The user name/account name/account id.
1073
- */
1074
- accountId?: string;
1075
- /**
1076
- * The password/secret/account key.
1077
- */
1078
- password?: string;
1079
- /**
1080
- * Id of the organization.
1081
- */
1082
- organizationId?: string;
1083
- /**
1084
- * Details of the organization's administrator contacts, as provided to the issuer.
1085
- */
1086
- administratorContacts?: AdministratorContact[];
1087
- /**
1088
- * Determines whether the object is enabled.
1089
- */
1090
- enabled?: boolean;
1091
- }
1092
-
1093
- /**
1094
- * The DefaultCertificatePolicy exports values that
1095
- * are useful as default parameters to methods that
1096
- * modify the certificate's policy.
1097
- */
1098
- export declare const DefaultCertificatePolicy: {
1099
- issuerName: string;
1100
- subject: string;
1101
- };
1102
-
1103
- /**
1104
- * Options for {@link deleteCertificateOperation}.
1105
- */
1106
- export declare type DeleteCertificateOperationOptions = coreClient.OperationOptions;
1107
-
1108
- /**
1109
- * The public representation of the DeleteCertificatePoller operation state.
1110
- */
1111
- export declare type DeleteCertificateState = KeyVaultCertificatePollOperationState<DeletedCertificate>;
1112
-
1113
- /**
1114
- * Options for {@link deleteContacts}.
1115
- */
1116
- export declare type DeleteContactsOptions = coreClient.OperationOptions;
1117
-
1118
- /**
1119
- * An interface representing a deleted certificate.
1120
- */
1121
- export declare interface DeletedCertificate extends KeyVaultCertificateWithPolicy {
1122
- /**
1123
- * The time when the certificate was deleted, in UTC
1124
- * **NOTE: This property will not be serialized. It can only be populated by
1125
- * the server.**
1126
- */
1127
- readonly deletedOn?: Date;
1128
- /**
1129
- * The url of the recovery object, used to
1130
- * identify and recover the deleted certificate.
1131
- */
1132
- readonly recoveryId?: string;
1133
- /**
1134
- * The time when the certificate is scheduled
1135
- * to be purged, in UTC
1136
- * **NOTE: This property will not be serialized. It can only be populated by
1137
- * the server.**
1138
- */
1139
- readonly scheduledPurgeDate?: Date;
1140
- }
1141
-
1142
- /**
1143
- * Options for {@link deleteIssuer}.
1144
- */
1145
- export declare type DeleteIssuerOptions = coreClient.OperationOptions;
1146
-
1147
- /**
1148
- * Defines values for DeletionRecoveryLevel. \
1149
- * {@link KnownDeletionRecoveryLevel} can be used interchangeably with DeletionRecoveryLevel,
1150
- * this enum contains the known values that the service supports.
1151
- * ### Known values supported by the service
1152
- * **Purgeable**: Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.) \
1153
- * **Recoverable+Purgeable**: Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered \
1154
- * **Recoverable**: Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered \
1155
- * **Recoverable+ProtectedSubscription**: Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered \
1156
- * **CustomizedRecoverable+Purgeable**: Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled. \
1157
- * **CustomizedRecoverable**: Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available. \
1158
- * **CustomizedRecoverable+ProtectedSubscription**: Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled.
1159
- */
1160
- export declare type DeletionRecoveryLevel = string;
1161
-
1162
- /**
1163
- * The key vault server error model.
1164
- * @deprecated - Please use {@link CertificateOperationError} instead.
1165
- */
1166
- export declare interface ErrorModel {
1167
- /**
1168
- * The error code.
1169
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1170
- */
1171
- readonly code?: string;
1172
- /**
1173
- * The error message.
1174
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1175
- */
1176
- readonly message?: string;
1177
- /**
1178
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1179
- */
1180
- readonly innerError?: ErrorModel;
1181
- }
1182
-
1183
- /**
1184
- * Options for {@link getCertificateOperation}.
1185
- */
1186
- export declare type GetCertificateOperationOptions = CertificatePollerOptions;
1187
-
1188
- /**
1189
- * Options for {@link getCertificate}.
1190
- */
1191
- export declare type GetCertificateOptions = coreClient.OperationOptions;
1192
-
1193
- /**
1194
- * Options for {@link getCertificatePolicy}.
1195
- */
1196
- export declare type GetCertificatePolicyOptions = coreClient.OperationOptions;
1197
-
1198
- /**
1199
- * Options for {@link getCertificateVersion}.
1200
- */
1201
- export declare type GetCertificateVersionOptions = coreClient.OperationOptions;
1202
-
1203
- /**
1204
- * Options for {@link getContacts}.
1205
- */
1206
- export declare type GetContactsOptions = coreClient.OperationOptions;
1207
-
1208
- /**
1209
- * Options for {@link getDeletedCertificate}.
1210
- */
1211
- export declare type GetDeletedCertificateOptions = coreClient.OperationOptions;
1212
-
1213
- /**
1214
- * Options for {@link getIssuer}.
1215
- */
1216
- export declare type GetIssuerOptions = coreClient.OperationOptions;
1217
-
1218
- /**
1219
- * Options for {@link getPlainCertificateOperation}.
1220
- */
1221
- export declare type GetPlainCertificateOperationOptions = coreClient.OperationOptions;
1222
-
1223
- /**
1224
- * Options for {@link importCertificate}.
1225
- */
1226
- export declare interface ImportCertificateOptions extends coreClient.OperationOptions {
1227
- /**
1228
- * Determines whether the object is enabled.
1229
- */
1230
- enabled?: boolean;
1231
- /**
1232
- * If the private key in base64EncodedCertificate is encrypted, the password used for encryption.
1233
- */
1234
- password?: string;
1235
- /**
1236
- * The management policy.
1237
- */
1238
- policy?: ImportCertificatePolicy;
1239
- /**
1240
- * Application specific
1241
- * metadata in the form of key-value pairs.
1242
- */
1243
- tags?: CertificateTags;
1244
- }
1245
-
1246
- /**
1247
- * A type representing a certificate's policy for import which does not require a SAN or a Subject
1248
- */
1249
- export declare type ImportCertificatePolicy = CertificatePolicyProperties & Partial<PolicySubjectProperties>;
1250
-
1251
- /** The attributes of an issuer managed by the Key Vault service. */
1252
- export declare interface IssuerAttributes {
1253
- /** Determines whether the issuer is enabled. */
1254
- enabled?: boolean;
1255
- /**
1256
- * Creation time in UTC.
1257
- * NOTE: This property will not be serialized. It can only be populated by the server.
1258
- */
1259
- readonly created?: Date;
1260
- /**
1261
- * Last updated time in UTC.
1262
- * NOTE: This property will not be serialized. It can only be populated by the server.
1263
- */
1264
- readonly updated?: Date;
1265
- }
1266
-
1267
- /** The credentials to be used for the certificate issuer. */
1268
- export declare interface IssuerCredentials {
1269
- /** The user name/account name/account id. */
1270
- accountId?: string;
1271
- /** The password/secret/account key. */
1272
- password?: string;
1273
- }
1274
-
1275
- /** Parameters for the issuer of the X509 component of a certificate. */
1276
- export declare interface IssuerParameters {
1277
- /** Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'. */
1278
- name?: string;
1279
- /** Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL' */
1280
- certificateType?: string;
1281
- /** Indicates if the certificates generated under this policy should be published to certificate transparency logs. */
1282
- certificateTransparency?: boolean;
1283
- }
1284
-
1285
- /**
1286
- * An interface representing the properties of a certificate issuer
1287
- */
1288
- export declare interface IssuerProperties {
1289
- /**
1290
- * Certificate Identifier.
1291
- */
1292
- id?: string;
1293
- /**
1294
- * Name of the issuer.
1295
- */
1296
- readonly name?: string;
1297
- /**
1298
- * The issuer provider.
1299
- */
1300
- provider?: string;
1301
- }
1302
-
1303
- /**
1304
- * Defines values for KeyUsageType. \
1305
- * {@link KnownKeyUsageType} can be used interchangeably with KeyUsageType,
1306
- * this enum contains the known values that the service supports.
1307
- * ### Known values supported by the service
1308
- * **digitalSignature** \
1309
- * **nonRepudiation** \
1310
- * **keyEncipherment** \
1311
- * **dataEncipherment** \
1312
- * **keyAgreement** \
1313
- * **keyCertSign** \
1314
- * **cRLSign** \
1315
- * **encipherOnly** \
1316
- * **decipherOnly**
1317
- */
1318
- export declare type KeyUsageType = string;
1319
-
1320
- /**
1321
- * An interface representing a certificate without the certificate's policy
1322
- */
1323
- export declare interface KeyVaultCertificate {
1324
- /**
1325
- * CER contents of x509 certificate.
1326
- */
1327
- cer?: Uint8Array;
1328
- /**
1329
- * Certificate identifier.
1330
- * **NOTE: This property will not be serialized. It can only be populated by
1331
- * the server.**
1332
- */
1333
- id?: string;
1334
- /**
1335
- * The key id.
1336
- * **NOTE: This property will not be serialized. It can only be populated by
1337
- * the server.**
1338
- */
1339
- readonly keyId?: string;
1340
- /**
1341
- * The secret id.
1342
- * **NOTE: This property will not be serialized. It can only be populated by
1343
- * the server.**
1344
- */
1345
- readonly secretId?: string;
1346
- /**
1347
- * The name of certificate.
1348
- */
1349
- readonly name: string;
1350
- /**
1351
- * The properties of the certificate
1352
- */
1353
- properties: CertificateProperties;
1354
- }
1355
-
1356
- /**
1357
- * Represents the segments that compose a Key Vault Certificate Id.
1358
- */
1359
- export declare interface KeyVaultCertificateIdentifier {
1360
- /**
1361
- * The complete representation of the Key Vault Certificate Id. For example:
1362
- *
1363
- * https://<keyvault-name>.vault.azure.net/certificates/<certificate-name>/<unique-version-id>
1364
- *
1365
- */
1366
- sourceId: string;
1367
- /**
1368
- * The URL of the Azure Key Vault instance to which the Certificate belongs.
1369
- */
1370
- vaultUrl: string;
1371
- /**
1372
- * The version of Key Vault Certificate. Might be undefined.
1373
- */
1374
- version?: string;
1375
- /**
1376
- * The name of the Key Vault Certificate.
1377
- */
1378
- name: string;
1379
- }
1380
-
1381
- /**
1382
- * An interface representing the public shape of the state of a Key Vault Certificate Poller's operations.
1383
- */
1384
- export declare interface KeyVaultCertificatePollOperationState<TResult> extends PollOperationState<TResult> {
1385
- /**
1386
- * The name of the certificate.
1387
- */
1388
- certificateName: string;
1389
- }
1390
-
1391
- /**
1392
- * An interface representing a certificate with its policy
1393
- */
1394
- export declare interface KeyVaultCertificateWithPolicy extends KeyVaultCertificate {
1395
- /**
1396
- * The management policy.
1397
- * **NOTE: This property will not be serialized. It can only be populated by
1398
- * the server.**
1399
- */
1400
- readonly policy?: CertificatePolicy;
1401
- }
1402
-
1403
- /** Known values of {@link CertificateKeyCurveName} that the service accepts. */
1404
- export declare enum KnownCertificateKeyCurveNames {
1405
- /**
1406
- * P-256 Key Curve.
1407
- */
1408
- P256 = "P-256",
1409
- /**
1410
- * P-384 Key Curve.
1411
- */
1412
- P384 = "P-384",
1413
- /**
1414
- * P-521 Key Curve.
1415
- */
1416
- P521 = "P-521",
1417
- /**
1418
- * P-256K Key Curve.
1419
- */
1420
- P256K = "P-256K"
1421
- }
1422
-
1423
- /** Known values of {@link CertificateKeyType} that the service accepts. */
1424
- export declare enum KnownCertificateKeyTypes {
1425
- /**
1426
- * EC Key Type.
1427
- */
1428
- EC = "EC",
1429
- /**
1430
- * EC-HSM Key Type.
1431
- */
1432
- ECHSM = "EC-HSM",
1433
- /**
1434
- * RSA Key Type.
1435
- */
1436
- RSA = "RSA",
1437
- /**
1438
- * RSA-HSM Key Type.
1439
- */
1440
- RSAHSM = "RSA-HSM",
1441
- /**
1442
- * oct Key Type
1443
- */
1444
- Oct = "oct",
1445
- /**
1446
- * oct-HSM Key Type
1447
- */
1448
- OctHSM = "oct-HSM"
1449
- }
1450
-
1451
- /** Known values of {@link DeletionRecoveryLevel} that the service accepts. */
1452
- export declare enum KnownDeletionRecoveryLevels {
1453
- /** Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.) */
1454
- Purgeable = "Purgeable",
1455
- /** Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered */
1456
- RecoverablePurgeable = "Recoverable+Purgeable",
1457
- /** Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered */
1458
- Recoverable = "Recoverable",
1459
- /** Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered */
1460
- RecoverableProtectedSubscription = "Recoverable+ProtectedSubscription",
1461
- /** Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled. */
1462
- CustomizedRecoverablePurgeable = "CustomizedRecoverable+Purgeable",
1463
- /** Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available. */
1464
- CustomizedRecoverable = "CustomizedRecoverable",
1465
- /** Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled. */
1466
- CustomizedRecoverableProtectedSubscription = "CustomizedRecoverable+ProtectedSubscription"
1467
- }
1468
-
1469
- /** Known values of {@link KeyUsageType} that the service accepts. */
1470
- export declare enum KnownKeyUsageTypes {
1471
- /**
1472
- * DigitalSignature Usage Type.
1473
- */
1474
- DigitalSignature = "digitalSignature",
1475
- /**
1476
- * NonRepudiation Usage Type.
1477
- */
1478
- NonRepudiation = "nonRepudiation",
1479
- /**
1480
- * KeyEncipherment Usage Type.
1481
- */
1482
- KeyEncipherment = "keyEncipherment",
1483
- /**
1484
- * DataEncipherment Usage Type.
1485
- */
1486
- DataEncipherment = "dataEncipherment",
1487
- /**
1488
- * KeyAgreement Usage Type.
1489
- */
1490
- KeyAgreement = "keyAgreement",
1491
- /**
1492
- * KeyCertSign Usage Type.
1493
- */
1494
- KeyCertSign = "keyCertSign",
1495
- /**
1496
- * CRLSign Usage Type.
1497
- */
1498
- CRLSign = "cRLSign",
1499
- /**
1500
- * EncipherOnly Usage Type.
1501
- */
1502
- EncipherOnly = "encipherOnly",
1503
- /**
1504
- * DecipherOnly Usage Type.
1505
- */
1506
- DecipherOnly = "decipherOnly"
1507
- }
1508
-
1509
- /**
1510
- * Deprecated KeyVault copy of core-lro's PollerLike.
1511
- */
1512
- export declare type KVPollerLike<TState extends PollOperationState<TResult>, TResult> = PollerLike<TState, TResult>;
1513
-
1514
- /**
1515
- * Action and its trigger that will be performed by Key Vault over the lifetime of a certificate.
1516
- */
1517
- export declare interface LifetimeAction {
1518
- /**
1519
- * Percentage of lifetime at which to trigger. Value should be between 1 and 99.
1520
- */
1521
- lifetimePercentage?: number;
1522
- /**
1523
- * Days before expiry to attempt renewal. Value should be between 1 and validity_in_months
1524
- * multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 *
1525
- * 27).
1526
- */
1527
- daysBeforeExpiry?: number;
1528
- /**
1529
- * The action that will be executed.
1530
- */
1531
- action?: CertificatePolicyAction;
1532
- }
1533
-
1534
- /**
1535
- * An interface representing optional parameters for CertificateClient paged operations passed to {@link listDeletedCertificates}.
1536
- */
1537
- export declare interface ListDeletedCertificatesOptions extends coreClient.OperationOptions {
1538
- /**
1539
- * Specifies whether to include certificates which are not completely provisioned.
1540
- */
1541
- includePending?: boolean;
1542
- }
1543
-
1544
- /**
1545
- * An interface representing optional parameters for CertificateClient paged operations passed to {@link listPropertiesOfCertificates}.
1546
- */
1547
- export declare interface ListPropertiesOfCertificatesOptions extends coreClient.OperationOptions {
1548
- /**
1549
- * Specifies whether to include certificates which are not completely provisioned.
1550
- */
1551
- includePending?: boolean;
1552
- }
1553
-
1554
- /**
1555
- * An interface representing optional parameters for CertificateClient paged operations passed to {@link listPropertiesOfCertificateVersions}.
1556
- */
1557
- export declare type ListPropertiesOfCertificateVersionsOptions = coreClient.OperationOptions;
1558
-
1559
- /**
1560
- * An interface representing optional parameters for CertificateClient paged operations passed to {@link listPropertiesOfIssuers}.
1561
- */
1562
- export declare type ListPropertiesOfIssuersOptions = coreClient.OperationOptions;
1563
-
1564
- /**
1565
- * The \@azure/logger configuration for this package.
1566
- */
1567
- export declare const logger: AzureLogger;
1568
-
1569
- /**
1570
- * An interface representing optional parameters for {@link mergeCertificate}.
1571
- */
1572
- export declare type MergeCertificateOptions = coreClient.OperationOptions;
1573
-
1574
- /**
1575
- * Parses the given Key Vault Certificate Id. An example is:
1576
- *
1577
- * https://<keyvault-name>.vault.azure.net/certificates/<certificate-name>/<unique-version-id>
1578
- *
1579
- * On parsing the above Id, this function returns:
1580
- *```ts
1581
- * {
1582
- * sourceId: "https://<keyvault-name>.vault.azure.net/certificates/<certificate-name>/<unique-version-id>",
1583
- * vaultUrl: "https://<keyvault-name>.vault.azure.net",
1584
- * version: "<unique-version-id>",
1585
- * name: "<certificate-name>"
1586
- * }
1587
- *```
1588
- * @param id - The Id of the Key Vault Certificate.
1589
- */
1590
- export declare function parseKeyVaultCertificateIdentifier(id: string): KeyVaultCertificateIdentifier;
1591
-
1592
- /**
1593
- * An interface representing the possible subject properties of a certificate's policy.
1594
- * The final type requires at least one of these properties to exist.
1595
- */
1596
- export declare interface PolicySubjectProperties {
1597
- /**
1598
- * The subject name. Should be a valid X509 distinguished Name.
1599
- */
1600
- subject: string;
1601
- /**
1602
- * The subject alternative names.
1603
- */
1604
- subjectAlternativeNames: SubjectAlternativeNames;
1605
- }
1606
-
1607
- export { PollerLike }
1608
-
1609
- /**
1610
- * Abstract representation of a poller, intended to expose just the minimal API that the user needs to work with.
1611
- */
1612
- export declare interface PollerLikeWithCancellation<TState extends PollOperationState<TResult>, TResult> {
1613
- /**
1614
- * Returns a promise that will resolve once a single polling request finishes.
1615
- * It does this by calling the update method of the Poller's operation.
1616
- */
1617
- poll(options?: {
1618
- abortSignal?: AbortSignalLike;
1619
- }): Promise<void>;
1620
- /**
1621
- * Returns a promise that will resolve once the underlying operation is completed.
1622
- */
1623
- pollUntilDone(): Promise<TResult>;
1624
- /**
1625
- * Invokes the provided callback after each polling is completed,
1626
- * sending the current state of the poller's operation.
1627
- *
1628
- * It returns a method that can be used to stop receiving updates on the given callback function.
1629
- */
1630
- onProgress(callback: (state: TState) => void): CancelOnProgress;
1631
- /**
1632
- * Returns true if the poller has finished polling.
1633
- */
1634
- isDone(): boolean;
1635
- /**
1636
- * Stops the poller. After this, no manual or automated requests can be sent.
1637
- */
1638
- stopPolling(): void;
1639
- /**
1640
- * Returns true if the poller is stopped.
1641
- */
1642
- isStopped(): boolean;
1643
- /**
1644
- * Attempts to cancel the underlying operation.
1645
- */
1646
- cancelOperation(options?: {
1647
- abortSignal?: AbortSignalLike;
1648
- }): Promise<void>;
1649
- /**
1650
- * Returns the state of the operation.
1651
- * The TState defined in PollerLike can be a subset of the TState defined in
1652
- * the Poller implementation.
1653
- */
1654
- getOperationState(): TState;
1655
- /**
1656
- * Returns the result value of the operation,
1657
- * regardless of the state of the poller.
1658
- * It can return undefined or an incomplete form of the final TResult value
1659
- * depending on the implementation.
1660
- */
1661
- getResult(): TResult | undefined;
1662
- /**
1663
- * Returns a serialized version of the poller's operation
1664
- * by invoking the operation's toString method.
1665
- */
1666
- toString(): string;
1667
- }
1668
-
1669
- /**
1670
- * Options for {@link purgeDeletedCertificate}.
1671
- */
1672
- export declare type PurgeDeletedCertificateOptions = coreClient.OperationOptions;
1673
-
1674
- /**
1675
- * Deprecated: Public representation of the recovery of a deleted certificate poll operation
1676
- */
1677
- export declare type RecoverDeletedCertificateState = KeyVaultCertificatePollOperationState<KeyVaultCertificateWithPolicy>;
1678
-
1679
- /**
1680
- * RequireAtLeastOne helps create a type where at least one of the properties of an interface (can be any property) is required to exist.
1681
- *
1682
- * This works because of TypeScript's utility types: https://www.typescriptlang.org/docs/handbook/utility-types.html
1683
- * Let's examine it:
1684
- * - `[K in keyof T]-?` this property (K) is valid only if it has the same name as any property of T.
1685
- * - `Required<Pick<T, K>>` makes a new type from T with just the current property in the iteration, and marks it as required
1686
- * - `Partial<Pick<T, Exclude<keyof T, K>>>` makes a new type with all the properties of T, except from the property K.
1687
- * - `&` is what unites the type with only one required property from `Required<...>` with all the optional properties from `Partial<...>`.
1688
- * - `[keyof T]` ensures that only properties of T are allowed.
1689
- */
1690
- export declare type RequireAtLeastOne<T> = {
1691
- [K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>;
1692
- }[keyof T];
1693
-
1694
- /**
1695
- * An interface representing optional parameters for {@link restoreCertificateBackup}.
1696
- */
1697
- export declare type RestoreCertificateBackupOptions = coreClient.OperationOptions;
1698
-
1699
- /**
1700
- * Options for {@link setContacts}.
1701
- */
1702
- export declare type SetContactsOptions = coreClient.OperationOptions;
1703
-
1704
- /**
1705
- * Alternatives to the subject property.
1706
- * If present, it should at least have one of the properties of SubjectAlternativeNamesAll.
1707
- */
1708
- export declare type SubjectAlternativeNames = RequireAtLeastOne<SubjectAlternativeNamesAll>;
1709
-
1710
- /**
1711
- * An interface representing the alternative names of the subject of a certificate policy.
1712
- */
1713
- export declare interface SubjectAlternativeNamesAll {
1714
- /**
1715
- * Email addresses.
1716
- */
1717
- emails: ArrayOneOrMore<string>;
1718
- /**
1719
- * Domain names.
1720
- */
1721
- dnsNames: ArrayOneOrMore<string>;
1722
- /**
1723
- * User principal names.
1724
- */
1725
- userPrincipalNames: ArrayOneOrMore<string>;
1726
- }
1727
-
1728
- /**
1729
- * Options for {@link updateCertificate}.
1730
- */
1731
- export declare interface UpdateCertificateOptions extends CertificateProperties, coreClient.OperationOptions {
1732
- }
1733
-
1734
- /**
1735
- * Options for {@link updateCertificatePolicy}.
1736
- */
1737
- export declare type UpdateCertificatePolicyOptions = coreClient.OperationOptions;
1738
-
1739
- /**
1740
- * Options for {@link updateIssuer}.
1741
- */
1742
- export declare interface UpdateIssuerOptions extends CreateIssuerOptions {
1743
- /**
1744
- * The issuer provider.
1745
- */
1746
- provider?: string;
1747
- }
1748
-
1749
- /**
1750
- * Well known issuers for choosing a default
1751
- */
1752
- export declare enum WellKnownIssuer {
1753
- /**
1754
- * For self signed certificates
1755
- */
1756
- Self = "Self",
1757
- /**
1758
- * For certificates whose issuer will be defined later
1759
- */
1760
- Unknown = "Unknown"
1761
- }
1762
-
1763
- /** Properties of the X509 component of a certificate. */
1764
- export declare interface X509CertificateProperties {
1765
- /** The subject name. Should be a valid X509 distinguished Name. */
1766
- subject?: string;
1767
- /** The enhanced key usage. */
1768
- ekus?: string[];
1769
- /** The subject alternative names. */
1770
- subjectAlternativeNames?: CoreSubjectAlternativeNames;
1771
- /** Defines how the certificate's key may be used. */
1772
- keyUsage?: KeyUsageType[];
1773
- /** The duration that the certificate is valid in months. */
1774
- validityInMonths?: number;
1775
- }
1776
-
1777
- export { }