Ejemplo: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=s2026; t=1792483200; x=1793088000; h=from:to:subject:date:message-id; bh=…; b=…. bh es el SHA-256 en base64 del cuerpo canonicalizado; con la canonicalización relaxed del cuerpo, el hash del cuerpo vacío es 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=. La firma cubre los encabezados de la lista, en orden, y después el propio encabezado DKIM-Signature con b= vacío.
Etiquetas que conviene revisar: h= debe incluir From (el RFC 6376 lo exige); incluir un encabezado en la lista más veces de las que aparece (sobrefirma u oversigning) impide que un atacante añada una segunda copia; l= limita la longitud del cuerpo firmado, lo que permite a cualquiera añadir contenido al final, así que no debe usarse; t= y x= indican la hora de la firma y la de caducidad; i= es el identificador del agente o del usuario dentro de d=.
El registro de la clave en s._domainkey.d es v=DKIM1; k=rsa; p=… (la clave pública en base64, que para RSA es en la práctica un SubjectPublicKeyInfo y para k=ed25519 es la clave en bruto de 32 bytes); un p= vacío revoca la clave. Una clave RSA de 2048 bits ocupa 392 caracteres en base64, más que una cadena TXT de 255 bytes, así que debe dividirse en varias cadenas dentro de un mismo registro.