Skip to main content

The CDK Construct Library for AWS::CertificateManager

Project description

Amazon Certificate Manager Construct Library

Stability: Stable

This package provides Constructs for provisioning and referencing certificates which can be used in CloudFront and ELB.

The following requests a certificate for a given domain:

const cert = new certmgr.Certificate(this, 'Certificate', {
  domainName: '',

After requesting a certificate, you will need to prove that you own the domain in question before the certificate will be granted. The CloudFormation deployment will wait until this verification process has been completed.

Because of this wait time, it's better to provision your certificates either in a separate stack from your main service, or provision them manually and import them into your CDK application.

The CDK also provides a custom resource which can be used for automatic validation if the DNS records for the domain are managed through Route53 (see below).

Email validation

Email-validated certificates (the default) are validated by receiving an email on one of a number of predefined domains and following the instructions in the email.

See Validate with Email in the Amazon Certificate Manager User Guide.

DNS validation

DNS-validated certificates are validated by configuring appropriate DNS records for your domain.

See Validate with DNS in the Amazon Certificate Manager User Guide.

Automatic DNS-validated certificates using Route53

The DnsValidatedCertificateRequest class provides a Custom Resource by which you can request a TLS certificate from AWS Certificate Manager that is automatically validated using a cryptographically secure DNS record. For this to work, there must be a Route 53 public zone that is responsible for serving records under the Domain Name of the requested certificate. For example, if you request a certificate for, there must be a Route 53 public zone that provides authoritative records for the domain.


    const hostedZone = route53.HostedZone.fromLookup(this, 'HostedZone', {
      domainName: '',
      privateZone: false

    const certificate = new certmgr.DnsValidatedCertificate(this, 'TestCertificate', {
        domainName: '',


If you want to import an existing certificate, you can do so from its ARN:

const arn = "arn:aws:...";
const certificate = Certificate.fromCertificateArn(this, 'Certificate', arn);

Sharing between Stacks

To share the certificate between stacks in the same CDK application, simply pass the Certificate object between the stacks.

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for, version 1.11.0
Filename, size File type Python version Upload date Hashes
Filename, size aws_cdk.aws_certificatemanager-1.11.0-py3-none-any.whl (287.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size (289.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page