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
- Weakened integrity guarantee. DKIM's job is to prove a message wasn't altered. SHA-1 collisions undermine that proof in a way SHA-256 does not.
- Against the current standard. RFC 8301 states
rsa-sha1 MUST NOT be used. Advertising SHA-1 support keeps a deprecated algorithm alive in your configuration. - Trivial to fix. Modern signers default to SHA-256; the fix is usually just removing
sha1from theh=tag or regenerating the key with current defaults.
How to fix
Restrict the key to SHA-256. Set
h=sha256(or removesha1from the list) in the DKIM record:selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."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