Pular para o conteúdo
ecdsa.com
GnuPG (gpg --verify, git verify-commit / verify-tag)Git

Mensagem de erro

gpg: BAD signature from "Release Bot <release@example.com>" [ultimate]

Também aparece como

  • gpg: BAD signature from "Release Bot <release@example.com>" [unknown]

O ID de usuário entre aspas e o nível de confiança entre colchetes (`[ultimate]`, `[full]`, `[unknown]`) vêm do seu chaveiro.

O que significa

O gpg tinha a chave pública do signatário e verificou a assinatura, e a verificação falhou: os dados não são o que o portador da chave assinou. Ao contrário de “No public key”, este é um resultado negativo definitivo — o arquivo ou o objeto foi alterado depois de assinado, ou a assinatura pertence a outros dados. Trate o conteúdo como não confiável. A palavra entre colchetes é o seu nível de confiança na chave, e não parte do veredito.

Por que acontece

Como corrigir

  1. 1.

    Baixar os dois arquivos de novo e verificar outra vez

    Se o resultado continuar BAD com arquivos obtidos por um canal confiável, não use o conteúdo e avise quem o publicou.

    bash
    # Fetch both files again over a verified channel and compare
    sha256sum release.tar.sha256
    curl -sSLO https://example.com/downloads/release.tar.sha256
    curl -sSLO https://example.com/downloads/release.tar.sha256.asc
    gpg --verify release.tar.sha256.asc release.tar.sha256
  2. 2.

    Proteger arquivos de texto assinados contra conversão

    Marque os arquivos de assinatura e de checksum como binários no `.gitattributes`, para que a conversão de quebras de linha nunca os altere.

    text
    # .gitattributes: never convert line endings of signed files
    *.asc  -text
    *.sig  -text
    SHA256SUMS -text

Erros relacionados

Ver toda a base de erros de assinatura