GPG nie może sprawdzić podpisu

10

Próbowałem przekompilować i przebudować źródło libevent2 z oneiric na moim natty server i miałem mały błąd, ponieważ gpg nie mógł sprawdzić podpisu

# 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

Masz pomysł, jak naprawić to ostrzeżenie?

Krzemień
źródło

Odpowiedzi:

10

Wierzę, że konwencjonalnym rozwiązaniem jest instalacja kluczy GnuPG pakietu deweloperów Debiana :

sudo apt-get install debian-keyring
ændrük
źródło
Tak, polecenia gpg sugerowane tutaj przez @enzotib i @Flint nie działały dla mnie na Ubuntu 14.04, przynajmniej do włączenia sprawdzania poprawności podczas działania apt-get source. Ale instalacja debian-keyringpakietu działała, jak sugeruje @ærrük.
fjarlq
10

Przede wszystkim należy zaimportować klucz do lokalnego kluczy, zgodnie z instrukcją @enzotib:

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

Następnie wyeksportuj klucz do lokalnych zaufanych kluczy, aby był zaufany:

gpg --no-default-keyring -a --export 7ADF9466 | gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.gpg --import -
Krzemień
źródło
Działa to w Ubuntu 16.04, gdzie ~/.gnupg/trustedkeys.gpgnie istniało.
Stéphane Gourichon
6

Należy zaimportować klucz do lokalnego kluczy za pomocą następującego polecenia:

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

Następnie spróbuj ponownie wykonać polecenie.

enzotib
źródło
1
Dzięki, ale nadal nie udało się zweryfikować podpisu
Flint
1
@ Flint: działasz jako root, więc również to polecenie powinno być uruchomione jako root, aby przejść do rootowania kluczy. Zrobiłeś to?
enzotib,
5
Czy są jakieś oficjalne źródła potwierdzające, że takie podejście jest bezpieczne? Skąd mam wiedzieć, że 7ADF9466jest to rzeczywiście poprawny klucz do podpisywania, jeśli nie istnieje w pakiecie kluczy? Co uniemożliwia środkowej osobie serwowanie dscpliku podpisanego innym kluczem (być może nawet innym kluczem z tym samym 32-bitowym skrótem).
kasperd