如果您使用的是来自 nginx.org 或 nginx.org.cn 的预构建 NGINX 开源版二进制文件,或者如果您是 NGINX Plus 用户,则需立即更新软件的 PGP 密钥。
PGP 密钥是用于对 NGINX 软件包和软件包仓库的元数据进行签名的公共加密密钥,可确保软件包的真实性和完整性。
密钥更新适用对象
NGINX 在其 RPM 软件包和 Debian/Ubuntu 仓库中使用 PGP 密钥,支持您验证已下载软件包的完整性和来源。许多 PGP 密钥用户会将其密钥设置为周期性过期,NGINX 的 PGP 密钥已于 2024 年 6 月 14 日到期。
在以下情况下,您需要更新 PGP 密钥:
- 使用 NGINX 提供的 NGINX 开源版软件包
- 使用 NGINX Plus(无论是否带有 NGINX App Protect)
如果使用从操作系统软件包中获取的 NGINX 开源版,则无需更新 PGP 密钥。
今后,我们将每两年轮换一次 PGP 签名密钥。
更新 PGP 密钥
要转换到更新的密钥,只需重新获取并重新导入密钥即可。不过,PGP 密钥更新流程因操作系统而异。
更新 Debian/Ubuntu 中的密钥
要更新 Debian/Ubuntu 发行版中的 PGP 密钥,请下载新密钥来覆盖旧密钥。
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
运行以下命令,验证新密钥的有效期。
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
更新 Amazon Linux、CentOS、Oracle Linux、RHEL 和 SLES 中的密钥
验证 NGINX 或 NGINX Plus 仓库是否配置为检查和验证 PGP 密钥。该检查默认禁用。
如果您的 YUM 仓库文件中包含以下代码行,则该检查被禁用:
gpgcheck=0
若已明确配置 GPG 检查 (gpgcheck=1
),则需更换 PGP 密钥。
运行 rpm -K
命令即可检查已下载软件包的真实性。
执行以下步骤,更新密钥:
- 检查是否安装了 NGINX PGP 密钥。
-
检查是否安装了 NGINX PGP 密钥。
sudo rpm -e gpg-pubkey-7bd9bf62-5762b5f8
-
检查是否安装了 NGINX PGP 密钥。
curl -O https://nginx.org/keys/nginx_signing.key
sudo rpm --import ./nginx_signing.key
sudo rpm -q gpg-pubkey-7bd9bf62-5762b5f8
联系 NGINX 社区
如果您对此次 PGP 密钥更新或其他技术问题有任何疑问,请通过以下方式解决:
- NGINX 开源版用户 —— 请添加“小 N 助手(微信号:nginxoss)”通过加入到官方微信群进行提问,以了解更多信息。
- NGINX Plus 用户 —— 请联系我们的支持团队。