Saltar al contenido
ecdsa.com
GnuPG (gpg --verify, git verify-commit / verify-tag)Git

Mensaje de error

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

También se muestra como

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

El ID de usuario entre comillas y el nivel de confianza entre corchetes (`[ultimate]`, `[full]`, `[unknown]`) proceden de tu anillo de claves.

Qué significa

gpg tiene la clave pública del firmante, comprueba la firma y la comprobación falla: los datos no son lo que firmó el titular de la clave. A diferencia de «No public key», este es un resultado negativo definitivo: el archivo o el objeto se modificó después de la firma, o la firma corresponde a otros datos. Trata el contenido como no fiable. La palabra entre corchetes es tu nivel de confianza en la clave, no forma parte del veredicto.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Volver a obtener ambos archivos y verificar de nuevo

    Si el resultado sigue siendo BAD con archivos obtenidos por un canal fiable, no uses el contenido y avisa a quien lo publica.

    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 de la conversión los archivos de texto firmados

    Marca los archivos de firmas y de sumas de comprobación como binarios en `.gitattributes` para que la conversión de finales de línea no los toque nunca.

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

Errores relacionados

Explorar toda la base de datos de errores de firma