hub*_*hub 5 sync pgp gnupg openpgp gpg-agent
在新系统上将我的密钥导入 GnuPG 时,我考虑了以下几点:
我找到了“GnuPG 1 和 GnuPG 2 彼此兼容吗?”的答案。,它说明了以下内容:
GnuPG 2.1 带来了一个重要的变化,它将以前分离的公共和私有密钥环(pubring.gpg 与 secring.gpg)结合到公共密钥环中。这已以保持兼容的方式实现,因此当 GnuPG 2.1 集成私钥环时,您仍然可以使用 GnuPG 1,但对私钥的更改不会显示为相应的其他实现。来自变更日志:
[...] 允许旧版 GnuPG 与 GnuPG 2.1 共存。但是,使用新 gpg 对私钥的任何更改在使用 2.1 之前的 GnuPG 版本时都不会显示,反之亦然。
文件级别的同步是没有选择的,似乎也没有内置的机制来同步链。
我是否可以安全地从 gpg 导出所有 pub 和 sec 密钥并通过 gpg2(cronjob 等)导入它们,反之亦然,或者这是否会给我带来未考虑的后果?
我没有自动进行密钥同步,而是将所有密钥从我的 gpg 钥匙串转移到 gpg2 钥匙串并将 gpg2 符号链接到 gpg 以确保我始终使用 gpg2。这似乎是比将所有钥匙保存在不同钥匙圈中更好的解决方案。
gpg --export | gpg2 --import
gpg --export-secret-keys | gpg2 --import
sudo mv /usr/bin/gpg /usr/bin/gpg1
sudo ln -s /usr/bin/gpg2 /usr/bin/gpg
Run Code Online (Sandbox Code Playgroud)
通过导出和导入进行同步是安全的,但请注意,GnuPG 无法合并秘密子项,但从 GnuPG 2.1 开始 - 因此,如果您对 GnuPG 2.1 中的子项进行任何更改,则必须在导入之前删除 GnuPG 1 中的整个项。不过,反过来应该是安全的。我不确定您是否必须为此同步过程导出/导入所有者信任。
为了利用 GnuPG 2.1 的新功能(例如 ECC 密钥等),我宁愿尝试不使用 GnuPG 1,而是gpg2
使用符号链接gpg
。一般来说,它们应该是兼容的,除非其他应用程序以不应该的方式连接 GnuPG。如果您有任何问题,返回会很容易(或者简单地保留gpg
GnuPG gpg1
1,但将默认值更改为 GnuPG 2.x)。