Le ppa officiel nginx fidèle donne l'erreur KEYEXPIRED gpg

34

Je reçois l'erreur suivante chaque fois que je fais apt-get upgrade:

Erreur GPG: http://nginx.org trusty Version: Les signatures suivantes n'étaient pas valides: KEYEXPIRED 1471427554

Je viens de faire installer la version standard du ppa officiel nginx en ajoutant ce qui suit à mon sources.list

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

S'agit-il d'une erreur de leur part qu'ils vont éventuellement réparer, ou y a-t-il quelque chose que je vais devoir faire de ma part?

Mohamed Hafez
la source
1
Avez-vous téléchargé cette clé à partir de NGINX , puis exécuté sudo apt-key add nginx_signing.keyet obtenez toujours cette erreur?
Thomas Ward
2
cela arrive ... parfois. Mais cela ("1471427554") ne ressemble pas à une clé GPG valide. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -effectuera les deux étapes suggérées par @ThomasWard en une seule petite commande.
Phillip -Zyan K Lee- Stockmann
LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554renvoie l'erreur suivante: 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
oui, le fichier de clé est également disponible via https.
Phillip -Zyan K Lee- Stockmann
1
@Phillip: En fait, 1471427554 est l'horodatage de l'heure d'expiration de la clé de signature APT. Les versions modernes de la commande date l’analyseront dans un format lisible pour vous: date -u -d @1471427554donne Wed Aug 17 09:52:34 UTC 2016.
BertD

Réponses:

48

Après avoir ajouté un référentiel tiers à un /etc/apt/sources.list.d/*fichier ou /etc/apt/sources.list, vous devez vous assurer que la clé gpg correspondante est insérée dans le magasin de clés apt.

Pour être plus spécifique à ce cas particulier du référentiel nginx.org: vous devez ajouter le fichier de clé npgx.org gpg utilisé pour la signature du référentiel.

Cela peut être fait soit en téléchargeant manuellement le fichier https://nginx.org/keys/nginx_signing.key et sudo apt-key add nginx_signing.keyen le lançant (comme suggéré par nginx.org et @ThomasWard), soit en une seule ligne:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
Phillip -Zyan K Lee-Stockmann
la source
Ok, cela a fonctionné, mais je dois mal interpréter ou rater quelque chose. Pourquoi est-ce que cela est apparu soudainement? Je ne comprends pas ça.
codenoob
1
@linsong a expliqué pourquoi cela est apparu maintenant: l'ancienne clé gpg avait expiré le 17 août. Il fallait donc télécharger la nouvelle clé.
Phillip -Zyan K Lee- Stockmann
11

La cause principale de ce problème est que la "plus ancienne" clé de signature Nginx a expiré le 17 août 2016:

$ sudo apt-key list

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

Pour résoudre ce problème, ajoutez la nouvelle clé de signature à l'aide de la commande suggérée par @ phillip-zyan-k-lee-stockmann et @ThomasWard:

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

La nouvelle clé expire maintenant en 2024:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <[email protected]>
hwdsl2
la source
Je pense que cette réponse me plait dans l’ensemble car elle tente de mieux expliquer ce qui s’est passé. (L'explication ci-dessus ne correspondait pas à mon cas d'utilisation malgré la réponse.)
codenoob