跳至主内容
版本:4.2

包签名

概述

本指南涵盖了 RabbitMQ 版本软件包的签名以及如何验证下载的版本构件的签名。

版本签名允许用户验证他们下载的构件是由可信方(例如团队或软件包分发服务)发布的。这可以使用 GPG 命令行工具来完成。aptyum 等软件包管理工具也会验证仓库签名。

签名密钥

RabbitMQ 的版本构件,包括二进制和源代码,都使用 GnuPG我们的版本签名密钥 进行签名。

此外,Team RabbitMQ 维护的 Debian 仓库的内容也使用相同的密钥进行签名。

导入签名密钥

使用 GPG

在验证签名之前,必须下载 RabbitMQ 签名密钥。该密钥可以直接下载,也可以使用 keys.openpgp.org 获取。推荐直接下载的方法,因为大多数密钥服务器容易过载、被滥用和受到攻击。

直接下载

该密钥通过 GitHubrabbitmq.com 分发。

curl -L https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc --output rabbitmq-release-signing-key.asc
gpg --import rabbitmq-release-signing-key.asc

使用密钥服务器

可以从 keys.openpgp.org 导入该密钥。

gpg --keyserver "hkps://keys.openpgp.org" --recv-keys "0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"

备用密钥服务器

gpg --keyserver "keyserver.ubuntu.com" --recv-keys "0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"
gpg --keyserver "pgp.surfnet.nl" --recv-keys "0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"
gpg --keyserver "pgp.mit.edu" --recv-keys "0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"

使用 apt

在 Debian 和 Ubuntu 系统上,如果使用 apt 仓库 进行安装,则必须先将可信仓库签名密钥添加到系统中,然后才能安装任何软件包。

这可以通过使用密钥服务器或(对于 RabbitMQ 主签名密钥)直接下载来完成。

直接下载

RabbitMQ 主签名密钥通过 GitHubrabbitmq.com 分发。

curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmor > /usr/share/keyrings/com.rabbitmq.team.gpg

使用密钥服务器

相同的 RabbitMQ 主签名密钥可以从 keys.openpgp.org 导入。

curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor > /usr/share/keyrings/com.rabbitmq.team.gpg

使用 Team RabbitMQ 现代 Erlang PPA 时,还需要添加一个密钥。

## Team RabbitMQ's signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor > /usr/share/keyrings/com.rabbitmq.team.gpg

使用 RPM

在基于 RPM 的系统(RHEL、Fedora、CentOS)上,如果使用 yum 仓库 进行安装,应使用 rpm --import 命令导入密钥。

直接下载

该密钥通过 GitHubrabbitmq.com 分发。

rpm --import https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc

验证签名

要检查软件包的签名,请下载 RabbitMQ 签名密钥和签名文件。签名文件使用 .asc 扩展名,该扩展名紧跟在构件文件名之后。例如,rabbitmq-server-generic-unix-4.0.4.tar.xz 的签名文件将是 rabbitmq-server-generic-unix-4.0.4.tar.xz.asc

然后使用 gpg --verify 命令。

gpg --verify [filename].asc [filename]

以下是一个示例会话,在从下载区域检索到 RabbitMQ 源代码存档及其关联的独立签名后:

gpg --verify rabbitmq-server_4.1.4-1_all.deb.asc rabbitmq-server_4.1.4-1_all.deb
# => gpg: Signature made (date elided)
# => gpg: using RSA key 0A9AF2115F4687BD29803A206B73A36E6026DFCA
# => gpg: Good signature from "RabbitMQ Release Signing Key <info@rabbitmq.com>" [unknown]
# (elided)
# => Primary key fingerprint: 0A9A F211 5F46 87BD 2980 3A20 6B73 A36E 6026 DFCA

如果签名无效,将显示“BAD signature”消息。在这种情况下,应仔细验证软件包的来源、签名文件和签名密钥。不得使用签名验证失败的软件包。

如果签名有效,您应该会看到“Good signature”消息;如果您没有签署我们的密钥,您将看到“Good signature”消息以及关于您的密钥不受信任的警告。

如果您信任 RabbitMQ 签名密钥,可以通过使用您自己的密钥对其进行签名来避免 GnuPG 的警告输出(要创建您的私钥,请运行 gpg --gen-key)。

gpg --sign-key 0x0A9AF2115F4687BD29803A206B73A36E6026DFCA
© . This site is unofficial and not affiliated with VMware.