本文へスキップ
ecdsa.com
OpenDKIM (Authentication-Results); mailauth reports syntax errors as dkim=neutralDKIM

エラーメッセージ

dkim=permerror

別の表記

  • dkim=neutral (signature syntax error)

OpenDKIM は、理由を付けずに `dkim=permerror` だけを記録します(`bh=` のない署名、`v=2`、不明な `a=`、`d=` の外にある `i=` で再現)。mailauth は構文の問題を `dkim=neutral` として報告し、問題を示すコメントを付けます。問題を特定できない場合は「signature syntax error」となります。

このエラーの意味

DKIM 署名をまったく評価できず、再試行しても解決しません。`DKIM-Signature` ヘッダーの構文が壊れているか、RFC 6376 の規則に違反している(`bh=` や `b=` などの必須タグがない、不明なバージョン、サポートされていないアルゴリズム、`d=` のドメインの外にある `i=` の識別子、署名対象のヘッダーに `From` が含まれていない)か、公開鍵のレコードが使用できない状態です。RFC 8601 はこれを恒久的なエラー(permanent error)と呼んでいます。DMARC では pass として扱われません。

発生する理由

修正方法

  1. 1.

    署名のタグを一覧表示する

    ヘッダーの折り返しを解除し、必須タグとその値を確認してください。DKIM デバッガーはこの作業を行い、問題のあるタグを示します。

    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.

    標準的な署名設定を使う

    RSA-SHA256(必要に応じて Ed25519 も併用)、`From` の署名(およびオーバーサイン)、そして自作のコードではなくメンテナンスされている署名実装です。

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

関連するエラー

署名エラーデータベースをすべて見る