在多台服务器上使用相同的PGP密钥?

时间:2010-12-03 14:51:48

标签: maven pgp gnupg

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

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

我原以为,既然PGP密钥对与我的名字联系在一起,那么 I 作为一个人应该只拥有一个PGP密钥?但情况确实如此吗?我应该为每台机器生成一台吗?只需使用导入/导出来备份它们?我可以做得很好,当我尝试在几台机器上复制一个PGP密钥时,它似乎真的很难,好像我可能以错误的方式使用PGP。也就是说,我在想我为自己创建一个密钥并将其复制到构建服务器,也可能用它来加密来自我自己的电子邮件(我是否应该这样做),等等。

2 个答案:

答案 0 :(得分:4)

拥有多个PGP密钥并不罕见。特别是如果你履行不同的职责。

An example

在主要签约方,参与者经常会出现几个PGP密钥。一个用于私人通信,一个用于在一个项目中签署发布,另一个用于在不同项目中签名,等等。

答案 1 :(得分:0)

如果我理解你的帖子,

  

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

听起来您的问题是您在尝试导入密钥之前加密了密钥。您当然应该保密秘密密钥,并将其保存在受严格权限保护的目录中(例如,如果您使用GPG,则为“chmod 600 secring.gpg”。)但是在导入密钥之前不应加密密钥。你会想到这一点,它会变得清晰:PGP正试图导入密钥对的秘密一半,以便它可以(除其他外)解密使用该密钥对的公共一半加密的消息。但是如果你使用(或任何)公钥加密了密钥(或任何文件),然后PGP程序不知道如何解密你试图导入的密钥。从根本上说,密钥不是密钥;它是一个加密的文件/消息。密钥不应该在导入之前加密。事实上,当密钥应该加密时,唯一的情况是你需要将它安全地存储在某个地方(否则),就像一个紧急备份一样。你把USB存放在某个地方。

此外,有多个秘密密钥或ID或两者都可用于加密文件和消息以实现各种(可能不相关的)目的,这是可能的,而且并非真正罕见。我希望这有助于......姗姗来迟。