Qué es un par de claves DKIM
DKIM (DomainKeys Identified Mail) es la forma que tiene tu servidor de correo de firmar criptográficamente cada mensaje saliente para que receptores como Gmail y Outlook puedan verificar que el mensaje vino de verdad de tu dominio y no se manipuló por el camino. Para eso, tu servidor necesita un par de claves: una clave privada que vive en el servidor y firma cada mensaje, y una clave pública que publicas como registro DNS TXT en `<selector>._domainkey.<tu-dominio>` para que los receptores la recuperen.
Esta herramienta genera ese par para ti en la petición del navegador y devuelve la clave privada codificada en PEM (que instalas en tu servidor de correo) y el registro TXT listo para pegar (que publicas en el DNS). RSA, 1024 / 2048 / 4096 bits, generado con el crypto nativo de Node (bindings de OpenSSL por debajo). Nunca almacenamos la clave.
Cómo usarla
- Elige un selector: una etiqueta corta tipo `mail2024`, `s1` o `google`. Identifica qué clave firmó el mensaje, así un selector nuevo te permite rotar sin romper el correo antiguo.
- Elige una longitud de clave: 2048 bits es el default moderno. 1024 es legacy (aún se acepta pero está desaconsejado). 4096 es exagerado para casi todos y ralentiza la ruta de firma.
- Opcional: introduce tu dominio para que mostremos el nombre DNS completo (`<selector>._domainkey.<tu-dominio>`). Sin él, igualmente obtienes el cuerpo del registro TXT.
- Pulsa Generar. Devolvemos la clave privada en formato PEM y el valor del registro TXT listo para pegar en tu panel de DNS.
- Guarda la clave privada ya. Nosotros no la almacenamos. Cerrar esta pestaña la pierde para siempre. Instálala en tu servidor de correo (Postfix + opendkim, exim, MTA-STS, Mailgun, SendGrid, Postmark, tu propio SMTP) según la documentación de tu proveedor.
- Publica el registro TXT en `<selector>._domainkey.<tu-dominio>` en tu DNS. Si tu proveedor limita un único string TXT a 255 caracteres (la mayoría lo hace: es el límite del RFC), usa el formato dividido que te damos: `"part1" "part2"` en una sola línea.
- Espera a la propagación DNS (unos minutos a unas horas), luego envía un correo de prueba y comprueba en los headers `dkim=pass`. Gmail lo muestra bajo "Mostrar original".
Cuándo es útil
Seis escenarios típicos en los que necesitas un par DKIM fresco:
- Montar DKIM por primera vez en un dominio o servidor de correo nuevo. Necesitas el par antes de poder configurar cualquiera de los dos lados.
- Rotación de claves cada 6-12 meses como práctica de higiene de seguridad. Genera un selector nuevo, publícalo, cambia la clave de firma en el servidor y retira el selector antiguo tras un periodo de gracia.
- Sospecha de compromiso de clave: si crees que la clave privada se filtró (brecha en el servidor, commit accidental a un repo público, ex admin aún con acceso), genera una nueva al momento y revoca la antigua vaciando su valor `p=`.
- Añadir una segunda fuente de envío (un proveedor transaccional como SendGrid junto a tu propio Postfix). Cada fuente suele querer su propio selector y clave.
- Migrar de una clave legacy de 1024 bits a una moderna de 2048. La mayoría de proveedores avisan a gritos sobre esto en 2026.
- Probar DKIM en un dominio de staging antes de activarlo en el correo de producción.
Herramientas relacionadas: verificador DNS de email (verifica el registro publicado), consulta DNS, analizador de cabeceras de correo.