Skip to content

Commit bcb0669

Browse files
author
awstools
committed
feat(client-acm-pca): AWS Private CA now supports an option to omit the CDP extension from issued certificates, when CRL revocation is enabled.
1 parent 49db96c commit bcb0669

File tree

8 files changed

+79
-12
lines changed

8 files changed

+79
-12
lines changed

clients/client-acm-pca/src/commands/CreateCertificateAuthorityCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ export interface CreateCertificateAuthorityCommandOutput extends CreateCertifica
147147
* CustomCname: "STRING_VALUE",
148148
* S3BucketName: "STRING_VALUE",
149149
* S3ObjectAcl: "PUBLIC_READ" || "BUCKET_OWNER_FULL_CONTROL",
150+
* CrlDistributionPointExtensionConfiguration: { // CrlDistributionPointExtensionConfiguration
151+
* OmitExtension: true || false, // required
152+
* },
150153
* },
151154
* OcspConfiguration: { // OcspConfiguration
152155
* Enabled: true || false, // required

clients/client-acm-pca/src/commands/DescribeCertificateAuthorityCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,9 @@ export interface DescribeCertificateAuthorityCommandOutput
188188
* // CustomCname: "STRING_VALUE",
189189
* // S3BucketName: "STRING_VALUE",
190190
* // S3ObjectAcl: "PUBLIC_READ" || "BUCKET_OWNER_FULL_CONTROL",
191+
* // CrlDistributionPointExtensionConfiguration: { // CrlDistributionPointExtensionConfiguration
192+
* // OmitExtension: true || false, // required
193+
* // },
191194
* // },
192195
* // OcspConfiguration: { // OcspConfiguration
193196
* // Enabled: true || false, // required

clients/client-acm-pca/src/commands/ListCertificateAuthoritiesCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ export interface ListCertificateAuthoritiesCommandOutput extends ListCertificate
146146
* // CustomCname: "STRING_VALUE",
147147
* // S3BucketName: "STRING_VALUE",
148148
* // S3ObjectAcl: "PUBLIC_READ" || "BUCKET_OWNER_FULL_CONTROL",
149+
* // CrlDistributionPointExtensionConfiguration: { // CrlDistributionPointExtensionConfiguration
150+
* // OmitExtension: true || false, // required
151+
* // },
149152
* // },
150153
* // OcspConfiguration: { // OcspConfiguration
151154
* // Enabled: true || false, // required

clients/client-acm-pca/src/commands/UpdateCertificateAuthorityCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ export interface UpdateCertificateAuthorityCommandOutput extends __MetadataBeare
5454
* CustomCname: "STRING_VALUE",
5555
* S3BucketName: "STRING_VALUE",
5656
* S3ObjectAcl: "PUBLIC_READ" || "BUCKET_OWNER_FULL_CONTROL",
57+
* CrlDistributionPointExtensionConfiguration: { // CrlDistributionPointExtensionConfiguration
58+
* OmitExtension: true || false, // required
59+
* },
5760
* },
5861
* OcspConfiguration: { // OcspConfiguration
5962
* Enabled: true || false, // required

clients/client-acm-pca/src/models/models_0.ts

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,25 @@ export const KeyStorageSecurityStandard = {
486486
*/
487487
export type KeyStorageSecurityStandard = (typeof KeyStorageSecurityStandard)[keyof typeof KeyStorageSecurityStandard];
488488

489+
/**
490+
* @public
491+
* <p>Contains configuration information for the default behavior of the CRL Distribution Point (CDP) extension in certificates issued by your CA. This extension
492+
* contains a link to download the CRL, so you can check whether a certificate has been revoked. To choose whether you want this extension
493+
* omitted or not in certificates issued by your CA, you can set the <b>OmitExtension</b> parameter.</p>
494+
*/
495+
export interface CrlDistributionPointExtensionConfiguration {
496+
/**
497+
* @public
498+
* <p>Configures whether the CRL Distribution Point extension should be populated with the default URL to the CRL. If set to <code>true</code>, then the CDP extension will
499+
* not be present in any certificates issued by that CA unless otherwise specified through CSR or API passthrough.</p>
500+
* <note>
501+
* <p>Only set this if you have another way to distribute the CRL Distribution Points ffor certificates issued by your CA, such as the Matter Distributed Compliance Ledger</p>
502+
* <p>This configuration cannot be enabled with a custom CNAME set.</p>
503+
* </note>
504+
*/
505+
OmitExtension: boolean | undefined;
506+
}
507+
489508
/**
490509
* @public
491510
* @enum
@@ -507,8 +526,10 @@ export type S3ObjectAcl = (typeof S3ObjectAcl)[keyof typeof S3ObjectAcl];
507526
* can enable CRLs for your new or an existing private CA by setting the <b>Enabled</b> parameter to <code>true</code>. Your private CA
508527
* writes CRLs to an S3 bucket that you specify in the <b>S3BucketName</b> parameter. You can hide the name of your bucket by
509528
* specifying a value for the <b>CustomCname</b> parameter. Your
510-
* private CA copies the CNAME or the S3 bucket name to the <b>CRL
511-
* Distribution Points</b> extension of each certificate it issues. Your S3
529+
* private CA by default copies the CNAME or the S3 bucket name to the <b>CRL
530+
* Distribution Points</b> extension of each certificate it issues. If you want to configure
531+
* this default behavior to be something different, you can set the <b>CrlDistributionPointExtensionConfiguration</b>
532+
* parameter. Your S3
512533
* bucket policy must give write permission to Amazon Web Services Private CA. </p>
513534
* <p>Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption.
514535
* For more information, see <a href="https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption">Encrypting Your
@@ -678,6 +699,12 @@ export interface CrlConfiguration {
678699
* bucket</a>.</p>
679700
*/
680701
S3ObjectAcl?: S3ObjectAcl;
702+
703+
/**
704+
* @public
705+
* <p>Configures the behavior of the CRL Distribution Point extension for certificates issued by your certificate authority. If this field is not provided, then the CRl Distribution Point Extension will be present and contain the default CRL URL.</p>
706+
*/
707+
CrlDistributionPointExtensionConfiguration?: CrlDistributionPointExtensionConfiguration;
681708
}
682709

683710
/**
@@ -2311,6 +2338,7 @@ export interface ListCertificateAuthoritiesRequest {
23112338
* specify, the <code>NextToken</code> element is sent in the response. Use this
23122339
* <code>NextToken</code> value in a subsequent request to retrieve additional
23132340
* items.</p>
2341+
* <p>Although the maximum value is 1000, the action only returns a maximum of 100 items.</p>
23142342
*/
23152343
MaxResults?: number;
23162344

clients/client-acm-pca/src/protocols/Aws_json1_1.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ import {
9595
CreateCertificateAuthorityRequest,
9696
CreatePermissionRequest,
9797
CrlConfiguration,
98+
CrlDistributionPointExtensionConfiguration,
9899
CsrExtensions,
99100
CustomAttribute,
100101
CustomExtension,
@@ -2062,6 +2063,8 @@ const de_TooManyTagsExceptionRes = async (
20622063

20632064
// se_CrlConfiguration omitted.
20642065

2066+
// se_CrlDistributionPointExtensionConfiguration omitted.
2067+
20652068
// se_CsrExtensions omitted.
20662069

20672070
// se_CustomAttribute omitted.
@@ -2229,6 +2232,8 @@ const de_CertificateAuthority = (output: any, context: __SerdeContext): Certific
22292232

22302233
// de_CrlConfiguration omitted.
22312234

2235+
// de_CrlDistributionPointExtensionConfiguration omitted.
2236+
22322237
// de_CsrExtensions omitted.
22332238

22342239
// de_CustomAttribute omitted.

clients/client-acm-pca/src/waiters/waitForCertificateIssued.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export const waitForCertificateIssued = async (
2626
params: WaiterConfiguration<ACMPCAClient>,
2727
input: GetCertificateCommandInput
2828
): Promise<WaiterResult> => {
29-
const serviceDefaults = { minDelay: 3, maxDelay: 120 };
29+
const serviceDefaults = { minDelay: 1, maxDelay: 120 };
3030
return createWaiter({ ...serviceDefaults, ...params }, input, checkState);
3131
};
3232
/**
@@ -38,7 +38,7 @@ export const waitUntilCertificateIssued = async (
3838
params: WaiterConfiguration<ACMPCAClient>,
3939
input: GetCertificateCommandInput
4040
): Promise<WaiterResult> => {
41-
const serviceDefaults = { minDelay: 3, maxDelay: 120 };
41+
const serviceDefaults = { minDelay: 1, maxDelay: 120 };
4242
const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);
4343
return checkExceptions(result);
4444
};

0 commit comments

Comments
 (0)