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?


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 -

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

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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.