我无法使用 jpgpj 密码 avro 消息



我试图用jpgpj库加密avro消息,加密时它给了我一个例外:

Exception in thread "main" org.bouncycastle.openpgp.PGPException: no suitable signing key found
at org.c02e.jpgpj.Encryptor.sign(Encryptor.java:982)
at org.c02e.jpgpj.Encryptor.prepareCiphertextOutputStream(Encryptor.java:773)
at org.c02e.jpgpj.Encryptor.encrypt(Encryptor.java:691)
at org.c02e.jpgpj.Encryptor.encrypt(Encryptor.java:662)
at avro.EncryptPayload$.main(EncryptPayload.scala:40)
at avro.EncryptPayload.main(EncryptPayload.scala)
我使用以下命令生成密钥对:
gpg --gen-key
gpg --armor --output public-key.gpg --export myemail@gmail.com

然后,复制公钥。GPG文件到src/main/resources在一个项目中使用这段代码和异常发生。例外情况很明显,我可以在资料中看到。这不是一个找不到文件的问题,而是一个说公钥不能用作签名消息的密钥的问题,这让我很困惑。我做错了什么?

当我更改这一行时,问题消失了:

encryptor.setSigningAlgorithm(HashingAlgorithm.SHA256)

到这行:

encryptor.setSigningAlgorithm(HashingAlgorithm.Unsigned)

编辑我与代码分享要点

最新更新