offizielle Nginx Trusty PPA gibt KEYEXPIRED GPG-Fehler


34

Bei jedem apt-get-Upgrade wird der folgende Fehler angezeigt:

GPG-Fehler: http://nginx.org Trusty Release: Die folgenden Signaturen waren ungültig: KEYEXPIRED 1471427554

Ich habe gerade das offizielle nginx ppa auf die übliche Weise installiert, indem ich Folgendes zu meiner sources.list hinzugefügt habe

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

Ist dies ein Fehler von ihrem Ende, den sie hoffentlich irgendwann beheben werden, oder gibt es etwas, das ich von meinem Ende an tun muss?


1
Haben Sie diesen Schlüssel von NGINX heruntergeladen , dann ausgeführt sudo apt-key add nginx_signing.keyund immer noch diesen Fehler erhalten?
— Thomas Ward

2
das passiert ... manchmal. Dies ("1471427554") sieht jedoch nicht nach einem gültigen GPG-Schlüssel aus. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -führt beide von @ThomasWard vorgeschlagenen Schritte in einem kleinen Befehl aus.
— Phillip-Zyan K Lee- Stockmann

LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554gibt den folgenden Fehler zurück: 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
Ja, die Schlüsseldatei ist auch über https verfügbar.
— Phillip-Zyan K Lee- Stockmann

1
@Phillip: Tatsächlich ist 1471427554 der Zeitstempel der Ablaufzeit für den APT-Signaturschlüssel. Moderne Versionen des Datumsbefehls analysieren es in ein für Sie lesbares Format: date -u -d @1471427554gives Wed Aug 17 09:52:34 UTC 2016.
— BertD

Antworten:


48

Nachdem Sie einer /etc/apt/sources.list.d/*Datei oder ein Repository eines Drittanbieters hinzugefügt haben /etc/apt/sources.list, müssen Sie sicherstellen, dass der entsprechende gpg-Schlüssel in den apt-Keystore eingefügt ist.

Um genauer auf diesen speziellen Fall des nginx.org-Repository einzugehen: Sie müssen die gpg-Schlüsseldatei von nginx.org hinzufügen, die zum Signieren des Repositorys verwendet wird.

Dies kann entweder durch manuelles Herunterladen der Datei https://nginx.org/keys/nginx_signing.key und Ausgabe sudo apt-key add nginx_signing.key(wie von nginx.org und @ThomasWard vorgeschlagen) oder in einer einzigen Zeile erfolgen:

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

Ok, das hat funktioniert, aber ich muss falsch gelesen haben oder etwas verpassen. Warum ist das jetzt plötzlich aufgetaucht? Ich verstehe das nicht.
— Codenoob

1
@ Linsong beschrieb, warum dies jetzt auftauchte: Der alte GPG-Schlüssel war am 17. August abgelaufen. Sie mussten also den neuen Schlüssel herunterladen.
— Phillip-Zyan K Lee- Stockmann

11

Die Hauptursache für dieses Problem ist, dass der "ältere" Nginx-Signaturschlüssel am 17. August 2016 abgelaufen ist:

$ sudo apt-key list

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

Um dieses Problem zu beheben, fügen Sie den neuen Signaturschlüssel mit dem von @ phillip-zyan-k-lee-stockmann und @ThomasWard vorgeschlagenen Befehl hinzu:

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

Der neue Schlüssel läuft im Jahr 2024 ab:

$ sudo apt-key list

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

Ich denke, dass mir diese Antwort insgesamt gefällt, da sie versucht zu erklären, was besser passiert ist. (Die obige Erklärung passte trotz der Antwort nicht zu meinem Anwendungsfall.)
— Codenoob
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.