Generador de registros DKIM

Cree un par de claves DKIM en su navegador y obtenga el registro DKIM que debe publicar. ¿Usa Google Workspace o Microsoft 365? Ellos crean la clave: le mostramos dónde.

Claves creadas con Web Crypto en su navegador, sin enviarse · RFC 6376, 8301 y 8463 · configuraciones DKIM de 20 remitentes verificadas
Ejemplo

Generar una clave para example.com

Se crea en su navegador con Web Crypto. La clave privada nunca sale de esta pestaña.

¿Quién firma su correo?
Crea su propia clave
Acepta su clave
Usa su clave
kTipo de clave

Lo que pide el RFC 8301. La opción habitual.

sSelector
._domainkey.example.com
Un nombre nuevo para cada clave nueva. Los nombres con fecha indican cuándo se creó.
tOpciones del registro
Avanzado
Se crea en su navegador con Web Crypto. La clave privada nunca sale de esta pestaña.

Su clave

Clave privada · Guárdela en su servidorMarco aislado: sin red, y ningún otro script de esta página puede leerla

Funciona sin conexión: apague su Wi-Fi y genere de nuevo.

Configurar OpenDKIM

Archivo de clave
# Key file: only the opendkim user may read it
$ sudo mkdir -p /etc/opendkim/keys/example.com
$ sudo nano /etc/opendkim/keys/example.com/s.private
$ sudo chown -R opendkim:opendkim /etc/opendkim/keys
$ sudo chmod 600 /etc/opendkim/keys/example.com/s.private

Plan de rotación

  1. HoyPublique y empiece a firmar con él.
  2. En seis mesesCree … y publíquelo junto a .
  3. CambioFirme con ….
  4. De 7 a 30 días despuésMantenga publicado para el correo que aún está en tránsito.
  5. RevocarPublique una clave vacía en ; no lo elimine.v=DKIM1; k=rsa; p=

Después de publicar

Verificación completa: example.comEl enlace lleva estos ajustes, nunca una clave. Consultado desde su navegador: el resolvedor de Cloudflare, el de Google como segunda opinión.

¿Cómo genero una clave y un registro DKIM?

Cree un par de claves RSA 2048, guarde la clave privada en el servidor que firma su correo y publique la clave pública como registro TXT en selector._domainkey.sudominio (RFC 6376).

Elija un nombre de selector nuevo para cada clave, como el mes en que se creó, para que la clave anterior pueda seguir publicada mientras el correo firmado con ella aún está en camino.

Luego instale la clave privada en su firmante y envíe un mensaje de prueba: el encabezado DKIM-Signature indica el dominio (d=) y el selector (s=) que consultarán los receptores.

Clave privadase queda en su servidor de correofirma cada mensaje
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s202610; …
Clave públicapublicada en DNSs202610._domainkey.example.comlos receptores verifican con ella ✓
Dos mitades de una misma clave
Generador DKIM con una clave privada RSA 2048 en un marco aislado del navegador, archivos de OpenDKIM y plan de rotaciónGenerador DKIM con una clave privada RSA 2048 en un marco aislado del navegador, archivos de OpenDKIM y plan de rotaciónUna clave privada que ningún otro script puede leerSe crea y se guarda en un marco aislado que no puede llegar a la red.La forma que lee su firmantePKCS#8, PKCS#1 o una línea de base64, elegida para su firmante.Cero solicitudes, y funciona sin conexiónUn conteo en vivo de las solicitudes de red desde que pulsó Generar.Los archivos de su firmanteOpenDKIM, rspamd, Exim, Postfix o Amazon SES, con su dominio y su selector completados.Un selector con fechaSu nombre indica cuándo se creó la clave; el plan de rotación de abajo fecha la próxima clave y la revocación.
Una clave RSA 2048 para OpenDKIM creada con Web Crypto: la clave privada en un marco aislado sin red, los archivos del firmante completados y el plan de rotación con fechas reales.

¿Necesito generar mi propia clave DKIM?

Solo si su propio servidor firma su correo: Google Workspace, Microsoft 365 y la mayoría de los servicios de correo crean la clave ellos mismos y le muestran el registro que debe publicar, así que una clave de cualquier generador nunca se usaría.

Su propia clave importa para Postfix con OpenDKIM, rspamd, Exim, Haraka, su propia aplicación y los servicios que aceptan una, como Amazon SES (BYODKIM) y Mailgun.

RemitenteClave creada porUsted publicaSelectores
Google Workspaceel proveedorTXT (su clave)google
Microsoft 365el proveedorCNAME a sus clavesselector1, selector2
SendGridel proveedorCNAME a sus clavess1, s2
Mailchimpel proveedorCNAME a sus clavesk2, k3
Postmarkel proveedorTXT (su clave)<date>pm
Brevoel proveedorCNAME a sus clavesbrevo1, brevo2
Zoho Mailel proveedorTXT (su clave)zoho
Amazon SEScualquieraTXT (su clave)cualquiera
MailguncualquieraTXT (su clave)cualquiera
OpenDKIMustedTXT (su clave)cualquiera
rspamdustedTXT (su clave)cualquiera
EximustedTXT (su clave)cualquiera
Quién crea la clave

¿Qué lleva un registro DKIM?

Un registro TXT en selector._domainkey.dominio con v=DKIM1, el tipo de clave k= y la clave pública p=; las etiquetas opcionales limitan los hashes (h=) o los servicios (s=), o marcan la clave como de prueba (t=).

Un p= vacío significa que la clave está revocada. Las claves RSA se publican como SubjectPublicKeyInfo, que OpenDKIM y rspamd exigen; las claves Ed25519, como los 32 bytes sin procesar.

s202610._domainkey.example.com · TXT
v=DKIM1; k=rsa; h=sha256; s=email; p=MIIBIjANBgkqhkiG9w0BAQ…GQIDAQAB
EtiquetaSignificadoPredeterminado
vVersión, primero si está presenteDKIM1
kTipo de clave: rsa o ed25519rsa
hHashes permitidostodos
sServicios: email o **
ty = prueba, s = dominio exactoninguno
nNotas para personasninguna
pLa clave pública; vacía = revocadaobligatoria
Un registro DKIM, etiqueta por etiqueta

¿RSA 1024, 2048, 4096 o Ed25519?

Use RSA 2048: 1024 es el mínimo que aceptan los receptores, 4096 exige demasiado a DNS, y Ed25519 es corta pero pruebas independientes encontraron que los grandes proveedores de buzones no la verifican, así que solo sirve junto a una firma RSA.

Muchas herramientas aún usan 1024 por defecto: opendkim-genkey, dkim_keygen de rspamd y Microsoft 365. El RFC 8301 pide 2048.

Si agrega Ed25519, firme también con RSA, con un segundo selector; Yahoo puede no dar por válido DMARC cuando falla una de varias firmas alineadas.

RSA 1024234 caracteres · 1el mínimo
RSA 2048410 caracteres · 2recomendada
RSA 3072582 caracteres · 3compruebe su firmante
RSA 4096754 caracteres · 3puede no caber en UDP
Ed2551966 caracteres · 1los grandes proveedores no la verifican

cadenas de 255 bytes: 255, 510, 765

Longitud del registro según el tipo de clave

¿Cómo configuro OpenDKIM, rspamd o Exim?

Guarde la clave privada donde solo el firmante pueda leerla, asocie su dominio y su selector con ella en la configuración del firmante y reinicie; las pestañas muestran los archivos de cada firmante con sus nombres completados.

Compruebe el resultado enviándose un mensaje y leyendo su resultado DKIM en los encabezados, o con nuestro verificador DKIM.

OpenDKIM · KeyTable · SigningTable
# /etc/opendkim/KeyTable
s202610._domainkey.example.com example.com:s202610:/etc/opendkim/keys/example.com/s202610.private

# /etc/opendkim/SigningTable
*@example.com s202610._domainkey.example.com

# /etc/opendkim/TrustedHosts
127.0.0.1
localhost
Rspamd · dkim_signing.conf
# /etc/rspamd/local.d/dkim_signing.conf
domain {
  example.com {
    selector = "s202610";
    path = "/var/lib/rspamd/dkim/example.com.s202610.key";
  }
}
# only if example.com is a subdomain: use_esld = false;
# only if users log in without @example.com: allow_username_mismatch = true;

$ sudo rspamadm configtest && sudo systemctl restart rspamd
Los archivos de su firmante

¿Por qué mi registro DKIM está dividido en varias cadenas?

El registro de una clave de 2048 bits tiene unos 410 caracteres, más que una cadena TXT de 255 bytes, así que DNS lo guarda como dos cadenas que los verificadores unen sin nada en medio.

Cloudflare, Azure y los paneles tipo cPanel aceptan el valor completo y lo dividen; Route 53 y Google Cloud DNS piden que pegue las cadenas entre comillas. GoDaddy limita un valor a 1024 caracteres.

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIaM9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB
1255 B2155 B
s202610._domainkey.example.com. 3600 IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIa"
	"M9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB" )
Un registro de 2048 bits, tal como lo guarda DNS

¿Cómo roto las claves DKIM?

Publique una clave nueva con un selector nuevo, cambie la firma a ella, mantenga el registro anterior de 7 a 30 días para el correo aún en tránsito y luego revóquelo con un p= vacío; M3AAWG indica rotar al menos cada seis meses.

Revoque en lugar de eliminar, para que los verificadores informen el selector anterior como revocado. Nunca reutilice un nombre de selector para una clave nueva.

novdicenefebmarabrmayjunjul
s202611firmase conserva de 7 a 30 díasp= (revocada)
s202705firma
Dos selectores, un relevo

¿Es seguro generar una clave DKIM en línea?

Solo si la clave se crea en su navegador y nunca se envía: esta página la crea con Web Crypto dentro de un marco aislado que no puede llegar a la red, algo que puede confirmar en las herramientas de desarrollo de su navegador.

Algunos generadores en línea crean la clave en su servidor y la devuelven en la respuesta, donde podría registrarse o conservarse. Una clave creada en su navegador solo existe en su pestaña hasta que la guarda.

Ningún otro script de esta página puede leer el marco que guarda la clave, y la página funciona sin conexión: apague su Wi-Fi y genere de nuevo.

Creada en su navegadormarco aisladofunciona sin conexión0solicitudes de red
Creada en un servidorGET /generate?key_size=2048200 {"private_key": "-----BEGIN…"}puede registrarse
Por dónde viaja la clave privada

Preguntas frecuentes sobre el generador de registros DKIM

¿Qué es un registro DKIM?

Un registro DKIM es un registro TXT en selector._domainkey.sudominio que publica la mitad pública de un par de claves. Su servidor de correo firma cada mensaje con la mitad privada, y los receptores obtienen la clave pública para comprobar que el mensaje realmente vino de su dominio y no se alteró en el camino. Lo define el RFC 6376.

¿Es seguro generar claves DKIM aquí?

Sí. El par de claves se crea con Web Crypto en su navegador, dentro de un marco aislado sin acceso a la red, y ningún otro script de la página puede leerlo. No se envía nada: puede ver que la pestaña de red de las herramientas de desarrollo de su navegador permanece vacía, o apagar su conexión y generar de nuevo.

¿Qué tamaño de clave debo usar?

RSA 2048. El RFC 8301 pide a los firmantes al menos 2048 bits, Gmail y Yahoo lo recomiendan, y su registro cabe en la mayoría de los proveedores de DNS como dos cadenas. 1024 es el mínimo que aceptan los receptores; úselo solo si su proveedor de DNS no admite valores largos. 4096 produce un registro largo que puede no caber en una respuesta DNS simple.

¿Necesito una clave DKIM para Google Workspace o Microsoft 365?

No. Google Workspace crea la clave en la Admin console y le muestra un registro TXT para google._domainkey; Microsoft 365 firma con claves detrás de dos registros CNAME, selector1 y selector2. Una clave de cualquier generador nunca se usaría. Elija su remitente en el generador para ver exactamente qué publicar.

¿Qué es un selector DKIM?

Un selector es el nombre que va antes de ._domainkey y que indica a los receptores qué clave obtener, como s202610 en s202610._domainkey.example.com. Permite que un dominio tenga varias claves a la vez, una por servidor, servicio o fecha. El generador sugiere un selector con fecha, de modo que cada clave nueva recibe un nombre nuevo y la rotación es fácil.

¿En qué formato está la clave privada?

PKCS#8 PEM (BEGIN PRIVATE KEY) de forma predeterminada, que leen OpenDKIM, rspamd y Exim. Puede cambiar a PKCS#1 (BEGIN RSA PRIVATE KEY), la forma tradicional que documentan algunas herramientas, o a una línea de base64 sin encabezado ni saltos de línea, que pide Amazon SES BYODKIM. Guárdela con permisos que solo el firmante pueda leer.

¿Puede un dominio tener más de un registro DKIM?

Sí, con selectores distintos: cada servicio que firma su correo puede tener el suyo, y durante una rotación hay dos suyos por un tiempo. Un mismo nombre de selector debe tener un solo registro TXT, eso sí; dos registros en el mismo nombre dejan el resultado indefinido, y los verificadores pueden elegir cualquiera.

¿Por qué mi registro DKIM tiene más de 255 caracteres?

Una clave pública RSA de 2048 bits son 392 caracteres de base64, así que el registro completo mide unos 410. Una cadena TXT guarda como máximo 255 bytes, así que DNS lo guarda como dos cadenas, y los verificadores las unen sin nada en medio. La mayoría de los proveedores de DNS lo dividen por usted; Route 53 y Google Cloud DNS necesitan las cadenas entre comillas.

¿Qué significa t=y en un registro DKIM?

t=y marca la clave como de prueba: los verificadores deben tratar el correo firmado con ella igual que el no firmado, incluso cuando la firma falla. Úselo mientras comprueba su configuración y luego quítelo, porque una clave de prueba no le aporta nada a DMARC. t=s es distinto: exige que la identidad de la firma use exactamente su dominio, no un subdominio.

¿Cada cuánto debo rotar las claves DKIM?

Al menos cada seis meses, como recomienda M3AAWG. Publique la clave nueva con un selector nuevo, cambie su firmante a ella y mantenga el registro anterior de 7 a 30 días mientras el correo firmado aún está en tránsito. Luego revoque el selector anterior publicándolo con un p= vacío, en lugar de eliminarlo.

¿Le falta algo?Sugiera una función o una herramienta nueva