当前位置:  开发笔记 > 编程语言 > 正文

使用BouncyCastle和GnuPG 2.1的`pubring.kbx`文件

如何解决《使用BouncyCastle和GnuPG2.1的`pubring.kbx`文件》经验,为你挑选了1个好方法。

我正在尝试使用BouncyCastle和PGP2来读取公钥.问题是,因为GnuPG 2.1存储在pubring.kbx而不是pubring.gpg.这导致IOExceptionpublic key ring doesn't start with public key tag: tag 0x0

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



1> Jens Erat..:

GnuPG 2.1默认使用新的密钥箱文件格式 - 如果pubring.gpg找不到.如果存在"遗留"密钥环文件,则将使用它.

我不知道Bouncy Castle支持.kbx文件格式.因此,如果你想在GnuPG使用的相同密钥文件上一起使用Bouncy Castle,你有三个选择:

另外在其他pubring.gpg地方维护旧文件,这意味着运行gpg --export--export-secret-keys在需要时运行.旧pubring.gpg的只是一个键转储,你可以直接使用导出输出作为密钥环.

pubring.gpg在GnuPG主目录中使用a ,使用其他词语来降低.kbx文件的性能以换取兼容性.

首先,请务必复制整个~/.gnupg文件夹或确保备份最新!

最后,迁移过程归结为将密钥箱文件中的信息导出为旧的OpenPGP密钥环格式.查看上面链接的更改日志中从.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

反向过程应该看起来非常相似(假设没有存储密钥,否则请在下面阅读,并交换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结果可以直接作为新密钥环,所以没有--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

实施.kbxBouncy Castle 的格式.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有