GPG 签名是什么

GPG 签名是什么

看看这样的问题我请求公众了解以下问题:

  1. GPG 签名有什么用处?

  2. 签名为用户添加或提供了哪些额外的安全级别?

  3. Launchpad 中与 PPA 相关的 GPG 签名有哪些常见问题以及为什么会产生这些问题?

答案1

什么是 GPG?

GPG,或GNU 隐私卫士,是一套加密软件。它可用于加密或签名数据和通信以确保其真实性。

这种加密技术基于密钥对。公钥托管在密钥服务器(例如 keyserver.ubuntu.com)上,私钥则保密。使用公钥,可以验证私钥的签名。同样,知道某人的公钥将允许您加密一条消息,只有相应密钥的持有者才能读取该消息。

进一步阅读:GnuPG 的日常使用(迷你指南……)

这跟我有什么关系?

在这种情况下,您从中下载软件包的 apt 存储库应该由密钥签名,以便您可以验证所安装的软件包是否来自其所述的来源。

存储库中签名的实际文件是Release文件。此文件包含存储库中许多其他文件的校验和。例如,这是文件Ubuntu 12.10 官方仓库及其对应的 GPG 签名. 当您安装包时,apt验证签名。

进一步阅读:关于安全 apt 的一切

常见问题

您的计算机已经知道官方 Ubuntu 档案库的公钥,但如果您想添加 PPA 或第三方存储库,则必须导入其密钥。如果您尝试更新您没有其密钥的存储库,您将看到以下警告:

W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures
couldn't be verified because the public key is not available: NO_PUBKEY B725097B3ACC3965

当你从该存储库安装包时,您还会收到一条警告:

WARNING: The following packages cannot be authenticated!
  dropbox
Install these packages without verification [y/N]?

apt虽然这些警告可以通过使用标志来消除--allow-unauthenticated,但最好将密钥添加到您的系统中,以便您可以利用增加的安全性。

添加 PPA 时您应该使用该add-apt-repository工具,因为它会自动为您添加密钥。如果您需要手动添加密钥,请使用以下命令:

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

如果你不想使用终端,参考这个答案

相关内容