Gpg --import завершается с ошибкой при отсутствии действительных данных OpenPGP

Впервые я понял, что лучше проверить ключи программного обеспечения привязки, которые я хочу установить. Поэтому я загрузил то, что я думаю, это ключ OpenPGP...

$ wget ftp://ftp.isc.org/isc/bind9/9.9.4/bind-9.9.4.tar.gz.sha1.asc

... тогда я попытался "импортировать" этот ключ, как это...

$ gpg --import bind-9.9.4.tar.gz.sha1.asc

... но я получаю это сообщение об ошибке:

gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Что я делаю неправильно?

Спасибо!

Ответ 1

Синтаксис команды gpg bind-9.9.4.tar.gz.sha1.asc. Конечно, это дает сообщение об ошибке, что открытый ключ не найден. Вы можете загружать открытые ключи из pgpkeys.mit.edu.

Эта статья объясняет процесс шаг за шагом.

Ответ 2

Иногда вы читаете такие слова: "Необходимо проверить целостность загруженных файлов с использованием подписей PGP или MD5 [...], используя следующие команды [...]".

gpg --import KEYS
gpg --verify <software-bundle>.asc

Вы знаете, что вам следует это делать. И, не прочитав все это, вы можете подумать: две команды, одна для прикрепления файла подписи и одна для проверки загруженного программного обеспечения. Это не так.

KEYS не ссылается на загруженный файл asc, а на специальный файл с именем KEYS, который вам нужно скачать отдельно. См. Шаг "Загрузить KEYS". Ссылка не указывает на файл asc, как вы думаете. Это указывает на что-то другое. Эти КЛЮЧИ необходимы для проверки целостности самого файла asc. Вторая команда, похоже, выполняет обе проверки. Он проверяет файл asc, указанный как параметр (с использованием импортированных ключей), но если вы попытаетесь запустить его в автономном файле asc, он говорит:

gpg: no signed data
gpg: can't hash datafile: No data

Поэтому я думаю, что он также проверяет целостность программного обеспечения, которое, как ожидается, будет файлом с тем же именем, кроме хвоста .asc в том же каталоге. (Но я не нашел доказательства для этого, чтобы быть правдой к настоящему времени.)