Generador de registro DNS DKIM

Introduce un nombre de selector y una clave pública (formato PEM) para generar el registro DNS TXT de firma DKIM (v=DKIM1; k=rsa; p=...). Las claves públicas de más de 255 caracteres se dividen automáticamente en el formato de archivo de zona BIND.

Consejos

  • Puedes pegar directamente el contenido de un archivo PEM generado con opendkim-genkey o con openssl genrsa → openssl rsa -pubout de OpenSSL. Los saltos de línea y las líneas de encabezado se eliminan automáticamente.
  • Activar el modo de prueba (t=y) puede hacer que algunos servidores receptores sean más tolerantes ante fallos de DKIM en lugar de rechazar el correo. Es una opción más segura durante el período de validación antes de pasar a producción.
  • Después de publicar el registro generado en el DNS, te recomendamos confirmar que se ha aplicado con el verificador de entregabilidad de correo de este sitio (diagnóstico SPF/DKIM/DMARC).
  • Las longitudes de clave habituales son 1024 y 2048 bits; con 2048 bits la cadena de la clave pública suele superar los 255 caracteres y se divide en varias cadenas. Esa división no es un error.
  • El nombre del selector se puede elegir libremente, pero si un mismo dominio usa varios proveedores de correo, incluir el nombre del proveedor (por ejemplo "google", "mailgun") facilita la gestión.

Preguntas frecuentes

Es un identificador que permite usar varias claves DKIM en un mismo dominio. El registro se publica en el DNS con el nombre "selector._domainkey.dominio", y la firma se verifica con la clave pública del selector que coincide con la etiqueta s= indicada en la cabecera DKIM-Signature del correo enviado.

Como una cadena de caracteres (character-string) de un registro TXT de DNS está limitada a 255 bytes, lo que exceda ese límite se divide en varias cadenas entre comillas que se concatenan sin espacios en un único registro TXT. El formato BIND generado por esta herramienta ya tiene en cuenta esta división.

No. Esta herramienta solo construye el registro que publicas en el DNS; no genera la clave privada. Genera y guarda tu clave privada de forma segura en tu propio entorno usando una herramienta de confianza como opendkim-genkey u OpenSSL.

Úsalo justo después de implantar DKIM, mientras confirmas que la firma y la verificación funcionan correctamente en tu entorno de envío real. Algunos receptores tratan con más tolerancia los fallos de DKIM de dominios con t=y, lo que sirve como red de seguridad antes de pasar a producción por completo.

Hoy en día RSA (k=rsa) es el estándar de facto porque es compatible con la mayor cantidad de servidores de envío y recepción. Ed25519 (k=ed25519, RFC 8463) tiene claves más cortas y firma más rápido, pero aún hay servidores de correo que no lo soportan, así que adóptalo solo si puedes confirmar que funciona en ambos extremos.
ツールくん

A propósito — cómo la criptografía de clave pública evita la suplantación de correo

DKIM (DomainKeys Identified Mail) se estandarizó en 2004 al fusionar dos tecnologías que Yahoo! y Cisco habían desarrollado por separado: DomainKeys e Identified Internet Mail. Su núcleo es la criptografía de clave pública: el remitente cifra con su clave privada un hash calculado a partir de las cabeceras y parte del cuerpo del mensaje, y lo adjunta como cabecera DKIM-Signature. El receptor verifica esa firma con la clave pública publicada en el DNS, y si el par de claves coincide, puede confirmar matemáticamente que el contenido no se alteró después de enviarse.

Mientras que SPF verifica la legitimidad a nivel de red —la dirección IP de origen—, DKIM es fundamentalmente distinto porque aplica una firma digital al propio contenido del correo. Por eso, aunque el mensaje se reenvíe varias veces a través de servidores legítimos (algo con lo que SPF suele tener problemas), la firma DKIM sigue siendo válida mientras el cuerpo no se modifique. Esta característica hace que DKIM se considere más fiable que SPF en rutas de entrega que implican reenvío, como las listas de correo.

El mecanismo de selector también es importante en la práctica. Cuando un mismo dominio usa varios proveedores de correo (un servidor propio, Gmail, SendGrid, etc.), asignar un par de claves y un nombre de selector distintos a cada uno permite revocar o renovar las claves de forma independiente por proveedor. Esta flexibilidad operativa —que una clave filtrada solo afecte a su propio selector— es una de las razones por las que DKIM, pese a ser solo un registro DNS sencillo, sigue usándose ampliamente en infraestructuras de correo a gran escala.