nginx fidato ufficiale ppa dà KEYEXPIRED errore gpg


34

Ricevo il seguente errore ogni volta che eseguo apt-get upgrade:

Errore GPG: http://nginx.org trusty Rilascio: le seguenti firme non erano valide: KEYEXPIRED 1471427554

Ho appena installato nginx ppa ufficiale in modo standard, dopo aver aggiunto quanto segue al mio sources.list

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

È un errore dalla loro fine che risolveranno eventualmente, o c'è qualcosa che dovrò fare dalla mia fine?


1
Hai scaricato questa chiave da NGINX , quindi esegui sudo apt-key add nginx_signing.keye ricevi ancora questo errore?
Thomas Ward

2
questo succede ... a volte. Ma questo ("1471427554") non sembra una chiave GPG valida. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -eseguirà entrambi i passaggi suggeriti da @ThomasWard con un piccolo comando.
Phillip -Zyan K Lee- Stockmann,

LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554restituisce il seguente errore: 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
sì, anche il file chiave è disponibile tramite https.
Phillip -Zyan K Lee- Stockmann,

1
@Phillip: In realtà, 1471427554 è il timestamp del tempo di scadenza per la chiave di firma APT. Le versioni moderne del comando date lo analizzeranno in un formato leggibile per te: date -u -d @1471427554Wed Aug 17 09:52:34 UTC 2016.
BertD

Risposte:


48

Dopo aver aggiunto un repository di terze parti a un /etc/apt/sources.list.d/*file o /etc/apt/sources.list, è necessario assicurarsi che la chiave gpg corrispondente sia inserita nel keystore apt.

Per essere più specifici per questo caso speciale del repository nginx.org: è necessario aggiungere il file chiave gpg nginx.org utilizzato per la firma del repository.

Questo può essere fatto scaricando il file https://nginx.org/keys/nginx_signing.key manualmente ed emettendolosudo apt-key add nginx_signing.key (come suggerito da nginx.org e @ThomasWard) oppure puoi farlo in una sola riga:

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

Ok, ha funzionato, ma devo essere frainteso o mancare qualcosa. Perché questo improvvisamente è apparso ora? Non capisco.
codenoob,

1
@linsong ha spiegato perché questo è comparso ora: la vecchia chiave gpg era scaduta il 17 agosto. Quindi era necessario scaricare la nuova chiave.
Phillip -Zyan K Lee- Stockmann

11

La causa principale di questo problema è perché la chiave di firma Nginx "precedente" è scaduta il 17 agosto 2016:

$ sudo apt-key list

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

Per risolvere questo problema, aggiungi la nuova chiave di firma usando il comando come suggerito da @ phillip-zyan-k-lee-stockmann e @ThomasWard:

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

La nuova chiave ora scade nel 2024:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <signing-key@nginx.com>

Penso che nel complesso mi piaccia questa risposta poiché tenta di spiegare cosa è successo meglio. (La spiegazione sopra non si adattava al mio caso d'uso nonostante la risposta.)
codenoob
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.