CAA: non è il certificato TLS (RFC 8659)
Data Pubblicazione: 08/10/2026 | | Infrastruttura

CAA: non è il certificato TLS (RFC 8659)

CAA è un record DNS. Non è il certificato sul server. Identificativo Let’s Encrypt: letsencrypt.org. issue ";" chiede il divieto. SERVFAIL spesso è DNSSEC, non «CAA non supportato».

Il certificato TLS sta sul server. CAA sta nel DNS. Non è Let’s Encrypt, non è TLSA, non è HSTS. Verifica dell’8 ottobre 2026 su letsencrypt.org/docs/caa (last updated 4 ottobre 2026) e RFC 8659.

In breve: record DNS, RFC 8659, novembre 2019, obsoleta RFC 6844. Senza CAA ogni CA pubblica può emettere se valida il controllo del dominio. Identificativo Let’s Encrypt: letsencrypt.org. issue ";" chiede a tutti di non emettere. SERVFAIL in pagina è spesso DNSSEC o NOTIMP, non «CAA non supportato».

Cosa trovi in questo articolo

  1. CAA è un record DNS, non il certificato

  2. issue, issuewild, iodef, flag 128

  3. SERVFAIL, NOTIMP, timeout

  4. Errori da evitare

  5. In sintesi

CAA è un record DNS, non il certificato

La pagina Certification Authority Authorization (CAA) di Let’s Encrypt, last updated 4 ottobre 2026, rilettura 8 ottobre 2026: CAA «is a type of DNS record that allows site owners to specify which Certificate Authorities (CAs) are allowed to issue certificates containing their domain names». Prima standard 2013; la versione in uso è RFC 8659 e RFC 8657, 2019. Di default «every public CA is allowed to issue certificates for any domain name in the public DNS, provided they validate control of that domain name». CAA riduce quel rischio. Il cluster è Infrastruttura. Il certificato a 90 giorni è un altro mestiere: Let’s Encrypt non è annuale. DNS, hosting e CDN restano tre pezzi: DNS, hosting, CDN.

RFC 8659, novembre 2019, Hallam-Baker, Stradling, Hoffman-Andrews, obsoleta RFC 6844. CAA lo consulta la CA prima di emettere. TLSA/DANE lo consulta chi verifica il certificato dopo. In RFC: «Conformance with a published CAA record is a necessary, but not sufficient, condition for the issuance of a certificate». Senza record CAA, l’insieme rilevante è vuoto: non c’è divieto. Let’s Encrypt, in pagina: se non ti interessa CAA, in genere non fai nulla (salvo gli errori sotto).

Let’s Encrypt, «Where to put the record»: di solito sul dominio registrato (example.org), così vale anche per i sottodomini. La CA rispetta il record CAA più vicino al nome per cui emette; un sottodominio può sovrascrivere. Segue i CNAME, «just like all other DNS requests». Un nome con CNAME, in pagina, non può avere altri record: niente conflitto tra CAA sull’alias e CAA sul target.

issue, issuewild, iodef, flag 128

Let’s Encrypt, formato: CAA <flags> <tag> <value>. Flag 0 nella maggior parte dei casi. Flag 128: bit critico; se la CA non riconosce il tag, si ferma e non emette. Tag in pagina: issue e, se serve un permesso diverso per i wildcard, issuewild. Identificativo Let’s Encrypt: letsencrypt.org (CP/CPS sezione 4.2.1, citata in pagina). Esempio in pagina: example.org CAA 0 issue "letsencrypt.org".

In pagina / RFC 8659 (rilettura 8 ottobre 2026)
issueChi può emettere per il nome (e, in assenza di issuewild, anche i wildcard). Più record issue sono additivi.
issue ";"RFC 8659 §4.2: chiede che nessun Issuer emetta. Un valore che non rispetta l’ABNF si tratta come issuer vuoto.
issuewildSolo certificati wildcard. RFC: ciascun issuewild ha precedenza su ciascun issue.
iodefRFC 8659 §4.4: URL per segnalare richieste o emissioni che violano la policy. Scheme mailto, http o https. Non autorizza l’emissione.
validationmethodsLet’s Encrypt: http-01, dns-01, tls-alpn-01 dopo l’identificativo, separati da punto e virgola.
accounturiLet’s Encrypt: URI dell’account ACME, forma https://acme-v02.api.letsencrypt.org/acme/acct/….
AlberoRFC RelevantCAASet: si sale di etichetta finché si trova un RRset CAA, poi si ferma. Vuoto fino alla radice = nessun vincolo.

RFC 8659: se nello stesso insieme ci sono un issue vuoto e un issue con dominio, vale il non vuoto (autorizzazioni additive). Let’s Encrypt controlla CAA prima di ogni certificato: un errore di lookup blocca, perché potrebbe esistere un record che vieta e non si vede.

SERVFAIL, NOTIMP, timeout

Let’s Encrypt, «CAA errors». SERVFAIL: il più comune, «most often» DNSSEC. Primo passo in pagina: un debugger DNSSEC (citano dnsviz.net). Secondo, senza DNSSEC: nameserver che risponde NOTIMP invece di NOERROR con risposta vuota: violazione di RFC 1035. Il provider, in pagina, non deve «supportare» CAA: deve rispondere NOERROR alle query di tipo sconosciuto. Timeout: spesso firewall che scarta i qtype sconosciuti. In pagina: riprovare su staging; se è permanente, ticket al DNS o cambio provider.

Errori da evitare

  • Trattare CAA come se fosse il certificato sul disco, o HSTS, o TLSA.

  • Mettere letsencrypt.com nel record: l’identificativo in pagina è letsencrypt.org.

  • Credere che «non supportiamo CAA» chiuda la pratica: in pagina basta RFC 1035, NOERROR.

  • Mettere issue ";" e un issue "letsencrypt.org" sullo stesso nome aspettandosi il divieto: RFC, additive, vince il non vuoto.

  • Usare Upgrade o Alt-Svc per «accendere CAA»: CAA è DNS, HTTP/3 è un altro canale. HTTP/3 sta in QUIC e Alt-Svc.

In sintesi

CAA è un record DNS. Let’s Encrypt legge letsencrypt.org. Senza record, nessuna restrizione. issue ";" chiede il divieto. SERVFAIL non è «CAA spento». Non è il certificato TLS. Si rilegge letsencrypt.org/docs/caa e RFC 8659 il giorno in cui si pubblica il record. Verifica dell’8 ottobre 2026.

Domande frequenti

letsencrypt.org/docs/caa, last updated 4 ottobre 2026, rilettura 8 ottobre 2026: record DNS che indica quali CA possono emettere certificati per quel nome. RFC 8659, novembre 2019, obsoleta RFC 6844. La CA lo legge prima di emettere. Non è TLSA.
Stessa pagina: identificativo letsencrypt.org, non letsencrypt.com. Esempio: example.org CAA 0 issue "letsencrypt.org".
RFC 8659 §4.2: CAA 0 issue ";" . Un valore che non rispetta l’ABNF si tratta come issuer vuoto. Se sullo stesso nome c’è anche un issue con dominio, RFC: vince il non vuoto.
Di solito no. Let’s Encrypt: SERVFAIL è spesso DNSSEC; senza DNSSEC, NOTIMP al posto di NOERROR (violazione RFC 1035). Il provider non deve «supportare» CAA, deve rispondere NOERROR ai qtype sconosciuti.
No. CAA sta nella zona DNS. Il certificato sta sul server e scade (Let’s Encrypt, default 90 giorni). RFC 8659: CAA è necessario ma non sufficiente per emettere.

Potrebbe interessarti anche...