gpt4 book ai didi

java - 将 BouncyCaSTLe 与 GnuPG 2. 1's ` pubring.kbx` 文件一起使用

转载 作者:搜寻专家 更新时间:2023-11-01 01:16:08 26 4
gpt4 key购买 nike

我正在尝试将 BouncyCaSTLe 与 PGP2 结合使用来读取公钥环。问题在于,自 GnuPG 2.1 以来,它存储在 pubring.kbx 而不是 pubring.gpg 中。这导致 IOException public key ring doesn't start with public key tag: tag 0x0

知道我是否以及如何将 BC 与 GnuPG 2.1 一起使用吗?

最佳答案

GnuPG 2.1 by default uses the new keybox file format -- 如果没有找到 pubring.gpg。如果存在“遗留” key 环文件,则会改用它。

我不知道 Bouncy CaSTLe 支持 .kbx 文件格式。因此,如果您想在 GnuPG 使用的相同 key 文件上同时使用 Bouncy CaSTLe,您有以下三种选择:

  • 另外在其他地方维护一个旧的 pubring.gpg 文件,这意味着运行 gpg --export--export-secret-keys 需要时。旧的 pubring.gpg 只是 key 转储,您可以直接使用导出输出作为 key 环。
  • 在您的 GnuPG 主目录中使用 pubring.gpg,换句话说就是放弃 .kbx 文件的更好性能以换取兼容性。

    首先,确保复制整个 ~/.gnupg 文件夹或确保有一个最新的备份!

    最后,迁移过程归结为将 key 箱文件中的信息导出为旧的 OpenPGP key 环格式。从上面链接的更改日志中查看从 .kbx 文件迁移到 .gpg 文件的建议:

    $ cd ~/.gnupg
    $ gpg --export-ownertrust > otrust.lst
    $ mv pubring.gpg publickeys
    $ gpg2 --import-options import-local-sigs --import publickeys
    $ gpg2 --import-ownertrust otrust.lst

    反向过程应该看起来很相似(假设没有存储 key ,否则请阅读下文,并交换 gpg2gpg 以匹配您机器上安装的二进制文件) :

    $ cd ~/.gnupg
    $ gpg2 --export-ownertrust > otrust.lst
    $ gpg2 --export > pubring.gpg
    $ mv pubring.kbx pubring.kbx~
    $ gpg2 --import-options import-local-sigs
    $ gpg2 --import-ownertrust otrust.lst

    --export的结果可以直接作为新的keyring,不需要--import这个文件。 Ownertrust 可能应该以类似的方式复制,我只是保留了这里提出的变更日志。

    如果你也存储了私钥,我最好先将它们导出到另一个文件中,最后再导入它们:

    $ cd ~/.gnupg
    $ gpg2 --export-secret-keys > secret-keys.gpg
    $ gpg2 --export-ownertrust > otrust.lst
    $ gpg2 --export > pubring.gpg
    $ mv pubring.kbx pubring.kbx~
    $ gpg2 --import-options import-local-sigs --import secret-keys.gpg
    $ gpg2 --import-ownertrust otrust.lst
  • 为 Bouncy CaSTLe 实现 .kbx 格式。

关于java - 将 BouncyCaSTLe 与 GnuPG 2. 1's ` pubring.kbx` 文件一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com