PKI & Certificates9 min readFebruary 24, 2026

Restricting Authority:
How CAA Records Prevent
Unauthorized SSL Issuance

By default, any certificate authority in the world can issue an SSL certificate for your domain — including those you have never heard of, in jurisdictions with opaque oversight. A single DNS record changes that entirely. Here is what CAA records do, why compliance frameworks now require them, and how to configure them correctly.

DNS CAA record certificate authority authorization diagram

1The Hidden Blind Spot in SSL/TLS

Most organizations evaluate their SSL posture by looking at their own certificates: Is the cert valid? Is it expiring soon? Is the algorithm strong enough? These are the right questions — for the certificates they know about. The blind spot is everything else.

The public key infrastructure (PKI) that underpins HTTPS is built on trust in certificate authorities. Browsers ship with a list of trusted CAs — typically over 100 organizations across dozens of countries. Every single one of them has the cryptographic authority to issue a certificate foryour domain,without your knowledge or consent.

The passport analogy

Imagine any government office, anywhere in the world, could reissue your passport without checking your country's central registry. A foreign government — or a private notary who purchased the right — could produce a document indistinguishable from the real one. That document would be accepted at every border crossing. This is exactly how SSL certificate issuance works without CAA records.

Real-world CA compromise incidents
DigiNotar (2011)

Dutch CA compromised by Iranian state actors. Fraudulent certificates were issued for google.com, *.google.com, and other high-value domains. DigiNotar was removed from all browser trust stores within days - taking every legitimate cert they had ever issued offline with them.

CNNIC / WoSign (2015-2016)

China's main CA authority issued mis-issued certificates for domains they had no authority over. Google and Mozilla removed them from trust stores following investigation.

Symantec (2017)

Google found evidence of Symantec mis-issuing thousands of certificates, including for domains owned by other organizations. The CA was distrusted progressively across Chrome releases.

You cannot control which CAs get compromised. You can control which ones have authority over your domain.

A rogue certificate for your domain is a signed, trusted, browser-accepted credential. Any attacker holding one can intercept your users' traffic, impersonate your login pages, and sign software updates — with no user-visible warning. CAA records do not prevent a CA from being compromised; they prevent a compromised CA from issuing for your domain.

2Enter DNS CAA — The Digital Bouncer

Certificate Authority Authorization (CAA), standardized inRFC 8659, is a DNS record type that publishes a whitelist of certificate authorities authorized to issue certificates for your domain. Any CA not on the list is prohibited from issuing — regardless of who requests it.

How it works in practice

When a CA receives a certificate request forexample.com, it must query the CAA records for that domain before proceeding. If the records exist and do not list that CA, the issuance request isrejected.The CA is not optional. It is a mandatory pre-issuance check enforced by the CA/Browser Forum baseline requirements.

The 2017 Mandate

September 8, 2017

The CA/Browser Forum made CAA record checkingmandatoryfor all publicly trusted certificate authorities. Any CA that issues a certificate without checking CAA records is in violation of the Baseline Requirements and risks being removed from browser trust stores.

The consequence for non-compliance

A CA removed from Chrome or Firefox trust stores immediately invalidates every certificate it has ever issued — for all customers, globally. This makes CAA compliance a matter of survival for CAs, not just a best practice.

3Anatomy of a CAA Record

A CAA record has three components: a flag (always0for standard use), a tag (the directive type), and a value (the parameter). There are three tags in active use:

issue

Authorize a CA for standard certificates

Theissuetag authorizes a specific CA to issue single-domain and SAN certificates for your domain. You can have multipleissuerecords to allow more than one CA.

DNS Zone — example.com
example.com. CAA 0 issue "letsencrypt.org"example.com. CAA 0 issue "digicert.com"

To deny all CAs: set the value toissue ";"— a semicolon with no CA name. This is useful for domains that should never have a certificate issued (internal-only or parked domains).

issuewild

The wildcard lock — your most critical control point

Theissuewildtag controls which CAs may issuewildcard certificates(*.example.com). If not specified, theissuepolicy applies to wildcards as well. Explicitly restricting it prevents any team member or shadow IT project from obtaining a wildcard certificate through an unauthorized provider.

DNS Zone — example.com
example.com. CAA 0 issue "letsencrypt.org"example.com. CAA 0 issuewild "digicert.com"# Only DigiCert can issue *.example.com — Let's Encrypt cannot

Why this matters for shadow IT: a developer who sets up*.staging.example.comvia an unapproved provider will be blocked at the CA level ifissuewild restricts issuance to your approved vendor.

iodef

The silent alarm — incident reporting

Theiodeftag configures an incident reporting endpoint. When a CA receives a request it cannot fulfill due to your CAA policy, itsends you an incident report— by email or to an HTTPS endpoint. This transforms a blocked attempt into actionable intelligence: who requested a cert for your domain, from which CA, and when.

DNS Zone — example.com
example.com. CAA 0 issue "letsencrypt.org"example.com. CAA 0 issuewild ";"example.com. CAA 0 iodef "mailto:security@example.com"# Unauthorized issuance attempts trigger an email to security@example.com

4Why Compliance Audits Now Require CAA

CAA records have moved from a security best practice to a compliance requirement. Three distinct risk vectors have driven this shift:

Shadow IT Certificate Prevention

Marketing teams, product squads, and external agencies regularly provision SSL certificates on platforms outside the security team's visibility — AWS Certificate Manager, Cloudflare, GoDaddy. Each one represents an unauthorized credential for your domain. CAA records enforce your vendor policy at the infrastructure level: if the CA is not on the approved list, the certificate cannot be issued, regardless of who requests it.

Supply Chain Attack Mitigation

A compromised CA is a supply chain attack vector. If an attacker compromises a CA that is not on your CAA whitelist, they cannot obtain a certificate for your domain — your CAA record enforces the restriction even against a CA that technically has the cryptographic capability to issue. This is particularly relevant for domains processing financial data, credentials, or regulated personal information.

Audit Readiness — SOC 2, ISO 27001 & ANSSI

SOC 2 Type II audits under the CC6 (Logical and Physical Access) control family evaluate whether organizations restrict who can act as an authoritative identity provider. CAA records are the DNS-level answer to this control. The ANSSI (France's national cybersecurity agency) explicitly references CA authorization controls in their domain hardening guidelines. Auditors increasingly flag missing CAA records as an open governance finding.

CAA records apply to the entire DNS tree.

If no CAA record exists atsub.example.com, the CA walks up the DNS tree toexample.comand applies that record instead. A single CAA record at the apex domain protects the entire domain hierarchy — no per-subdomain configuration required, unless you want different CAs on specific subdomains.

5Implementing and Monitoring with DomainRisk

DomainRisk.io checks your CAA configuration on every scan and contributes the result to your Governance sub-score — the dimension of your security report that evaluates how much control you have over your domain's identity and certificate lifecycle.

CAA record presence

Missing = open authority

The scanner queries your apex domain for CAA records. Absence is flagged as a medium-to-high finding depending on your domain risk profile - any CA in the world can issue without restriction.

Authorized CA whitelist

Whitelist audited

The resolved CAA records are parsed and authorized CAs are listed. Findings are raised when the list is overly permissive or does not match your expected certificate issuer.

issuewild directive

Wildcard scope confirmed

issuewild is evaluated independently from issue. If wildcard certs are in use, missing or inconsistent wildcard policy is flagged.

iodef reporting

Reporting configured

The iodef tag is a positive signal. If missing, it is usually treated as low severity but recommended for audit and incident response workflows.

Recommended configuration

If you use Let's Encrypt (the most common free CA), here is the full recommended CAA configuration for a production domain:

DNS Zone — yourdomain.com
yourdomain.com. CAA 0 issue "letsencrypt.org"
yourdomain.com. CAA 0 issuewild ";"
yourdomain.com. CAA 0 iodef "mailto:security@yourdomain.com"
RecordWhat it does
issue "letsencrypt.org"Only Let's Encrypt may issue standard certificates for your domain.
issuewild ";"No CA may issue wildcard certificates. Add your preferred CA here if you use wildcards in production.
iodef "mailto:security@yourdomain.com"Unauthorized issuance attempts are reported to your security inbox. Replace with an HTTPS endpoint if you have a SIEM that accepts webhook reports.

Is your domain's certificate authority wide open?

Get a complete Audit Report — CAA records, SSL/TLS chain, HSTS enforcement, DMARC, MTA-STS and 30+ additional risk factors — in under 60 seconds. Free scan, no credit card required.

Get free Audit Report

6Conclusion: Total Domain Governance

The three-layer domain security model

SSL/TLS

Encrypts the connection once established

HSTS

Forces the encrypted channel from the first request

CAA

Controls who can issue the certificate in the first place

SSL encrypts. HSTS enforces. CAA authorizes. Each layer addresses a distinct phase of the attack surface: the cryptographic channel, the protocol negotiation, and the identity supply chain. Deploying all three closes a loop that most organizations leave open at the first or second layer.

CAA records take less than five minutes to add to your DNS zone. The governance benefit — knowing exactly who can issue credentials for your domain, and being notified when someone unauthorized tries — is immediate and permanent. Run a CAA audit on DomainRisk.io to see your current authorization posture and exactly which changes to make.

Run a CAA audit on DomainRisk.io

Is your domain's identity wide open?

DomainRisk.io checks your CAA records, SSL/TLS chain, HSTS enforcement, DMARC, MTA-STS and 30+ additional risk factors — all in one free scan. No credit card, no installation.