2

我猜这个问题属于 PGP 密钥的“最佳实践”。首先是一个非常快速的背景。我领导了一个开源项目,并且收到了许多发布到“Apache Maven”存储库的请求。为此,我需要使用 PGP 密钥对每个版本进行签名。

所以我使用 PGP 并在我的本地计算机上生成了一个公钥/私钥。我导出并加密了“密钥”并将其传输到我的“构建服务器”。构建服务器拒绝导入密钥,说它无效。进一步的分析使我相信,因为我们的构建服务器运行在与我在本地计算机上使用的用户 ID 不同的用户 ID 下,所以它们是不兼容的。

我会想,既然 PGP 密钥对与我的名字相关联,那么作为一个人应该只拥有一个 PGP 密钥吗?但真的是这样吗?我应该每台机器生成一个吗?并且只使用导入/导出来备份它们?我可以很好地做到这一点,当我尝试在多台机器上复制 PGP 密钥时,它看起来真的很困难,好像我可能以错误的方式使用 PGP。即,我想我为自己创建一个密钥并将其复制到构建服务器,也许还使用它来加密来自我自己的电子邮件(我是否需要这样做)等等。

4

2 回答 2

4

拥有多个 PGP 密钥并不罕见。特别是如果你扮演不同的角色。

一个例子

在密钥签名方,参与者经常会出示几个 PGP 密钥。一种用于私人交流,一种用于在一个项目中签署发布,另一种用于在不同项目中签署,等等。

于 2010-12-03T15:00:29.430 回答
0

如果我正确理解您的帖子,

我导出并加密了“密钥”并将其传输到我的“构建服务器”。构建服务器拒绝导入密钥,说它无效。

听起来您的问题是您在尝试导入密钥之前对其进行了加密。当然,您应该保密您的密钥,并将其保存在受严格权限保护的目录中(例如,“chmod 600 secring.gpg,如果您使用 GPG)。但您不应该在导入之前加密密钥。如果你深入思考一下,就会很清楚:PGP 正在尝试导入密钥对的秘密部分,以便它可以(除其他外)解密使用该密钥对的公共部分加密的消息。但如果你已经使用(或任何)公钥加密了密钥(或任何文件),那么 PGP 程序不知道如何解密您尝试导入的密钥。从根本上说,密钥不是密钥; 它是一个加密的文件/消息。密钥在导入前不应加密。实际上,唯一需要加密密钥的情况是,如果您需要将其安全地存储在某个地方(其他地方),例如作为 USB 密钥卡上的紧急备份,您可以将其保存在某个地方。

此外,出于各种(可能不相关的)目的,拥有多个密钥或 ID,或两者兼有,用于加密文件和消息是可能的,而且并不罕见。我希望这会有所帮助......姗姗来迟。

于 2011-12-24T05:19:33.473 回答