java - 如何在没有公钥的情况下使用 Java 中的 BouncyCaSTLe 验证 PGP 签名的文本

标签 java bouncycastle pgp

我研究了很多例子并做了很多研究,但我不知道如何在没有公钥的情况下验证签名文本(PGP)。

我只是想确保文本在创建后没有被更改。

欢迎任何提示!

示例:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Beispiel text

-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.59

iQEcBAEBAgAGBQJbbYOlAAoJEOvsgYjY/KHJUrkH/RDoFkONolpEEjafqjk3NOlg
uELyCF0vE/msFD2SO5O98HD4egnpxlO+fyJiZ2x+c0B52KQuOztAOYTHly2NKrL7
65gEIzOmpu+yQhYlZr4Qp2xGStJqxfgMeAIv3UUjUoRE7DWMZwgpO1KqGUhB05TL
XXyzWLJND27SzpNjpRmUmf+uuLKZHQ55q1dapwZym2Xg5il+UzYuJjfle9jvBWtc
uPJ40ghE/ms8WjAUAEOsdPB3rFd65pjwcauClM05L7w7KIv3/hgoAI/zZyGWW40B
yQuTbt2nYeZO4NbXkosiq9db4Lo5tEPdUH1NI3e34e2gymhCFOOguT3dAoafYYw=
=JrA1
-----END PGP SIGNATURE-----

最佳答案

谢谢大家!

我错了!解密验证需要公钥!

看看 gpg 的输出,它是事实上的标准:

cat |gpg --verify
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Beispiel text

-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.59

iQEcBAEBAgAGBQJbbYOlAAoJEOvsgYjY/KHJUrkH/RDoFkONolpEEjafqjk3NOlg
uELyCF0vE/msFD2SO5O98HD4egnpxlO+fyJiZ2x+c0B52KQuOztAOYTHly2NKrL7
65gEIzOmpu+yQhYlZr4Qp2xGStJqxfgMeAIv3UUjUoRE7DWMZwgpO1KqGUhB05TL
XXyzWLJND27SzpNjpRmUmf+uuLKZHQ55q1dapwZym2Xg5il+UzYuJjfle9jvBWtc
uPJ40ghE/ms8WjAUAEOsdPB3rFd65pjwcauClM05L7w7KIv3/hgoAI/zZyGWW40B
yQuTbt2nYeZO4NbXkosiq9db4Lo5tEPdUH1NI3e34e2gymhCFOOguT3dAoafYYw=
=JrA1
-----END PGP SIGNATURE-----
gpg: Signature made Fri Aug 10 14:23:01 2018 CEST
gpg:                using RSA key EBEC8188D8FCA1C9
gpg: Can't check signature: No public key

关于java - 如何在没有公钥的情况下使用 Java 中的 BouncyCaSTLe 验证 PGP 签名的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51787316/

相关文章:

java - 在 Jboss EAP 中遇到 IllegalArgumentException

java - 在android中使用海绵城堡

cryptography - 公开我的受密码保护的 PGP key 是否安全?

ruby-on-rails - Rails 生产产生的结果与采用 GPG 加密的生产控制台不同。怎么修?

linux - 如何验证 linux tarball 的完整性?

java - Netty 消息优先级

c# - java web 的框架太多了。害怕和困惑 :(

java - 更改单击的 JTable 单元格的背景颜色

Java/Clojure BouncyCaSTLe 报告 key 大小错误,但 key 大小正确

java - JAVA中生成无私钥的CMSSignedData