每次执行 apt-get upgrade 时都会出现以下错误:
GPG 错误:http://nginx.org可信版本:以下签名无效:KEYEXPIRED 1471427554
我刚刚以标准方式安装了官方的 nginx ppa,方法是将以下内容添加到我的 sources.list 中
deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx
这是他们的错误吗?希望他们最终能够修复它,还是我需要做些什么?
答案1
将第三方存储库添加到/etc/apt/sources.list.d/*
文件或后/etc/apt/sources.list
,您需要确保相应的 gpg 密钥已插入 apt 密钥库。
针对 nginx.org 存储库的这个特殊情况更具体地说:您需要添加用于签署存储库的 nginx.org gpg 密钥文件。
可以通过下载文件https://nginx.org/keys/nginx_signing.key手动并发出sudo apt-key add nginx_signing.key
(按照建议nginx.org和@ThomasWard) 或者你可以用一行来完成这个:
wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
答案2
该问题的根本原因是因为“较旧”的 Nginx 签名密钥已于 2016 年 8 月 17 日过期:
$ sudo apt-key list
pub 2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid nginx signing key <[email protected]>
要解决此问题,请使用 @phillip-zyan-k-lee-stockmann 和 @ThomasWard 建议的命令添加新的签名密钥:
wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
新密钥将于 2024 年到期:
$ sudo apt-key list
pub 2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid nginx signing key <[email protected]>