这里我主要使用的是 Debian 系统gpg2
。一些(Debian 打包/签名)工具gpg1
在内部使用,并且按应有的方式更改它们是不可行的。
我的两个 gpg 版本都使用相同的工作目录 ( ~/.gnupg
),并且它们的数据库/配置似乎主要兼容。私钥的处理是一个例外。
根据我的经验,创建的私钥对(但它们的公钥对是)gpg2
不可见。gpg1
在网上进行了大量挖掘,据我了解,这些gpg
版本使用下面不同的文件(可能是不同的格式)~/.gnupg
来存储它们。还有各种单行解决方案可以将gpg2
数据库转换为数据库gpg1
,反之亦然。
现在我必须主要使用gpg2
,但我必须允许也gpg1
工作。我对这个任务的想法是
- 我导出 gpg2 私钥数据库。
- 我用 导入它
gpg1
。
预期的结果是我可以在两个 gpg 版本中看到相同的公钥和私钥。
是否可以?能行吗?我怎样才能做到这一点?
(注意:至少 Ubuntu 和 Mint 已经用于gpg2
打包任务,但 Debian 仍然没有。)
答案1
GnuPG 1.4、2.0 和 2.1 都支持pubring.gpg
用于存储公钥的“好旧”文件。只要 apubkey.gpg
存在,GnuPG 2.1 也将继续使用它,并且不会以新的密钥箱格式创建公钥环。
不过,私钥方面存在差异。虽然 GnuPG 1.4 和 2.0 都将私钥存储在secring.gpg
文件中,但 GnuPG 2.1 将这些私钥合并到公钥环文件中,这样 GnuPG 2.1(gpg2
也适用于较新的发行版gpg
)和 GnuPG 1.4(gpg1
如果可用,也适用于较旧的发行版gpg
)不会共享密钥公共密钥环不再存储(但仍然可以用于公共密钥环,如已经解释的)。
如果您从 / 导出密钥gpg2
并将其导入到gpg
/ gpg1
,您应该能够从这两种实现中使用它们。 GnuPG 1.4 不介意密钥存储在您的pubring.gpg
文件中。请注意,GnuPG 1.4 无法合并密钥数据包;如果您更改了 GnupG 2.1 中的子密钥并希望将其复制到 GnuPG 1.4agein,则必须从 GnuPG 2.1 中删除密钥并再次导入。在更改任何内容之前,请务必先进行备份!