apt-key 添加的公钥的范围是什么?

apt-key 添加的公钥的范围是什么?

我想知道添加的公钥是否apt-key

  • 每个存储库(存储库中的所有包都使用相同的公钥进行身份验证)或
  • 每个包(同一存储库中的不同包可以使用不同的公钥进行身份验证)。

换句话说,公钥验证什么:包、存储库还是其他东西?

的联机帮助页apt-key

apt-key 用于管理 apt 用于身份验证的密钥列表。已使用这些密钥进行身份验证的包将被视为受信任。

...通过 apt-key 手动添加的密钥经过验证是否属于其所有者至关重要 存储库他们声称是为了。

例如,我想知道为什么没有存储库或其他指定为公钥适用范围的东西?

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

谢谢。

答案1

密钥本身根本没有范围:添加到apt密钥环的任何密钥都被视为有效的签名密钥。

在 Debian 风格的存储库中,签名适用于整个存储库:每个存储库的Release文件都经过签名,作为分离签名 ( Release.gpg) 或内联签名 ( InRelease)。签名指示哪个密钥用于签署文件(或哪个密钥,因为一个文件可以由多个密钥签名)。其他所有内容均使用Release文件中的信息进行验证。看如何保证 Debian 软件包的真实性?了解详情。

如果您想指定应使用哪些密钥来验证给定存储库,您可以在 中的存储库描述中执行此操作sources.list,而不是在将密钥添加到apt的密钥环时执行此操作;请参阅Signed-By中的选项联机sources.list帮助页

相关内容