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?


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 -

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 <signing-key@nginx.com>

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 <signing-key@nginx.com>

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.