oficjalny zaufany ppa nginx daje KEYEXPIRED błąd gpg

34

Za każdym razem, gdy przeprowadzam aktualizację apt-get, pojawia się następujący błąd:

Błąd GPG: http://nginx.org zaufane Wydanie: Niepoprawne były następujące podpisy: KEYEXPIRED 1471427554

Po prostu mam oficjalną wersję nginx ppa zainstalowaną w standardowy sposób, dodając następujące elementy do mojej strony sources.list

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Czy jest to błąd z ich strony, który w końcu naprawią, mam nadzieję, czy jest coś, co będę musiał zrobić od końca?

Mohamed Hafez
źródło
1
Czy pobrałeś ten klucz z NGINX , a następnie uruchom sudo apt-key add nginx_signing.keyi nadal pojawia się ten błąd?
Thomas Ward
2
to się zdarza ... czasami. Ale to („1471427554”) nie wygląda na prawidłowy klucz GPG. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -wykona oba kroki sugerowane przez @ThomasWard w jednym małym poleceniu.
Phillip -Zyan K Lee- Stockmann
LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554zwraca następujący błąd: Executing: /tmp/tmp.EU8uLKmT5b/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 1471427554 gpg: "1471427554" not a key ID: skipping
Phillip -Zyan K Lee- Stockmann
1
tak, plik klucza jest również dostępny przez https.
Phillip -Zyan K Lee- Stockmann
1
@Phillip: Właściwie 1471427554 jest datownikiem czasu wygaśnięcia klucza podpisywania APT. Nowoczesne wersje polecenia date przetworzą go na czytelny format: date -u -d @1471427554daje Wed Aug 17 09:52:34 UTC 2016.
BertD

Odpowiedzi:

48

Po dodaniu repozytorium innej firmy do /etc/apt/sources.list.d/*pliku lub /etc/apt/sources.listmusisz upewnić się, że odpowiedni klucz gpg jest wstawiony do magazynu kluczy apt.

Aby być bardziej szczegółowym w tym szczególnym przypadku repozytorium nginx.org: musisz dodać plik klucza gpg nginx.org używany do podpisywania repozytorium.

Można to zrobić, pobierając plik https://nginx.org/keys/nginx_signing.key ręcznie i wydającsudo apt-key add nginx_signing.key (jak sugerują nginx.org i @ThomasWard) lub możesz to zrobić w jednym wierszu:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
Phillip -Zyan K Lee- Stockmann
źródło
Ok, zadziałało, ale muszę coś źle odczytać lub coś przegapić. Dlaczego to nagle się pojawiło? Nie rozumiem tego
codenoob,
1
@linsong opisał, dlaczego to się teraz pojawiło: stary klucz gpg wygasł 17 sierpnia. Musisz więc pobrać nowy klucz.
Phillip -Zyan K Lee- Stockmann
11

Przyczyną tego problemu jest to, że wygasł „starszy” klucz podpisu Nginx 17 sierpnia 2016 r .:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid                  nginx signing key <[email protected]>

Aby rozwiązać ten problem, dodaj nowy klucz podpisu za pomocą polecenia sugerowanego przez @ phillip-zyan-k-lee-stockmann i @ThomasWard:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

Nowy klucz wygasa teraz w 2024 r .:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <[email protected]>
hwdsl2
źródło
Myślę, że ogólnie podoba mi się ta odpowiedź, ponieważ próbuje wyjaśnić, co stało się lepiej. (Powyższe wyjaśnienie nie pasowało do mojego przypadku użycia pomimo odpowiedzi.)
codenoob