Aller au contenu
ecdsa.com
OpenDKIM (Authentication-Results); mailauth reports syntax errors as dkim=neutralDKIM

Message d’erreur

dkim=permerror

Également affiché sous la forme

  • dkim=neutral (signature syntax error)

OpenDKIM écrit un simple `dkim=permerror` sans raison (reproduit avec des signatures dépourvues de `bh=`, avec `v=2`, avec un `a=` inconnu et avec un `i=` hors de `d=`). mailauth signale les problèmes de syntaxe par `dkim=neutral`, avec un commentaire qui nomme le problème ou, à défaut, « signature syntax error ».

Ce que cela signifie

La signature DKIM n’a pas pu être évaluée du tout, et réessayer n’y changera rien : l’en-tête `DKIM-Signature` est syntaxiquement incorrect ou enfreint les règles de la RFC 6376 (balise obligatoire comme `bh=` ou `b=` absente, version inconnue, algorithme non pris en charge, identité `i=` hors du domaine `d=`, `From` absent des en-têtes signés), ou bien l’enregistrement de la clé publique est inutilisable. La RFC 8601 qualifie ce cas d’erreur permanente. Pour DMARC, ce n’est pas un résultat pass.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Lister les balises de la signature

    Dépliez l’en-tête et vérifiez les balises obligatoires et leurs valeurs ; le débogueur DKIM le fait pour vous et désigne la balise fautive.

    bash
    # Show the DKIM-Signature as one line and list its tags
    awk '/^DKIM-Signature:/{p=1} p&&/^[^ \t]/&&!/^DKIM-Signature:/{p=0} p' message.eml | tr -d '\r\n\t' | tr ';' '\n'
    # required: v=1 a= b= bh= d= h= (containing "from") s=
  2. 2.

    Utiliser une configuration de signataire standard

    RSA-SHA256 (éventuellement complété par Ed25519), `From` signé (et sur-signé), et une implémentation de signature maintenue plutôt que du code maison.

    text
    # OpenDKIM signer: standard algorithm, From always signed
    SignatureAlgorithm  rsa-sha256
    OversignHeaders     From
    Canonicalization    relaxed/simple

Erreurs associées

Parcourir toute la base de données des erreurs de signature