如果您使用的是来自 nginx.org 或 nginx.org.cn 的预构建 NGINX 开源版二进制文件,或者如果您是 NGINX Plus 用户,则需立即更新软件的 PGP 密钥。
PGP 密钥是用于对 NGINX 软件包和软件包仓库的元数据进行签名的公共加密密钥,可确保软件包的真实性和完整性。
NGINX 在其 RPM 软件包和 Debian/Ubuntu 仓库中使用 PGP 密钥,支持您验证已下载软件包的完整性和来源。许多 PGP 密钥用户会将其密钥设置为周期性过期,NGINX 的 PGP 密钥已于 2024 年 6 月 14 日到期。
在以下情况下,您需要更新 PGP 密钥:
如果使用从操作系统软件包中获取的 NGINX 开源版,则无需更新 PGP 密钥。
今后,我们将每两年轮换一次 PGP 签名密钥。
要转换到更新的密钥,只需重新获取并重新导入密钥即可。不过,PGP 密钥更新流程因操作系统而异。
要更新 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
验证 NGINX 或 NGINX Plus 仓库是否配置为检查和验证 PGP 密钥。该检查默认禁用。
如果您的 YUM 仓库文件中包含以下代码行,则该检查被禁用:
gpgcheck=0
若已明确配置 GPG 检查 (gpgcheck=1),则需更换 PGP 密钥。
运行 rpm -K 命令即可检查已下载软件包的真实性。
执行以下步骤,更新密钥:
sudo rpm -q gpg-pubkey-7bd9bf62-5762b5f8
检查是否安装了 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
如果您对此次 PGP 密钥更新或其他技术问题有任何疑问,请通过以下方式解决:
"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."