Generador de registros DNS CAA
Un registro CAA (RFC 8659, antes 6844) es un registro DNS tipo TXT que indica a las autoridades certificadoras públicas qué CAs pueden emitir certificados para tu dominio. Toda CA del CA/Browser Forum Baseline Requirements debe consultar CAA antes de emitir — si existe un registro y la CA no aparece, rechaza. Es una defensa pequeña pero potente contra emisiones rebeldes o mal configuradas, y es gratis. Se definen tres tags: `issue` autoriza una CA para certificados regulares, `issuewild` autoriza una CA para wildcards (por defecto igual a `issue` si falta), e `iodef` provee un contacto (mailto:/https:) para reportes. Cada registro lleva un byte de flags; activar el bit crítico (128) hace que las CAs rechacen si no entienden algún parámetro asociado. Esta herramienta construye los registros y los exporta en dos formatos: sintaxis BIND completa (pegar en el archivo de zona), y filas separadas tag/valor (para paneles que las piden por separado). La lista de CAs comunes permite añadir Let's Encrypt, DigiCert, Sectigo, Google, Amazon y otras con un clic. El valor especial `;` significa 'denegar a todas las CAs' — una política sólida cuando no necesitas emitir.
Registros
Añadir CA común (como registro issue)
Formato BIND
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild "letsencrypt.org"
example.com. IN CAA 0 iodef "mailto:security@example.com"Filas tag / valor
Para paneles DNS que piden flags, tag y valor por separado. Formato: flags tag valor
0 issue "letsencrypt.org"
0 issuewild "letsencrypt.org"
0 iodef "mailto:security@example.com"Sobre los registros CAA
CAA significa Certificate Authority Authorization (RFC 8659). Es un registro DNS que indica a las CAs públicas si pueden emitir certificados para tu dominio. Las CAs deben consultar CAA en cada emisión y rechazar si no aparecen. La herramienta emite dos formatos: sintaxis BIND completa con escape adecuado para pegar en archivos de zona, y una tabla de flags / tag / valor para paneles (Cloudflare, Route53, etc.). El valor especial `;` en un registro issue o issuewild significa 'denegar todas las CAs' — un buen default cuando no usas TLS. CAA es jerárquico: un registro en el apex cubre todos los subdominios salvo que haya un conjunto CAA más específico debajo. Los registros tardan hasta 8 horas en propagarse por el cacheo de las CAs.
Cómo usar
- Ingresa tu dominio apex o subdominio (los CAA se consultan de la hoja hacia arriba; configurarlos en el apex suele cubrir todo).
- Pulsa uno de los botones de CA común para añadir un registro `issue` inicial. Edita el tag, valor o flag crítico según necesites.
- Añade un registro `issuewild` si vas a emitir wildcards. Si no, omítelo — `issue` solo NO cubre wildcards.
- Añade un registro `iodef` con una dirección mailto: o https: para que las CAs te notifiquen violaciones de política.
- Pega la salida BIND en tu archivo de zona (o usa el formato de filas si tu panel pide tag y valor por separado).
Preguntas frecuentes
- ¿Dónde alojo el registro CAA?
- En el mismo dominio que quieres proteger. La búsqueda CAA sube desde el nombre solicitado hasta el apex — un cert para `api.example.com` consulta `api.example.com`, luego `example.com`, luego raíz. Lo habitual es poner un conjunto CAA en el apex y dejar que cubra todos los subdominios. CAA por subdominio solo importa si quieres allí una política distinta.
- ¿`issue letsencrypt.org` bloquea wildcards de otras CAs?
- Sí — si tienes registros `issue` y ningún `issuewild`, los `issue` también restringen wildcards. Pero si existe algún `issuewild`, este prevalece para wildcards. El patrón más seguro es listar ambos explícitamente cuando quieres ambos, o añadir solo `issue` si nunca necesitas wildcards. `;` en `issuewild` permitiendo certs regulares es la política habitual de 'ningún wildcard de nadie'.
- ¿Qué hace la flag crítica?
- El bit 7 (valor 128) es la flag issuer-critical. Activada en un tag desconocido, las CAs deben rechazar la emisión. Hoy solo están definidos `issue`, `issuewild` e `iodef`, así que crítica afecta sobre todo a compatibilidad futura. Déjala apagada (flags = 0) en configuraciones típicas; usa 128 solo si especificas deliberadamente un tag que todas las CAs deben entender.
- ¿Cuán rápido respetan las CAs un nuevo CAA?
- Por los Baseline Requirements, las CAs verifican CAA en el momento de emisión, con un TTL máximo de caché de 8 horas desde el valor anterior. Un registro nuevo puede tardar hasta 8 horas en surtir efecto en todas las CAs. Para evitar que negativos cacheados bloqueen emisión, da a tus registros un TTL de 5-60 minutos al configurar y súbelo después.
- ¿DNSSEC afecta a CAA?
- Si tu zona está firmada con DNSSEC, las CAs deben verificar las firmas y tratar respuestas no firmadas como ausentes. Un DNSSEC mal configurado puede romper la verificación CAA y detener renovaciones. Valida la zona con una herramienta como dnsviz.net antes de depender de la aplicación CAA.
Herramientas relacionadas
Referencia de Registros DNS
Hoja de referencia buscable de tipos de registro DNS — A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA, DNSSEC, SVCB / HTTPS — con ejemplos.
Divisor de Registro TXT (Chunks de 255 Bytes)
Divide un registro TXT SPF, DKIM o DMARC largo en los chunks de 255 bytes que requiere el protocolo DNS — emite sintaxis BIND, archivo zone genérico, Cloudflare o Route 53.
Decodificador de certificados SSL (X.509)
Pega un certificado PEM y léelo: sujeto, emisor, caducidad, SAN, clave, huellas y extensiones, decodificado en tu navegador.
Generador y parser de registros DKIM
Construye o parsea un registro DNS TXT DKIM (DomainKeys Identified Mail) — pega tu clave pública, elige selector, tipo de clave (RSA/Ed25519), hash y flags, y obtén el registro completo, el nombre `selector._domainkey` y una versión troceada para registros que superan 255 caracteres.
Codificador / Decodificador de HTTP Basic Auth
Codifica `usuario:contraseña` en la cabecera `Authorization: Basic` Base64 — o pega una cabecera existente para ver quién está dentro.
Generador OAuth 2.0 PKCE
Genera code_verifier + code_challenge S256/plain para OAuth 2.0 PKCE (RFC 7636). También construye la URL de autorización y un curl listo para el intercambio de token.