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

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

我本来想,既然PGP密钥对与我的名字息息相关, 一世 作为一个人,只能拥有一个PGP密钥?但这真的是这样吗?我应该生成一台机器吗?并只使用进口/导出来支持它们?我可以做到这一点,当我尝试在几台机器上复制PGP秘密键时,这似乎真的很困难,好像我可能以错误的方式使用PGP。也就是说,我认为我为自己创建一个密钥,并将其复制到构建服务器,也许也可以使用它来加密我自己的电子邮件(如果需要这样做)等。

有帮助吗?

解决方案

拥有一个以上的PGP密钥并不罕见。特别是如果您扮演不同的角色。

一个例子

在钥匙签名派对上,通常会遇到几个PGP密钥。一个用于私人通信,一个用于在一个项目上签署发布,另一个用于在另一个项目上签名,等等。

其他提示

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

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

听起来您的问题是您在尝试导入它之前对秘密密钥进行了加密。当然,您应该保留秘密密钥的秘密,并将其保留在受严格权限保护的目录中(例如,如果您使用GPG,则CHMOD 600 secring.gpg)。但是,如果导入键,则不应对键进行加密。您对此有深入的思考,这将变得很清楚:PGP试图导入关键对的秘密一半,以便(除其他外)使用该关键对的公共一半加密消息。但是,如果您您已经使用(或任何)公共密钥对秘密密钥(或任何此事的任何文件)进行了加密,然后PGP程序不知道如何解密您要导入的秘密密钥。从根本上讲,密钥不是密钥;这是一个加密的文件/消息。导入之前不应加密密钥。实际上,应加密秘密密钥的唯一情况是,如果您需要安全地将其安置在某处(例如作为紧急备份) USB FOB您一直藏在某个地方。

同样,对于各种(可能是无关)的目的,具有多个秘密密钥或ID,或两者都有多个秘密密钥或ID,或两者兼而有之。我希望这会有所帮助...迟来。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top