Answers:
我从Ubuntu Community Help Wiki找到了一个很好的解释。
通常从软件存储库的维护者那里获得“认证密钥”。维护人员通常会将身份验证密钥的副本放置在公共密钥服务器上,例如www.keyserver.net。然后可以使用命令检索密钥。
Apt-get
程序包管理使用公共密钥加密技术对下载的程序包进行身份验证。
- Debian在解释此Wiki页面上的Secure apt方面做得非常出色。
以下是从Debian的Wiki页面收集的密钥获取和验证过程的简短摘要。
基本概念公钥密码术基于一对密钥a
public key
和aprivate key
。在public key
被赋予了世界; 在private key
必须保持秘密。拥有公共密钥的任何人都可以对消息进行加密,以便只有拥有私有密钥的人才能读取该消息。也可以使用私钥对文件进行签名,而不是对其进行加密。如果使用私钥对文件签名,则拥有公钥的任何人都可以检查该文件是否已由该密钥签名。没有私钥的人都不能伪造这样的签名。gpg(GNU Privacy Guard)是安全用于签名文件和检查其签名的工具。
apt-key是用于管理gpg密钥的密钥环以实现安全apt的程序。密钥环保存在文件中
/etc/apt/trusted.gpg
(不要与相关的混淆,但不是很有趣/etc/apt/trustdb.gpg
)。apt-key可用于显示密钥环中的密钥,以及添加或删除密钥。每次将另一个apt存储库添加到时
/etc/apt/sources.list
,如果您希望易于信任它,还必须提供apt的密钥。获取密钥后,可以通过检查密钥的指纹然后使用您的私钥对该公钥进行签名来对其进行验证。然后,您可以使用以下命令将密钥添加到apt的密钥环中apt-key add <key>