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.

Armar el registro DNS para DKIM

Introduzca un nombre de selector y una clave pública en formato PEM y esta herramienta arma el registro TXT de DNS empleado para verificar las firmas DKIM, con la forma `v=DKIM1; k=rsa; p=...`. Su lugar está en `selector._domainkey.sudominio`.

**Con lo que todos tropiezan aquí es con el límite de 255 caracteres por cadena en un registro TXT de DNS.** Una clave pública RSA de 2048 bits alcanza unos 390 caracteres en Base64, de modo que **no cabe en una sola cadena tal como está.** En un archivo de zona se escribe entre paréntesis como varias cadenas, y **el lado receptor las vuelve a unir en un solo valor.** Esta herramienta realiza esa división por usted. **Lo otro que jamás debe errarse es que lo que va al DNS es la clave pública.** La privada pertenece únicamente al servidor que firma y no debe salir de él jamás.

Cómo se usa

  1. Introduzca el dominio y un nombre de selector El selector es un nombre de su elección; use uno nuevo cada vez que reemplace la clave.
  2. Pegue la clave pública en formato PEM **Es la clave que empieza por `-----BEGIN PUBLIC KEY-----`, no la privada.**
  3. Revise el registro generado **Cuando pasa de 255 caracteres, la salida viene dividida entre paréntesis.**
  4. Regístrelo en el DNS Colóquelo como registro TXT en `selector._domainkey.sudominio`.

Consejos para aprovecharla mejor

  • 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.

Cuándo resulta útil

Adoptar DKIM por primera vez

**Una vez hechas las claves, le muestra cómo escribirlas en el DNS.**

Rotar una clave

**Añada un registro bajo un selector nuevo y retire el antiguo tras la conmutación.**

Confirmar cómo se escribe la división

Cómo partir una clave larga es justo lo que se yerra al hacerlo a mano.

Verificar lo que le indicó un servicio de envío

**Puede confirmar que un registro entregado por un servicio externo toma la forma correcta.**

Términos de DKIM

Selector
El nombre que identifica una clave. **Encabeza `selector._domainkey.example.com`, y cada clave lleva el suyo.**
Clave pública
**La que va al DNS.** El lado receptor verifica las firmas con ella.
Clave privada
La clave con que se crean las firmas. **Pertenece únicamente al servidor remitente y no debe publicarse jamás.**
El límite de 255 caracteres
**El techo de una sola cadena dentro de un registro TXT.** Lo que exceda se escribe como varias cadenas.
V=DKIM1
La etiqueta que declara la versión del registro. Va primero.
K=rsa
La clase de clave. Además de RSA existe Ed25519, cuyas claves son bastante más cortas.

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.
Tool-kun

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.