Skip to main contentSkip to footer

Generador DKIM: crear una clave DKIM y su registro DNS

Crea un par de claves RSA o Ed25519 en tu navegador, obtén el registro DNS en el formato que acepta tu panel y comprueba la clave una vez publicada. La clave privada nunca sale de esta página. Gratis, sin registro.

El registro se crea en tu navegador y nada de lo que escribas a continuación se envía a ningún sitio. Solo las opciones «Cargar registro publicado» y «Comprobar» envían una solicitud a nuestro servidor, que consulta el DNS público del dominio.

Tipo de clave

Un registro TXT por línea, tal y como aparecen en tu panel de DNS o en el comando «dig TXT». Si hay dos líneas del mismo tipo, se muestra un error, que es precisamente el error que se pretende detectar.

¿Qué es un registro DKIM?

DKIM (DomainKeys Identified Mail, RFC 6376) permite que un servidor de correo firme cada mensaje saliente con una clave privada. La clave pública correspondiente se publica como registro TXT en selector._domainkey.example.com. Un receptor la obtiene, verifica la firma y así sabe que el mensaje viene realmente de un servidor que tiene tu clave y que no se modificó por el camino.

El generador crea el par de claves con la criptografía del propio navegador (WebCrypto), escribe el registro DNS y guarda la clave privada en esta página hasta que la descargues. Nada de la clave se envía a nuestro servidor.

¿Necesitas un generador DKIM?

Tu proveedor crea la clave: no

Microsoft 365, Google Workspace, Brevo, Mailchimp, SendGrid, Amazon SES y casi todos los servicios alojados crean el par de claves ellos mismos y te muestran el registro que debes publicar, a menudo como un CNAME que apunta a su propio DNS. Usa su registro; una clave creada aquí no les serviría, porque nunca verían la mitad privada.

Tú gestionas el servidor de correo: sí

Postfix con OpenDKIM, rspamd, Exim, un servidor de correo en un contenedor, una herramienta de newsletter autoalojada o una aplicación que firma su propio correo: todos necesitan un par de claves que tú creas y un registro que tú publicas. Para eso es este generador. La mayoría de estos programas leen la clave privada como archivo PEM, el formato que descargas aquí.

Crear una clave DKIM en tres pasos

1. Elige un selector y un tipo de clave. El selector es un nombre que eliges tú, por ejemplo el mes actual como 202610. Aparece en cada firma como s= y permite tener varias claves a la vez. RSA 2048 es el tipo adecuado para casi todo el mundo.

2. Genera, guarda, configura. Pulsa el botón para generar el par de claves, descarga la clave privada y ponla en el servidor de correo. Configura el servidor para que firme tu dominio con ese selector. Mantén el archivo en secreto: quien lo tenga puede firmar correo en tu nombre.

3. Publica y comprueba. Añade el registro TXT, espera a que sea visible, escribe arriba el dominio y el selector y pulsa «Cargar registro publicado». La comprobación lee la clave del DNS e indica su tipo y su longitud exacta.

Cómo añadir el registro DKIM

Campo Valor
Tipo TXT
Nombre / Host 202610._domainkey, es decir, el selector seguido de ._domainkey; el panel añade el dominio
Valor v=DKIM1; k=rsa; p=MIIBIjANBg...

Una clave de 2048 bits produce un valor de unos 410 caracteres. Una cadena TXT admite como máximo 255, así que el DNS guarda los valores más largos en varias cadenas que el receptor vuelve a unir. Los buenos paneles lo hacen solos. Para los demás, el generador ofrece el mismo registro en tres formas:

  • Un solo valor para paneles que dividen solos los valores largos (Cloudflare, la mayoría de los paneles modernos).
  • Dividido en cadenas de 255 caracteres, cada una entre comillas, para paneles que guardan exactamente lo que pegas.
  • Línea de archivo de zona en sintaxis BIND para tu propio servidor de nombres.

Si un panel rechaza incluso la forma dividida, limita la longitud total. Entonces RSA 1024 es la salida que todos los receptores siguen aceptando. Pero cambia de proveedor DNS en cuanto puedas.

Qué contiene un registro DKIM

Etiqueta Significado
v=DKIM1 Versión. Opcional según la norma, pero muchas herramientas la esperan.
k=rsa o k=ed25519 Tipo de clave. Si falta la etiqueta, se asume rsa.
p= La clave pública en Base64. Un p= vacío significa que la clave está revocada.
t=y Prueba: los receptores tratan una firma no válida como un mensaje sin firmar.
t=s Estricto: la clave solo puede firmar para este dominio exacto, no para sus subdominios.
h= Algoritmos de hash permitidos. Omítela; todo el mundo usa sha256.

¿RSA 2048, RSA 1024 o Ed25519?

RSA 2048 es el estándar: lo aceptan todos los receptores, se considera seguro y solo la longitud del registro da a veces problemas. RSA 1024 es el mínimo que los receptores aún aceptan; úsalo solo si el DNS te obliga. Ed25519 (RFC 8463) es moderno y corto, unos 60 caracteres, pero todavía no lo verifican todos los receptores. Publícalo como segunda clave con su propio selector junto a una clave RSA, nunca solo.

Selectores de proveedores habituales

Si buscas una clave existente: Google Workspace usa google, Microsoft 365 selector1 y selector2, SendGrid s1 y s2, Mailchimp k2 y k3. Amazon SES usa tres tokens aleatorios que encuentras en la consola de SES. El Email Security Check prueba estos nombres automáticamente.

Sin navegador: crear la clave con OpenSSL

El mismo par de claves puede crearse directamente en el servidor, de modo que la clave privada nunca pase por un ordenador de escritorio.

RSA 2048:
openssl genrsa -out 202610.private.pem 2048
openssl rsa -in 202610.private.pem -pubout -outform der | openssl base64 -A
El segundo comando muestra el valor que va detrás de p=.

Ed25519:
openssl genpkey -algorithm ed25519 -out 202610.ed25519.pem
openssl pkey -in 202610.ed25519.pem -pubout -outform der | tail -c 32 | openssl base64 -A
Para Ed25519, DKIM publica la clave en bruto de 32 bytes, no la estructura completa; por eso se extraen los últimos 32 bytes.

Con rspamd basta un comando: rspamadm dkim_keygen -s 202610 -d example.com -b 2048 muestra la clave y el registro a la vez.

Rotar una clave DKIM

Una clave que nunca cambia puede filtrarse sin que nadie lo note. Rótala cada seis a doce meses, y de inmediato si un servidor que la tenía ha sido comprometido. Con selectores, la rotación es sencilla: crea una clave nueva con un selector nuevo, publica su registro, cambia el servidor de correo al nuevo selector y deja el registro antiguo una semana en el DNS para que los mensajes que aún están en tránsito se puedan verificar. Después publica el selector antiguo con un p= vacío, lo que indica a los receptores que la clave está revocada.

Nombrar los selectores según el mes en que se crearon, como propone el generador, deja claro de un vistazo qué clave está en uso.

Preguntas frecuentes sobre el generador DKIM

¿Se envía o se guarda mi clave privada?

No. El par de claves se crea con WebCrypto en tu navegador y solo existe en esta pestaña. «Cargar registro publicado» lee la clave pública del DNS, que de todos modos es pública. Descarga la clave privada antes de cerrar o recargar la página, porque después no se puede recuperar.

¿Necesito un generador DKIM para Microsoft 365 o Google Workspace?

No. Ambos crean la clave por su cuenta. En Microsoft 365 publicas dos registros CNAME llamados selector1 y selector2 y activas la firma en el portal de Defender; en Google Workspace generas la clave en la consola de administración, en la autenticación de Gmail, y publicas el registro TXT que aparece allí.

¿Qué longitud de clave uso para DKIM?

RSA 2048. Se acepta en todas partes y se considera segura. 1024 bits es el mínimo y solo compensa si tu panel DNS no puede guardar un valor más largo. Más de 2048 aporta poco, y algunos receptores no manejan bien las claves de 4096 bits.

¿Qué es un selector DKIM?

Un nombre que eliges tú y que indica a los receptores la clave correcta. Una firma lleva s=202610 y el receptor consulta 202610._domainkey.example.com. Así, distintos servicios, y también la clave antigua y la nueva, pueden tener cada uno su selector sin estorbarse.

¿Cada cuánto debo cambiar la clave DKIM?

Cada seis a doce meses, y de inmediato si un servidor con la clave ha sido comprometido. Publica primero la clave nueva con un selector nuevo, cambia la firma y mantén el registro antiguo alrededor de una semana antes de revocarlo.

El valor es demasiado largo para mi campo DNS. ¿Qué hago?

Usa la forma dividida, que reparte el valor en cadenas de 255 caracteres como máximo entre comillas. Si el panel también la rechaza, limita la longitud total; entonces genera una clave RSA 1024, cuyo valor ronda los 220 caracteres.

Cómo funciona esta herramienta y sus límites

Las claves RSA se crean con RSASSA-PKCS1-v1_5 y SHA-256 a 2048 o 1024 bits, y las Ed25519 con la implementación Ed25519 del navegador, si existe; los navegadores más antiguos no la ofrecen y el generador lo indica. La clave privada se exporta como PEM PKCS#8, que leen OpenDKIM, rspamd y Exim. La clave pública se publica como SubjectPublicKeyInfo para RSA y como clave en bruto de 32 bytes para Ed25519, tal como exige el RFC 8463.

«Cargar registro publicado» pide a nuestro resolver el registro TXT del selector que has escrito y aplica el validador DKIM del Email Security Check. Para RSA indica la longitud exacta del módulo, leída de la propia clave y no estimada a partir de la longitud del texto.

La herramienta no puede ver si tu servidor firma de verdad. Envía un mensaje a una dirección que controles y busca dkim=pass en la cabecera Authentication-Results, o vigila los informes de DMARC.