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

Maven 在多台服务器上使用相同的PGP密钥?,maven,pgp,gnupg,Maven,Pgp,Gnupg,我想这个问题属于PGP密钥的“最佳实践”。首先是一个非常快速的背景。我领导了一个开源项目,并收到了许多发布到“ApacheMaven”存储库的请求。为此,我需要使用PGP密钥对每个版本进行签名 因此,我使用PGP并在本地计算机上生成了一个公钥/私钥。我导出并加密了“密钥”,并将其传输到我的“构建服务器”。生成服务器拒绝导入密钥,说它无效。进一步的分析使我相信,因为我们的构建服务器使用的用户id与我在本地计算机上使用的不同,所以它们是不兼容的 我会想,既然PGP密钥对与我的名字有关,我作为一个人应

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

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


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

拥有多个PGP密钥并不罕见。尤其是当你扮演不同的角色时


在密钥签名方,参与者通常会出示多个PGP密钥。一个用于私人通信,一个用于在一个项目中签署发布,另一个用于在另一个项目中签署,等等。

如果我正确理解您的帖子

我导出并加密了“密钥”,并将其传输到我的 “构建服务器”。生成服务器拒绝导入密钥,表示 这是无效的

听起来您的问题是在尝试导入密钥之前对其进行了加密。当然,您应该对您的密钥保密,并将其保存在一个有严格权限保护的目录中(例如,“chmod 600 secring.gpg,如果您使用的是gpg)。但您不应在导入密钥之前对其进行加密。如果您仔细考虑一下,就会明白:PGP正在尝试导入密钥对的机密部分,以便它(除其他外)能够解密使用该密钥对的公共部分加密的消息。但是,如果您已加密该密钥(或与此相关的任何文件)使用(或任何)公钥,则PGP程序不知道如何解密您尝试导入的密钥。从根本上说,密钥不是密钥;它是加密的文件/消息。在导入之前不应加密密钥。事实上,加密密钥的唯一情况是您需要将其存储在某个地方(其他地方)安全地,就像你藏在某个地方的USB fob上的紧急备份一样

另外,有多个密钥或ID,或者两个都有,用于对文件和消息进行加密,以用于各种(可能不相关)目的,这是可能的,也不是很少见。我希望这会有所帮助……但为时已晚