Pular para o conteúdo
ecdsa.com
OpenDKIM (Authentication-Results); mailauth reports syntax errors as dkim=neutralDKIM

Mensagem de erro

dkim=permerror

Também aparece como

  • dkim=neutral (signature syntax error)

O OpenDKIM grava só `dkim=permerror`, sem motivo (reproduzido com assinaturas sem `bh=`, com `v=2`, com um `a=` desconhecido e com `i=` fora de `d=`). O mailauth informa problemas de sintaxe como `dkim=neutral`, com um comentário que indica o problema ou, como padrão, “signature syntax error”.

O que significa

A assinatura DKIM não pôde ser avaliada de forma alguma, e tentar de novo não adianta: o cabeçalho `DKIM-Signature` tem a sintaxe quebrada ou viola as regras da RFC 6376 (falta uma tag obrigatória como `bh=` ou `b=`, a versão é desconhecida, o algoritmo não tem suporte, a identidade `i=` está fora do domínio `d=`, `From` não está entre os cabeçalhos assinados), ou o registro da chave pública é inutilizável. A RFC 8601 chama isso de erro permanente. Para o DMARC, isso não conta como aprovação.

Por que acontece

Como corrigir

  1. 1.

    Listar as tags da assinatura

    Desfaça a quebra de linhas do cabeçalho e verifique as tags obrigatórias e os valores delas; o depurador de DKIM faz isso e aponta a tag problemática.

    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.

    Usar uma configuração padrão de assinatura

    RSA-SHA256 (opcionalmente com Ed25519), `From` assinado (e com oversigning) e uma implementação de assinatura com manutenção ativa, em vez de código próprio.

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

Erros relacionados

Ver toda a base de erros de assinatura