Zum Inhalt springen
ecdsa.com
GnuPG (gpg --verify, git verify-commit / verify-tag)Git

Fehlermeldung

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

Auch ausgegeben als

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

Die User-ID in Anführungszeichen und die Vertrauensstufe in eckigen Klammern (`[ultimate]`, `[full]`, `[unknown]`) stammen aus deinem Schlüsselbund.

Was der Fehler bedeutet

gpg hatte den öffentlichen Schlüssel des Signierers, hat die Signatur geprüft, und die Prüfung ist fehlgeschlagen: Die Daten sind nicht das, was der Schlüsselinhaber signiert hat. Anders als bei „No public key“ ist das ein eindeutig negatives Ergebnis – die Datei oder das Objekt wurde nach dem Signieren verändert, oder die Signatur gehört zu anderen Daten. Behandle den Inhalt als nicht vertrauenswürdig. Das Wort in eckigen Klammern ist deine Vertrauensstufe für den Schlüssel, nicht Teil des Urteils.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Beide Dateien neu beschaffen und erneut prüfen

    Lautet das Ergebnis auch bei Dateien, die du über einen vertrauenswürdigen Kanal bezogen hast, weiterhin BAD, verwende den Inhalt nicht und benachrichtige den Herausgeber.

    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.

    Signierte Textdateien vor Konvertierung schützen

    Markiere Signatur- und Prüfsummendateien in `.gitattributes` als binär, damit die Konvertierung der Zeilenenden sie nie anrührt.

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

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen