[ DKIM ]

DKIM explained through a received message and its signing domain

Follow a received message from its signature to the public key, trusted verification result and DMARC relationship.

By the EmailAuth research team · 3 min read

[ Key points ]

  • Read each d/s pair from the received original.
  • A signature or DNS key alone does not establish verification.
  • Evaluate DMARC alignment and business safety separately.
On this page

DKIM lets a domain take responsibility for a message through a cryptographic signature. To understand what that means for a specific email, start with the received original rather than a DNS checker. The useful evidence chain is message signature, signing domain and selector, public key, receiver verification result, then any DMARC alignment decision.

Read the identity that was signed

Locate each DKIM-Signature header in the original message. The d= value identifies the signing domain and s= identifies its selector. For DNS-based key retrieval, combine them as selector._domainkey.signing-domain. The signing domain may belong to the author's organisation, a relay or a service acting for it. DKIM deliberately separates signing responsibility from the apparent author. RFC 6376 §1, RFC 6376 §3.5, RFC 6376 §3.6.2.

Illustrative example: From is accounts@example.com and a signature contains d=example.com; s=mail2026. The verifier looks up mail2026._domainkey.example.com. That DNS record supplies public verification material. The private signing key stays with the authorised signer and must not be published. This example explains the lookup; it is not a real signature or a tested message.

Separate presence from successful verification

A DKIM-Signature header can be present and invalid. A DNS key can exist while the application sends no signatures at all. Verification checks the signature structure, key, selected headers and body representation. Changes after signing may break it, depending on what changed and the canonicalisation used. A digest-looking string is not evidence that these checks passed. RFC 6376 §3.4, RFC 6376 §3.5, RFC 6376 §3.7, RFC 6376 §6.

Inspect the receiving system's trusted Authentication-Results or equivalent logs. Understand which authentication service added that result and where untrusted inbound result headers are removed or ignored. A sender can insert plausible-looking pass text into a message, so arbitrary Authentication-Results content is not proof. RFC 8601 §1.2, RFC 8601 §7.1.

Connect the result to the visible author

For DMARC, compare a successfully verified d= domain with the Author Domain from From. Strict DKIM alignment requires an exact match under RFC 9989 §3.2.10; relaxed alignment uses the organisational-domain discovery in RFC 9989 §4.10.2. The selector and optional i= value are not the domains used for this DMARC comparison. If several DKIM signatures are present, one passing aligned signature can supply the DKIM path to DMARC pass. RFC 9989 §4.4.1.

In the example, d=example.com matches the From domain. If instead d=service.example.net verifies, raw DKIM passes but that unrelated domain does not establish alignment with example.com. Do not “fix” this by editing a received header: configure the legitimate signer to use an appropriate supported identity.

Build a useful investigation record

Record message time, route, From domain, each d/s pair, trusted DKIM result and reason, DNS observation time and alignment outcome. Protect the original message because it may contain personal or confidential information. Redacting a copy can invalidate its signature; retain an access-controlled original when re-verification is needed.

If verification fails, investigate whether signing was enabled, the correct key is available, the algorithm is supported and the message changed in transit. Current cryptographic guidance supersedes obsolete defaults: RFC 8301 §3.1 prohibits rsa-sha1 for signing and verification; RFC 8301 §3.2 updates RSA key guidance. Do not use an old tutorial's cryptographic choices merely because its syntax still looks valid. Finish with evidence of the received result, not just evidence that DNS contains a key.

Apply the distinction

For a hypothetical message, write one row for each signature: d, s, lookup owner, trusted verification result and alignment. If the example.com signature fails while an unrelated service.example.net signature passes, do not combine the first domain with the second result. Investigate the failed signature and evaluate SPF separately before assigning DMARC. No message verification was executed for this article.

[ Takeaway ]

Read each d/s pair from the received original. A signature or DNS key alone does not establish verification. Evaluate DMARC alignment and business safety separately.

[ By role ]

What this means for you

Choose your role for practical next steps.

IT / Mail Admin

Record each received d/s pair.

Keep the complete d/s-to-DNS-to-receiver-result chain for each route. Preserve original bytes securely if later re-verification matters.

Next steps

  1. Record each received d/s pair.
  2. Retrieve the exact public key owner name.
  3. Save trusted verification results and secure originals.

CISO / SecOps

Protect private signing-key custody.

Treat a valid signature as domain responsibility for signed content, not proof that the person, request or attachment is safe. Combine authentication with account and abuse controls.

Next steps

  1. Protect private signing-key custody.
  2. Review signature identity and coverage.
  3. Retain abuse controls for authenticated messages.

Founder / Non-technical

Identify important signed message streams.

Ask whether your important services sign with an identity connected to your domain and whether those signatures survive delivery. A published key alone does not answer either question.

Next steps

  1. Identify important signed message streams.
  2. Request proof of a passing aligned identity.
  3. Keep business approval checks independent of DKIM.

[ FAQs ]

Frequently asked questions

Does a DKIM header mean verification passed?

No. A header is an assertion that still needs cryptographic verification with the corresponding key.

RFC 6376 §6.1

What does d= identify?

The domain taking signing responsibility. It can differ from the visible author’s domain.

RFC 6376 §3.5

What does the selector do?

Together with d=, it locates the DNS public key used for verification.

RFC 6376 §3.6.2.1

Can more than one signature be valid?

Yes. Examine each signature and its signing domain, then identify any passing aligned signature for DMARC.

RFC 6376 §4.2 RFC 9989 §4.4.1

Is the public DNS key secret?

No. It is verification material. The corresponding private signing key must remain protected.

RFC 6376 §3.6 RFC 6376 §8.3

Does i= control DMARC DKIM alignment?

No. DMARC uses the validated d= signing domain, not the optional i= identity.

RFC 9989 §4.4.1

Can I verify a redacted email?

Redaction can change signed bytes and invalidate verification. Keep a protected original when verification is required.

RFC 6376 §3.4 RFC 6376 §3.7

Does DKIM make an email safe?

No. It establishes signing responsibility and integrity within its coverage. It does not determine recipient consent, intent or attachment safety.

RFC 6376 §1 RFC 9989 §2.4

[ Sources ]

Sources

  1. RFC 6376

    Sections §1 · §3.1 · §3.4 · §3.5 · §3.6 · §3.6.2.1 · §3.7 · §4.2 · §5.5 · §6.1 · §8.3

  2. RFC 8301

    Sections §3.1 · §3.2

  3. RFC 8601

    Sections §1.2 · §7.1

  4. RFC 9989

    Sections §2.4 · §3.2.10 · §4.4 · §4.4.1 · §4.10.2

[ Glossary ]

Glossary

DKIM
A domain-associated signature over selected message content verified using public-key data.

RFC 6376 §1

Selector
The s value used with the d signing domain to locate verification data.

RFC 6376 §3.1 RFC 6376 §3.5

DMARC alignment
The required relationship between an authenticated identifier and the Author Domain.

RFC 9989 §4.4

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base