如何在不导入的情况下将 gpg 公钥从二进制转换为 ascii

如何在不导入的情况下将 gpg 公钥从二进制转换为 ascii

我有一个二进制格式的 GPG 公钥key.gpg。我想将其转换为 ASCII,以便生成的文件具有标题

-----BEGIN PGP PUBLIC KEY BLOCK-----

我为此设置的流程无法访问通常的中央密钥存储,因此我无法导入然后导出。

GnuPG (版本 2) 命令是什么来执行此操作?

答案1

gpg --enarmor < key.gpg > key.asc

应该可以解决问题。

答案2

也许您可以创建另一个临时密钥环来导入和导出密钥,如下所示:

gpg  --keyring /tmp/temp.gpg  --no-default-keyring --import key.gpg 
gpg  --keyring /tmp/temp.gpg  --no-default-keyring  --export -a

我觉得这不太优雅,但应该可以工作。请注意,第二条命令将密钥环中存在的所有密钥导出到一个文件中。

答案3

gpg --keyring ./key.gpg --no-default-keyring --export -a > key.asc

请注意使用./key.gpg而不是仅仅key.gpg:GnuPG 不会按照您的期望对后者进行操作,而是会创建一个空的密钥环~/.gnupg/key.gpg

相关内容