Перейти к содержимому
ecdsa.com
GnuPG (gpg --verify, git verify-commit / verify-tag)Git

Сообщение об ошибке

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

Также выводится как

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

Идентификатор пользователя в кавычках и уровень доверия в квадратных скобках (`[ultimate]`, `[full]`, `[unknown]`) берутся из вашей связки ключей.

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

У gpg был открытый ключ подписанта, gpg проверил подпись, и проверка не прошла: данные не совпадают с тем, что подписал владелец ключа. В отличие от «No public key», это окончательный отрицательный результат — файл или объект изменили после подписания, или подпись относится к другим данным. Считайте содержимое недоверенным. Слово в квадратных скобках — ваш уровень доверия к ключу, а не часть вердикта.

Почему это происходит

Как исправить

  1. 1.

    Скачайте оба файла заново и проверьте ещё раз

    Если и с файлами, полученными по надёжному каналу, результат остаётся BAD, не используйте содержимое и сообщите тому, кто его опубликовал.

    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.

    Защитите подписанные текстовые файлы от преобразования

    Отметьте файлы подписей и контрольных сумм в `.gitattributes` как двоичные, чтобы преобразование концов строк их никогда не затрагивало.

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

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

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