2010-12-03 118 views
2

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

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

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

回答

4

拥有更多比一个PGP密钥。特别是如果你履行不同的角色。

An example

在密钥签名方,也经常会参加一些存在的PGP密钥。一个私人通信,一个用于签名的版本在一个项目中,另外一个在不同项目签约等

0

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

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

听起来像你的问题是你在试图导入它之前加密了你的密钥。当然,你应该保密密钥,并保存在一个受严格权限保护的目录中(例如,如果你使用GPG,chmod 600 secring.gpg),但是在导入之前你不应该加密密钥。如果你深入思考这个问题,它会变得很清楚:PGP正试图导入密钥对的秘密一半,这样它就可以(用其他方式)解密使用该密钥对的公开一半加密的消息,但是如果你已经使用(或任何)公共密钥加密了密钥(或任何文件),那么PGP程序不知道如何解密您要导入的密钥。基本上,密钥不是密钥;它是一个加密的文件/消息,密钥在导入之前不应该被加密,事实上唯一的情况是密钥应该被加密,如果你需要安全地将其存储在某个地方(例如) USB FOB你保存在某个地方

另外,为了加密文件和消息以实现各种(可能不相关的)目的,有多于一个密钥或ID或两者都是可能的,而且并非真的不寻常。我希望这有助于...迟来。

相关问题