Перейти к содержимому
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=` и с `i=` за пределами `d=`). mailauth при синтаксических проблемах выдаёт `dkim=neutral` с комментарием, где названа проблема; если точнее назвать её нельзя, в комментарии будет «signature syntax error».

Что это означает

DKIM-подпись вообще не удалось оценить, и повторная попытка не поможет: заголовок `DKIM-Signature` синтаксически некорректен или нарушает правила RFC 6376 (нет обязательного тега, например `bh=` или `b=`; неизвестная версия; неподдерживаемый алгоритм; идентификатор `i=` за пределами домена `d=`; `From` нет среди подписанных заголовков), либо запись с открытым ключом непригодна. RFC 8601 называет это постоянной ошибкой. Для 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` (с oversigning) и поддерживаемая реализация подписи вместо самописного кода.

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

Связанные ошибки

Открыть всю базу ошибок подписей