DEV Community

Cover image for How to Troubleshoot AWS ACM Certificate CAA Errors with Third-Party DNS Providers
1 1 1 1

How to Troubleshoot AWS ACM Certificate CAA Errors with Third-Party DNS Providers

AWS Certificate Manager (ACM) simplifies SSL/TLS certificate management for securing web applications. When using Amazon Route 53 as your DNS provider, generating a certificate is seamless. However, if you use a third-party DNS provider (e.g., GoDaddy, Namecheap, or Cloudflare), you may encounter a common error during certificate validation:

Error: "One or more domain names have failed validation due to a Certificate Authority Authorization (CAA) error."

Image description

This error occurs because ACM requires specific DNS records to verify domain ownership, and third-party DNS providers need manual configuration to allow Amazon’s Certificate Authority (CA) to issue the certificate. In this guide, we’ll walk you through troubleshooting and resolving this issue step-by-step.

Prerequisites

Access to your third-party DNS provider’s management console.
Administrative access to your AWS account.
A domain name ready for certificate issuance.

Step-by-Step Troubleshooting Guide

Step 1: Understand the CAA Error
A CAA (Certificate Authority Authorization) record specifies which CAs are allowed to issue certificates for your domain. If this record is missing or incorrectly configured, ACM cannot validate your domain, resulting in the error. We’ll add CAA records to allow Amazon’s CA.

Step 2: Add CAA Records in Your DNS Provider
Log in to your DNS provider’s website and navigate to the DNS Management or Manage DNS section for your domain.
Create two CAA records to authorize Amazon’s CA:
Record 1:
Name: Leave blank or use @ (root domain).
Type: CAA
Value: 0 issue "amazonaws.com"
TTL: Use default or 300 seconds.
Image description
Record 2:
Name: Leave blank or use @.
Type: CAA
Value: 0 issue "amazon.com"
TTL: Use default or 300 seconds.
Image description

Save the changes. (Note: DNS propagation may take a few minutes to hours, depending on your provider.)
Tip: Some DNS providers require quotes around the value (e.g., "amazonaws.com"). Check your provider’s documentation for exact syntax.

Step 3: Request a New Certificate in AWS ACM
Open the AWS Management Console and navigate to AWS Certificate Manager (ACM).
In the left-hand menu, click Request a certificate.

Image description

Select Request a public certificate and click Next.

Image description

Enter your Fully Qualified Domain Name (FQDN) (e.g., amalcloud.com or www.amalcloud.com).

Image description

Optionally, click Add another name to this certificate to include alternative names (e.g., *.amalcloud.com for wildcard certificates).
Choose DNS validation as the validation method. (This is recommended for third-party DNS providers.)
Under Key algorithm, select the default (RSA 2048) unless you have specific requirements (e.g., ECDSA for performance).
Note: Exportable private certificates may incur additional costs. Public certificates are free, but private certificates or exporting certificates can cost extra. Check AWS pricing for details.
Click Request.
Step 4: Add CNAME Record for DNS Validation
After requesting the certificate, you’ll be redirected to the List certificates page in ACM.
Click the new certificate’s ID to view its details.
Under the Domains section, find the CNAME name and CNAME value provided by ACM. These are used to validate domain ownership.

Image description

Return to your DNS provider’s DNS management console.
Create a new CNAME record:
Name: Paste the CNAME name (e.g., _x1y2z3.amalcloud.com).
Type: CNAME
Value: Paste the CNAME value (e.g., _a5b6c7.acm-validations.aws).
TTL: Use default or 300 seconds.
Save the changes.

Image description

Step 5: Wait for Validation
DNS validation typically takes a few minutes but can take up to 48 hours due to DNS propagation delays.
Check the certificate status in ACM. Once validated, the status will change from Pending validation to Issued.
Step 6: Verify and Deploy
Once the certificate status is Issued, it’s ready to use with AWS services like Elastic Load Balancer (ELB) or CloudFront.
If the status remains Pending validation, double-check your CAA and CNAME records for typos or propagation issues.
Troubleshooting Tips
CAA Record Issues: Use a DNS lookup tool (e.g., dig or nslookup) to verify that your CAA records are correctly propagated. For example:

dig CAA example.com

Ensure amazonaws.com and amazon.com appear in the results.
CNAME Propagation: If validation fails, confirm the CNAME record is correct using a tool like dig or an online DNS checker.

Common Mistakes:

Incorrect CAA record syntax (e.g., missing 0 issue or quotes).
Adding records for the wrong domain or subdomain.
Forgetting to save DNS changes or using a high TTL, delaying propagation.
Edge Cases: If you’re using a DNS provider with strict security settings (e.g., Cloudflare’s DNSSEC), ensure DNSSEC doesn’t interfere with validation.

Conclusion

By adding the required CAA and CNAME records to your third-party DNS provider, you can resolve the AWS ACM CAA error and successfully issue a certificate. This process ensures your domain is validated and your certificate is ready for use with AWS services. If you encounter persistent issues, double-check your DNS records, consult your DNS provider’s documentation, or contact AWS Support.

I ❤️ building dashboards for my customers

I ❤️ building dashboards for my customers

Said nobody, ever. Embeddable's dashboard toolkit is built to save dev time. It loads fast, looks native and doesn't suck like an embedded BI tool.

Get early access

Top comments (0)

Best Practices for Running  Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK cover image

Best Practices for Running Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK

This post discusses the process of migrating a growing WordPress eShop business to AWS using AWS CDK for an easily scalable, high availability architecture. The detailed structure encompasses several pillars: Compute, Storage, Database, Cache, CDN, DNS, Security, and Backup.

Read full post

👋 Kindness is contagious

Dive into this thoughtful piece, beloved in the supportive DEV Community. Coders of every background are invited to share and elevate our collective know-how.

A sincere "thank you" can brighten someone's day—leave your appreciation below!

On DEV, sharing knowledge smooths our journey and tightens our community bonds. Enjoyed this? A quick thank you to the author is hugely appreciated.

Okay