在我的项目中,我需要使用相应的公钥验证PGP明确签名签名。虽然我设法找到了一个代码(例如:https://github.com/cjmalloy/openbitpub/blob/64485d64a699eb6096f01b27d5f7e51dd726602f/src/main/java/com/cjmalloy/obp/server/pgp/PgpUtil.java),但它的运行水平很低,看起来非常糟糕。PGP签名格式读取器
我在想,也许有一些专门的解析器可以使用-----BEGIN PGP PUBLIC KEY BLOCK-----xxx-----END PGP PUBLIC KEY BLOCK-----
和-----BEGIN PGP SIGNED MESSAGE-----xxx-----BEGIN PGP SIGNATURE-----xxx-----END PGP SIGNATURE-----
块,这样我就可以用更多的声明方式检查签名了吗?
我发现PEMReader
类的课程包含bouncycastle.openssl
包,但目前为止还没有PGP相关的课程。
当然,我将使用'bouncycastle.openpgp'进行签名验证,现在我正在做它。这只是我有很多代码实际上是解析(可以在参考的例子中看到像逐行阅读,抛出换行符等)。我明白'PEMReader'不完全是我需要的,但它很接近。 “PEMReader”的存在让我怀疑PGP是否存在类似的东西。 – Anton
我从来没有和Bouncy Castle一起工作,但据我所知你必须导入公钥,加载签名文件(查看'gpg --list-packets'以了解如何解组,如果需要的话,在Bouncy Castle),最后进行验证。 JavaDoc之外的文档很少,你可能会在互联网的其他地方找到一些合理的例子。 –
只有私钥需要S2K;验证使用公钥。否则一致。 –