auth.dkim.weak_hash_algorithm

DKIM Allows SHA-1 Signatures

What we check

We read the h= tag of the DKIM key record — the list of hash algorithms a verifier may accept for this key. sha1 is cryptographically outdated (vulnerable to collision attacks); RFC 8301 requires sha256 and forbids rsa-sha1 for signing and verifying.

What this finding means

A DKIM key on this domain lists sha1 as an acceptable hash algorithm. SHA-1 is broken for cryptographic signatures — practical collision attacks exist — so a signature that relies on it offers materially weaker protection than one bound to SHA-256.

Why it matters

How to fix

  1. Restrict the key to SHA-256. Set h=sha256 (or remove sha1 from the list) in the DKIM record:

    selector1._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."
    
  2. Confirm your signer uses rsa-sha256. Most current MTAs and hosted platforms already do; regenerating the key through the provider's current workflow sets it correctly.

How it's graded

Allowing SHA-1 in DKIM carries a 10-point deduction in the Authentication category. See Grading Methodology for the full scoring model.

Evidence example

$ dig +short TXT selector1._domainkey.example.com | tr -d '"'
v=DKIM1; k=rsa; h=sha1:sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...
                  ^^^^ sha1 accepted — RFC 8301 forbids rsa-sha1

References