什么是GPG签名
看看这个 , 这个和这个问题我要求公众知道以下问题:
-
什么是GPG签名?
-
签名添加或提供给用户的附加安全级别是多少?
-
在Launchpad中使用PPA与GPG签名相关的常见问题是什么?为什么会产生这些问题?
什么是GPG?
GPG或GNU Privacy Guard是一套加密软件。 它可用于加密或签署数据和通信,以确保其真实性。
这种类型的加密基于密钥对。 公钥存在于密钥服务器(例如keyserver.ubuntu.com)上,私钥保密。 使用公钥,可以validation私钥所做的签名。 同样,知道某人的公钥将允许您加密只能由相应密钥的持有者读取的消息。
进一步阅读: GnuPG日常使用(迷你操作……)
这和我有什么关系?
在此上下文中,您正在下载软件包的apt存储库应使用密钥进行签名,以便您可以validation要安装的软件包是否来自他们所说的位置。
签名的存储库中的实际文件是Release
文件。 此文件包含存储库中许多其他文件的校验和。 例如, 这里是官方Ubuntu 12.10存储库的文件及其相应的GPG签名 。 安装程序包时, apt
validation签名。
进一步阅读: 所有关于安全的
常见问题
您的计算机已经知道官方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]?
虽然可以通过使用--allow-unauthenticated
标志运行apt
来使这些警告静音,但最好将密钥添加到系统中,以便您可以利用增加的安全性。
添加PPA时,您应该使用add-apt-repository
工具,因为这将自动处理为您添加密钥。 如果需要手动添加密钥,请使用以下命令:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID_HERE
如果您不想使用终端进行此操作 , 请参阅此答案 。