GPG не может проверить подпись

10

Я пытался перекомпилировать и перекомпилировать исходный код libevent2 из oneiric на моем natty-сервере, и у меня возникла небольшая ошибка: gpg не смог проверить подпись

# dpkg-source -x libevent_2.0.12-stable-1.dsc
gpgv: Signature made Fri Jun 17 07:12:50 2011 PDT using DSA key ID 7ADF9466
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./libevent_2.0.12-stable-1.dsc

Есть идеи, как исправить это предупреждение?

кремень
источник

Ответы:

10

Я считаю, что традиционное решение - установить ключи GnuPG пакета Debian Developers :

sudo apt-get install debian-keyring
ændrük
источник
Да, команды gpg, предложенные здесь @enzotib и @Flint, не работали для меня в Ubuntu 14.04, по крайней мере, для включения проверки при запуске apt-get source. Но установка debian-keyringпакета работала, как предполагает @ ændrük.
fjarlq
10

Прежде всего, вы должны импортировать ключ в локальный набор ключей, как указано @enzotib:

gpg --keyserver keyserver.ubuntu.com --recv-keys 7ADF9466

Затем экспортируйте ключ в локальные доверенные ключи, чтобы сделать его доверенным:

gpg --no-default-keyring -a --export 7ADF9466 | gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.gpg --import -
кремень
источник
Это работает в Ubuntu 16.04, где ~/.gnupg/trustedkeys.gpgне было.
Стефан Гурихон
6

Вы должны импортировать ключ в локальный набор ключей с помощью следующей команды:

gpg --keyserver keyserver.ubuntu.com --recv-keys 7ADF9466

Затем попробуйте снова команду.

enzotib
источник
1
Спасибо, но все еще не удалось проверить подпись
Flint
1
@Flint: вы работаете от имени пользователя root, поэтому эту команду также следует запускать от имени пользователя root, чтобы перейти к корневому брелоку. Вы сделали это?
энзотиб,
5
Существуют ли официальные источники, подтверждающие безопасность такого подхода? Как я мог знать, что 7ADF9466это действительно правильный ключ подписи, если он не существует в пакете ключей? Что мешает человеку посередине передать dscфайл, подписанный другим ключом (возможно, даже другим ключом с тем же 32-битным хешем).
Касперд